Introduce QtUiStyleSettings and make highlight color configurable again
authorManuel Nickschas <sputnick@quassel-irc.org>
Wed, 6 Aug 2008 15:50:35 +0000 (17:50 +0200)
committerManuel Nickschas <sputnick@quassel-irc.org>
Wed, 6 Aug 2008 15:50:35 +0000 (17:50 +0200)
src/qtui/qtuisettings.cpp
src/qtui/qtuisettings.h
src/qtui/qtuistyle.cpp
src/qtui/qtuistyle.h
src/qtui/settingspages/colorsettingspage.cpp

index 2a79bc7..d89f5c1 100644 (file)
 QtUiSettings::QtUiSettings(const QString &group) : UiSettings(group) {
 
 }
 QtUiSettings::QtUiSettings(const QString &group) : UiSettings(group) {
 
 }
+
+/***********************************************************************/
+
+QtUiStyleSettings::QtUiStyleSettings(const QString &group) : UiStyleSettings(group) {
+
+}
+
+void QtUiStyleSettings::setHighlightColor(const QColor &col) {
+  setLocalValue("Colors/HighlightColor", col);
+}
+
+QColor QtUiStyleSettings::highlightColor() {
+  return localValue("Colors/HighlightColor", QColor()).value<QColor>();
+}
index ac3b0f5..eda3c2d 100644 (file)
@@ -35,10 +35,10 @@ class QtUiSettings : public UiSettings {
 class QtUiStyleSettings : public UiStyleSettings {
 
   public:
 class QtUiStyleSettings : public UiStyleSettings {
 
   public:
-    QtUiStyleSettings();
+    QtUiStyleSettings(const QString &group = "QtUiStyle");
 
     void setHighlightColor(const QColor &);
 
     void setHighlightColor(const QColor &);
-    QColor highlightColor() const;
+    QColor highlightColor();
 
 };
 
 
 };
 
index 6d6660b..bdcfc9f 100644 (file)
@@ -19,6 +19,7 @@
  ***************************************************************************/
 
 #include "qtuistyle.h"
  ***************************************************************************/
 
 #include "qtuistyle.h"
+#include "qtuisettings.h"
 
 QtUiStyle::QtUiStyle() : UiStyle("QtUiStyle") {
   // We need to just set our internal formats; everything else is done by the base class...
 
 QtUiStyle::QtUiStyle() : UiStyle("QtUiStyle") {
   // We need to just set our internal formats; everything else is done by the base class...
@@ -102,7 +103,15 @@ QtUiStyle::QtUiStyle() : UiStyle("QtUiStyle") {
   url.setAnchor(true);
   setFormat(Url, url, Settings::Default);
 
   url.setAnchor(true);
   setFormat(Url, url, Settings::Default);
 
-  _highlightColor = QColor(Qt::red);
+  QtUiStyleSettings s;
+  _highlightColor = s.highlightColor();
+  if(!_highlightColor.isValid()) _highlightColor = QColor("lightcoral");
 }
 
 QtUiStyle::~QtUiStyle() {}
 }
 
 QtUiStyle::~QtUiStyle() {}
+
+void QtUiStyle::setHighlightColor(const QColor &col) {
+  _highlightColor = col;
+  QtUiStyleSettings s;
+  s.setHighlightColor(col);
+}
index e058ac0..8db3182 100644 (file)
@@ -32,6 +32,7 @@ class QtUiStyle : public UiStyle {
     virtual inline qreal firstColumnSeparator() const { return 10; }
     virtual inline qreal secondColumnSeparator() const { return 10; }
     virtual inline QColor highlightColor() const { return _highlightColor; }
     virtual inline qreal firstColumnSeparator() const { return 10; }
     virtual inline qreal secondColumnSeparator() const { return 10; }
     virtual inline QColor highlightColor() const { return _highlightColor; }
+    virtual void setHighlightColor(const QColor &);
 
   private:
     QColor _highlightColor;
 
   private:
     QColor _highlightColor;
index e8af475..9ea8758 100644 (file)
@@ -535,8 +535,7 @@ void ColorSettingsPage::load() {
   ui.urlFG->setColor(QtUi::style()->format(UiStyle::Url).foreground().color());
   ui.urlBG->setColor(QtUi::style()->format(UiStyle::Url).background().color());
 
   ui.urlFG->setColor(QtUi::style()->format(UiStyle::Url).foreground().color());
   ui.urlBG->setColor(QtUi::style()->format(UiStyle::Url).background().color());
 
-  settings["HighlightColor"] = s.value("highlightColor", QVariant(QColor("lightcoral")));
-  ui.highlightColor->setColor(settings["HighlightColor"].value<QColor>());
+  ui.highlightColor->setColor(QtUi::style()->highlightColor());
 
   ui.color0->setColor(QtUi::style()->format(UiStyle::FgCol00).foreground().color());
   ui.color1->setColor(QtUi::style()->format(UiStyle::FgCol01).foreground().color());
 
   ui.color0->setColor(QtUi::style()->format(UiStyle::FgCol00).foreground().color());
   ui.color1->setColor(QtUi::style()->format(UiStyle::FgCol01).foreground().color());
@@ -617,7 +616,7 @@ void ColorSettingsPage::save() {
   saveColor(UiStyle::RenameMsg, ui.renameMessageFG->color(), ui.renameMessageBG->color(), ui.renameMessageUseBG->isChecked());
   s.setValue("renameMessageUseBG", ui.renameMessageUseBG->isChecked());
 
   saveColor(UiStyle::RenameMsg, ui.renameMessageFG->color(), ui.renameMessageBG->color(), ui.renameMessageUseBG->isChecked());
   s.setValue("renameMessageUseBG", ui.renameMessageUseBG->isChecked());
 
-  s.setValue("highlightColor", ui.highlightColor->color());
+  QtUi::style()->setHighlightColor(ui.highlightColor->color());
 
   saveColor(UiStyle::Timestamp, ui.timestampFG->color(), ui.timestampBG->color(), ui.timestampUseBG->isChecked());
   s.setValue("timestampUseBG", ui.timestampUseBG->isChecked());
 
   saveColor(UiStyle::Timestamp, ui.timestampFG->color(), ui.timestampBG->color(), ui.timestampUseBG->isChecked());
   s.setValue("timestampUseBG", ui.timestampUseBG->isChecked());
@@ -744,7 +743,7 @@ bool ColorSettingsPage::testHasChanged() {
   if(QtUi::style()->format(UiStyle::RenameMsg).background().color() != ui.renameMessageBG->color()) return true;
   if(settings["RenameMessageUseBG"].toBool() != ui.renameMessageUseBG->isChecked()) return true;
 
   if(QtUi::style()->format(UiStyle::RenameMsg).background().color() != ui.renameMessageBG->color()) return true;
   if(settings["RenameMessageUseBG"].toBool() != ui.renameMessageUseBG->isChecked()) return true;
 
-  if(settings["HighlightColor"].value<QColor>() != ui.highlightColor->color()) return true;
+  if(QtUi::style()->highlightColor() != ui.highlightColor->color()) return true;
 
   if(QtUi::style()->format(UiStyle::Timestamp).foreground().color() != ui.timestampFG->color()) return true;
   if(QtUi::style()->format(UiStyle::Timestamp).background().color() != ui.timestampBG->color()) return true;
 
   if(QtUi::style()->format(UiStyle::Timestamp).foreground().color() != ui.timestampFG->color()) return true;
   if(QtUi::style()->format(UiStyle::Timestamp).background().color() != ui.timestampBG->color()) return true;