X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;f=src%2Fqtui%2Fsettingsdlg.cpp;h=71db20258be00c3ccdbd0fdfb4dce9b41f34251d;hb=c194ed5fb3d15e14b9364f9796d3521910dc72fe;hp=7b26e069ba7472aaaa9301eaa90a7cfb3ea170ed;hpb=694f9bfbf7f1af19108461c7e00d133e55082bce;p=quassel.git diff --git a/src/qtui/settingsdlg.cpp b/src/qtui/settingsdlg.cpp index 7b26e069..71db2025 100644 --- a/src/qtui/settingsdlg.cpp +++ b/src/qtui/settingsdlg.cpp @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-09 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 * @@ -15,25 +15,24 @@ * You should have received a copy of the GNU General Public License * * along with this program; if not, write to the * * Free Software Foundation, Inc., * - * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * + * 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(); @@ -65,7 +64,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 +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()); }