All pastes #1451748 Raw Edit

Stuff

public diff v1 · immutable
#1451748 ·published 2009-06-08 11:33 UTC
rendered paste body
diff -ru a/src/qtui/qtuimessageprocessor.cpp b/src/qtui/qtuimessageprocessor.cpp--- a/src/qtui/qtuimessageprocessor.cpp	2009-06-08 00:00:00.000000000 +0000+++ b/src/qtui/qtuimessageprocessor.cpp	2009-06-08 00:00:00.000000000 +0000@@ -132,6 +132,18 @@       if(!rule.isEnabled) 	continue; +      if(rule.chanName.size() > 0 && rule.chanName.compare(".*") != 0) {+        if(rule.chanName.startsWith("!")) {+          QRegExp rx(rule.chanName.mid(1), Qt::CaseInsensitive);+          if(rx.exactMatch(msg.bufferInfo().bufferName()))+            continue;+        } else {+          QRegExp rx(rule.chanName, Qt::CaseInsensitive);+          if(!rx.exactMatch(msg.bufferInfo().bufferName()))+            continue;+        }+      }+       bool match = false;       if(rule.isRegExp) {         QRegExp rx(rule.name, rule.caseSensitive? Qt::CaseSensitive : Qt::CaseInsensitive);@@ -162,7 +174,8 @@     _highlightRules << HighlightRule(rule["Name"].toString(),                                      rule["Enable"].toBool(),                                      rule["CS"].toBool() ? Qt::CaseSensitive : Qt::CaseInsensitive,-                                     rule["RegEx"].toBool());+                                     rule["RegEx"].toBool(),+                                     rule["Chan"].toString());     iter++;   } }diff -ru a/src/qtui/qtuimessageprocessor.h b/src/qtui/qtuimessageprocessor.h--- a/src/qtui/qtuimessageprocessor.h	2009-06-08 00:00:00.000000000 +0000+++ b/src/qtui/qtuimessageprocessor.h	2009-06-08 00:00:00.000000000 +0000@@ -67,8 +67,9 @@     bool isEnabled;     Qt::CaseSensitivity caseSensitive;     bool isRegExp;-    inline HighlightRule(const QString &name, bool enabled, Qt::CaseSensitivity cs, bool regExp)-    : name(name), isEnabled(enabled), caseSensitive(cs), isRegExp(regExp) {}+    QString chanName;+    inline HighlightRule(const QString &name, bool enabled, Qt::CaseSensitivity cs, bool regExp, const QString &chanName)+    : name(name), isEnabled(enabled), caseSensitive(cs), isRegExp(regExp), chanName(chanName) {}   };    QList<HighlightRule> _highlightRules;diff -ru a/src/qtui/settingspages/highlightsettingspage.cpp b/src/qtui/settingspages/highlightsettingspage.cpp--- a/src/qtui/settingspages/highlightsettingspage.cpp	2009-06-08 00:00:00.000000000 +0000+++ b/src/qtui/settingspages/highlightsettingspage.cpp	2009-06-08 00:00:00.000000000 +0000@@ -38,10 +38,14 @@   ui.highlightTable->horizontalHeaderItem(HighlightSettingsPage::CsColumn)->setToolTip("<b>CS</b>: This option determines if the highlight rule should be interpreted <b>case sensitive</b>.");   ui.highlightTable->horizontalHeaderItem(HighlightSettingsPage::CsColumn)->setWhatsThis("<b>CS</b>: This option determines if the highlight rule should be interpreted <b>case sensitive</b>."); +  ui.highlightTable->horizontalHeaderItem(HighlightSettingsPage::ChanColumn)->setToolTip("<b>Chan</b>: This regular expression determines for which <b>Channels</b> the highlight rule works. Leave blank to match any channel. Put <b>!</b> in the beginning to negate. Case insensitive.");+  ui.highlightTable->horizontalHeaderItem(HighlightSettingsPage::ChanColumn)->setWhatsThis("<b>Chan</b>: This regular expression determines for which <b>Channels</b> the highlight rule works. Leave blank to match any channel. Put <b>!</b> 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 @@   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 @@     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 @@     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 @@     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())diff -ru a/src/qtui/settingspages/highlightsettingspage.h b/src/qtui/settingspages/highlightsettingspage.h--- a/src/qtui/settingspages/highlightsettingspage.h	2009-06-08 00:00:00.000000000 +0000+++ b/src/qtui/settingspages/highlightsettingspage.h	2009-06-08 00:00:00.000000000 +0000@@ -42,7 +42,7 @@    private slots:     void widgetHasChanged();-    void addNewRow(QString name = tr("highlight rule"), bool regex = false, bool cs = true, bool enable = true);+    void addNewRow(QString name = tr("highlight rule"), bool regex = false, bool cs = true, bool enable = true, QString chanName = "");     void removeSelectedRows();     void selectRow(QTableWidgetItem *item);     void tableChanged(QTableWidgetItem *item);@@ -59,7 +59,8 @@       RegExColumn = 1,       CsColumn = 2,       EnableColumn = 3,-      ColumnCount = 4+      ChanColumn = 4,+      ColumnCount = 5     };      void emptyTable();diff -ru a/src/qtui/settingspages/highlightsettingspage.ui b/src/qtui/settingspages/highlightsettingspage.ui--- a/src/qtui/settingspages/highlightsettingspage.ui	2009-06-08 00:00:00.000000000 +0000+++ b/src/qtui/settingspages/highlightsettingspage.ui	2009-06-08 00:00:00.000000000 +0000@@ -47,6 +47,11 @@           <string>Enable</string>          </property>         </column>+        <column>+         <property name="text" >+          <string>Chan</string>+         </property>+        </column>        </widget>       </item>       <item row="0" column="1" >