diff --git a/uppsrc/ide/UppHub.cpp b/uppsrc/ide/UppHub.cpp index 85ca836dd..1b0ff50b6 100644 --- a/uppsrc/ide/UppHub.cpp +++ b/uppsrc/ide/UppHub.cpp @@ -45,7 +45,9 @@ public: public: UppHubSettingsDlg(); - ~UppHubSettingsDlg(); + + void LoadGlobalSettings(); + void SaveGlobalSettings(); private: void RefreshCtrls(); @@ -58,12 +60,15 @@ UppHubSettingsDlg::UppHubSettingsDlg() seturl.WhenAction = [=] { RefreshCtrls(); }; - RefreshCtrls(); - - LoadFromGlobal(*this, GLOBAL_CONFIG_NAME); } -UppHubSettingsDlg::~UppHubSettingsDlg() +void UppHubSettingsDlg::LoadGlobalSettings() +{ + LoadFromGlobal(*this, GLOBAL_CONFIG_NAME); + RefreshCtrls(); +} + +void UppHubSettingsDlg::SaveGlobalSettings() { StoreToGlobal(*this, GLOBAL_CONFIG_NAME); } @@ -186,6 +191,8 @@ UppHubDlg::UppHubDlg() broken <<= false; category ^= experimental ^= broken ^= [=] { SyncList(); }; + + settings.LoadGlobalSettings(); } INITBLOCK @@ -359,10 +366,12 @@ void UppHubDlg::Sync() void UppHubDlg::Settings() { + settings.LoadGlobalSettings(); if(settings.Execute() != IDOK) { return; } + settings.SaveGlobalSettings(); Load(); }