X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;ds=sidebyside;f=src%2Fqtui%2Fsettingsdlg.cpp;h=13100afb2c5a2a34dae9e0bcbd238279e007c2ad;hb=3a3e844f9fcfd12235a0086af75ecd503b621ef4;hp=4dbfae2054f3023e1661b270ea63ac430bf35eac;hpb=5b686746c880e5cda6d5de3e08180ea4332ff222;p=quassel.git diff --git a/src/qtui/settingsdlg.cpp b/src/qtui/settingsdlg.cpp index 4dbfae20..13100afb 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,22 +18,22 @@ * 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) + _currentPage(nullptr) { ui.setupUi(this); setModal(true); setAttribute(Qt::WA_DeleteOnClose, true); - setWindowIcon(SmallIcon("configure")); + setWindowIcon(icon::get("configure")); updateGeometry(); @@ -65,7 +65,9 @@ void SettingsDlg::setItemState(QTreeWidgetItem *item) { SettingsPage *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); } @@ -94,7 +96,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 +107,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 +118,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 +151,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()); }