From f4cc482f39451e564f549b39549d68f46561a9aa Mon Sep 17 00:00:00 2001 From: Shane Synan Date: Tue, 27 Feb 2018 19:34:10 -0600 Subject: [PATCH] client: Disable case-sensitive check for no nick Disable "Case sensitive" highlight checkbox when highlight nicks is set to "No nicks", as it has no effect on outcome. --- .../settingspages/corehighlightsettingspage.cpp | 13 +++++++++++++ src/qtui/settingspages/corehighlightsettingspage.h | 1 + 2 files changed, 14 insertions(+) diff --git a/src/qtui/settingspages/corehighlightsettingspage.cpp b/src/qtui/settingspages/corehighlightsettingspage.cpp index d7ed5f33..444afd1c 100644 --- a/src/qtui/settingspages/corehighlightsettingspage.cpp +++ b/src/qtui/settingspages/corehighlightsettingspage.cpp @@ -57,6 +57,11 @@ CoreHighlightSettingsPage::CoreHighlightSettingsPage(QWidget *parent) this, SLOT(selectIgnoredRow(QTableWidgetItem * ))); + // Update the "Case sensitive" checkbox + connect(ui.highlightNicksComboBox, + SIGNAL(currentIndexChanged(int)), + this, + SLOT(highlightNicksChanged(int))); connect(ui.highlightNicksComboBox, SIGNAL(currentIndexChanged(int)), this, SLOT(widgetHasChanged())); connect(ui.nicksCaseSensitive, SIGNAL(clicked(bool)), this, SLOT(widgetHasChanged())); @@ -284,6 +289,12 @@ void CoreHighlightSettingsPage::removeSelectedIgnoredRows() } } +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(); @@ -426,6 +437,8 @@ void CoreHighlightSettingsPage::load() int highlightNickType = ruleManager->highlightNick(); ui.highlightNicksComboBox->setCurrentIndex(ui.highlightNicksComboBox->findData(QVariant(highlightNickType))); + // Trigger the initial update of nicksCaseSensitive being enabled or not + highlightNicksChanged(ui.highlightNicksComboBox->currentIndex()); ui.nicksCaseSensitive->setChecked(ruleManager->nicksCaseSensitive()); setChangedState(false); diff --git a/src/qtui/settingspages/corehighlightsettingspage.h b/src/qtui/settingspages/corehighlightsettingspage.h index 53cbef28..62abae8f 100644 --- a/src/qtui/settingspages/corehighlightsettingspage.h +++ b/src/qtui/settingspages/corehighlightsettingspage.h @@ -56,6 +56,7 @@ private slots: bool cs = false, const QString &sender = "", const QString &chanName = "", bool self = false); void removeSelectedHighlightRows(); void removeSelectedIgnoredRows(); + void highlightNicksChanged(const int index); void selectHighlightRow(QTableWidgetItem *item); void selectIgnoredRow(QTableWidgetItem *item); void highlightTableChanged(QTableWidgetItem *item); -- 2.20.1