X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fqtui%2Fsettingsdlg.cpp;h=56c3cdc38d275810187bce24b3720cdc4853beb3;hp=4dbfae2054f3023e1661b270ea63ac430bf35eac;hb=f9efdde7f3a6004af8f834c409cfa6ae1d877692;hpb=5b686746c880e5cda6d5de3e08180ea4332ff222 diff --git a/src/qtui/settingsdlg.cpp b/src/qtui/settingsdlg.cpp index 4dbfae20..56c3cdc3 100644 --- a/src/qtui/settingsdlg.cpp +++ b/src/qtui/settingsdlg.cpp @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2012 by the Quassel Project * + * Copyright (C) 2005-2018 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -18,31 +18,30 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * ***************************************************************************/ +#include "settingsdlg.h" + #include #include -#include "settingsdlg.h" - #include "client.h" -#include "iconloader.h" +#include "icon.h" SettingsDlg::SettingsDlg(QWidget *parent) - : QDialog(parent), - _currentPage(0) + : QDialog(parent) { ui.setupUi(this); setModal(true); setAttribute(Qt::WA_DeleteOnClose, true); - setWindowIcon(SmallIcon("configure")); + setWindowIcon(icon::get("configure")); updateGeometry(); ui.settingsTree->setRootIsDecorated(false); - connect(ui.settingsTree, SIGNAL(itemSelectionChanged()), this, SLOT(itemSelected())); - connect(ui.buttonBox, SIGNAL(clicked(QAbstractButton *)), this, SLOT(buttonClicked(QAbstractButton *))); + connect(ui.settingsTree, &QTreeWidget::itemSelectionChanged, this, &SettingsDlg::itemSelected); + connect(ui.buttonBox, &QDialogButtonBox::clicked, this, &SettingsDlg::buttonClicked); - connect(Client::instance(), SIGNAL(coreConnectionStateChanged(bool)), SLOT(coreConnectionStateChanged())); + connect(Client::instance(), &Client::coreConnectionStateChanged, this, &SettingsDlg::coreConnectionStateChanged); setButtonStates(); } @@ -63,9 +62,11 @@ void SettingsDlg::coreConnectionStateChanged() void SettingsDlg::setItemState(QTreeWidgetItem *item) { - SettingsPage *sp = qobject_cast(item->data(0, SettingsPageRole).value()); + auto *sp = qobject_cast(item->data(0, SettingsPageRole).value()); Q_ASSERT(sp); - item->setDisabled(!Client::isConnected() && sp->needsCoreConnection()); + bool disabledDueToConnection = !Client::isConnected() && sp->needsCoreConnection(); + bool disabledDueToOwnChoice = !sp->isSelectable(); + item->setDisabled(disabledDueToConnection || disabledDueToOwnChoice); } @@ -74,7 +75,7 @@ void SettingsDlg::registerSettingsPage(SettingsPage *sp) sp->setParent(ui.settingsStack); ui.settingsStack->addWidget(sp); - connect(sp, SIGNAL(changed(bool)), this, SLOT(setButtonStates())); + connect(sp, &SettingsPage::changed, this, &SettingsDlg::setButtonStates); QTreeWidgetItem *cat; QList cats = ui.settingsTree->findItems(sp->category(), Qt::MatchExactly); @@ -94,7 +95,6 @@ void SettingsDlg::registerSettingsPage(SettingsPage *sp) item = new QTreeWidgetItem(cat, QStringList(sp->title())); item->setData(0, SettingsPageRole, QVariant::fromValue(sp)); - ui.settingsTree->setMinimumWidth(ui.settingsTree->header()->sectionSizeHint(0) + 5); pageIsLoaded[sp] = false; if (!ui.settingsTree->selectedItems().count()) ui.settingsTree->setCurrentItem(item); @@ -106,7 +106,7 @@ void SettingsDlg::registerSettingsPage(SettingsPage *sp) void SettingsDlg::selectPage(SettingsPage *sp) { if (!sp) { - _currentPage = 0; + _currentPage = nullptr; ui.settingsStack->setCurrentIndex(0); ui.pageTitle->setText(tr("Settings")); return; @@ -117,7 +117,7 @@ void SettingsDlg::selectPage(SettingsPage *sp) pageIsLoaded[sp] = true; } - if (sp != currentPage() && currentPage() != 0 && currentPage()->hasChanged()) { + if (sp != currentPage() && currentPage() != nullptr && currentPage()->hasChanged()) { int ret = QMessageBox::warning(this, tr("Save changes"), tr("There are unsaved changes on the current configuration page. Would you like to apply your changes now?"), QMessageBox::Discard|QMessageBox::Save|QMessageBox::Cancel, QMessageBox::Cancel); @@ -150,7 +150,7 @@ void SettingsDlg::selectPage(SettingsPage *sp) void SettingsDlg::itemSelected() { QList items = ui.settingsTree->selectedItems(); - SettingsPage *sp = 0; + SettingsPage *sp = nullptr; if (!items.isEmpty()) { sp = qobject_cast(items[0]->data(0, SettingsPageRole).value()); }