X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fqtui%2Fsettingspages%2Fhighlightsettingspage.cpp;h=77aa29723d7dbc9c4221c6626803680c1f35a585;hp=9c290af4f4cceb89679b3b886dcf17d090afc1bc;hb=01ed2953cbad3f2de3df262dc1601e82d903b4a8;hpb=9ced25191b84390d1867cf3ee19f5aec741795a8 diff --git a/src/qtui/settingspages/highlightsettingspage.cpp b/src/qtui/settingspages/highlightsettingspage.cpp index 9c290af4..77aa2972 100644 --- a/src/qtui/settingspages/highlightsettingspage.cpp +++ b/src/qtui/settingspages/highlightsettingspage.cpp @@ -39,9 +39,9 @@ HighlightSettingsPage::HighlightSettingsPage(QWidget *parent) ui.highlightTable->horizontalHeaderItem(HighlightSettingsPage::CsColumn)->setWhatsThis("CS: This option determines if the highlight rule should be interpreted case sensitive."); ui.highlightTable->horizontalHeader()->setResizeMode(HighlightSettingsPage::NameColumn, QHeaderView::Stretch); - ui.highlightTable->horizontalHeader()->setResizeMode(HighlightSettingsPage::RegExColumn, QHeaderView::ResizeToContents); - ui.highlightTable->horizontalHeader()->setResizeMode(HighlightSettingsPage::CsColumn, QHeaderView::ResizeToContents); - ui.highlightTable->horizontalHeader()->setResizeMode(HighlightSettingsPage::EnableColumn, QHeaderView::ResizeToContents); + ui.highlightTable->horizontalHeader()->setResizeMode(HighlightSettingsPage::RegExColumn, QHeaderView::ResizeToContents); + ui.highlightTable->horizontalHeader()->setResizeMode(HighlightSettingsPage::CsColumn, QHeaderView::ResizeToContents); + ui.highlightTable->horizontalHeader()->setResizeMode(HighlightSettingsPage::EnableColumn, QHeaderView::ResizeToContents); connect(ui.add, SIGNAL(clicked(bool)), this, SLOT(addNewRow())); connect(ui.remove, SIGNAL(clicked(bool)), this, SLOT(removeSelectedRows())); @@ -51,6 +51,7 @@ HighlightSettingsPage::HighlightSettingsPage(QWidget *parent) connect(ui.highlightAllNicks, SIGNAL(clicked(bool)), this, SLOT(widgetHasChanged())); connect(ui.highlightCurrentNick, SIGNAL(clicked(bool)), this, SLOT(widgetHasChanged())); connect(ui.highlightNoNick, SIGNAL(clicked(bool)), this, SLOT(widgetHasChanged())); + connect(ui.nicksCaseSensitive, SIGNAL(clicked(bool)), this, SLOT(widgetHasChanged())); connect(ui.add, SIGNAL(clicked()), this, SLOT(widgetHasChanged())); connect(ui.remove, SIGNAL(clicked()), this, SLOT(widgetHasChanged())); connect(ui.highlightTable, SIGNAL(itemChanged(QTableWidgetItem *)), this, SLOT(tableChanged(QTableWidgetItem *))); @@ -62,6 +63,7 @@ bool HighlightSettingsPage::hasDefaults() const { void HighlightSettingsPage::defaults() { ui.highlightCurrentNick->setChecked(true); + ui.nicksCaseSensitive->setChecked(false); emptyTable(); widgetHasChanged(); @@ -100,10 +102,10 @@ void HighlightSettingsPage::addNewRow(QString name, bool regex, bool cs, bool en ui.highlightTable->setItem(lastRow, HighlightSettingsPage::EnableColumn, enableItem); QVariantMap highlightRule; - highlightRule["name"] = name; - highlightRule["regex"] = regex; - highlightRule["cs"] = cs; - highlightRule["enable"] = enable; + highlightRule["Name"] = name; + highlightRule["RegEx"] = regex; + highlightRule["CS"] = cs; + highlightRule["Enable"] = enable; highlightList.append(highlightRule); } @@ -145,7 +147,7 @@ void HighlightSettingsPage::emptyTable() { } void HighlightSettingsPage::tableChanged(QTableWidgetItem *item) { - if(item->row()+1 > highlightList.size()) + if(item->row()+1 > highlightList.size()) return; QVariantMap highlightRule = highlightList.value(item->row()).toMap(); @@ -155,16 +157,16 @@ void HighlightSettingsPage::tableChanged(QTableWidgetItem *item) { case HighlightSettingsPage::NameColumn: if(item->text() == "") item->setText(tr("this shouldn't be empty")); - highlightRule["name"] = item->text(); + highlightRule["Name"] = item->text(); break; case HighlightSettingsPage::RegExColumn: - highlightRule["regex"] = (item->checkState() == Qt::Checked); + highlightRule["RegEx"] = (item->checkState() == Qt::Checked); break; case HighlightSettingsPage::CsColumn: - highlightRule["cs"] = (item->checkState() == Qt::Checked); + highlightRule["CS"] = (item->checkState() == Qt::Checked); break; case HighlightSettingsPage::EnableColumn: - highlightRule["enable"] = (item->checkState() == Qt::Checked); + highlightRule["Enable"] = (item->checkState() == Qt::Checked); break; } highlightList[item->row()] = highlightRule; @@ -178,10 +180,10 @@ void HighlightSettingsPage::load() { foreach(QVariant highlight, notificationSettings.highlightList()) { QVariantMap highlightRule = highlight.toMap(); - QString name = highlightRule["name"].toString(); - bool regex = highlightRule["regex"].toBool(); - bool cs = highlightRule["cs"].toBool(); - bool enable = highlightRule["enable"].toBool(); + QString name = highlightRule["Name"].toString(); + bool regex = highlightRule["RegEx"].toBool(); + bool cs = highlightRule["CS"].toBool(); + bool enable = highlightRule["Enable"].toBool(); addNewRow(name, regex, cs, enable); } @@ -198,6 +200,7 @@ void HighlightSettingsPage::load() { ui.highlightAllNicks->setChecked(true); break; } + ui.nicksCaseSensitive->setChecked(notificationSettings.nicksCaseSensitive()); setChangedState(false); } @@ -207,14 +210,15 @@ void HighlightSettingsPage::save() { notificationSettings.setHighlightList(highlightList); NotificationSettings::HighlightNickType highlightNickType; - if(ui.highlightNoNick->isChecked()) + if(ui.highlightNoNick->isChecked()) highlightNickType = NotificationSettings::NoNick; - if(ui.highlightCurrentNick->isChecked()) + if(ui.highlightCurrentNick->isChecked()) highlightNickType = NotificationSettings::CurrentNick; - if(ui.highlightAllNicks->isChecked()) + if(ui.highlightAllNicks->isChecked()) highlightNickType = NotificationSettings::AllNicks; notificationSettings.setHighlightNick(highlightNickType); + notificationSettings.setNicksCaseSensitive(ui.nicksCaseSensitive->isChecked()); load(); setChangedState(false); @@ -229,20 +233,17 @@ bool HighlightSettingsPage::testHasChanged() { NotificationSettings notificationSettings; NotificationSettings::HighlightNickType highlightNickType; - if(ui.highlightNoNick->isChecked()) + if(ui.highlightNoNick->isChecked()) highlightNickType = NotificationSettings::NoNick; - if(ui.highlightCurrentNick->isChecked()) + if(ui.highlightCurrentNick->isChecked()) highlightNickType = NotificationSettings::CurrentNick; - if(ui.highlightAllNicks->isChecked()) + if(ui.highlightAllNicks->isChecked()) highlightNickType = NotificationSettings::AllNicks; if(notificationSettings.highlightNick() != highlightNickType) return true; + if(notificationSettings.nicksCaseSensitive() != ui.nicksCaseSensitive->isChecked()) return true; if(notificationSettings.highlightList() != highlightList) return true; - return true; + return false; } - - - -