GUI: Fix Cloud tab scrolling problem

GlobalOptionsDialog is now also a CommandSender, so it could send
command "scroll to the top" when storage is disconnected in Cloud tab
(layout updates, that's why scrolling is needed).
This commit is contained in:
Alexander Tkachev 2019-07-19 18:01:09 +07:00 committed by Matan Bareket
parent a1b847a1ef
commit a9d47a163e
2 changed files with 4 additions and 2 deletions

View File

@ -1447,7 +1447,7 @@ void OptionsDialog::setupGraphicsTab() {
GlobalOptionsDialog::GlobalOptionsDialog(LauncherDialog *launcher)
: OptionsDialog(Common::ConfigManager::kApplicationDomain, "GlobalOptions"), _launcher(launcher) {
: OptionsDialog(Common::ConfigManager::kApplicationDomain, "GlobalOptions"), CommandSender(nullptr), _launcher(launcher) {
#ifdef GUI_ENABLE_KEYSDIALOG
_keysDialog = 0;
#endif
@ -1755,6 +1755,7 @@ void GlobalOptionsDialog::build() {
ScrollContainerWidget *container = new ScrollContainerWidget(tab, "GlobalOptions_Cloud.Container", kCloudTabContainerReflowCmd);
container->setTarget(this);
container->setBackgroundType(ThemeEngine::kDialogBackgroundNone);
setTarget(container);
addCloudControls(container, "GlobalOptions_Cloud_Container.", context);
#endif USE_LIBCURL
@ -2329,6 +2330,7 @@ void GlobalOptionsDialog::handleCommand(CommandSender *sender, uint32 cmd, uint3
CloudMan.disconnectStorage(_selectedStorageIndex);
_redrawCloudTab = true;
sendCommand(kSetPositionCmd, 0);
break;
}
#endif // USE_LIBCURL

View File

@ -237,7 +237,7 @@ protected:
};
class GlobalOptionsDialog : public OptionsDialog {
class GlobalOptionsDialog : public OptionsDialog, public CommandSender {
public:
GlobalOptionsDialog(LauncherDialog *launcher);
~GlobalOptionsDialog();