strip senderFrame and unused colorsettings
[quassel.git] / src / qtui / settingspages / colorsettingspage.cpp
index 2d5c3ba..b226e67 100644 (file)
@@ -28,8 +28,6 @@
 #include <QColorDialog>
 #include <QPainter>
 
-// #define PHONDEV
-
 ColorSettingsPage::ColorSettingsPage(QWidget *parent)
   : SettingsPage(tr("Appearance"), tr("Color settings"), parent),
     mapper(new QSignalMapper(this))
@@ -47,27 +45,12 @@ ColorSettingsPage::ColorSettingsPage(QWidget *parent)
   connect(mapper, SIGNAL(mapped(QWidget *)), this, SLOT(chooseColor(QWidget *)));
 
   //disable unused buttons:
-#ifndef PHONDEV
-  ui.inactiveActivityUseBG->setEnabled(false);
-  ui.noActivityUseBG->setEnabled(false);
-  ui.highlightActivityUseBG->setEnabled(false);
-  ui.newMessageActivityUseBG->setEnabled(false);
-  ui.otherActivityUseBG->setEnabled(false);
-
-  ui.nickFG->setEnabled(false);
-  ui.nickUseBG->setEnabled(false);
-  ui.hostmaskFG->setEnabled(false);
-  ui.hostmaskUseBG->setEnabled(false);
-  ui.channelnameFG->setEnabled(false);
-  ui.channelnameUseBG->setEnabled(false);
-  ui.modeFlagsFG->setEnabled(false);
-  ui.modeFlagsUseBG->setEnabled(false);
-  ui.urlFG->setEnabled(false);
-  ui.urlUseBG->setEnabled(false);
-
-  ui.onlineStatusUseBG->setEnabled(false);
-  ui.awayStatusUseBG->setEnabled(false);
-#endif
+  foreach(QWidget *widget, findChildren<QWidget *>()) {
+    if(widget->property("NotInUse").toBool()) {
+      widget->setEnabled(false);
+      widget->hide();
+    }
+  }
 }
 
 bool ColorSettingsPage::hasDefaults() const {
@@ -170,6 +153,7 @@ void ColorSettingsPage::defaultMessage() {
   ui.senderBG->setColor(QColor("white"));
   ui.senderBG->setEnabled(false);
   ui.senderUseBG->setChecked(false);
+  ui.senderAutoColor->setChecked(true);  
   ui.newMsgMarkerFG->setColor(Qt::red);
 
   /*
@@ -348,6 +332,8 @@ void ColorSettingsPage::load() {
   ui.timestampBG->setColor(QtUi::style()->format(UiStyle::Timestamp).background().color());
   ui.senderFG->setColor(QtUi::style()->format(UiStyle::Sender).foreground().color());
   ui.senderBG->setColor(QtUi::style()->format(UiStyle::Sender).background().color());
+  settings["SenderAutoColor"] = s.value("senderAutoColor", QVariant(true));
+  ui.senderAutoColor->setChecked(settings["SenderAutoColor"].toBool());
   settings["NewMsgMarkerFG"] = s.value("newMsgMarkerFG", QColor(Qt::red));
   ui.newMsgMarkerFG->setColor(settings["NewMsgMarkerFG"].value<QColor>());
 
@@ -460,6 +446,8 @@ void ColorSettingsPage::save() {
   s.setValue("timestampUseBG", ui.timestampUseBG->isChecked());
   saveColor(UiStyle::Sender, ui.senderFG->color(), ui.senderBG->color(), ui.senderUseBG->isChecked());
   s.setValue("senderUseBG", ui.senderUseBG->isChecked());
+  s.setValue("senderAutoColor", ui.senderAutoColor->isChecked());
+  QtUi::style()->setSenderAutoColor(ui.senderAutoColor->isChecked());
   s.setValue("newMsgMarkerFG", ui.newMsgMarkerFG->color());
 
   /*
@@ -590,6 +578,7 @@ bool ColorSettingsPage::testHasChanged() {
   if(QtUi::style()->format(UiStyle::Sender).foreground().color() != ui.senderFG->color()) return true;
   if(QtUi::style()->format(UiStyle::Sender).background().color() != ui.senderBG->color()) return true;
   if(settings["SenderUseBG"].toBool() != ui.senderUseBG->isChecked()) return true;
+  if(settings["SenderAutoColor"].toBool() != ui.senderAutoColor->isChecked()) return true;
   if(settings["NewMsgMarkerFG"].value<QColor>() != ui.newMsgMarkerFG->color()) return true;
 
   /*