From 111a153295dd50822dfe84da7b45ba06cac7bc84 Mon Sep 17 00:00:00 2001 From: Dirk Hohndel Date: Tue, 10 Nov 2015 13:45:13 -0800 Subject: Preferences: correctly hook up the signals to enable/disable cloud storage This way the menu state matches the actual verification state again. Signed-off-by: Dirk Hohndel --- desktop-widgets/preferences/abstractpreferenceswidget.h | 5 ++++- desktop-widgets/preferences/preferences_network.cpp | 5 ++--- desktop-widgets/preferences/preferencesdialog.cpp | 3 ++- 3 files changed, 8 insertions(+), 5 deletions(-) (limited to 'desktop-widgets/preferences') diff --git a/desktop-widgets/preferences/abstractpreferenceswidget.h b/desktop-widgets/preferences/abstractpreferenceswidget.h index 2f607c4c9..89abc5080 100644 --- a/desktop-widgets/preferences/abstractpreferenceswidget.h +++ b/desktop-widgets/preferences/abstractpreferenceswidget.h @@ -19,9 +19,12 @@ public: /* gets the values from the interface and set in the preferences object. */ virtual void syncSettings() = 0; +signals: + void settingsChanged(); + private: QIcon _icon; QString _name; float _positionHeight; }; -#endif \ No newline at end of file +#endif diff --git a/desktop-widgets/preferences/preferences_network.cpp b/desktop-widgets/preferences/preferences_network.cpp index d812f4ab1..cbdeebe8b 100644 --- a/desktop-widgets/preferences/preferences_network.cpp +++ b/desktop-widgets/preferences/preferences_network.cpp @@ -96,7 +96,7 @@ void PreferencesNetwork::syncSettings() report_error(qPrintable(tr("Cloud storage email and password can only consist of letters, numbers, and '.', '-', '_', and '+'."))); } else { CloudStorageAuthenticate *cloudAuth = new CloudStorageAuthenticate(this); - connect(cloudAuth, SIGNAL(finishedAuthenticate()), this, SLOT(cloudPinNeeded())); + connect(cloudAuth, &CloudStorageAuthenticate::finishedAuthenticate, this, &PreferencesNetwork::cloudPinNeeded); cloudAuth->backend(email, password); } } @@ -146,8 +146,7 @@ void PreferencesNetwork::cloudPinNeeded() } else { ui->cloudStorageGroupBox->setTitle(tr("Subsurface cloud storage")); } - //TODO: Do not call mainWindow here. Verify things on SettingsChanged. - //MainWindow::instance()->enableDisableCloudActions(); + emit settingsChanged(); } void PreferencesNetwork::proxyType_changed(int idx) diff --git a/desktop-widgets/preferences/preferencesdialog.cpp b/desktop-widgets/preferences/preferencesdialog.cpp index 6885469c5..141bc1c65 100644 --- a/desktop-widgets/preferences/preferencesdialog.cpp +++ b/desktop-widgets/preferences/preferencesdialog.cpp @@ -27,7 +27,7 @@ PreferencesDialog* PreferencesDialog::instance() void PreferencesDialog::emitSettingsChanged() { - emit settingsChanged(); + emit settingsChanged(); } PreferencesDialog::PreferencesDialog() @@ -121,6 +121,7 @@ void PreferencesDialog::refreshPages() void PreferencesDialog::applyRequested(bool closeIt) { Q_FOREACH(AbstractPreferencesWidget *page, pages) { + connect(page, &AbstractPreferencesWidget::settingsChanged, this, &PreferencesDialog::settingsChanged, Qt::UniqueConnection); page->syncSettings(); } emit settingsChanged(); -- cgit v1.2.3-70-g09d2