diff options
author | Thierry Crozat | 2018-07-22 00:01:01 +0100 |
---|---|---|
committer | Thierry Crozat | 2018-07-22 00:01:01 +0100 |
commit | 182a87f81ce88a6cb6e36be172ab692f632296a0 (patch) | |
tree | 2ce28f265e14ee964dfe40bf2599b4c0a51a81c0 /gui | |
parent | 8f9daa906c3a43d00ce004494a87cfe698aa9150 (diff) | |
download | scummvm-rg350-182a87f81ce88a6cb6e36be172ab692f632296a0.tar.gz scummvm-rg350-182a87f81ce88a6cb6e36be172ab692f632296a0.tar.bz2 scummvm-rg350-182a87f81ce88a6cb6e36be172ab692f632296a0.zip |
GUI: Use ScrollContainer in graphics tab
This fixes bug #10634 - GUI: Options cutoff for Edit Game when
Graphics mode is x2 or less
Diffstat (limited to 'gui')
-rw-r--r-- | gui/ThemeEngine.h | 2 | ||||
-rw-r--r-- | gui/editgamedialog.cpp | 18 | ||||
-rw-r--r-- | gui/editgamedialog.h | 2 | ||||
-rw-r--r-- | gui/options.cpp | 23 | ||||
-rw-r--r-- | gui/options.h | 2 | ||||
-rw-r--r-- | gui/themes/default.inc | 12 | ||||
-rw-r--r-- | gui/themes/scummclassic.zip | bin | 129635 -> 130467 bytes | |||
-rw-r--r-- | gui/themes/scummclassic/THEMERC | 2 | ||||
-rw-r--r-- | gui/themes/scummclassic/classic_layout.stx | 12 | ||||
-rw-r--r-- | gui/themes/scummclassic/classic_layout_lowres.stx | 12 | ||||
-rw-r--r-- | gui/themes/scummmodern.zip | bin | 1649175 -> 1650007 bytes | |||
-rw-r--r-- | gui/themes/scummmodern/THEMERC | 2 | ||||
-rw-r--r-- | gui/themes/scummmodern/scummmodern_layout.stx | 12 | ||||
-rw-r--r-- | gui/themes/scummmodern/scummmodern_layout_lowres.stx | 12 |
14 files changed, 97 insertions, 14 deletions
diff --git a/gui/ThemeEngine.h b/gui/ThemeEngine.h index ec6d3499f2..ab77cfcbcc 100644 --- a/gui/ThemeEngine.h +++ b/gui/ThemeEngine.h @@ -37,7 +37,7 @@ #include "graphics/pixelformat.h" -#define SCUMMVM_THEME_VERSION_STR "SCUMMVM_STX0.8.24" +#define SCUMMVM_THEME_VERSION_STR "SCUMMVM_STX0.8.25" class OSystem; diff --git a/gui/editgamedialog.cpp b/gui/editgamedialog.cpp index 80fb41fad1..6c443998be 100644 --- a/gui/editgamedialog.cpp +++ b/gui/editgamedialog.cpp @@ -38,6 +38,7 @@ #include "gui/widgets/edittext.h" #include "gui/widgets/tab.h" #include "gui/widgets/popup.h" +#include "gui/widgets/scrollcontainer.h" #if defined(USE_CLOUD) && defined(USE_LIBCURL) #include "backends/cloud/cloudmanager.h" @@ -72,7 +73,9 @@ enum { kCmdExtraPathClear = 'PEXC', kCmdGameBrowser = 'PGME', kCmdSaveBrowser = 'PSAV', - kCmdSavePathClear = 'PSAC' + kCmdSavePathClear = 'PSAC', + + kGraphicsTabContainerReflowCmd = 'gtcr' }; /* @@ -183,13 +186,15 @@ EditGameDialog::EditGameDialog(const String &domain) // 3) The graphics tab // _graphicsTabId = tab->addTab(g_system->getOverlayWidth() > 320 ? _("Graphics") : _("GFX")); + ScrollContainerWidget *graphicsContainer = new ScrollContainerWidget(tab, "GameOptions_Graphics.Container", kGraphicsTabContainerReflowCmd); + graphicsContainer->setTarget(this); if (g_system->getOverlayWidth() > 320) - _globalGraphicsOverride = new CheckboxWidget(tab, "GameOptions_Graphics.EnableTabCheckbox", _("Override global graphic settings"), 0, kCmdGlobalGraphicsOverride); + _globalGraphicsOverride = new CheckboxWidget(graphicsContainer, "GameOptions_Graphics_Container.EnableTabCheckbox", _("Override global graphic settings"), 0, kCmdGlobalGraphicsOverride); else - _globalGraphicsOverride = new CheckboxWidget(tab, "GameOptions_Graphics.EnableTabCheckbox", _c("Override global graphic settings", "lowres"), 0, kCmdGlobalGraphicsOverride); + _globalGraphicsOverride = new CheckboxWidget(graphicsContainer, "GameOptions_Graphics_Container.EnableTabCheckbox", _c("Override global graphic settings", "lowres"), 0, kCmdGlobalGraphicsOverride); - addGraphicControls(tab, "GameOptions_Graphics."); + addGraphicControls(graphicsContainer, "GameOptions_Graphics_Container."); // // 4) The audio tab @@ -294,6 +299,11 @@ EditGameDialog::EditGameDialog(const String &domain) new ButtonWidget(this, "GameOptions.Ok", _("OK"), 0, kOKCmd); } +void EditGameDialog::setupGraphicsTab() { + OptionsDialog::setupGraphicsTab(); + _globalGraphicsOverride->setVisible(true); +} + void EditGameDialog::open() { OptionsDialog::open(); diff --git a/gui/editgamedialog.h b/gui/editgamedialog.h index 7c6a08eb3c..c3d55eaef1 100644 --- a/gui/editgamedialog.h +++ b/gui/editgamedialog.h @@ -67,6 +67,8 @@ public: virtual void handleCommand(CommandSender *sender, uint32 cmd, uint32 data); protected: + virtual void setupGraphicsTab(); + EditTextWidget *_descriptionWidget; DomainEditTextWidget *_domainWidget; diff --git a/gui/options.cpp b/gui/options.cpp index bee161e2c9..7e5a3ac870 100644 --- a/gui/options.cpp +++ b/gui/options.cpp @@ -80,7 +80,8 @@ enum { kChooseThemeCmd = 'chtf', kUpdatesCheckCmd = 'updc', kKbdMouseSpeedChanged = 'kmsc', - kJoystickDeadzoneChanged= 'jodc' + kJoystickDeadzoneChanged= 'jodc', + kGraphicsTabContainerReflowCmd = 'gtcr' }; enum { @@ -836,6 +837,9 @@ void OptionsDialog::handleCommand(CommandSender *sender, uint32 cmd, uint32 data _joystickDeadzoneLabel->setValue(_joystickDeadzoneSlider->getValue()); _joystickDeadzoneLabel->markAsDirty(); break; + case kGraphicsTabContainerReflowCmd: + setupGraphicsTab(); + break; case kApplyCmd: apply(); break; @@ -1410,6 +1414,19 @@ void OptionsDialog::reflowLayout() { _tabWidget->setTabTitle(_graphicsTabId, g_system->getOverlayWidth() > 320 ? _("Graphics") : _("GFX")); Dialog::reflowLayout(); + setupGraphicsTab(); +} + +void OptionsDialog::setupGraphicsTab() { + _gfxPopUpDesc->setVisible(true); + _gfxPopUp->setVisible(true); + _stretchPopUpDesc->setVisible(true); + _stretchPopUp->setVisible(true); + _fullscreenCheckbox->setVisible(true); + _filteringCheckbox->setVisible(true); + _aspectCheckbox->setVisible(true); + _renderModePopUpDesc->setVisible(true); + _renderModePopUp->setVisible(true); } #pragma mark - @@ -1493,7 +1510,9 @@ void GlobalOptionsDialog::build() { // 1) The graphics tab // _graphicsTabId = tab->addTab(g_system->getOverlayWidth() > 320 ? _("Graphics") : _("GFX")); - addGraphicControls(tab, "GlobalOptions_Graphics."); + ScrollContainerWidget *graphicsContainer = new ScrollContainerWidget(tab, "GlobalOptions_Graphics.Container", kGraphicsTabContainerReflowCmd); + graphicsContainer->setTarget(this); + addGraphicControls(graphicsContainer, "GlobalOptions_Graphics_Container."); // // The shader tab (currently visible only for Vita platform), visibility checking by features diff --git a/gui/options.h b/gui/options.h index a2dec898dd..18bb728369 100644 --- a/gui/options.h +++ b/gui/options.h @@ -106,6 +106,8 @@ protected: void setVolumeSettingsState(bool enabled); void setSubtitleSettingsState(bool enabled); + virtual void setupGraphicsTab(); + bool loadMusicDeviceSetting(PopUpWidget *popup, Common::String setting, MusicType preferredType = MT_AUTO); void saveMusicDeviceSetting(PopUpWidget *popup, Common::String setting); diff --git a/gui/themes/default.inc b/gui/themes/default.inc index 098c8734cc..b66549f137 100644 --- a/gui/themes/default.inc +++ b/gui/themes/default.inc @@ -2438,6 +2438,11 @@ const char *defaultXML1 = "<?xml version = '1.0'?>" "</layout>" "</dialog>" "<dialog name='GlobalOptions_Graphics' overlays='Dialog.GlobalOptions.TabWidget'>" +"<layout type='vertical' padding='0,0,0,0'>" +"<widget name='Container'/>" +"</layout>" +"</dialog>" +"<dialog name='GlobalOptions_Graphics_Container' overlays='GlobalOptions_Graphics.Container'>" "<layout type='vertical' padding='16,16,16,16' spacing='8'>" "<layout type='horizontal' padding='0,0,0,0' spacing='6' center='true'>" "<widget name='grModePopupDesc' " @@ -2995,11 +3000,16 @@ const char *defaultXML1 = "<?xml version = '1.0'?>" "</layout>" "</dialog>" "<dialog name='GameOptions_Graphics' overlays='Dialog.GlobalOptions.TabWidget'>" +"<layout type='vertical' padding='0,0,0,0'>" +"<widget name='Container'/>" +"</layout>" +"</dialog>" +"<dialog name='GameOptions_Graphics_Container' overlays='GameOptions_Graphics.Container'>" "<layout type='vertical' padding='8,8,8,8' spacing='6'>" "<widget name='EnableTabCheckbox' " "type='Checkbox' " "/>" -"<import layout='Dialog.GlobalOptions_Graphics' />" +"<import layout='Dialog.GlobalOptions_Graphics_Container' />" "</layout>" "</dialog>" "<dialog name='GameOptions_Audio' overlays='Dialog.GlobalOptions.TabWidget'>" diff --git a/gui/themes/scummclassic.zip b/gui/themes/scummclassic.zip Binary files differindex c92ec98a2c..17ef7d4d49 100644 --- a/gui/themes/scummclassic.zip +++ b/gui/themes/scummclassic.zip diff --git a/gui/themes/scummclassic/THEMERC b/gui/themes/scummclassic/THEMERC index c66cb70270..dfbec63699 100644 --- a/gui/themes/scummclassic/THEMERC +++ b/gui/themes/scummclassic/THEMERC @@ -1 +1 @@ -[SCUMMVM_STX0.8.24:ScummVM Classic Theme:No Author] +[SCUMMVM_STX0.8.25:ScummVM Classic Theme:No Author] diff --git a/gui/themes/scummclassic/classic_layout.stx b/gui/themes/scummclassic/classic_layout.stx index 23f8acaa26..29d23757ec 100644 --- a/gui/themes/scummclassic/classic_layout.stx +++ b/gui/themes/scummclassic/classic_layout.stx @@ -275,6 +275,11 @@ </dialog> <dialog name = 'GlobalOptions_Graphics' overlays = 'Dialog.GlobalOptions.TabWidget'> + <layout type = 'vertical' padding = '0, 0, 0, 0'> + <widget name = 'Container'/> + </layout> + </dialog> + <dialog name = 'GlobalOptions_Graphics_Container' overlays = 'GlobalOptions_Graphics.Container'> <layout type = 'vertical' padding = '16, 16, 16, 16' spacing = '8'> <layout type = 'horizontal' padding = '0, 0, 0, 0' spacing = '10' center = 'true'> <widget name = 'grModePopupDesc' @@ -835,11 +840,16 @@ </dialog> <dialog name = 'GameOptions_Graphics' overlays = 'Dialog.GlobalOptions.TabWidget'> + <layout type = 'vertical' padding = '0, 0, 0, 0'> + <widget name = 'Container'/> + </layout> + </dialog> + <dialog name = 'GameOptions_Graphics_Container' overlays = 'GameOptions_Graphics.Container'> <layout type = 'vertical' padding = '16, 16, 16, 16' spacing = '8'> <widget name = 'EnableTabCheckbox' type = 'Checkbox' /> - <import layout = 'Dialog.GlobalOptions_Graphics' /> + <import layout = 'Dialog.GlobalOptions_Graphics_Container' /> </layout> </dialog> diff --git a/gui/themes/scummclassic/classic_layout_lowres.stx b/gui/themes/scummclassic/classic_layout_lowres.stx index ae3a6eefe3..0b3a52914f 100644 --- a/gui/themes/scummclassic/classic_layout_lowres.stx +++ b/gui/themes/scummclassic/classic_layout_lowres.stx @@ -272,6 +272,11 @@ </dialog> <dialog name = 'GlobalOptions_Graphics' overlays = 'Dialog.GlobalOptions.TabWidget'> + <layout type = 'vertical' padding = '0, 0, 0, 0'> + <widget name = 'Container'/> + </layout> + </dialog> + <dialog name = 'GlobalOptions_Graphics_Container' overlays = 'GlobalOptions_Graphics.Container'> <layout type = 'vertical' padding = '16, 16, 16, 16' spacing = '8'> <layout type = 'horizontal' padding = '0, 0, 0, 0' spacing = '6' center = 'true'> <widget name = 'grModePopupDesc' @@ -844,11 +849,16 @@ </dialog> <dialog name = 'GameOptions_Graphics' overlays = 'Dialog.GlobalOptions.TabWidget'> + <layout type = 'vertical' padding = '0, 0, 0, 0'> + <widget name = 'Container'/> + </layout> + </dialog> + <dialog name = 'GameOptions_Graphics_Container' overlays = 'GameOptions_Graphics.Container'> <layout type = 'vertical' padding = '8, 8, 8, 8' spacing = '6'> <widget name = 'EnableTabCheckbox' type = 'Checkbox' /> - <import layout = 'Dialog.GlobalOptions_Graphics' /> + <import layout = 'Dialog.GlobalOptions_Graphics_Container' /> </layout> </dialog> diff --git a/gui/themes/scummmodern.zip b/gui/themes/scummmodern.zip Binary files differindex 3d12b7d18f..2fe9279877 100644 --- a/gui/themes/scummmodern.zip +++ b/gui/themes/scummmodern.zip diff --git a/gui/themes/scummmodern/THEMERC b/gui/themes/scummmodern/THEMERC index db447c766d..61c5cfe72a 100644 --- a/gui/themes/scummmodern/THEMERC +++ b/gui/themes/scummmodern/THEMERC @@ -1 +1 @@ -[SCUMMVM_STX0.8.24:ScummVM Modern Theme:No Author] +[SCUMMVM_STX0.8.25:ScummVM Modern Theme:No Author] diff --git a/gui/themes/scummmodern/scummmodern_layout.stx b/gui/themes/scummmodern/scummmodern_layout.stx index 5cf22f90b4..b0c2b5b209 100644 --- a/gui/themes/scummmodern/scummmodern_layout.stx +++ b/gui/themes/scummmodern/scummmodern_layout.stx @@ -289,6 +289,11 @@ </dialog> <dialog name = 'GlobalOptions_Graphics' overlays = 'Dialog.GlobalOptions.TabWidget'> + <layout type = 'vertical' padding = '0, 0, 0, 0'> + <widget name = 'Container'/> + </layout> + </dialog> + <dialog name = 'GlobalOptions_Graphics_Container' overlays = 'GlobalOptions_Graphics.Container'> <layout type = 'vertical' padding = '16, 16, 16, 16' spacing = '8'> <layout type = 'horizontal' padding = '0, 0, 0, 0' spacing = '10' center = 'true'> <widget name = 'grModePopupDesc' @@ -849,11 +854,16 @@ </dialog> <dialog name = 'GameOptions_Graphics' overlays = 'Dialog.GlobalOptions.TabWidget'> + <layout type = 'vertical' padding = '0, 0, 0, 0'> + <widget name = 'Container'/> + </layout> + </dialog> + <dialog name = 'GameOptions_Graphics_Container' overlays = 'GameOptions_Graphics.Container'> <layout type = 'vertical' padding = '16, 16, 16, 16' spacing = '8'> <widget name = 'EnableTabCheckbox' type = 'Checkbox' /> - <import layout = 'Dialog.GlobalOptions_Graphics' /> + <import layout = 'Dialog.GlobalOptions_Graphics_Container' /> </layout> </dialog> diff --git a/gui/themes/scummmodern/scummmodern_layout_lowres.stx b/gui/themes/scummmodern/scummmodern_layout_lowres.stx index 651efb4a48..188f29366f 100644 --- a/gui/themes/scummmodern/scummmodern_layout_lowres.stx +++ b/gui/themes/scummmodern/scummmodern_layout_lowres.stx @@ -270,6 +270,11 @@ </dialog> <dialog name = 'GlobalOptions_Graphics' overlays = 'Dialog.GlobalOptions.TabWidget'> + <layout type = 'vertical' padding = '0, 0, 0, 0'> + <widget name = 'Container'/> + </layout> + </dialog> + <dialog name = 'GlobalOptions_Graphics_Container' overlays = 'GlobalOptions_Graphics.Container'> <layout type = 'vertical' padding = '16, 16, 16, 16' spacing = '8'> <layout type = 'horizontal' padding = '0, 0, 0, 0' spacing = '6' center = 'true'> <widget name = 'grModePopupDesc' @@ -842,11 +847,16 @@ </dialog> <dialog name = 'GameOptions_Graphics' overlays = 'Dialog.GlobalOptions.TabWidget'> + <layout type = 'vertical' padding = '0, 0, 0, 0'> + <widget name = 'Container'/> + </layout> + </dialog> + <dialog name = 'GameOptions_Graphics_Container' overlays = 'GameOptions_Graphics.Container'> <layout type = 'vertical' padding = '8, 8, 8, 8' spacing = '6'> <widget name = 'EnableTabCheckbox' type = 'Checkbox' /> - <import layout = 'Dialog.GlobalOptions_Graphics' /> + <import layout = 'Dialog.GlobalOptions_Graphics_Container' /> </layout> </dialog> |