X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fqtui%2Fsettingspages%2Fhighlightsettingspage.cpp;h=4d169f2aa7631762dbfae9352bc6704748436f4d;hp=c122a82f25937644257a676499d36b17f3b8681b;hb=7a413a4808e9357e7d2c69840efe913b4c4ab0a3;hpb=c351c94e52a01571c34a18ddb5947b9e1f771d8c
diff --git a/src/qtui/settingspages/highlightsettingspage.cpp b/src/qtui/settingspages/highlightsettingspage.cpp
index c122a82f..4d169f2a 100644
--- a/src/qtui/settingspages/highlightsettingspage.cpp
+++ b/src/qtui/settingspages/highlightsettingspage.cpp
@@ -38,10 +38,14 @@ HighlightSettingsPage::HighlightSettingsPage(QWidget *parent)
ui.highlightTable->horizontalHeaderItem(HighlightSettingsPage::CsColumn)->setToolTip("CS: This option determines if the highlight rule should be interpreted case sensitive.");
ui.highlightTable->horizontalHeaderItem(HighlightSettingsPage::CsColumn)->setWhatsThis("CS: This option determines if the highlight rule should be interpreted case sensitive.");
+ ui.highlightTable->horizontalHeaderItem(HighlightSettingsPage::ChanColumn)->setToolTip("Chan: This regular expression determines for which Channels the highlight rule works. Leave blank to match any channel. Put ! in the beginning to negate. Case insensitive.");
+ ui.highlightTable->horizontalHeaderItem(HighlightSettingsPage::ChanColumn)->setWhatsThis("Chan: This regular expression determines for which Channels the highlight rule works. Leave blank to match any channel. Put ! in the beginning to negate. Case insensitive.");
+
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::ChanColumn, QHeaderView::ResizeToContents);
connect(ui.add, SIGNAL(clicked(bool)), this, SLOT(addNewRow()));
connect(ui.remove, SIGNAL(clicked(bool)), this, SLOT(removeSelectedRows()));
@@ -69,7 +73,7 @@ void HighlightSettingsPage::defaults() {
widgetHasChanged();
}
-void HighlightSettingsPage::addNewRow(QString name, bool regex, bool cs, bool enable) {
+void HighlightSettingsPage::addNewRow(QString name, bool regex, bool cs, bool enable, QString chanName) {
ui.highlightTable->setRowCount(ui.highlightTable->rowCount()+1);
QTableWidgetItem *nameItem = new QTableWidgetItem(name);
@@ -95,17 +99,21 @@ void HighlightSettingsPage::addNewRow(QString name, bool regex, bool cs, bool en
enableItem->setCheckState(Qt::Unchecked);
enableItem->setFlags(Qt::ItemIsUserCheckable|Qt::ItemIsEnabled|Qt::ItemIsSelectable);
+ QTableWidgetItem *chanNameItem = new QTableWidgetItem(chanName);
+
int lastRow = ui.highlightTable->rowCount()-1;
ui.highlightTable->setItem(lastRow, HighlightSettingsPage::NameColumn, nameItem);
ui.highlightTable->setItem(lastRow, HighlightSettingsPage::RegExColumn, regexItem);
ui.highlightTable->setItem(lastRow, HighlightSettingsPage::CsColumn, csItem);
ui.highlightTable->setItem(lastRow, HighlightSettingsPage::EnableColumn, enableItem);
+ ui.highlightTable->setItem(lastRow, HighlightSettingsPage::ChanColumn, chanNameItem);
QVariantMap highlightRule;
highlightRule["Name"] = name;
highlightRule["RegEx"] = regex;
highlightRule["CS"] = cs;
highlightRule["Enable"] = enable;
+ highlightRule["Chan"] = chanName;
highlightList.append(highlightRule);
}
@@ -168,6 +176,11 @@ void HighlightSettingsPage::tableChanged(QTableWidgetItem *item) {
case HighlightSettingsPage::EnableColumn:
highlightRule["Enable"] = (item->checkState() == Qt::Checked);
break;
+ case HighlightSettingsPage::ChanColumn:
+ if(item->text().size() > 0 && item->text().trimmed().size() == 0)
+ item->setText("");
+ highlightRule["Chan"] = item->text();
+ break;
}
highlightList[item->row()] = highlightRule;
emit widgetHasChanged();
@@ -184,8 +197,9 @@ void HighlightSettingsPage::load() {
bool regex = highlightRule["RegEx"].toBool();
bool cs = highlightRule["CS"].toBool();
bool enable = highlightRule["Enable"].toBool();
+ QString chanName = highlightRule["Chan"].toString();
- addNewRow(name, regex, cs, enable);
+ addNewRow(name, regex, cs, enable, chanName);
}
switch(notificationSettings.highlightNick())