X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;f=src%2Fqtui%2Fsettingspages%2Fcoreaccountsettingspage.cpp;h=11188ac2213feeecf7a4dc255e1bc2c92192f49f;hb=56288a13972bf8466b57c9d5d1ec382fc7e287cc;hp=40f0f5e537e1c474862f82e402dd7def41b51be6;hpb=c6229d7d7dd7f0a4aa91a3d5606f8d5c10423e24;p=quassel.git diff --git a/src/qtui/settingspages/coreaccountsettingspage.cpp b/src/qtui/settingspages/coreaccountsettingspage.cpp index 40f0f5e5..11188ac2 100644 --- a/src/qtui/settingspages/coreaccountsettingspage.cpp +++ b/src/qtui/settingspages/coreaccountsettingspage.cpp @@ -26,7 +26,7 @@ #include "iconloader.h" CoreAccountSettingsPage::CoreAccountSettingsPage(QWidget *parent) -: SettingsPage(tr("Misc"), tr("Core Accounts"), parent), +: SettingsPage(tr("Remote Cores"), QString(), parent), _lastAccountId(0), _lastAutoConnectId(0), _standalone(false) @@ -47,6 +47,7 @@ _standalone(false) connect(filteredModel(), SIGNAL(rowsInserted(QModelIndex, int, int)), SLOT(rowsInserted(QModelIndex, int, int))); connect(ui.accountView->selectionModel(), SIGNAL(selectionChanged(QItemSelection, QItemSelection)), SLOT(setWidgetStates())); + connect(ui.autoConnectAccount, SIGNAL(currentIndexChanged(int)), SLOT(widgetHasChanged())); setWidgetStates(); } @@ -74,6 +75,7 @@ void CoreAccountSettingsPage::load() { QModelIndex idx = filteredModel()->mapFromSource(model()->accountIndex(s.autoConnectAccount())); ui.autoConnectAccount->setCurrentIndex(idx.isValid() ? idx.row() : 0); + ui.autoConnectAccount->setProperty("storedValue", ui.autoConnectAccount->currentIndex()); setWidgetStates(); } @@ -82,27 +84,9 @@ void CoreAccountSettingsPage::save() { Client::coreAccountModel()->update(model()); Client::coreAccountModel()->save(); CoreAccountSettings s; -} - -QVariant CoreAccountSettingsPage::loadAutoWidgetValue(const QString &widgetName) { - if(widgetName == "autoConnectAccount") { - CoreAccountSettings s; - AccountId id = s.autoConnectAccount(); - if(!id.isValid()) - return QVariant(); - return id.toInt(); - } - return SettingsPage::loadAutoWidgetValue(widgetName); -} - -void CoreAccountSettingsPage::saveAutoWidgetValue(const QString &widgetName, const QVariant &v) { - CoreAccountSettings s; - if(widgetName == "autoConnectAccount") { - AccountId id = filteredModel()->index(ui.autoConnectAccount->currentIndex(), 0).data(CoreAccountModel::AccountIdRole).value(); - s.setAutoConnectAccount(id); - return; - } - SettingsPage::saveAutoWidgetValue(widgetName, v); + AccountId id = filteredModel()->index(ui.autoConnectAccount->currentIndex(), 0).data(CoreAccountModel::AccountIdRole).value(); + s.setAutoConnectAccount(id); + ui.autoConnectAccount->setProperty("storedValue", ui.autoConnectAccount->currentIndex()); } // TODO: Qt 4.6 - replace by proper rowsMoved() semantics @@ -210,6 +194,8 @@ void CoreAccountSettingsPage::widgetHasChanged() { } bool CoreAccountSettingsPage::testHasChanged() { + if(ui.autoConnectAccount->currentIndex() != ui.autoConnectAccount->property("storedValue").toInt()) + return true; if(!(*model() == *Client::coreAccountModel())) return true;