Brining back the removed color options
[quassel.git] / src / qtui / settingspages / colorsettingspage.cpp
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())