X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fqtui%2Fsettingspages%2Fbufferviewsettingspage.cpp;h=b9227056f8d16f654782e25b4a085c75df13c11c;hp=f2ef7a174a2765f1c597495d6761069feaab93e2;hb=e2188dc438be6f3eb0d9cdf47d28821aefe9835e;hpb=4a5065255e652dd0c301bac0db41b7afb777ef49 diff --git a/src/qtui/settingspages/bufferviewsettingspage.cpp b/src/qtui/settingspages/bufferviewsettingspage.cpp index f2ef7a17..b9227056 100644 --- a/src/qtui/settingspages/bufferviewsettingspage.cpp +++ b/src/qtui/settingspages/bufferviewsettingspage.cpp @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2013 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 * @@ -21,27 +21,29 @@ #include "bufferviewsettingspage.h" #include +#include -#include "client.h" -#include "iconloader.h" -#include "network.h" +#include "buffermodel.h" #include "bufferviewconfig.h" #include "bufferviewfilter.h" -#include "buffermodel.h" +#include "client.h" #include "clientbufferviewmanager.h" +#include "icon.h" +#include "network.h" #include "networkmodel.h" #include "util.h" BufferViewSettingsPage::BufferViewSettingsPage(QWidget *parent) - : SettingsPage(tr("Interface"), tr("Custom Chat Lists"), parent), - _ignoreWidgetChanges(false), - _useBufferViewHint(false), - _bufferViewHint(0) + : SettingsPage(tr("Interface"), tr("Custom Chat Lists"), parent) { ui.setupUi(this); - ui.renameBufferView->setIcon(SmallIcon("edit-rename")); - ui.addBufferView->setIcon(SmallIcon("list-add")); - ui.deleteBufferView->setIcon(SmallIcon("edit-delete")); + //Hide the hide inactive networks feature on older cores (which won't save the setting) + if (!Client::isCoreFeatureEnabled(Quassel::Feature::HideInactiveNetworks)) + ui.hideInactiveNetworks->hide(); + + ui.renameBufferView->setIcon(icon::get("edit-rename")); + ui.addBufferView->setIcon(icon::get("list-add")); + ui.deleteBufferView->setIcon(icon::get("edit-delete")); reset(); @@ -60,8 +62,10 @@ BufferViewSettingsPage::BufferViewSettingsPage(QWidget *parent) connect(ui.addNewBuffersAutomatically, SIGNAL(clicked(bool)), this, SLOT(widgetHasChanged())); connect(ui.sortAlphabetically, SIGNAL(clicked(bool)), this, SLOT(widgetHasChanged())); connect(ui.hideInactiveBuffers, SIGNAL(clicked(bool)), this, SLOT(widgetHasChanged())); + connect(ui.hideInactiveNetworks, SIGNAL(clicked(bool)), this, SLOT(widgetHasChanged())); connect(ui.networkSelector, SIGNAL(currentIndexChanged(int)), this, SLOT(widgetHasChanged())); connect(ui.minimumActivitySelector, SIGNAL(currentIndexChanged(int)), this, SLOT(widgetHasChanged())); + connect(ui.showSearch, SIGNAL(clicked(bool)), this, SLOT(widgetHasChanged())); connect(ui.networkSelector, SIGNAL(currentIndexChanged(int)), this, SLOT(enableStatusBuffers(int))); } @@ -200,7 +204,7 @@ void BufferViewSettingsPage::coreConnectionStateChanged(bool state) void BufferViewSettingsPage::addBufferView(BufferViewConfig *config) { - QListWidgetItem *item = new QListWidgetItem(config->bufferViewName(), ui.bufferViewList); + auto *item = new QListWidgetItem(config->bufferViewName(), ui.bufferViewList); item->setData(Qt::UserRole, qVariantFromValue(qobject_cast(config))); connect(config, SIGNAL(updatedRemotely()), this, SLOT(updateBufferView())); connect(config, SIGNAL(destroyed()), this, SLOT(bufferViewDeleted())); @@ -219,7 +223,7 @@ void BufferViewSettingsPage::addBufferView(int bufferViewId) void BufferViewSettingsPage::bufferViewDeleted() { - BufferViewConfig *config = static_cast(sender()); + auto *config = static_cast(sender()); QObject *obj; for (int i = 0; i < ui.bufferViewList->count(); i++) { obj = ui.bufferViewList->item(i)->data(Qt::UserRole).value(); @@ -237,7 +241,7 @@ void BufferViewSettingsPage::newBufferView(const QString &bufferViewName) { // id's of newly created bufferviews are negative (-1, -2... -n) int fakeId = -1 * (_newBufferViews.count() + 1); - BufferViewConfig *config = new BufferViewConfig(fakeId); + auto *config = new BufferViewConfig(fakeId); config->setBufferViewName(bufferViewName); config->setInitialized(); QList bufferIds; @@ -274,11 +278,11 @@ int BufferViewSettingsPage::listPos(BufferViewConfig *config) BufferViewConfig *BufferViewSettingsPage::bufferView(int listPos) { if (listPos < ui.bufferViewList->count() && listPos >= 0) { - QObject *obj = ui.bufferViewList->item(listPos)->data(Qt::UserRole).value(); + auto *obj = ui.bufferViewList->item(listPos)->data(Qt::UserRole).value(); return qobject_cast(obj); } else { - return 0; + return nullptr; } } @@ -299,7 +303,7 @@ bool BufferViewSettingsPage::selectBufferViewById(int bufferViewId) void BufferViewSettingsPage::updateBufferView() { - BufferViewConfig *config = qobject_cast(sender()); + auto *config = qobject_cast(sender()); if (!config) return; @@ -381,7 +385,7 @@ void BufferViewSettingsPage::on_deleteBufferView_clicked() if (ret == QMessageBox::Yes) { ui.bufferViewList->removeItemWidget(currentItem); - BufferViewConfig *config = qobject_cast(currentItem->data(Qt::UserRole).value()); + auto *config = qobject_cast(currentItem->data(Qt::UserRole).value()); delete currentItem; if (viewId >= 0) { _deleteBufferViews << viewId; @@ -395,7 +399,7 @@ void BufferViewSettingsPage::on_deleteBufferView_clicked() break; } else { - iter++; + ++iter; } } delete config; @@ -435,6 +439,8 @@ void BufferViewSettingsPage::loadConfig(BufferViewConfig *config) ui.addNewBuffersAutomatically->setChecked(config->addNewBuffersAutomatically()); ui.sortAlphabetically->setChecked(config->sortAlphabetically()); ui.hideInactiveBuffers->setChecked(config->hideInactiveBuffers()); + ui.hideInactiveNetworks->setChecked(config->hideInactiveNetworks()); + ui.showSearch->setChecked(config->showSearch()); int networkIndex = 0; for (int i = 0; i < ui.networkSelector->count(); i++) { @@ -476,7 +482,9 @@ void BufferViewSettingsPage::saveConfig(BufferViewConfig *config) config->setAddNewBuffersAutomatically(ui.addNewBuffersAutomatically->isChecked()); config->setSortAlphabetically(ui.sortAlphabetically->isChecked()); config->setHideInactiveBuffers(ui.hideInactiveBuffers->isChecked()); + config->setHideInactiveNetworks(ui.hideInactiveNetworks->isChecked()); config->setNetworkId(ui.networkSelector->itemData(ui.networkSelector->currentIndex()).value()); + config->setShowSearch(ui.showSearch->isChecked()); int minimumActivity = 0; if (ui.minimumActivitySelector->currentIndex() > 0) @@ -517,7 +525,7 @@ bool BufferViewSettingsPage::testHasChanged() } else { changed = true; - iter++; + ++iter; } } return changed; @@ -532,7 +540,7 @@ BufferViewConfig *BufferViewSettingsPage::cloneConfig(BufferViewConfig *config) if (_changedBufferViews.contains(config)) return _changedBufferViews[config]; - BufferViewConfig *changedConfig = new BufferViewConfig(-1, this); + auto *changedConfig = new BufferViewConfig(-1, this); changedConfig->fromVariantMap(config->toVariantMap()); changedConfig->setInitialized(); _changedBufferViews[config] = changedConfig; @@ -545,7 +553,7 @@ BufferViewConfig *BufferViewSettingsPage::cloneConfig(BufferViewConfig *config) changedConfig->setProperty("OriginalBufferList", toVariantList(config->bufferList())); // if this is the currently displayed view we have to change the config of the preview filter - BufferViewFilter *filter = qobject_cast(ui.bufferViewPreview->model()); + auto *filter = qobject_cast(ui.bufferViewPreview->model()); if (filter && filter->config() == config) filter->setConfig(changedConfig); ui.bufferViewPreview->setConfig(changedConfig); @@ -566,7 +574,7 @@ BufferViewConfig *BufferViewSettingsPage::configForDisplay(BufferViewConfig *con /************************************************************************** * BufferViewEditDlg *************************************************************************/ -BufferViewEditDlg::BufferViewEditDlg(const QString &old, const QStringList &exist, QWidget *parent) : QDialog(parent), existing(exist) +BufferViewEditDlg::BufferViewEditDlg(const QString &old, QStringList exist, QWidget *parent) : QDialog(parent), existing(std::move(exist)) { ui.setupUi(this);