/***************************************************************************
- * Copyright (C) 2005-2015 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 *
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
***************************************************************************/
-#include <QIcon>
+#include "settingsdlg.h"
+
#include <QMessageBox>
#include <QPushButton>
-#include "settingsdlg.h"
-
#include "client.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(QIcon::fromTheme("configure"));
+ setWindowIcon(icon::get("configure"));
updateGeometry();
{
SettingsPage *sp = qobject_cast<SettingsPage *>(item->data(0, SettingsPageRole).value<QObject *>());
Q_ASSERT(sp);
- item->setDisabled(!Client::isConnected() && sp->needsCoreConnection());
+ bool disabledDueToConnection = !Client::isConnected() && sp->needsCoreConnection();
+ bool disabledDueToOwnChoice = !sp->isSelectable();
+ item->setDisabled(disabledDueToConnection || disabledDueToOwnChoice);
}
item = new QTreeWidgetItem(cat, QStringList(sp->title()));
item->setData(0, SettingsPageRole, QVariant::fromValue<QObject *>(sp));
- ui.settingsTree->setMinimumWidth(ui.settingsTree->header()->sectionSizeHint(0) + 5);
pageIsLoaded[sp] = false;
if (!ui.settingsTree->selectedItems().count())
ui.settingsTree->setCurrentItem(item);
void SettingsDlg::selectPage(SettingsPage *sp)
{
if (!sp) {
- _currentPage = 0;
+ _currentPage = nullptr;
ui.settingsStack->setCurrentIndex(0);
ui.pageTitle->setText(tr("Settings"));
return;
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);
void SettingsDlg::itemSelected()
{
QList<QTreeWidgetItem *> items = ui.settingsTree->selectedItems();
- SettingsPage *sp = 0;
+ SettingsPage *sp = nullptr;
if (!items.isEmpty()) {
sp = qobject_cast<SettingsPage *>(items[0]->data(0, SettingsPageRole).value<QObject *>());
}