X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fqtui%2Fsettingspages%2Fcoreaccountsettingspage.cpp;h=be08cb53806b71b114f90fef8d3343fb39617ae0;hp=0cee736720ae8b88cf590d13747f8e5b63bda69f;hb=0f87a72d470196f5781053927d9b91e52cc363f2;hpb=01e2f218ef5b1cf2e8c2eb1b0d3b7d9c3ad878e5 diff --git a/src/qtui/settingspages/coreaccountsettingspage.cpp b/src/qtui/settingspages/coreaccountsettingspage.cpp index 0cee7367..be08cb53 100644 --- a/src/qtui/settingspages/coreaccountsettingspage.cpp +++ b/src/qtui/settingspages/coreaccountsettingspage.cpp @@ -54,10 +54,24 @@ void CoreAccountSettingsPage::setStandAlone(bool standalone) { void CoreAccountSettingsPage::load() { _model->update(Client::coreAccountModel()); - SettingsPage::load(); + + CoreAccountSettings s; + + if(Quassel::runMode() != Quassel::Monolithic) { + // make sure we don't have selected the internal account as autoconnect account + + if(s.autoConnectOnStartup() && s.autoConnectToFixedAccount()) { + CoreAccount acc = _model->account(s.autoConnectAccount()); + if(acc.isInternal()) + ui.autoConnectOnStartup->setChecked(false); + } + } ui.accountView->setCurrentIndex(model()->index(0, 0)); ui.accountView->selectionModel()->select(model()->index(0, 0), QItemSelectionModel::Select); + + QModelIndex idx = model()->accountIndex(s.autoConnectAccount()); + ui.autoConnectAccount->setCurrentIndex(idx.isValid() ? idx.row() : 0); setWidgetStates(); } @@ -74,7 +88,6 @@ QVariant CoreAccountSettingsPage::loadAutoWidgetValue(const QString &widgetName) AccountId id = s.autoConnectAccount(); if(!id.isValid()) return QVariant(); - ui.autoConnectAccount->setCurrentIndex(model()->accountIndex(id).row()); return id.toInt(); } return SettingsPage::loadAutoWidgetValue(widgetName); @@ -180,10 +193,11 @@ void CoreAccountSettingsPage::on_accountView_doubleClicked(const QModelIndex &in } void CoreAccountSettingsPage::setWidgetStates() { - bool selected = ui.accountView->selectionModel()->selectedIndexes().count(); + AccountId accId = selectedAccount(); + bool editable = accId.isValid() && accId != model()->internalAccount(); - ui.editAccountButton->setEnabled(selected); - ui.deleteAccountButton->setEnabled(selected); + ui.editAccountButton->setEnabled(editable); + ui.deleteAccountButton->setEnabled(editable); } void CoreAccountSettingsPage::widgetHasChanged() {