Keep fullscreen checkbox focus when toggling it
This commit is contained in:
parent
7a9300b56a
commit
1703e829eb
@ -35,10 +35,10 @@
|
||||
<div width="100%" height="fit" layout="horizontal-row">
|
||||
<spacer width="3%" height="100%" />
|
||||
<div layout="vertical-row" width="10f" height="fit">
|
||||
<gauge id="gfx_level" min_value="1" max_value="8" width="100%" align="center" />
|
||||
<gauge id="scale_rtts" min_value="0" max_value="7" width="100%" align="center" />
|
||||
</div>
|
||||
<div layout="vertical-row" proportion="1" height="100%">
|
||||
<label height="100%" I18N="In the video settings" text="Graphical Effects Level" align="left"/>
|
||||
<label id="scale_rtts_label" height="100%" I18N="In the video settings" text="Render resolution" align="left"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -47,10 +47,10 @@
|
||||
<div width="100%" height="fit" layout="horizontal-row">
|
||||
<spacer width="3%" height="100%" />
|
||||
<div layout="vertical-row" width="10f" height="fit">
|
||||
<gauge id="scale_rtts" min_value="0" max_value="7" width="100%" align="center" />
|
||||
<gauge id="gfx_level" min_value="1" max_value="8" width="100%" align="center" />
|
||||
</div>
|
||||
<div layout="vertical-row" proportion="1" height="100%">
|
||||
<label id="scale_rtts_label" height="100%" I18N="In the video settings" text="Render resolution" align="left"/>
|
||||
<label height="100%" I18N="In the video settings" text="Graphical Effects Level" align="left"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -90,13 +90,8 @@
|
||||
<spacer width="5" height="3%"/>
|
||||
|
||||
<!-- ************ RESOLUTION CHOICE ************ -->
|
||||
<spacer width="5" height="1%"/>
|
||||
<label width="100%" I18N="In the video settings" text="Resolution"/>
|
||||
|
||||
<scrollable_ribbon id="resolutions" height="20%" label_location="each"
|
||||
width="100%" square_items="false"
|
||||
align="center" child_width="128" child_height="128" />
|
||||
|
||||
<spacer width="5" height="1%"/>
|
||||
|
||||
<div layout="horizontal-row" width="100%" height="fit">
|
||||
@ -115,6 +110,12 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<spacer width="5" height="1%"/>
|
||||
|
||||
<scrollable_ribbon id="resolutions" height="20%" label_location="each"
|
||||
width="100%" square_items="false"
|
||||
align="center" child_width="128" child_height="128" />
|
||||
|
||||
<spacer width="5" height="2%"/>
|
||||
|
||||
<div width="100%" height="fit" layout="horizontal-row" >
|
||||
|
@ -54,6 +54,7 @@
|
||||
#include <sstream>
|
||||
|
||||
using namespace GUIEngine;
|
||||
bool OptionsScreenVideo::m_fullscreen_checkbox_focus = false;
|
||||
|
||||
// --------------------------------------------------------------------------------------------
|
||||
void OptionsScreenVideo::initPresets()
|
||||
@ -498,7 +499,12 @@ void OptionsScreenVideo::init()
|
||||
#endif
|
||||
|
||||
updateResolutionsList();
|
||||
|
||||
|
||||
if (m_fullscreen_checkbox_focus)
|
||||
{
|
||||
m_fullscreen_checkbox_focus = false;
|
||||
getWidget("fullscreen")->setFocusForPlayer(PLAYER_ID_GAME_MASTER);
|
||||
}
|
||||
} // init
|
||||
|
||||
// --------------------------------------------------------------------------------------------
|
||||
@ -907,8 +913,11 @@ void OptionsScreenVideo::eventCallback(Widget* widget, const std::string& name,
|
||||
->handleNewSize(new_width, new_height);
|
||||
irr_driver->handleWindowResize();
|
||||
Screen* new_screen = screen_function();
|
||||
OptionsScreenVideo::m_fullscreen_checkbox_focus = true;
|
||||
new_screen->push();
|
||||
}
|
||||
else
|
||||
OptionsScreenVideo::m_fullscreen_checkbox_focus = true;
|
||||
}
|
||||
else
|
||||
updateResolutionsList();
|
||||
@ -920,6 +929,10 @@ void OptionsScreenVideo::eventCallback(Widget* widget, const std::string& name,
|
||||
|
||||
void OptionsScreenVideo::tearDown()
|
||||
{
|
||||
if (getWidget("fullscreen")->isVisible() &&
|
||||
getWidget("fullscreen")->isFocusedForPlayer(PLAYER_ID_GAME_MASTER))
|
||||
OptionsScreenVideo::m_fullscreen_checkbox_focus = true;
|
||||
|
||||
GUIEngine::getDevice()->setResizable(false);
|
||||
#ifndef SERVER_ONLY
|
||||
if (m_prev_adv_pipline != UserConfigParams::m_dynamic_lights &&
|
||||
@ -939,6 +952,14 @@ void OptionsScreenVideo::tearDown()
|
||||
|
||||
// --------------------------------------------------------------------------------------------
|
||||
|
||||
bool OptionsScreenVideo::onEscapePressed()
|
||||
{
|
||||
GUIEngine::focusNothingForPlayer(PLAYER_ID_GAME_MASTER);
|
||||
return true;
|
||||
}
|
||||
|
||||
// --------------------------------------------------------------------------------------------
|
||||
|
||||
void OptionsScreenVideo::unloaded()
|
||||
{
|
||||
m_inited = false;
|
||||
|
@ -89,6 +89,7 @@ struct Resolution
|
||||
class OptionsScreenVideo : public GUIEngine::Screen, public GUIEngine::ScreenSingleton<OptionsScreenVideo>
|
||||
{
|
||||
private:
|
||||
static bool m_fullscreen_checkbox_focus;
|
||||
bool m_prev_adv_pipline;
|
||||
int m_prev_img_quality;
|
||||
OptionsScreenVideo();
|
||||
@ -122,6 +123,8 @@ public:
|
||||
/** \brief implement optional callback from parent class GUIEngine::Screen */
|
||||
virtual void unloaded() OVERRIDE;
|
||||
|
||||
virtual bool onEscapePressed() OVERRIDE;
|
||||
|
||||
void updateGfxSlider();
|
||||
void updateBlurSlider();
|
||||
void updateScaleRTTsSlider();
|
||||
|
Loading…
Reference in New Issue
Block a user