X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fqtui%2Fsettingspages%2Fcorehighlightsettingspage.cpp;h=e07c87d90d476904afa18cf6b443d09498564d9e;hp=9315f3f80da4e3aca08c6c885860762ccce4b234;hb=ec747d2e6065e645e2cd768abc84923ef6a19705;hpb=ab7ef4d24f62b5848b628482b7762ebfc0b53e1a diff --git a/src/qtui/settingspages/corehighlightsettingspage.cpp b/src/qtui/settingspages/corehighlightsettingspage.cpp index 9315f3f8..e07c87d9 100644 --- a/src/qtui/settingspages/corehighlightsettingspage.cpp +++ b/src/qtui/settingspages/corehighlightsettingspage.cpp @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2018 by the Quassel Project * + * Copyright (C) 2005-2019 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -18,20 +18,23 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * ***************************************************************************/ +#include "corehighlightsettingspage.h" + +#include + #include #include #include #include "client.h" -#include "corehighlightsettingspage.h" #include "icon.h" #include "qtui.h" +#include "util.h" -CoreHighlightSettingsPage::CoreHighlightSettingsPage(QWidget *parent) +CoreHighlightSettingsPage::CoreHighlightSettingsPage(QWidget* parent) : SettingsPage(tr("Interface"), // In Monolithic mode, local highlights are replaced by remote highlights - Quassel::runMode() == Quassel::Monolithic ? - tr("Highlights") : tr("Remote Highlights"), + Quassel::runMode() == Quassel::Monolithic ? tr("Highlights") : tr("Remote Highlights"), parent) { ui.setupUi(this); @@ -43,52 +46,39 @@ CoreHighlightSettingsPage::CoreHighlightSettingsPage(QWidget *parent) ui.highlightNicksComboBox->addItem(tr("Current Nick"), QVariant(HighlightRuleManager::CurrentNick)); ui.highlightNicksComboBox->addItem(tr("None"), QVariant(HighlightRuleManager::NoNick)); - coreConnectionStateChanged(Client::isConnected()); // need a core connection! - connect(Client::instance(), SIGNAL(coreConnectionStateChanged(bool)), this, SLOT(coreConnectionStateChanged(bool))); + coreConnectionStateChanged(Client::isConnected()); // need a core connection! + connect(Client::instance(), &Client::coreConnectionStateChanged, this, &CoreHighlightSettingsPage::coreConnectionStateChanged); - connect(ui.highlightAdd, SIGNAL(clicked(bool)), this, SLOT(addNewHighlightRow())); - connect(ui.highlightRemove, SIGNAL(clicked(bool)), this, SLOT(removeSelectedHighlightRows())); - connect(ui.highlightImport, SIGNAL(clicked(bool)), this, SLOT(importRules())); + connect(ui.highlightAdd, &QAbstractButton::clicked, this, [this]() { addNewHighlightRow(); }); + connect(ui.highlightRemove, &QAbstractButton::clicked, this, &CoreHighlightSettingsPage::removeSelectedHighlightRows); + connect(ui.highlightImport, &QAbstractButton::clicked, this, &CoreHighlightSettingsPage::importRules); - connect(ui.ignoredAdd, SIGNAL(clicked(bool)), this, SLOT(addNewIgnoredRow())); - connect(ui.ignoredRemove, SIGNAL(clicked(bool)), this, SLOT(removeSelectedIgnoredRows())); + connect(ui.ignoredAdd, &QAbstractButton::clicked, this, [this]() { addNewIgnoredRow(); }); + connect(ui.ignoredRemove, &QAbstractButton::clicked, this, &CoreHighlightSettingsPage::removeSelectedIgnoredRows); // TODO: search for a better signal (one that emits everytime a selection has been changed for one item) - connect(ui.highlightTable, - SIGNAL(itemClicked(QTableWidgetItem * )), - this, - SLOT(selectHighlightRow(QTableWidgetItem * ))); - connect(ui.ignoredTable, - SIGNAL(itemClicked(QTableWidgetItem * )), - this, - SLOT(selectIgnoredRow(QTableWidgetItem * ))); + connect(ui.highlightTable, &QTableWidget::itemClicked, this, &CoreHighlightSettingsPage::selectHighlightRow); + connect(ui.ignoredTable, &QTableWidget::itemClicked, this, &CoreHighlightSettingsPage::selectIgnoredRow); // Update the "Case sensitive" checkbox connect(ui.highlightNicksComboBox, - SIGNAL(currentIndexChanged(int)), + selectOverload(&QComboBox::currentIndexChanged), this, - SLOT(highlightNicksChanged(int))); + &CoreHighlightSettingsPage::highlightNicksChanged); + connect(ui.highlightNicksComboBox, selectOverload(&QComboBox::currentIndexChanged), this, &CoreHighlightSettingsPage::widgetHasChanged); + connect(ui.nicksCaseSensitive, &QAbstractButton::clicked, this, &CoreHighlightSettingsPage::widgetHasChanged); - connect(ui.highlightNicksComboBox, SIGNAL(currentIndexChanged(int)), this, SLOT(widgetHasChanged())); - connect(ui.nicksCaseSensitive, SIGNAL(clicked(bool)), this, SLOT(widgetHasChanged())); + connect(ui.highlightAdd, &QAbstractButton::clicked, this, &CoreHighlightSettingsPage::widgetHasChanged); + connect(ui.highlightRemove, &QAbstractButton::clicked, this, &CoreHighlightSettingsPage::widgetHasChanged); - connect(ui.highlightAdd, SIGNAL(clicked()), this, SLOT(widgetHasChanged())); - connect(ui.highlightRemove, SIGNAL(clicked()), this, SLOT(widgetHasChanged())); + connect(ui.ignoredAdd, &QAbstractButton::clicked, this, &CoreHighlightSettingsPage::widgetHasChanged); + connect(ui.ignoredRemove, &QAbstractButton::clicked, this, &CoreHighlightSettingsPage::widgetHasChanged); - connect(ui.ignoredAdd, SIGNAL(clicked()), this, SLOT(widgetHasChanged())); - connect(ui.ignoredRemove, SIGNAL(clicked()), this, SLOT(widgetHasChanged())); + connect(ui.highlightTable, &QTableWidget::itemChanged, this, &CoreHighlightSettingsPage::highlightTableChanged); - connect(ui.highlightTable, - SIGNAL(itemChanged(QTableWidgetItem * )), - this, - SLOT(highlightTableChanged(QTableWidgetItem * ))); + connect(ui.ignoredTable, &QTableWidget::itemChanged, this, &CoreHighlightSettingsPage::ignoredTableChanged); - connect(ui.ignoredTable, - SIGNAL(itemChanged(QTableWidgetItem * )), - this, - SLOT(ignoredTableChanged(QTableWidgetItem * ))); - - connect(Client::instance(), SIGNAL(connected()), this, SLOT(clientConnected())); + connect(Client::instance(), &Client::connected, this, &CoreHighlightSettingsPage::clientConnected); // Warning icon ui.coreUnsupportedIcon->setPixmap(icon::get("dialog-warning").pixmap(16)); @@ -97,34 +87,34 @@ CoreHighlightSettingsPage::CoreHighlightSettingsPage(QWidget *parent) if (Quassel::runMode() == Quassel::Monolithic) { // We're running in Monolithic mode, local highlights are considered legacy ui.highlightImport->setText(tr("Import Legacy")); - ui.highlightImport->setToolTip(tr("Import highlight rules configured in %1.") - .arg(tr("Legacy Highlights").replace(" ", " "))); + ui.highlightImport->setToolTip( + tr("Import highlight rules configured in %1.").arg(tr("Legacy Highlights").replace(" ", " "))); // Re-use translations of "Legacy Highlights" as this is a word-for-word reference, forcing // all spaces to be non-breaking - } else { + } + else { // We're running in client/split mode, local highlights are distinguished from remote ui.highlightImport->setText(tr("Import Local")); - ui.highlightImport->setToolTip(tr("Import highlight rules configured in %1.") - .arg(tr("Local Highlights").replace(" ", " "))); + ui.highlightImport->setToolTip( + tr("Import highlight rules configured in %1.").arg(tr("Local Highlights").replace(" ", " "))); // Re-use translations of "Local Highlights" as this is a word-for-word reference, forcing // all spaces to be non-breaking } } - void CoreHighlightSettingsPage::coreConnectionStateChanged(bool state) { updateCoreSupportStatus(state); setEnabled(state); if (state) { load(); - } else { + } + else { revert(); } } - -void CoreHighlightSettingsPage::setupRuleTable(QTableWidget *table) const +void CoreHighlightSettingsPage::setupRuleTable(QTableWidget* table) const { table->verticalHeader()->hide(); table->setShowGrid(false); @@ -144,7 +134,6 @@ void CoreHighlightSettingsPage::setupRuleTable(QTableWidget *table) const table->horizontalHeader()->setSectionResizeMode(CoreHighlightSettingsPage::ChanColumn, QHeaderView::ResizeToContents); } - QString CoreHighlightSettingsPage::getTableTooltip(column tableColumn) const { switch (tableColumn) { @@ -197,10 +186,8 @@ QString CoreHighlightSettingsPage::getTableTooltip(column tableColumn) const } } - -void CoreHighlightSettingsPage::setupTableTooltips(QWidget *enableWidget, QWidget *nameWidget, - QWidget *regExWidget, QWidget *csWidget, - QWidget *senderWidget, QWidget *chanWidget) const +void CoreHighlightSettingsPage::setupTableTooltips( + QWidget* enableWidget, QWidget* nameWidget, QWidget* regExWidget, QWidget* csWidget, QWidget* senderWidget, QWidget* chanWidget) const { // Make sure everything's valid Q_ASSERT(enableWidget); @@ -236,13 +223,12 @@ void CoreHighlightSettingsPage::setupTableTooltips(QWidget *enableWidget, QWidge chanWidget->setWhatsThis(chanWidget->toolTip()); } - -void CoreHighlightSettingsPage::setupTableTooltips(QTableWidgetItem *enableWidget, - QTableWidgetItem *nameWidget, - QTableWidgetItem *regExWidget, - QTableWidgetItem *csWidget, - QTableWidgetItem *senderWidget, - QTableWidgetItem *chanWidget) const +void CoreHighlightSettingsPage::setupTableTooltips(QTableWidgetItem* enableWidget, + QTableWidgetItem* nameWidget, + QTableWidgetItem* regExWidget, + QTableWidgetItem* csWidget, + QTableWidgetItem* senderWidget, + QTableWidgetItem* chanWidget) const { // Make sure everything's valid Q_ASSERT(enableWidget); @@ -278,7 +264,6 @@ void CoreHighlightSettingsPage::setupTableTooltips(QTableWidgetItem *enableWidge chanWidget->setWhatsThis(chanWidget->toolTip()); } - void CoreHighlightSettingsPage::updateCoreSupportStatus(bool state) { // Assume connected state as enforced by the settings page UI @@ -287,20 +272,19 @@ void CoreHighlightSettingsPage::updateCoreSupportStatus(bool state) // warning. Don't show the warning needlessly when disconnected. ui.highlightsConfigWidget->setEnabled(true); ui.coreUnsupportedWidget->setVisible(false); - } else { + } + else { // Core does not support highlights, show warning and disable highlight configuration ui.highlightsConfigWidget->setEnabled(false); ui.coreUnsupportedWidget->setVisible(true); } } - void CoreHighlightSettingsPage::clientConnected() { - connect(Client::highlightRuleManager(), SIGNAL(updated()), SLOT(revert())); + connect(Client::highlightRuleManager(), &SyncableObject::updated, this, &CoreHighlightSettingsPage::revert); } - void CoreHighlightSettingsPage::revert() { if (!hasChanged()) @@ -310,13 +294,11 @@ void CoreHighlightSettingsPage::revert() load(); } - bool CoreHighlightSettingsPage::hasDefaults() const { return true; } - void CoreHighlightSettingsPage::defaults() { int highlightNickType = HighlightRuleManager::HighlightNickType::CurrentNick; @@ -329,9 +311,8 @@ void CoreHighlightSettingsPage::defaults() widgetHasChanged(); } - -void CoreHighlightSettingsPage::addNewHighlightRow(bool enable, int id, const QString &name, bool regex, bool cs, - const QString &sender, const QString &chanName, bool self) +void CoreHighlightSettingsPage::addNewHighlightRow( + bool enable, int id, const QString& name, bool regex, bool cs, const QString& sender, const QString& chanName, bool self) { ui.highlightTable->setRowCount(ui.highlightTable->rowCount() + 1); @@ -339,32 +320,32 @@ void CoreHighlightSettingsPage::addNewHighlightRow(bool enable, int id, const QS id = nextId(); } - auto *nameItem = new QTableWidgetItem(name); + auto* nameItem = new QTableWidgetItem(name); - auto *regexItem = new QTableWidgetItem(""); + auto* regexItem = new QTableWidgetItem(""); if (regex) regexItem->setCheckState(Qt::Checked); else regexItem->setCheckState(Qt::Unchecked); regexItem->setFlags(Qt::ItemIsUserCheckable | Qt::ItemIsEnabled | Qt::ItemIsSelectable); - auto *csItem = new QTableWidgetItem(""); + auto* csItem = new QTableWidgetItem(""); if (cs) csItem->setCheckState(Qt::Checked); else csItem->setCheckState(Qt::Unchecked); csItem->setFlags(Qt::ItemIsUserCheckable | Qt::ItemIsEnabled | Qt::ItemIsSelectable); - auto *enableItem = new QTableWidgetItem(""); + auto* enableItem = new QTableWidgetItem(""); if (enable) enableItem->setCheckState(Qt::Checked); else enableItem->setCheckState(Qt::Unchecked); enableItem->setFlags(Qt::ItemIsUserCheckable | Qt::ItemIsEnabled | Qt::ItemIsSelectable); - auto *senderItem = new QTableWidgetItem(sender); + auto* senderItem = new QTableWidgetItem(sender); - auto *chanNameItem = new QTableWidgetItem(chanName); + auto* chanNameItem = new QTableWidgetItem(chanName); setupTableTooltips(enableItem, nameItem, regexItem, csItem, senderItem, chanNameItem); @@ -382,9 +363,8 @@ void CoreHighlightSettingsPage::addNewHighlightRow(bool enable, int id, const QS highlightList << HighlightRuleManager::HighlightRule(id, name, regex, cs, enable, false, sender, chanName); } - -void CoreHighlightSettingsPage::addNewIgnoredRow(bool enable, int id, const QString &name, bool regex, bool cs, - const QString &sender, const QString &chanName, bool self) +void CoreHighlightSettingsPage::addNewIgnoredRow( + bool enable, int id, const QString& name, bool regex, bool cs, const QString& sender, const QString& chanName, bool self) { ui.ignoredTable->setRowCount(ui.ignoredTable->rowCount() + 1); @@ -392,32 +372,32 @@ void CoreHighlightSettingsPage::addNewIgnoredRow(bool enable, int id, const QStr id = nextId(); } - auto *nameItem = new QTableWidgetItem(name); + auto* nameItem = new QTableWidgetItem(name); - auto *regexItem = new QTableWidgetItem(""); + auto* regexItem = new QTableWidgetItem(""); if (regex) regexItem->setCheckState(Qt::Checked); else regexItem->setCheckState(Qt::Unchecked); regexItem->setFlags(Qt::ItemIsUserCheckable | Qt::ItemIsEnabled | Qt::ItemIsSelectable); - auto *csItem = new QTableWidgetItem(""); + auto* csItem = new QTableWidgetItem(""); if (cs) csItem->setCheckState(Qt::Checked); else csItem->setCheckState(Qt::Unchecked); csItem->setFlags(Qt::ItemIsUserCheckable | Qt::ItemIsEnabled | Qt::ItemIsSelectable); - auto *enableItem = new QTableWidgetItem(""); + auto* enableItem = new QTableWidgetItem(""); if (enable) enableItem->setCheckState(Qt::Checked); else enableItem->setCheckState(Qt::Unchecked); enableItem->setFlags(Qt::ItemIsUserCheckable | Qt::ItemIsEnabled | Qt::ItemIsSelectable); - auto *chanNameItem = new QTableWidgetItem(chanName); + auto* chanNameItem = new QTableWidgetItem(chanName); - auto *senderItem = new QTableWidgetItem(sender); + auto* senderItem = new QTableWidgetItem(sender); setupTableTooltips(enableItem, nameItem, regexItem, csItem, senderItem, chanNameItem); @@ -435,15 +415,14 @@ void CoreHighlightSettingsPage::addNewIgnoredRow(bool enable, int id, const QStr ignoredList << HighlightRuleManager::HighlightRule(id, name, regex, cs, enable, true, sender, chanName); } - void CoreHighlightSettingsPage::removeSelectedHighlightRows() { QList selectedRows; - QList selectedItemList = ui.highlightTable->selectedItems(); + QList selectedItemList = ui.highlightTable->selectedItems(); for (auto selectedItem : selectedItemList) { selectedRows.append(selectedItem->row()); } - qSort(selectedRows.begin(), selectedRows.end(), qGreater()); + std::sort(selectedRows.begin(), selectedRows.end(), std::greater<>()); int lastRow = -1; for (auto row : selectedRows) { if (row != lastRow) { @@ -454,15 +433,14 @@ void CoreHighlightSettingsPage::removeSelectedHighlightRows() } } - void CoreHighlightSettingsPage::removeSelectedIgnoredRows() { QList selectedRows; - QList selectedItemList = ui.ignoredTable->selectedItems(); + QList selectedItemList = ui.ignoredTable->selectedItems(); for (auto selectedItem : selectedItemList) { selectedRows.append(selectedItem->row()); } - qSort(selectedRows.begin(), selectedRows.end(), qGreater()); + std::sort(selectedRows.begin(), selectedRows.end(), std::greater<>()); int lastRow = -1; for (auto row : selectedRows) { if (row != lastRow) { @@ -473,7 +451,6 @@ void CoreHighlightSettingsPage::removeSelectedIgnoredRows() } } - void CoreHighlightSettingsPage::highlightNicksChanged(const int index) { // Only allow toggling "Case sensitive" when a nickname will be highlighted @@ -481,27 +458,20 @@ void CoreHighlightSettingsPage::highlightNicksChanged(const int index) ui.nicksCaseSensitive->setEnabled(highlightNickType != HighlightRuleManager::NoNick); } - -void CoreHighlightSettingsPage::selectHighlightRow(QTableWidgetItem *item) +void CoreHighlightSettingsPage::selectHighlightRow(QTableWidgetItem* item) { int row = item->row(); bool selected = item->isSelected(); - ui.highlightTable - ->setRangeSelected(QTableWidgetSelectionRange(row, 0, row, CoreHighlightSettingsPage::ColumnCount - 1), - selected); + ui.highlightTable->setRangeSelected(QTableWidgetSelectionRange(row, 0, row, CoreHighlightSettingsPage::ColumnCount - 1), selected); } - -void CoreHighlightSettingsPage::selectIgnoredRow(QTableWidgetItem *item) +void CoreHighlightSettingsPage::selectIgnoredRow(QTableWidgetItem* item) { int row = item->row(); bool selected = item->isSelected(); - ui.ignoredTable - ->setRangeSelected(QTableWidgetSelectionRange(row, 0, row, CoreHighlightSettingsPage::ColumnCount - 1), - selected); + ui.ignoredTable->setRangeSelected(QTableWidgetSelectionRange(row, 0, row, CoreHighlightSettingsPage::ColumnCount - 1), selected); } - void CoreHighlightSettingsPage::emptyHighlightTable() { // ui.highlight and highlightList should have the same size, but just to make sure. @@ -514,7 +484,6 @@ void CoreHighlightSettingsPage::emptyHighlightTable() highlightList.clear(); } - void CoreHighlightSettingsPage::emptyIgnoredTable() { // ui.highlight and highlightList should have the same size, but just to make sure. @@ -527,81 +496,76 @@ void CoreHighlightSettingsPage::emptyIgnoredTable() ignoredList.clear(); } - -void CoreHighlightSettingsPage::highlightTableChanged(QTableWidgetItem *item) +void CoreHighlightSettingsPage::highlightTableChanged(QTableWidgetItem* item) { if (item->row() + 1 > highlightList.size()) return; auto highlightRule = highlightList.value(item->row()); - switch (item->column()) { - case CoreHighlightSettingsPage::EnableColumn: - highlightRule.setIsEnabled(item->checkState() == Qt::Checked); - break; - case CoreHighlightSettingsPage::NameColumn: - highlightRule.setContents(item->text()); - break; - case CoreHighlightSettingsPage::RegExColumn: - highlightRule.setIsRegEx(item->checkState() == Qt::Checked); - break; - case CoreHighlightSettingsPage::CsColumn: - highlightRule.setIsCaseSensitive(item->checkState() == Qt::Checked); - break; - case CoreHighlightSettingsPage::SenderColumn: - if (!item->text().isEmpty() && item->text().trimmed().isEmpty()) - item->setText(""); - highlightRule.setSender(item->text()); - break; - case CoreHighlightSettingsPage::ChanColumn: - if (!item->text().isEmpty() && item->text().trimmed().isEmpty()) - item->setText(""); - highlightRule.setChanName(item->text()); - break; + case CoreHighlightSettingsPage::EnableColumn: + highlightRule.setIsEnabled(item->checkState() == Qt::Checked); + break; + case CoreHighlightSettingsPage::NameColumn: + highlightRule.setContents(item->text()); + break; + case CoreHighlightSettingsPage::RegExColumn: + highlightRule.setIsRegEx(item->checkState() == Qt::Checked); + break; + case CoreHighlightSettingsPage::CsColumn: + highlightRule.setIsCaseSensitive(item->checkState() == Qt::Checked); + break; + case CoreHighlightSettingsPage::SenderColumn: + if (!item->text().isEmpty() && item->text().trimmed().isEmpty()) + item->setText(""); + highlightRule.setSender(item->text()); + break; + case CoreHighlightSettingsPage::ChanColumn: + if (!item->text().isEmpty() && item->text().trimmed().isEmpty()) + item->setText(""); + highlightRule.setChanName(item->text()); + break; } highlightList[item->row()] = highlightRule; emit widgetHasChanged(); } - -void CoreHighlightSettingsPage::ignoredTableChanged(QTableWidgetItem *item) +void CoreHighlightSettingsPage::ignoredTableChanged(QTableWidgetItem* item) { if (item->row() + 1 > ignoredList.size()) return; auto ignoredRule = ignoredList.value(item->row()); - switch (item->column()) { - case CoreHighlightSettingsPage::EnableColumn: - ignoredRule.setIsEnabled(item->checkState() == Qt::Checked); - break; - case CoreHighlightSettingsPage::NameColumn: - ignoredRule.setContents(item->text()); - break; - case CoreHighlightSettingsPage::RegExColumn: - ignoredRule.setIsRegEx(item->checkState() == Qt::Checked); - break; - case CoreHighlightSettingsPage::CsColumn: - ignoredRule.setIsCaseSensitive(item->checkState() == Qt::Checked); - break; - case CoreHighlightSettingsPage::SenderColumn: - if (!item->text().isEmpty() && item->text().trimmed().isEmpty()) - item->setText(""); - ignoredRule.setSender(item->text()); - break; - case CoreHighlightSettingsPage::ChanColumn: - if (!item->text().isEmpty() && item->text().trimmed().isEmpty()) - item->setText(""); - ignoredRule.setChanName(item->text()); - break; + case CoreHighlightSettingsPage::EnableColumn: + ignoredRule.setIsEnabled(item->checkState() == Qt::Checked); + break; + case CoreHighlightSettingsPage::NameColumn: + ignoredRule.setContents(item->text()); + break; + case CoreHighlightSettingsPage::RegExColumn: + ignoredRule.setIsRegEx(item->checkState() == Qt::Checked); + break; + case CoreHighlightSettingsPage::CsColumn: + ignoredRule.setIsCaseSensitive(item->checkState() == Qt::Checked); + break; + case CoreHighlightSettingsPage::SenderColumn: + if (!item->text().isEmpty() && item->text().trimmed().isEmpty()) + item->setText(""); + ignoredRule.setSender(item->text()); + break; + case CoreHighlightSettingsPage::ChanColumn: + if (!item->text().isEmpty() && item->text().trimmed().isEmpty()) + item->setText(""); + ignoredRule.setChanName(item->text()); + break; } ignoredList[item->row()] = ignoredRule; emit widgetHasChanged(); } - void CoreHighlightSettingsPage::load() { emptyHighlightTable(); @@ -609,14 +573,24 @@ void CoreHighlightSettingsPage::load() auto ruleManager = Client::highlightRuleManager(); if (ruleManager) { - for (auto &rule : ruleManager->highlightRuleList()) { + for (auto& rule : ruleManager->highlightRuleList()) { if (rule.isInverse()) { - addNewIgnoredRow(rule.isEnabled(), rule.id(), rule.contents(), rule.isRegEx(), - rule.isCaseSensitive(), rule.sender(), rule.chanName()); + addNewIgnoredRow(rule.isEnabled(), + rule.id(), + rule.contents(), + rule.isRegEx(), + rule.isCaseSensitive(), + rule.sender(), + rule.chanName()); } else { - addNewHighlightRow(rule.isEnabled(), rule.id(), rule.contents(), rule.isRegEx(), - rule.isCaseSensitive(), rule.sender(), rule.chanName()); + addNewHighlightRow(rule.isEnabled(), + rule.id(), + rule.contents(), + rule.isRegEx(), + rule.isCaseSensitive(), + rule.sender(), + rule.chanName()); } } @@ -628,12 +602,12 @@ void CoreHighlightSettingsPage::load() setChangedState(false); _initialized = true; - } else { + } + else { defaults(); } } - void CoreHighlightSettingsPage::save() { if (!hasChanged()) @@ -650,16 +624,26 @@ void CoreHighlightSettingsPage::save() clonedManager.fromVariantMap(ruleManager->toVariantMap()); clonedManager.clear(); - for (auto &rule : highlightList) { - clonedManager.addHighlightRule(rule.id(), rule.contents(), rule.isRegEx(), - rule.isCaseSensitive(), rule.isEnabled(), false, - rule.sender(), rule.chanName()); + for (auto& rule : highlightList) { + clonedManager.addHighlightRule(rule.id(), + rule.contents(), + rule.isRegEx(), + rule.isCaseSensitive(), + rule.isEnabled(), + false, + rule.sender(), + rule.chanName()); } - for (auto &rule : ignoredList) { - clonedManager.addHighlightRule(rule.id(), rule.contents(), rule.isRegEx(), - rule.isCaseSensitive (), rule.isEnabled(), true, - rule.sender(), rule.chanName()); + for (auto& rule : ignoredList) { + clonedManager.addHighlightRule(rule.id(), + rule.contents(), + rule.isRegEx(), + rule.isCaseSensitive(), + rule.isEnabled(), + true, + rule.sender(), + rule.chanName()); } auto highlightNickType = ui.highlightNicksComboBox->itemData(ui.highlightNicksComboBox->currentIndex()).value(); @@ -672,7 +656,6 @@ void CoreHighlightSettingsPage::save() load(); } - int CoreHighlightSettingsPage::nextId() { int max = 0; @@ -691,32 +674,27 @@ int CoreHighlightSettingsPage::nextId() return max + 1; } - void CoreHighlightSettingsPage::widgetHasChanged() { setChangedState(true); } - void CoreHighlightSettingsPage::on_coreUnsupportedDetails_clicked() { // Re-use translations of "Local Highlights" as this is a word-for-word reference, forcing all // spaces to non-breaking const QString localHighlightsName = tr("Local Highlights").replace(" ", " "); - const QString remoteHighlightsMsgText = - QString("

%1


%2


%3

" - ).arg(tr("Your Quassel core is too old to support remote highlights"), - tr("You need a Quassel core v0.13.0 or newer to configure remote " - "highlights."), - tr("You can still configure highlights for this device only in " - "%1.").arg(localHighlightsName)); - - QMessageBox::warning(this, - tr("Remote Highlights unsupported"), - remoteHighlightsMsgText); -} + const QString remoteHighlightsMsgText = QString("

%1


%2


%3

") + .arg(tr("Your Quassel core is too old to support remote highlights"), + tr("You need a Quassel core v0.13.0 or newer to configure remote " + "highlights."), + tr("You can still configure highlights for this device only in " + "%1.") + .arg(localHighlightsName)); + QMessageBox::warning(this, tr("Remote Highlights unsupported"), remoteHighlightsMsgText); +} void CoreHighlightSettingsPage::importRules() { @@ -729,24 +707,21 @@ void CoreHighlightSettingsPage::importRules() QString localHighlightsName; if (Quassel::runMode() == Quassel::Monolithic) { localHighlightsName = tr("Legacy Highlights").replace(" ", " "); - } else { + } + else { localHighlightsName = tr("Local Highlights").replace(" ", " "); } if (localHighlightList.count() == 0) { // No highlight rules exist to import, do nothing - QMessageBox::information(this, - tr("No highlights to import"), - tr("No highlight rules in %1." - ).arg(localHighlightsName)); + QMessageBox::information(this, tr("No highlights to import"), tr("No highlight rules in %1.").arg(localHighlightsName)); return; } int ret = QMessageBox::question(this, tr("Import highlights?"), - tr("Import all highlight rules from %1?" - ).arg(localHighlightsName), - QMessageBox::Yes|QMessageBox::No, + tr("Import all highlight rules from %1?").arg(localHighlightsName), + QMessageBox::Yes | QMessageBox::No, QMessageBox::No); if (ret != QMessageBox::Yes) { @@ -762,19 +737,17 @@ void CoreHighlightSettingsPage::importRules() auto clonedManager = HighlightRuleManager(); clonedManager.fromVariantMap(Client::highlightRuleManager()->toVariantMap()); - for (const auto &variant : notificationSettings.highlightList()) { + for (const auto& variant : notificationSettings.highlightList()) { auto highlightRule = variant.toMap(); - clonedManager.addHighlightRule( - clonedManager.nextId(), - highlightRule["Name"].toString(), - highlightRule["RegEx"].toBool(), - highlightRule["CS"].toBool(), - highlightRule["Enable"].toBool(), - false, - "", - highlightRule["Channel"].toString() - ); + clonedManager.addHighlightRule(clonedManager.nextId(), + highlightRule["Name"].toString(), + highlightRule["RegEx"].toBool(), + highlightRule["CS"].toBool(), + highlightRule["Enable"].toBool(), + false, + "", + highlightRule["Channel"].toString()); } Client::highlightRuleManager()->requestUpdate(clonedManager.toVariantMap()); @@ -784,11 +757,9 @@ void CoreHighlightSettingsPage::importRules() // Give a heads-up that all succeeded QMessageBox::information(this, tr("Imported highlights"), - tr("%1 highlight rules successfully imported." - ).arg(QString::number(localHighlightList.count()))); + tr("%1 highlight rules successfully imported.").arg(QString::number(localHighlightList.count()))); } - bool CoreHighlightSettingsPage::isSelectable() const { return Client::isConnected();