Brining back the removed color options
authorMarcus Eggenberger <egs@quassel-irc.org>
Tue, 3 Feb 2009 14:10:26 +0000 (15:10 +0100)
committerMarcus Eggenberger <egs@quassel-irc.org>
Tue, 3 Feb 2009 14:10:26 +0000 (15:10 +0100)
src/qtui/settingspages/colorsettingspage.cpp
src/qtui/settingspages/colorsettingspage.h
src/qtui/settingspages/colorsettingspage.ui
src/uisupport/bufferview.cpp
src/uisupport/bufferview.h
src/uisupport/nickview.cpp
src/uisupport/nickview.h

index 01bc517..3038c18 100644 (file)
@@ -44,6 +44,7 @@ ColorSettingsPage::ColorSettingsPage(QWidget *parent)
 
   connect(mapper, SIGNAL(mapped(QWidget *)), this, SLOT(chooseColor(QWidget *)));
 
+  //disable unused buttons:
   foreach(QWidget *widget, findChildren<QWidget *>()) {
     if(widget->property("NotInUse").toBool()) {
       widget->setEnabled(false);
@@ -62,6 +63,7 @@ void ColorSettingsPage::defaults() {
   defaultUserActivity();
   defaultMessage();
   defaultMircColorCodes();
+  defaultNickview();
 
   widgetHasChanged();
   bufferviewPreview();
@@ -69,6 +71,14 @@ void ColorSettingsPage::defaults() {
 }
 
 void ColorSettingsPage::defaultBufferview() {
+  ui.inactiveActivityFG->setColor(QColor(Qt::gray));
+  ui.inactiveActivityBG->setColor(QColor(Qt::white));
+  ui.inactiveActivityBG->setEnabled(false);
+  ui.inactiveActivityUseBG->setChecked(false);
+  ui.noActivityFG->setColor(QColor(Qt::black));
+  ui.noActivityBG->setColor(QColor(Qt::white));
+  ui.noActivityBG->setEnabled(false);
+  ui.noActivityUseBG->setChecked(false);
   ui.highlightActivityFG->setColor(QColor(Qt::magenta));
   ui.highlightActivityBG->setColor(QColor(Qt::white));
   ui.highlightActivityBG->setEnabled(false);
@@ -188,8 +198,33 @@ void ColorSettingsPage::defaultMircColorCodes() {
   ui.color15->setColor(QtUi::style()->format(UiStyle::FgCol15, Settings::Default).foreground().color());
 }
 
+void ColorSettingsPage::defaultNickview() {
+  ui.onlineStatusFG->setColor(QColor(Qt::black));
+  ui.onlineStatusBG->setColor(QColor("white"));
+  ui.onlineStatusBG->setEnabled(false);
+  ui.onlineStatusUseBG->setChecked(false);
+  ui.awayStatusFG->setColor(QColor(Qt::gray));
+  ui.awayStatusBG->setColor(QColor("white"));
+  ui.awayStatusBG->setEnabled(false);
+  ui.awayStatusUseBG->setChecked(false);
+}
+
 void ColorSettingsPage::load() {
   QtUiStyleSettings s("Colors");
+  settings["InactiveActivityFG"] = s.value("inactiveActivityFG", QVariant(QColor(Qt::gray)));
+  ui.inactiveActivityFG->setColor(settings["InactiveActivityFG"].value<QColor>());
+  settings["InactiveActivityBG"] = s.value("inactiveActivityBG", QVariant(QColor(Qt::white)));
+  ui.inactiveActivityBG->setColor(settings["InactiveActivityBG"].value<QColor>());
+  settings["InactiveActivityUseBG"] = s.value("inactiveActivityUseBG");
+  ui.inactiveActivityUseBG->setChecked(settings["InactiveActivityUseBG"].toBool());
+
+  settings["NoActivityFG"] = s.value("noActivityFG", QVariant(QColor(Qt::black)));
+  ui.noActivityFG->setColor(settings["NoActivityFG"].value<QColor>());
+  settings["NoActivityBG"] = s.value("noActivityBG", QVariant(QColor(Qt::white)));
+  ui.noActivityBG->setColor(settings["NoActivityBG"].value<QColor>());
+  settings["NoActivityUseBG"] = s.value("noActivityUseBG");
+  ui.noActivityUseBG->setChecked(settings["NoActivityUseBG"].toBool());
+
   settings["HighlightActivityFG"] = s.value("highlightActivityFG", QVariant(QColor(Qt::magenta)));
   ui.highlightActivityFG->setColor(settings["HighlightActivityFG"].value<QColor>());
   settings["HighlightActivityBG"] = s.value("highlightActivityBG", QVariant(QColor(Qt::white)));
@@ -340,6 +375,20 @@ void ColorSettingsPage::load() {
   ui.color14->setColor(QtUi::style()->format(UiStyle::FgCol14).foreground().color());
   ui.color15->setColor(QtUi::style()->format(UiStyle::FgCol15).foreground().color());
 
+  settings["OnlineStatusFG"] = s.value("onlineStatusFG", QVariant(QColor(Qt::black)));
+  ui.onlineStatusFG->setColor(settings["OnlineStatusFG"].value<QColor>());
+  settings["OnlineStatusBG"] = s.value("onlineStatusBG", QVariant(QColor(Qt::white)));
+  ui.onlineStatusBG->setColor(settings["OnlineStatusBG"].value<QColor>());
+  settings["OnlineStatusUseBG"] = s.value("onlineStatusUseBG");
+  ui.onlineStatusUseBG->setChecked(settings["OnlineStatusUseBG"].toBool());
+
+  settings["AwayStatusFG"] = s.value("awayStatusFG", QVariant(QColor(Qt::gray)));
+  ui.awayStatusFG->setColor(settings["AwayStatusFG"].value<QColor>());
+  settings["AwayStatusBG"] = s.value("awayStatusBG", QVariant(QColor(Qt::white)));
+  ui.awayStatusBG->setColor(settings["AwayStatusBG"].value<QColor>());
+  settings["AwayStatusUseBG"] = s.value("awayStatusUseBG");
+  ui.awayStatusUseBG->setChecked(settings["AwayStatusUseBG"].toBool());
+
   setChangedState(false);
   bufferviewPreview();
   chatviewPreview();
@@ -347,6 +396,12 @@ void ColorSettingsPage::load() {
 
 void ColorSettingsPage::save() {
   QtUiStyleSettings s("Colors");
+  s.setValue("noActivityFG", ui.noActivityFG->color());
+  s.setValue("noActivityBG", ui.noActivityBG->color());
+  s.setValue("noActivityUseBG", ui.noActivityUseBG->isChecked());
+  s.setValue("inactiveActivityFG", ui.inactiveActivityFG->color());
+  s.setValue("inactiveActivityBG", ui.inactiveActivityBG->color());
+  s.setValue("inactiveActivityUseBG", ui.inactiveActivityUseBG->isChecked());
   s.setValue("highlightActivityFG", ui.highlightActivityFG->color());
   s.setValue("highlightActivityBG", ui.highlightActivityBG->color());
   s.setValue("highlightActivityUseBG", ui.highlightActivityUseBG->isChecked());
@@ -420,6 +475,13 @@ void ColorSettingsPage::save() {
   saveMircColor(14, ui.color14->color());
   saveMircColor(15, ui.color15->color());
 
+  s.setValue("onlineStatusFG", ui.onlineStatusFG->color());
+  s.setValue("onlineStatusBG", ui.onlineStatusBG->color());
+  s.setValue("onlineStatusUseBG", ui.onlineStatusUseBG->isChecked());
+  s.setValue("awayStatusFG", ui.awayStatusFG->color());
+  s.setValue("awayStatusBG", ui.awayStatusBG->color());
+  s.setValue("awayStatusUseBG", ui.awayStatusUseBG->isChecked());
+
   load(); //TODO: remove when settings hash map is unnescessary
   setChangedState(false);
 }
@@ -450,6 +512,12 @@ void ColorSettingsPage::widgetHasChanged() {
 }
 
 bool ColorSettingsPage::testHasChanged() {
+  if(settings["InactiveActivityFG"].value<QColor>() != ui.inactiveActivityFG->color()) return true;
+  if(settings["InactiveActivityBG"].value<QColor>() != ui.inactiveActivityBG->color()) return true;
+  if(settings["InactiveActivityUseBG"].toBool() != ui.inactiveActivityUseBG->isChecked()) return true;
+  if(settings["NoActivityFG"].value<QColor>() != ui.noActivityFG->color()) return true;
+  if(settings["NoActivityBG"].value<QColor>() != ui.noActivityBG->color()) return true;
+  if(settings["NoActivityUseBG"].toBool() != ui.noActivityUseBG->isChecked()) return true;
   if(settings["HighlightActivityFG"].value<QColor>() != ui.highlightActivityFG->color()) return true;
   if(settings["HighlightActivityBG"].value<QColor>() != ui.highlightActivityBG->color()) return true;
   if(settings["HighlightActivityUseBG"].toBool() != ui.highlightActivityUseBG->isChecked()) return true;
@@ -542,6 +610,13 @@ bool ColorSettingsPage::testHasChanged() {
   if(QtUi::style()->format(UiStyle::FgCol14).foreground().color() != ui.color14->color()) return true;
   if(QtUi::style()->format(UiStyle::FgCol15).foreground().color() != ui.color15->color()) return true;
 
+  if(settings["OnlineStatusFG"].value<QColor>() != ui.onlineStatusFG->color()) return true;
+  if(settings["OnlineStatusBG"].value<QColor>() != ui.onlineStatusBG->color()) return true;
+  if(settings["OnlineStatusUseBG"].toBool() != ui.onlineStatusUseBG->isChecked()) return true;
+  if(settings["AwayStatusFG"].value<QColor>() != ui.awayStatusFG->color()) return true;
+  if(settings["AwayStatusBG"].value<QColor>() != ui.awayStatusBG->color()) return true;
+  if(settings["AwayStatusUseBG"].toBool() != ui.awayStatusUseBG->isChecked()) return true;
+
   return false;
 }
 
@@ -562,32 +637,47 @@ void ColorSettingsPage::chatviewPreview() {
 void ColorSettingsPage::bufferviewPreview() {
   ui.bufferviewPreview->clear();
   ui.bufferviewPreview->setColumnCount(1);
-  ui.bufferviewPreview->setHeaderLabels(QStringList(tr("Buffers")));
+  ui.bufferviewPreview->setHeaderLabels(QStringList("Buffers"));
 
-  QTreeWidgetItem *topLevelItem = new QTreeWidgetItem((QTreeWidget*)0, QStringList(tr("Network")));
+  QTreeWidgetItem *topLevelItem = new QTreeWidgetItem((QTreeWidget*)0, QStringList(QString("network")));
   ui.bufferviewPreview->insertTopLevelItem(0, topLevelItem);
+  topLevelItem->setForeground(0, QBrush(ui.noActivityFG->color()));
+  if(ui.noActivityUseBG->isChecked())
+    topLevelItem->setBackground(0, QBrush(ui.noActivityBG->color()));
+
 
   QList<QTreeWidgetItem *> items;
-  QTreeWidgetItem *inactiveActivity = new QTreeWidgetItem((QTreeWidget*)0, QStringList(tr("#incative")));
+  QTreeWidgetItem *statusBuffer = new QTreeWidgetItem((QTreeWidget*)0, QStringList(QString("Status Buffer")));
+  items.append(statusBuffer);
+  statusBuffer->setForeground(0, QBrush(ui.noActivityFG->color()));
+  if(ui.noActivityUseBG->isChecked())
+    statusBuffer->setBackground(0, QBrush(ui.noActivityBG->color()));
+
+  QTreeWidgetItem *inactiveActivity = new QTreeWidgetItem((QTreeWidget*)0, QStringList(QString("#inactive channel")));
   items.append(inactiveActivity);
-  inactiveActivity->setForeground(0, QPalette().color(QPalette::Dark));
+  inactiveActivity->setForeground(0, QBrush(ui.inactiveActivityFG->color()));
+  if(ui.inactiveActivityUseBG->isChecked())
+    inactiveActivity->setBackground(0, QBrush(ui.inactiveActivityBG->color()));
 
-  QTreeWidgetItem *noActivity = new QTreeWidgetItem((QTreeWidget*)0, QStringList(tr("#regular")));
+  QTreeWidgetItem *noActivity = new QTreeWidgetItem((QTreeWidget*)0, QStringList(QString("#channel with no activity")));
   items.append(noActivity);
+  noActivity->setForeground(0, QBrush(ui.noActivityFG->color()));
+  if(ui.noActivityUseBG->isChecked())
+    noActivity->setBackground(0, QBrush(ui.noActivityBG->color()));
 
-  QTreeWidgetItem *highlightActivity = new QTreeWidgetItem((QTreeWidget*)0, QStringList(tr("#highlight")));
+  QTreeWidgetItem *highlightActivity = new QTreeWidgetItem((QTreeWidget*)0, QStringList(QString("#channel with highlight")));
   items.append(highlightActivity);
   highlightActivity->setForeground(0, QBrush(ui.highlightActivityFG->color()));
   if(ui.highlightActivityUseBG->isChecked())
     highlightActivity->setBackground(0, QBrush(ui.highlightActivityBG->color()));
 
-  QTreeWidgetItem *newMessageActivity = new QTreeWidgetItem((QTreeWidget*)0, QStringList(tr("#new message")));
+  QTreeWidgetItem *newMessageActivity = new QTreeWidgetItem((QTreeWidget*)0, QStringList(QString("#channel with new message")));
   items.append(newMessageActivity);
   newMessageActivity->setForeground(0, QBrush(ui.newMessageActivityFG->color()));
   if(ui.newMessageActivityUseBG->isChecked())
     newMessageActivity->setBackground(0, QBrush(ui.newMessageActivityBG->color()));
 
-  QTreeWidgetItem *otherActivity = new QTreeWidgetItem((QTreeWidget*)0, QStringList(tr("#other activity")));
+  QTreeWidgetItem *otherActivity = new QTreeWidgetItem((QTreeWidget*)0, QStringList(QString("#channel with other activity")));
   items.append(otherActivity);
   otherActivity->setForeground(0, QBrush(ui.otherActivityFG->color()));
   if(ui.otherActivityUseBG->isChecked())
index ac1445d..a89190d 100644 (file)
@@ -47,6 +47,7 @@ class ColorSettingsPage : public SettingsPage {
     void defaultUserActivity();
     void defaultMessage();
     void defaultMircColorCodes();
+    void defaultNickview();
 
   private slots:
     void widgetHasChanged();
index 932225c..bc55f95 100644 (file)
@@ -5,8 +5,8 @@
    <rect>
     <x>0</x>
     <y>0</y>
-    <width>517</width>
-    <height>436</height>
+    <width>516</width>
+    <height>401</height>
    </rect>
   </property>
   <property name="sizePolicy" >
       <number>0</number>
      </property>
      <widget class="QWidget" name="bufferview" >
-      <property name="geometry" >
-       <rect>
-        <x>0</x>
-        <y>0</y>
-        <width>487</width>
-        <height>389</height>
-       </rect>
-      </property>
       <attribute name="title" >
        <string>Bufferview</string>
       </attribute>
@@ -67,7 +59,7 @@
            </widget>
           </item>
           <item row="0" column="3" >
-           <widget class="QLabel" name="bufferViewUseBgLabel" >
+           <widget class="QLabel" name="label_3" >
             <property name="text" >
              <string>Use BG</string>
             </property>
            </widget>
           </item>
           <item row="1" column="0" >
+           <widget class="QLabel" name="label_43" >
+            <property name="text" >
+             <string>Default:</string>
+            </property>
+           </widget>
+          </item>
+          <item row="1" column="1" >
+           <widget class="ColorButton" name="noActivityFG" >
+            <property name="sizePolicy" >
+             <sizepolicy vsizetype="Maximum" hsizetype="Maximum" >
+              <horstretch>0</horstretch>
+              <verstretch>0</verstretch>
+             </sizepolicy>
+            </property>
+            <property name="text" >
+             <string/>
+            </property>
+           </widget>
+          </item>
+          <item row="1" column="2" >
+           <widget class="ColorButton" name="noActivityBG" >
+            <property name="enabled" >
+             <bool>false</bool>
+            </property>
+            <property name="sizePolicy" >
+             <sizepolicy vsizetype="Maximum" hsizetype="Maximum" >
+              <horstretch>0</horstretch>
+              <verstretch>0</verstretch>
+             </sizepolicy>
+            </property>
+            <property name="text" >
+             <string/>
+            </property>
+            <property name="NotInUse" stdset="0" >
+             <bool>true</bool>
+            </property>
+           </widget>
+          </item>
+          <item row="1" column="3" >
+           <widget class="QCheckBox" name="noActivityUseBG" >
+            <property name="sizePolicy" >
+             <sizepolicy vsizetype="Fixed" hsizetype="Maximum" >
+              <horstretch>0</horstretch>
+              <verstretch>0</verstretch>
+             </sizepolicy>
+            </property>
+            <property name="text" >
+             <string/>
+            </property>
+            <property name="NotInUse" stdset="0" >
+             <bool>true</bool>
+            </property>
+           </widget>
+          </item>
+          <item row="2" column="0" >
+           <widget class="QLabel" name="label_42" >
+            <property name="text" >
+             <string>Inactive:</string>
+            </property>
+           </widget>
+          </item>
+          <item row="2" column="1" >
+           <widget class="ColorButton" name="inactiveActivityFG" >
+            <property name="text" >
+             <string/>
+            </property>
+           </widget>
+          </item>
+          <item row="2" column="2" >
+           <widget class="ColorButton" name="inactiveActivityBG" >
+            <property name="enabled" >
+             <bool>false</bool>
+            </property>
+            <property name="text" >
+             <string/>
+            </property>
+            <property name="NotInUse" stdset="0" >
+             <bool>true</bool>
+            </property>
+           </widget>
+          </item>
+          <item row="2" column="3" >
+           <widget class="QCheckBox" name="inactiveActivityUseBG" >
+            <property name="sizePolicy" >
+             <sizepolicy vsizetype="Fixed" hsizetype="Maximum" >
+              <horstretch>0</horstretch>
+              <verstretch>0</verstretch>
+             </sizepolicy>
+            </property>
+            <property name="layoutDirection" >
+             <enum>Qt::LeftToRight</enum>
+            </property>
+            <property name="text" >
+             <string/>
+            </property>
+            <property name="NotInUse" stdset="0" >
+             <bool>true</bool>
+            </property>
+           </widget>
+          </item>
+          <item row="3" column="0" >
            <widget class="QLabel" name="label_39" >
             <property name="text" >
              <string>Highlight:</string>
             </property>
            </widget>
           </item>
-          <item row="1" column="1" >
+          <item row="3" column="1" >
            <widget class="ColorButton" name="highlightActivityFG" >
             <property name="text" >
              <string/>
             </property>
            </widget>
           </item>
-          <item row="1" column="2" >
+          <item row="3" column="2" >
            <widget class="ColorButton" name="highlightActivityBG" >
             <property name="enabled" >
              <bool>false</bool>
             </property>
            </widget>
           </item>
-          <item row="1" column="3" >
+          <item row="3" column="3" >
            <widget class="QCheckBox" name="highlightActivityUseBG" >
             <property name="sizePolicy" >
              <sizepolicy vsizetype="Fixed" hsizetype="Maximum" >
             </property>
            </widget>
           </item>
-          <item row="2" column="0" >
+          <item row="4" column="0" >
            <widget class="QLabel" name="label_40" >
             <property name="text" >
              <string>New Message:</string>
             </property>
            </widget>
           </item>
-          <item row="2" column="1" >
+          <item row="4" column="1" >
            <widget class="ColorButton" name="newMessageActivityFG" >
             <property name="text" >
              <string/>
             </property>
            </widget>
           </item>
-          <item row="2" column="2" >
+          <item row="4" column="2" >
            <widget class="ColorButton" name="newMessageActivityBG" >
             <property name="enabled" >
              <bool>false</bool>
             </property>
            </widget>
           </item>
-          <item row="2" column="3" >
+          <item row="4" column="3" >
            <widget class="QCheckBox" name="newMessageActivityUseBG" >
             <property name="sizePolicy" >
              <sizepolicy vsizetype="Fixed" hsizetype="Maximum" >
             </property>
            </widget>
           </item>
-          <item row="3" column="0" >
+          <item row="5" column="0" >
            <widget class="QLabel" name="label_41" >
             <property name="text" >
              <string>Other Activity:</string>
             </property>
            </widget>
           </item>
-          <item row="3" column="1" >
+          <item row="5" column="1" >
            <widget class="ColorButton" name="otherActivityFG" >
             <property name="text" >
              <string/>
             </property>
            </widget>
           </item>
-          <item row="3" column="2" >
+          <item row="5" column="2" >
            <widget class="ColorButton" name="otherActivityBG" >
             <property name="enabled" >
              <bool>false</bool>
             </property>
            </widget>
           </item>
-          <item row="3" column="3" >
+          <item row="5" column="3" >
            <widget class="QCheckBox" name="otherActivityUseBG" >
             <property name="sizePolicy" >
              <sizepolicy vsizetype="Fixed" hsizetype="Maximum" >
             </property>
            </widget>
           </item>
-          <item row="4" column="0" >
+          <item row="6" column="0" >
            <spacer>
             <property name="orientation" >
              <enum>Qt::Vertical</enum>
       </layout>
      </widget>
      <widget class="QWidget" name="chatview" >
-      <property name="geometry" >
-       <rect>
-        <x>0</x>
-        <y>0</y>
-        <width>487</width>
-        <height>389</height>
-       </rect>
-      </property>
       <attribute name="title" >
        <string>Chatview</string>
       </attribute>
           <number>0</number>
          </property>
          <widget class="QWidget" name="tab" >
-          <property name="geometry" >
-           <rect>
-            <x>0</x>
-            <y>0</y>
-            <width>441</width>
-            <height>294</height>
-           </rect>
-          </property>
           <attribute name="title" >
            <string>Server Activity</string>
           </attribute>
             </spacer>
            </item>
           </layout>
+          <zorder>label_44</zorder>
+          <zorder>label_45</zorder>
+          <zorder>label_7</zorder>
+          <zorder>label_20</zorder>
+          <zorder>errorMessageFG</zorder>
+          <zorder>errorMessageBG</zorder>
+          <zorder>errorMessageUseBG</zorder>
+          <zorder>label_18</zorder>
+          <zorder>noticeMessageFG</zorder>
+          <zorder>noticeMessageBG</zorder>
+          <zorder>noticeMessageUseBG</zorder>
+          <zorder>label_17</zorder>
+          <zorder>plainMessageFG</zorder>
+          <zorder>plainMessageBG</zorder>
+          <zorder>plainMessageUseBG</zorder>
+          <zorder>label_19</zorder>
+          <zorder>serverMessageFG</zorder>
+          <zorder>serverMessageBG</zorder>
+          <zorder>serverMessageUseBG</zorder>
+          <zorder>label_10</zorder>
+          <zorder>highlightColor</zorder>
+          <zorder>groupBox_5</zorder>
          </widget>
          <widget class="QWidget" name="tab_2" >
-          <property name="geometry" >
-           <rect>
-            <x>0</x>
-            <y>0</y>
-            <width>441</width>
-            <height>294</height>
-           </rect>
-          </property>
           <attribute name="title" >
            <string>User Activity</string>
           </attribute>
           </layout>
          </widget>
          <widget class="QWidget" name="Seite_2" >
-          <property name="geometry" >
-           <rect>
-            <x>0</x>
-            <y>0</y>
-            <width>441</width>
-            <height>294</height>
-           </rect>
-          </property>
           <attribute name="title" >
            <string>Message</string>
           </attribute>
          </widget>
         </widget>
        </item>
+       <item>
+        <spacer name="verticalSpacer" >
+         <property name="orientation" >
+          <enum>Qt::Vertical</enum>
+         </property>
+         <property name="sizeHint" stdset="0" >
+          <size>
+           <width>20</width>
+           <height>40</height>
+          </size>
+         </property>
+        </spacer>
+       </item>
       </layout>
      </widget>
      <widget class="QWidget" name="Mirc" >
-      <property name="geometry" >
-       <rect>
-        <x>0</x>
-        <y>0</y>
-        <width>487</width>
-        <height>389</height>
-       </rect>
-      </property>
       <attribute name="title" >
        <string>Mirc Color Codes</string>
       </attribute>
        </item>
       </layout>
      </widget>
+     <widget class="QWidget" name="nickview" >
+      <attribute name="title" >
+       <string>Nickview</string>
+      </attribute>
+      <layout class="QGridLayout" >
+       <item row="0" column="0" colspan="2" >
+        <widget class="QGroupBox" name="groupBox_8" >
+         <property name="title" >
+          <string>Nick status:</string>
+         </property>
+         <layout class="QGridLayout" >
+          <item row="0" column="1" >
+           <widget class="QLabel" name="label_4" >
+            <property name="text" >
+             <string>FG</string>
+            </property>
+            <property name="alignment" >
+             <set>Qt::AlignCenter</set>
+            </property>
+           </widget>
+          </item>
+          <item row="0" column="2" >
+           <widget class="QLabel" name="label_5" >
+            <property name="text" >
+             <string>BG</string>
+            </property>
+            <property name="alignment" >
+             <set>Qt::AlignCenter</set>
+            </property>
+            <property name="NotInUse" stdset="0" >
+             <bool>true</bool>
+            </property>
+           </widget>
+          </item>
+          <item row="0" column="3" >
+           <widget class="QLabel" name="label_6" >
+            <property name="text" >
+             <string>Use BG</string>
+            </property>
+            <property name="alignment" >
+             <set>Qt::AlignCenter</set>
+            </property>
+            <property name="NotInUse" stdset="0" >
+             <bool>true</bool>
+            </property>
+           </widget>
+          </item>
+          <item row="1" column="0" >
+           <widget class="QLabel" name="label_62" >
+            <property name="text" >
+             <string>Online:</string>
+            </property>
+           </widget>
+          </item>
+          <item row="1" column="1" >
+           <widget class="ColorButton" name="onlineStatusFG" >
+            <property name="text" >
+             <string/>
+            </property>
+           </widget>
+          </item>
+          <item row="1" column="2" >
+           <widget class="ColorButton" name="onlineStatusBG" >
+            <property name="enabled" >
+             <bool>false</bool>
+            </property>
+            <property name="text" >
+             <string/>
+            </property>
+            <property name="NotInUse" stdset="0" >
+             <bool>true</bool>
+            </property>
+           </widget>
+          </item>
+          <item row="1" column="3" >
+           <widget class="QCheckBox" name="onlineStatusUseBG" >
+            <property name="sizePolicy" >
+             <sizepolicy vsizetype="Fixed" hsizetype="Maximum" >
+              <horstretch>0</horstretch>
+              <verstretch>0</verstretch>
+             </sizepolicy>
+            </property>
+            <property name="layoutDirection" >
+             <enum>Qt::LeftToRight</enum>
+            </property>
+            <property name="text" >
+             <string/>
+            </property>
+            <property name="NotInUse" stdset="0" >
+             <bool>true</bool>
+            </property>
+           </widget>
+          </item>
+          <item row="2" column="0" >
+           <widget class="QLabel" name="label_63" >
+            <property name="text" >
+             <string>Away:</string>
+            </property>
+           </widget>
+          </item>
+          <item row="2" column="1" >
+           <widget class="ColorButton" name="awayStatusFG" >
+            <property name="text" >
+             <string/>
+            </property>
+           </widget>
+          </item>
+          <item row="2" column="2" >
+           <widget class="ColorButton" name="awayStatusBG" >
+            <property name="enabled" >
+             <bool>false</bool>
+            </property>
+            <property name="text" >
+             <string/>
+            </property>
+            <property name="NotInUse" stdset="0" >
+             <bool>true</bool>
+            </property>
+           </widget>
+          </item>
+          <item row="2" column="3" >
+           <widget class="QCheckBox" name="awayStatusUseBG" >
+            <property name="sizePolicy" >
+             <sizepolicy vsizetype="Fixed" hsizetype="Maximum" >
+              <horstretch>0</horstretch>
+              <verstretch>0</verstretch>
+             </sizepolicy>
+            </property>
+            <property name="text" >
+             <string/>
+            </property>
+            <property name="NotInUse" stdset="0" >
+             <bool>true</bool>
+            </property>
+           </widget>
+          </item>
+          <item row="3" column="0" >
+           <spacer>
+            <property name="orientation" >
+             <enum>Qt::Vertical</enum>
+            </property>
+            <property name="sizeHint" stdset="0" >
+             <size>
+              <width>20</width>
+              <height>40</height>
+             </size>
+            </property>
+           </spacer>
+          </item>
+         </layout>
+        </widget>
+       </item>
+       <item row="1" column="0" colspan="2" >
+        <spacer>
+         <property name="orientation" >
+          <enum>Qt::Vertical</enum>
+         </property>
+         <property name="sizeHint" stdset="0" >
+          <size>
+           <width>261</width>
+           <height>151</height>
+          </size>
+         </property>
+        </spacer>
+       </item>
+      </layout>
+     </widget>
     </widget>
    </item>
   </layout>
  </customwidgets>
  <resources/>
  <connections>
+  <connection>
+   <sender>inactiveActivityUseBG</sender>
+   <signal>clicked(bool)</signal>
+   <receiver>inactiveActivityBG</receiver>
+   <slot>setEnabled(bool)</slot>
+   <hints>
+    <hint type="sourcelabel" >
+     <x>249</x>
+     <y>111</y>
+    </hint>
+    <hint type="destinationlabel" >
+     <x>197</x>
+     <y>111</y>
+    </hint>
+   </hints>
+  </connection>
+  <connection>
+   <sender>noActivityUseBG</sender>
+   <signal>clicked(bool)</signal>
+   <receiver>noActivityBG</receiver>
+   <slot>setEnabled(bool)</slot>
+   <hints>
+    <hint type="sourcelabel" >
+     <x>249</x>
+     <y>147</y>
+    </hint>
+    <hint type="destinationlabel" >
+     <x>197</x>
+     <y>147</y>
+    </hint>
+   </hints>
+  </connection>
   <connection>
    <sender>highlightActivityUseBG</sender>
    <signal>clicked(bool)</signal>
     </hint>
    </hints>
   </connection>
+  <connection>
+   <sender>onlineStatusUseBG</sender>
+   <signal>clicked(bool)</signal>
+   <receiver>onlineStatusBG</receiver>
+   <slot>setEnabled(bool)</slot>
+   <hints>
+    <hint type="sourcelabel" >
+     <x>202</x>
+     <y>111</y>
+    </hint>
+    <hint type="destinationlabel" >
+     <x>150</x>
+     <y>111</y>
+    </hint>
+   </hints>
+  </connection>
+  <connection>
+   <sender>awayStatusUseBG</sender>
+   <signal>clicked(bool)</signal>
+   <receiver>awayStatusBG</receiver>
+   <slot>setEnabled(bool)</slot>
+   <hints>
+    <hint type="sourcelabel" >
+     <x>202</x>
+     <y>147</y>
+    </hint>
+    <hint type="destinationlabel" >
+     <x>150</x>
+     <y>147</y>
+    </hint>
+   </hints>
+  </connection>
   <connection>
    <sender>errorMessageUseBG</sender>
    <signal>clicked(bool)</signal>
index 38dc02d..0d7be09 100644 (file)
@@ -56,8 +56,8 @@ BufferView::BufferView(QWidget *parent)
   setSelectionMode(QAbstractItemView::ExtendedSelection);
 
   QAbstractItemDelegate *oldDelegate = itemDelegate();
-  BufferViewDelegate *newDelegate = new BufferViewDelegate(this);
-  setItemDelegate(newDelegate);
+  BufferViewDelegate *tristateDelegate = new BufferViewDelegate(this);
+  setItemDelegate(tristateDelegate);
   delete oldDelegate;
 }
 
@@ -468,6 +468,8 @@ BufferViewDelegate::BufferViewDelegate(QObject *parent)
   : QStyledItemDelegate(parent)
 {
   UiSettings s("QtUiStyle/Colors");
+  _FgColorInactiveActivity = s.value("inactiveActivityFG", QVariant(QColor(Qt::gray))).value<QColor>();
+  _FgColorNoActivity = s.value("noActivityFG", QVariant(QColor(Qt::black))).value<QColor>();
   _FgColorHighlightActivity = s.value("highlightActivityFG", QVariant(QColor(Qt::magenta))).value<QColor>();
   _FgColorNewMessageActivity = s.value("newMessageActivityFG", QVariant(QColor(Qt::green))).value<QColor>();
   _FgColorOtherActivity = s.value("otherActivityFG", QVariant(QColor(Qt::darkGreen))).value<QColor>();
@@ -509,22 +511,18 @@ void BufferViewDelegate::initStyleOption(QStyleOptionViewItem *option, const QMo
 
   BufferInfo::ActivityLevel activity = (BufferInfo::ActivityLevel)index.data(NetworkModel::BufferActivityRole).toInt();
 
+  QColor fgColor = _FgColorNoActivity;
   if(activity & BufferInfo::Highlight) {
-    option->palette.setColor(QPalette::Text, _FgColorHighlightActivity);
-    return;
-  }
-  if(activity & BufferInfo::NewMessage) {
-    option->palette.setColor(QPalette::Text, _FgColorNewMessageActivity);
-    return;
-  }
-  if(activity & BufferInfo::OtherActivity) {
-    option->palette.setColor(QPalette::Text, _FgColorOtherActivity);
-    return;
+    fgColor = _FgColorHighlightActivity;
+  } else if(activity & BufferInfo::NewMessage) {
+    fgColor = _FgColorNewMessageActivity;
+  } else if(activity & BufferInfo::OtherActivity) {
+    fgColor = _FgColorOtherActivity;
+  } else if(!index.data(NetworkModel::ItemActiveRole).toBool() || index.data(NetworkModel::UserAwayRole).toBool()) {
+    fgColor = _FgColorInactiveActivity;
   }
 
-  if(!index.data(NetworkModel::ItemActiveRole).toBool() || index.data(NetworkModel::UserAwayRole).toBool()) {
-    option->palette.setColor(QPalette::Text, option->palette.color(QPalette::Dark));
-  }
+  option->palette.setColor(QPalette::Text, fgColor);
 }
 
 
index c9af5b7..72fdc96 100644 (file)
@@ -108,6 +108,8 @@ protected:
   virtual void initStyleOption(QStyleOptionViewItem *option, const QModelIndex &index) const;
 
 private:
+  QColor _FgColorInactiveActivity;
+  QColor _FgColorNoActivity;
   QColor _FgColorHighlightActivity;
   QColor _FgColorNewMessageActivity;
   QColor _FgColorOtherActivity;
index dd7d1af..fd86abd 100644 (file)
@@ -31,6 +31,7 @@
 #include "networkmodel.h"
 #include "quasselui.h"
 #include "types.h"
+#include "uisettings.h"
 
 class ExpandAllEvent : public QEvent {
 public:
@@ -158,11 +159,17 @@ void NickView::customEvent(QEvent *event) {
 NickViewDelegate::NickViewDelegate(QObject *parent)
   : QStyledItemDelegate(parent)
 {
+  UiSettings s("QtUiStyle/Colors");
+  _FgOnlineStatus = s.value("onlineStatusFG", QVariant(QColor(Qt::black))).value<QColor>();
+  _FgAwayStatus = s.value("awayStatusFG", QVariant(QColor(Qt::gray))).value<QColor>();
 }
 
 void NickViewDelegate::initStyleOption(QStyleOptionViewItem *option, const QModelIndex &index) const {
   QStyledItemDelegate::initStyleOption(option, index);
 
+  QColor fgColor = _FgOnlineStatus;
   if(!index.data(NetworkModel::ItemActiveRole).toBool())
-    option->palette.setColor(QPalette::Text, option->palette.color(QPalette::Dark));
+    fgColor = _FgAwayStatus;
+
+  option->palette.setColor(QPalette::Text, fgColor);
 }
index a40b6d7..09751a7 100644 (file)
@@ -61,6 +61,10 @@ public:
 
 protected:
   virtual void initStyleOption(QStyleOptionViewItem *option, const QModelIndex &index) const;
+
+private:
+  QColor _FgOnlineStatus;
+  QColor _FgAwayStatus;
 };
 
 #endif