Reworking highlighting a bit
[quassel.git] / src / qtui / settingspages / highlightsettingspage.cpp
index 9c290af..45567d1 100644 (file)
@@ -39,9 +39,9 @@ HighlightSettingsPage::HighlightSettingsPage(QWidget *parent)
   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->horizontalHeader()->setResizeMode(HighlightSettingsPage::NameColumn, QHeaderView::Stretch);
   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->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()));
 
   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.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 *)));
   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);
 
 void HighlightSettingsPage::defaults() {
   ui.highlightCurrentNick->setChecked(true);
+  ui.nicksCaseSensitive->setChecked(true);
   emptyTable();
 
   widgetHasChanged();
   emptyTable();
 
   widgetHasChanged();
@@ -145,7 +147,7 @@ void HighlightSettingsPage::emptyTable() {
 }
 
 void HighlightSettingsPage::tableChanged(QTableWidgetItem *item) {
 }
 
 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();
     return;
 
   QVariantMap highlightRule = highlightList.value(item->row()).toMap();
@@ -198,6 +200,7 @@ void HighlightSettingsPage::load() {
       ui.highlightAllNicks->setChecked(true);
       break;
   }
       ui.highlightAllNicks->setChecked(true);
       break;
   }
+  ui.nicksCaseSensitive->setChecked(notificationSettings.nicksCaseSensitive());
 
   setChangedState(false);
 }
 
   setChangedState(false);
 }
@@ -207,14 +210,15 @@ void HighlightSettingsPage::save() {
   notificationSettings.setHighlightList(highlightList);
 
   NotificationSettings::HighlightNickType highlightNickType;
   notificationSettings.setHighlightList(highlightList);
 
   NotificationSettings::HighlightNickType highlightNickType;
-  if(ui.highlightNoNick->isChecked()) 
+  if(ui.highlightNoNick->isChecked())
     highlightNickType = NotificationSettings::NoNick;
     highlightNickType = NotificationSettings::NoNick;
-  if(ui.highlightCurrentNick->isChecked()) 
+  if(ui.highlightCurrentNick->isChecked())
     highlightNickType = NotificationSettings::CurrentNick;
     highlightNickType = NotificationSettings::CurrentNick;
-  if(ui.highlightAllNicks->isChecked()) 
+  if(ui.highlightAllNicks->isChecked())
     highlightNickType = NotificationSettings::AllNicks;
 
   notificationSettings.setHighlightNick(highlightNickType);
     highlightNickType = NotificationSettings::AllNicks;
 
   notificationSettings.setHighlightNick(highlightNickType);
+  notificationSettings.setNicksCaseSensitive(ui.nicksCaseSensitive->isChecked());
 
   load();
   setChangedState(false);
 
   load();
   setChangedState(false);
@@ -229,20 +233,17 @@ bool HighlightSettingsPage::testHasChanged() {
   NotificationSettings notificationSettings;
 
   NotificationSettings::HighlightNickType highlightNickType;
   NotificationSettings notificationSettings;
 
   NotificationSettings::HighlightNickType highlightNickType;
-  if(ui.highlightNoNick->isChecked()) 
+  if(ui.highlightNoNick->isChecked())
     highlightNickType = NotificationSettings::NoNick;
     highlightNickType = NotificationSettings::NoNick;
-  if(ui.highlightCurrentNick->isChecked()) 
+  if(ui.highlightCurrentNick->isChecked())
     highlightNickType = NotificationSettings::CurrentNick;
     highlightNickType = NotificationSettings::CurrentNick;
-  if(ui.highlightAllNicks->isChecked()) 
+  if(ui.highlightAllNicks->isChecked())
     highlightNickType = NotificationSettings::AllNicks;
 
   if(notificationSettings.highlightNick() != highlightNickType) return true;
     highlightNickType = NotificationSettings::AllNicks;
 
   if(notificationSettings.highlightNick() != highlightNickType) return true;
+  if(notificationSettings.nicksCaseSensitive() != ui.nicksCaseSensitive->isChecked()) return true;
 
   if(notificationSettings.highlightList() != highlightList) return true;
 
 
   if(notificationSettings.highlightList() != highlightList) return true;
 
-  return true;
+  return false;
 }
 }
-
-
-
-