X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fqtui%2Fsettingspages%2Fcorehighlightsettingspage.cpp;h=cafe98f7e33a215909fe5424b26e1d8e2ff4696d;hp=7e50229661df4edcd18926a196ef3f351e5229d4;hb=a68417655dbb2982567642e75e95292fd57e6aec;hpb=17c39210b1bce04795046657642de66292518fe6 diff --git a/src/qtui/settingspages/corehighlightsettingspage.cpp b/src/qtui/settingspages/corehighlightsettingspage.cpp index 7e502296..cafe98f7 100644 --- a/src/qtui/settingspages/corehighlightsettingspage.cpp +++ b/src/qtui/settingspages/corehighlightsettingspage.cpp @@ -111,6 +111,7 @@ CoreHighlightSettingsPage::CoreHighlightSettingsPage(QWidget *parent) } } + void CoreHighlightSettingsPage::coreConnectionStateChanged(bool state) { updateCoreSupportStatus(state); @@ -122,6 +123,7 @@ void CoreHighlightSettingsPage::coreConnectionStateChanged(bool state) } } + void CoreHighlightSettingsPage::setupRuleTable(QTableWidget *table) const { table->verticalHeader()->hide(); @@ -197,6 +199,7 @@ void CoreHighlightSettingsPage::setupRuleTable(QTableWidget *table) const #endif } + void CoreHighlightSettingsPage::updateCoreSupportStatus(bool state) { // Assume connected state as enforced by the settings page UI @@ -212,11 +215,13 @@ void CoreHighlightSettingsPage::updateCoreSupportStatus(bool state) } } + void CoreHighlightSettingsPage::clientConnected() { connect(Client::highlightRuleManager(), SIGNAL(updated()), SLOT(revert())); } + void CoreHighlightSettingsPage::revert() { if (!hasChanged()) @@ -226,11 +231,13 @@ void CoreHighlightSettingsPage::revert() load(); } + bool CoreHighlightSettingsPage::hasDefaults() const { return true; } + void CoreHighlightSettingsPage::defaults() { int highlightNickType = HighlightRuleManager::HighlightNickType::CurrentNick; @@ -243,6 +250,7 @@ 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) { @@ -329,6 +337,7 @@ 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) { @@ -403,6 +412,7 @@ 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; @@ -421,6 +431,7 @@ void CoreHighlightSettingsPage::removeSelectedHighlightRows() } } + void CoreHighlightSettingsPage::removeSelectedIgnoredRows() { QList selectedRows; @@ -439,12 +450,15 @@ void CoreHighlightSettingsPage::removeSelectedIgnoredRows() } } -void CoreHighlightSettingsPage::highlightNicksChanged(const int index) { + +void CoreHighlightSettingsPage::highlightNicksChanged(const int index) +{ // Only allow toggling "Case sensitive" when a nickname will be highlighted auto highlightNickType = ui.highlightNicksComboBox->itemData(index).value(); ui.nicksCaseSensitive->setEnabled(highlightNickType != HighlightRuleManager::NoNick); } + void CoreHighlightSettingsPage::selectHighlightRow(QTableWidgetItem *item) { int row = item->row(); @@ -454,6 +468,7 @@ void CoreHighlightSettingsPage::selectHighlightRow(QTableWidgetItem *item) selected); } + void CoreHighlightSettingsPage::selectIgnoredRow(QTableWidgetItem *item) { int row = item->row(); @@ -463,6 +478,7 @@ void CoreHighlightSettingsPage::selectIgnoredRow(QTableWidgetItem *item) selected); } + void CoreHighlightSettingsPage::emptyHighlightTable() { // ui.highlight and highlightList should have the same size, but just to make sure. @@ -475,6 +491,7 @@ void CoreHighlightSettingsPage::emptyHighlightTable() highlightList.clear(); } + void CoreHighlightSettingsPage::emptyIgnoredTable() { // ui.highlight and highlightList should have the same size, but just to make sure. @@ -487,6 +504,7 @@ void CoreHighlightSettingsPage::emptyIgnoredTable() ignoredList.clear(); } + void CoreHighlightSettingsPage::highlightTableChanged(QTableWidgetItem *item) { if (item->row() + 1 > highlightList.size()) @@ -525,6 +543,7 @@ void CoreHighlightSettingsPage::highlightTableChanged(QTableWidgetItem *item) emit widgetHasChanged(); } + void CoreHighlightSettingsPage::ignoredTableChanged(QTableWidgetItem *item) { if (item->row() + 1 > ignoredList.size()) @@ -563,6 +582,7 @@ void CoreHighlightSettingsPage::ignoredTableChanged(QTableWidgetItem *item) emit widgetHasChanged(); } + void CoreHighlightSettingsPage::load() { emptyHighlightTable(); @@ -599,6 +619,7 @@ void CoreHighlightSettingsPage::load() } } + void CoreHighlightSettingsPage::save() { if (!hasChanged()) @@ -635,7 +656,9 @@ void CoreHighlightSettingsPage::save() load(); } -int CoreHighlightSettingsPage::nextId() { + +int CoreHighlightSettingsPage::nextId() +{ int max = 0; for (int i = 0; i < highlightList.count(); i++) { int id = highlightList[i].id; @@ -649,14 +672,16 @@ int CoreHighlightSettingsPage::nextId() { max = id; } } - return max+1; + 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 @@ -676,7 +701,9 @@ void CoreHighlightSettingsPage::on_coreUnsupportedDetails_clicked() remoteHighlightsMsgText); } -void CoreHighlightSettingsPage::importRules() { + +void CoreHighlightSettingsPage::importRules() +{ NotificationSettings notificationSettings; const auto localHighlightList = notificationSettings.highlightList(); @@ -740,7 +767,9 @@ void CoreHighlightSettingsPage::importRules() { ).arg(QString::number(localHighlightList.count()))); } -bool CoreHighlightSettingsPage::isSelectable() const { + +bool CoreHighlightSettingsPage::isSelectable() const +{ return Client::isConnected(); // We check for Quassel::Feature::CoreSideHighlights when loading this page, allowing us to show // a friendly error message.