diff --git a/gui/ThemeEngine.h b/gui/ThemeEngine.h index ec6d3499f24..ab77cfcbccb 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 80fb41fad1b..6c443998be4 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 7c6a08eb3cb..c3d55eaef1b 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 bee161e2c9e..7e5a3ac870d 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 a2dec898dd4..18bb728369f 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 098c8734cc3..b66549f1371 100644 --- a/gui/themes/default.inc +++ b/gui/themes/default.inc @@ -2438,6 +2438,11 @@ const char *defaultXML1 = "" "" "" "" +"" +"" +"" +"" +"" "" "" "" "" "" +"" +"" +"" +"" +"" "" "" -"" +"" "" "" "" diff --git a/gui/themes/scummclassic.zip b/gui/themes/scummclassic.zip index c92ec98a2c8..17ef7d4d49a 100644 Binary files a/gui/themes/scummclassic.zip and b/gui/themes/scummclassic.zip differ diff --git a/gui/themes/scummclassic/THEMERC b/gui/themes/scummclassic/THEMERC index c66cb70270b..dfbec63699f 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 23f8acaa26e..29d23757ec7 100644 --- a/gui/themes/scummclassic/classic_layout.stx +++ b/gui/themes/scummclassic/classic_layout.stx @@ -275,6 +275,11 @@ + + + + + + + + + + - + diff --git a/gui/themes/scummclassic/classic_layout_lowres.stx b/gui/themes/scummclassic/classic_layout_lowres.stx index ae3a6eefe33..0b3a52914fd 100644 --- a/gui/themes/scummclassic/classic_layout_lowres.stx +++ b/gui/themes/scummclassic/classic_layout_lowres.stx @@ -272,6 +272,11 @@ + + + + + + + + + + - + diff --git a/gui/themes/scummmodern.zip b/gui/themes/scummmodern.zip index 3d12b7d18f1..2fe9279877b 100644 Binary files a/gui/themes/scummmodern.zip and b/gui/themes/scummmodern.zip differ diff --git a/gui/themes/scummmodern/THEMERC b/gui/themes/scummmodern/THEMERC index db447c766df..61c5cfe72a9 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 5cf22f90b44..b0c2b5b2096 100644 --- a/gui/themes/scummmodern/scummmodern_layout.stx +++ b/gui/themes/scummmodern/scummmodern_layout.stx @@ -289,6 +289,11 @@ + + + + + + + + + + - + diff --git a/gui/themes/scummmodern/scummmodern_layout_lowres.stx b/gui/themes/scummmodern/scummmodern_layout_lowres.stx index 651efb4a488..188f29366f2 100644 --- a/gui/themes/scummmodern/scummmodern_layout_lowres.stx +++ b/gui/themes/scummmodern/scummmodern_layout_lowres.stx @@ -270,6 +270,11 @@ + + + + + + + + + + - +