changes in the color settingspage towards enabling the background color
authorAlexander von Renteln <phon@quassel-irc.org>
Thu, 21 Feb 2008 18:19:01 +0000 (18:19 +0000)
committerAlexander von Renteln <phon@quassel-irc.org>
Thu, 21 Feb 2008 18:19:01 +0000 (18:19 +0000)
allowing the user to change the colors in the nickniew
colorbutton now uses a dense pattern when being disabled

src/qtui/settingspages/colorsettingspage.cpp
src/qtui/settingspages/colorsettingspage.h
src/qtui/settingspages/colorsettingspage.ui
src/uisupport/bufferviewfilter.cpp
src/uisupport/colorbutton.cpp
src/uisupport/nickviewfilter.cpp
version.inc

index c17346c..b1e88f7 100644 (file)
 #include <QColorDialog>
 #include <QPainter>
 
 #include <QColorDialog>
 #include <QPainter>
 
+// #define PHONDEV
+
 ColorSettingsPage::ColorSettingsPage(QWidget *parent)
   : SettingsPage(tr("Appearance"), tr("Color settings"), parent) {
   ui.setupUi(this);
 
   mapper = new QSignalMapper(this);
   //Bufferview tab:
 ColorSettingsPage::ColorSettingsPage(QWidget *parent)
   : SettingsPage(tr("Appearance"), tr("Color settings"), parent) {
   ui.setupUi(this);
 
   mapper = new QSignalMapper(this);
   //Bufferview tab:
-  connect(ui.inactiveActivity, SIGNAL(clicked()), mapper, SLOT(map()));
-  connect(ui.noActivity, SIGNAL(clicked()), mapper, SLOT(map()));
-  connect(ui.highlightActivity, SIGNAL(clicked()), mapper, SLOT(map()));
-  connect(ui.newMessageActivity, SIGNAL(clicked()), mapper, SLOT(map()));
-  connect(ui.otherActivity, SIGNAL(clicked()), mapper, SLOT(map()));
-
-  mapper->setMapping(ui.inactiveActivity, ui.inactiveActivity);
-  mapper->setMapping(ui.noActivity, ui.noActivity);
-  mapper->setMapping(ui.highlightActivity, ui.highlightActivity);
-  mapper->setMapping(ui.newMessageActivity, ui.newMessageActivity);
-  mapper->setMapping(ui.otherActivity, ui.otherActivity);
+  connect(ui.inactiveActivityFG, SIGNAL(clicked()), mapper, SLOT(map()));
+  connect(ui.inactiveActivityBG, SIGNAL(clicked()), mapper, SLOT(map()));
+  connect(ui.inactiveActivityUseBG, SIGNAL(clicked()), this, SLOT(widgetHasChanged()));
+  connect(ui.noActivityFG, SIGNAL(clicked()), mapper, SLOT(map()));
+  connect(ui.noActivityBG, SIGNAL(clicked()), mapper, SLOT(map()));
+  connect(ui.noActivityUseBG, SIGNAL(clicked()), this, SLOT(widgetHasChanged()));
+  connect(ui.highlightActivityFG, SIGNAL(clicked()), mapper, SLOT(map()));
+  connect(ui.highlightActivityBG, SIGNAL(clicked()), mapper, SLOT(map()));
+  connect(ui.highlightActivityUseBG, SIGNAL(clicked()), this, SLOT(widgetHasChanged()));
+  connect(ui.newMessageActivityFG, SIGNAL(clicked()), mapper, SLOT(map()));
+  connect(ui.newMessageActivityBG, SIGNAL(clicked()), mapper, SLOT(map()));
+  connect(ui.newMessageActivityUseBG, SIGNAL(clicked()), this, SLOT(widgetHasChanged()));
+  connect(ui.otherActivityFG, SIGNAL(clicked()), mapper, SLOT(map()));
+  connect(ui.otherActivityBG, SIGNAL(clicked()), mapper, SLOT(map()));
+  connect(ui.otherActivityUseBG, SIGNAL(clicked()), this, SLOT(widgetHasChanged()));
+
+  mapper->setMapping(ui.inactiveActivityFG, ui.inactiveActivityFG);
+  mapper->setMapping(ui.inactiveActivityBG, ui.inactiveActivityBG);
+  mapper->setMapping(ui.highlightActivityFG, ui.highlightActivityFG);
+  mapper->setMapping(ui.highlightActivityBG, ui.highlightActivityBG);
+  mapper->setMapping(ui.newMessageActivityFG, ui.newMessageActivityFG);
+  mapper->setMapping(ui.newMessageActivityBG, ui.newMessageActivityBG);
+  mapper->setMapping(ui.noActivityFG, ui.noActivityFG);
+  mapper->setMapping(ui.noActivityBG, ui.noActivityBG);
+  mapper->setMapping(ui.otherActivityFG, ui.otherActivityFG);
+  mapper->setMapping(ui.otherActivityBG, ui.otherActivityBG);
+
 
   //Chatview tab:
   connect(ui.errorMessageFG, SIGNAL(clicked()), mapper, SLOT(map()));
 
   //Chatview tab:
   connect(ui.errorMessageFG, SIGNAL(clicked()), mapper, SLOT(map()));
@@ -158,33 +176,57 @@ ColorSettingsPage::ColorSettingsPage(QWidget *parent)
   mapper->setMapping(ui.color14, ui.color14);
   mapper->setMapping(ui.color15, ui.color15);
 
   mapper->setMapping(ui.color14, ui.color14);
   mapper->setMapping(ui.color15, ui.color15);
 
+  //NickView tab:
+  connect(ui.onlineStatusFG, SIGNAL(clicked()), mapper, SLOT(map()));
+  connect(ui.onlineStatusBG, SIGNAL(clicked()), mapper, SLOT(map()));
+  connect(ui.onlineStatusBG, SIGNAL(clicked()), this, SLOT(widgetHasChanged()));
+  connect(ui.awayStatusFG, SIGNAL(clicked()), mapper, SLOT(map()));
+  connect(ui.awayStatusBG, SIGNAL(clicked()), mapper, SLOT(map()));
+  connect(ui.awayStatusBG, SIGNAL(clicked()), this, SLOT(widgetHasChanged()));
+
+  mapper->setMapping(ui.onlineStatusFG, ui.onlineStatusFG);
+  mapper->setMapping(ui.onlineStatusBG, ui.onlineStatusBG);
+  mapper->setMapping(ui.awayStatusFG, ui.awayStatusFG);
+  mapper->setMapping(ui.awayStatusBG, ui.awayStatusBG);
+
   connect(mapper, SIGNAL(mapped(QWidget *)), this, SLOT(chooseColor(QWidget *)));
 
   //disable unused buttons:
   connect(mapper, SIGNAL(mapped(QWidget *)), this, SLOT(chooseColor(QWidget *)));
 
   //disable unused buttons:
-  ui.errorMessageBG->setEnabled(false);
-  ui.noticeMessageBG->setEnabled(false);
-  ui.plainMessageBG->setEnabled(false);
-  ui.serverMessageBG->setEnabled(false);
-  ui.actionMessageBG->setEnabled(false);
-  ui.joinMessageBG->setEnabled(false);
-  ui.kickMessageBG->setEnabled(false);
-  ui.modeMessageBG->setEnabled(false);
-  ui.partMessageBG->setEnabled(false);
-  ui.quitMessageBG->setEnabled(false);
-  ui.renameMessageBG->setEnabled(false);
-
-  ui.timestampBG->setEnabled(false);
-  ui.senderBG->setEnabled(false);
+#ifndef PHONDEV
+  ui.inactiveActivityUseBG->setEnabled(false);
+  ui.noActivityUseBG->setEnabled(false);
+  ui.highlightActivityUseBG->setEnabled(false);
+  ui.newMessageActivityUseBG->setEnabled(false);
+  ui.otherActivityUseBG->setEnabled(false);
+
+  ui.errorMessageUseBG->setEnabled(false);
+  ui.noticeMessageUseBG->setEnabled(false);
+  ui.plainMessageUseBG->setEnabled(false);
+  ui.serverMessageUseBG->setEnabled(false);
+  ui.actionMessageUseBG->setEnabled(false);
+  ui.joinMessageUseBG->setEnabled(false);
+  ui.kickMessageUseBG->setEnabled(false);
+  ui.modeMessageUseBG->setEnabled(false);
+  ui.partMessageUseBG->setEnabled(false);
+  ui.quitMessageUseBG->setEnabled(false);
+  ui.renameMessageUseBG->setEnabled(false);
+
+  ui.timestampUseBG->setEnabled(false);
+  ui.senderUseBG->setEnabled(false);
   ui.nickFG->setEnabled(false);
   ui.nickFG->setEnabled(false);
-  ui.nickBG->setEnabled(false);
+  ui.nickUseBG->setEnabled(false);
   ui.hostmaskFG->setEnabled(false);
   ui.hostmaskFG->setEnabled(false);
-  ui.hostmaskBG->setEnabled(false);
+  ui.hostmaskUseBG->setEnabled(false);
   ui.channelnameFG->setEnabled(false);
   ui.channelnameFG->setEnabled(false);
-  ui.channelnameBG->setEnabled(false);
+  ui.channelnameUseBG->setEnabled(false);
   ui.modeFlagsFG->setEnabled(false);
   ui.modeFlagsFG->setEnabled(false);
-  ui.modeFlagsBG->setEnabled(false);
+  ui.modeFlagsUseBG->setEnabled(false);
   ui.urlFG->setEnabled(false);
   ui.urlFG->setEnabled(false);
-  ui.urlBG->setEnabled(false);
+  ui.urlUseBG->setEnabled(false);
+
+  ui.onlineStatusUseBG->setEnabled(false);
+  ui.awayStatusUseBG->setEnabled(false);
+#endif
 }
 
 bool ColorSettingsPage::hasDefaults() const {
 }
 
 bool ColorSettingsPage::hasDefaults() const {
@@ -197,14 +239,30 @@ void ColorSettingsPage::defaults() {
   defaultUserActivity();
   defaultMessage();
   defaultMircColorCodes();
   defaultUserActivity();
   defaultMessage();
   defaultMircColorCodes();
+  defaultNickview();
 }
 
 void ColorSettingsPage::defaultBufferview() {
 }
 
 void ColorSettingsPage::defaultBufferview() {
-  ui.inactiveActivity->setColor(QColor(Qt::gray));
-  ui.noActivity->setColor(QColor(Qt::black));
-  ui.highlightActivity->setColor(QColor(Qt::magenta));
-  ui.newMessageActivity->setColor(QColor(Qt::green));
-  ui.otherActivity->setColor(QColor(Qt::darkGreen));
+  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);
+  ui.highlightActivityUseBG->setChecked(false);
+  ui.newMessageActivityFG->setColor(QColor(Qt::green));
+  ui.newMessageActivityBG->setColor(QColor(Qt::white));
+  ui.newMessageActivityBG->setEnabled(false);
+  ui.newMessageActivityUseBG->setChecked(false);
+  ui.otherActivityFG->setColor(QColor(Qt::darkGreen));
+  ui.otherActivityBG->setColor(QColor(Qt::white));
+  ui.otherActivityBG->setEnabled(false);
+  ui.otherActivityUseBG->setChecked(false);
 
   widgetHasChanged();
   bufferviewPreview();
 
   widgetHasChanged();
   bufferviewPreview();
@@ -213,12 +271,20 @@ void ColorSettingsPage::defaultBufferview() {
 void ColorSettingsPage::defaultServerActivity() {
   ui.errorMessageFG->setColor(QtUi::style()->format(UiStyle::ErrorMsg, Settings::Default).foreground().color());
   ui.errorMessageBG->setColor(QColor("white"));
 void ColorSettingsPage::defaultServerActivity() {
   ui.errorMessageFG->setColor(QtUi::style()->format(UiStyle::ErrorMsg, Settings::Default).foreground().color());
   ui.errorMessageBG->setColor(QColor("white"));
+  ui.errorMessageBG->setEnabled(false);
+  ui.errorMessageUseBG->setChecked(false);
   ui.noticeMessageFG->setColor(QtUi::style()->format(UiStyle::NoticeMsg, Settings::Default).foreground().color());
   ui.noticeMessageBG->setColor(QColor("white"));
   ui.noticeMessageFG->setColor(QtUi::style()->format(UiStyle::NoticeMsg, Settings::Default).foreground().color());
   ui.noticeMessageBG->setColor(QColor("white"));
+  ui.noticeMessageBG->setEnabled(false);
+  ui.noticeMessageUseBG->setChecked(false);
   ui.plainMessageFG->setColor(QtUi::style()->format(UiStyle::PlainMsg, Settings::Default).foreground().color());
   ui.plainMessageBG->setColor(QColor("white"));
   ui.plainMessageFG->setColor(QtUi::style()->format(UiStyle::PlainMsg, Settings::Default).foreground().color());
   ui.plainMessageBG->setColor(QColor("white"));
+  ui.plainMessageBG->setEnabled(false);
+  ui.plainMessageUseBG->setChecked(false);
   ui.serverMessageFG->setColor(QtUi::style()->format(UiStyle::ServerMsg, Settings::Default).foreground().color());
   ui.serverMessageBG->setColor(QColor("white"));
   ui.serverMessageFG->setColor(QtUi::style()->format(UiStyle::ServerMsg, Settings::Default).foreground().color());
   ui.serverMessageBG->setColor(QColor("white"));
+  ui.serverMessageBG->setEnabled(false);
+  ui.serverMessageUseBG->setChecked(false);
 
   widgetHasChanged();
   chatviewPreview();
 
   widgetHasChanged();
   chatviewPreview();
@@ -227,18 +293,32 @@ void ColorSettingsPage::defaultServerActivity() {
 void ColorSettingsPage::defaultUserActivity() {
   ui.actionMessageFG->setColor(QtUi::style()->format(UiStyle::ActionMsg, Settings::Default).foreground().color());
   ui.actionMessageBG->setColor(QColor("white"));
 void ColorSettingsPage::defaultUserActivity() {
   ui.actionMessageFG->setColor(QtUi::style()->format(UiStyle::ActionMsg, Settings::Default).foreground().color());
   ui.actionMessageBG->setColor(QColor("white"));
+  ui.actionMessageBG->setEnabled(false);
+  ui.actionMessageUseBG->setChecked(false);
   ui.joinMessageFG->setColor(QtUi::style()->format(UiStyle::JoinMsg, Settings::Default).foreground().color());
   ui.joinMessageBG->setColor(QColor("white"));
   ui.joinMessageFG->setColor(QtUi::style()->format(UiStyle::JoinMsg, Settings::Default).foreground().color());
   ui.joinMessageBG->setColor(QColor("white"));
+  ui.joinMessageBG->setEnabled(false);
+  ui.joinMessageUseBG->setChecked(false);
   ui.kickMessageFG->setColor(QtUi::style()->format(UiStyle::KickMsg, Settings::Default).foreground().color());
   ui.kickMessageBG->setColor(QColor("white"));
   ui.kickMessageFG->setColor(QtUi::style()->format(UiStyle::KickMsg, Settings::Default).foreground().color());
   ui.kickMessageBG->setColor(QColor("white"));
+  ui.kickMessageBG->setEnabled(false);
+  ui.kickMessageUseBG->setChecked(false);
   ui.modeMessageFG->setColor(QtUi::style()->format(UiStyle::ModeMsg, Settings::Default).foreground().color());
   ui.modeMessageBG->setColor(QColor("white"));
   ui.modeMessageFG->setColor(QtUi::style()->format(UiStyle::ModeMsg, Settings::Default).foreground().color());
   ui.modeMessageBG->setColor(QColor("white"));
+  ui.modeMessageBG->setEnabled(false);
+  ui.modeMessageUseBG->setChecked(false);
   ui.partMessageFG->setColor(QtUi::style()->format(UiStyle::PartMsg, Settings::Default).foreground().color());
   ui.partMessageBG->setColor(QColor("white"));
   ui.partMessageFG->setColor(QtUi::style()->format(UiStyle::PartMsg, Settings::Default).foreground().color());
   ui.partMessageBG->setColor(QColor("white"));
+  ui.partMessageBG->setEnabled(false);
+  ui.partMessageUseBG->setChecked(false);
   ui.quitMessageFG->setColor(QtUi::style()->format(UiStyle::QuitMsg, Settings::Default).foreground().color());
   ui.quitMessageBG->setColor(QColor("white"));
   ui.quitMessageFG->setColor(QtUi::style()->format(UiStyle::QuitMsg, Settings::Default).foreground().color());
   ui.quitMessageBG->setColor(QColor("white"));
+  ui.quitMessageBG->setEnabled(false);
+  ui.quitMessageUseBG->setChecked(false);
   ui.renameMessageFG->setColor(QtUi::style()->format(UiStyle::RenameMsg, Settings::Default).foreground().color());
   ui.renameMessageBG->setColor(QColor("white"));
   ui.renameMessageFG->setColor(QtUi::style()->format(UiStyle::RenameMsg, Settings::Default).foreground().color());
   ui.renameMessageBG->setColor(QColor("white"));
+  ui.renameMessageBG->setEnabled(false);
+  ui.renameMessageUseBG->setChecked(false);
 
   widgetHasChanged();
   chatviewPreview();
 
   widgetHasChanged();
   chatviewPreview();
@@ -246,20 +326,33 @@ void ColorSettingsPage::defaultUserActivity() {
 
 void ColorSettingsPage::defaultMessage() {
   ui.timestampFG->setColor(QtUi::style()->format(UiStyle::Timestamp, Settings::Default).foreground().color());
 
 void ColorSettingsPage::defaultMessage() {
   ui.timestampFG->setColor(QtUi::style()->format(UiStyle::Timestamp, Settings::Default).foreground().color());
-  ui.senderFG->setColor(QtUi::style()->format(UiStyle::Sender, Settings::Default).foreground().color());
-
   ui.timestampBG->setColor(QColor("white"));
   ui.timestampBG->setColor(QColor("white"));
+  ui.timestampBG->setEnabled(false);
+  ui.timestampUseBG->setChecked(false);
+  ui.senderFG->setColor(QtUi::style()->format(UiStyle::Sender, Settings::Default).foreground().color());
   ui.senderBG->setColor(QColor("white"));
   ui.senderBG->setColor(QColor("white"));
+  ui.senderBG->setEnabled(false);
+  ui.senderUseBG->setChecked(false);
   ui.nickFG->setColor(QColor("black"));
   ui.nickBG->setColor(QColor("white"));
   ui.nickFG->setColor(QColor("black"));
   ui.nickBG->setColor(QColor("white"));
+  ui.nickBG->setEnabled(false);
+  ui.nickUseBG->setChecked(false);
   ui.hostmaskFG->setColor(QColor("black"));
   ui.hostmaskBG->setColor(QColor("white"));
   ui.hostmaskFG->setColor(QColor("black"));
   ui.hostmaskBG->setColor(QColor("white"));
+  ui.hostmaskBG->setEnabled(false);
+  ui.hostmaskUseBG->setChecked(false);
   ui.channelnameFG->setColor(QColor("black"));
   ui.channelnameBG->setColor(QColor("white"));
   ui.channelnameFG->setColor(QColor("black"));
   ui.channelnameBG->setColor(QColor("white"));
+  ui.channelnameBG->setEnabled(false);
+  ui.channelnameUseBG->setChecked(false);
   ui.modeFlagsFG->setColor(QColor("black"));
   ui.modeFlagsBG->setColor(QColor("white"));
   ui.modeFlagsFG->setColor(QColor("black"));
   ui.modeFlagsBG->setColor(QColor("white"));
+  ui.modeFlagsBG->setEnabled(false);
+  ui.modeFlagsUseBG->setChecked(false);
   ui.urlFG->setColor(QColor("black"));
   ui.urlBG->setColor(QColor("white"));
   ui.urlFG->setColor(QColor("black"));
   ui.urlBG->setColor(QColor("white"));
+  ui.urlBG->setEnabled(false);
+  ui.urlUseBG->setChecked(false);
 
   widgetHasChanged();
   chatviewPreview();
 
   widgetHasChanged();
   chatviewPreview();
@@ -286,18 +379,55 @@ void ColorSettingsPage::defaultMircColorCodes() {
   widgetHasChanged();
 }
 
   widgetHasChanged();
 }
 
+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);
+
+  widgetHasChanged();
+}
+
 void ColorSettingsPage::load() {
   QtUiSettings s("QtUi/Colors");
 void ColorSettingsPage::load() {
   QtUiSettings s("QtUi/Colors");
-  settings["InactiveActivity"] = s.value("inactiveActivity", QVariant(QColor(Qt::gray)));
-  ui.inactiveActivity->setColor(settings["InactiveActivity"].value<QColor>());
-  settings["NoActivity"] = s.value("noActivity", QVariant(QColor(Qt::black)));
-  ui.noActivity->setColor(settings["NoActivity"].value<QColor>());
-  settings["HighlightActivity"] = s.value("highlightActivity", QVariant(QColor(Qt::magenta)));
-  ui.highlightActivity->setColor(settings["HighlightActivity"].value<QColor>());
-  settings["NewMessageActivity"] = s.value("newMessageActivity", QVariant(QColor(Qt::green)));
-  ui.newMessageActivity->setColor(settings["NewMessageActivity"].value<QColor>());
-  settings["OtherActivity"] = s.value("otherActivity", QVariant(QColor(Qt::darkGreen)));
-  ui.otherActivity->setColor(settings["OtherActivity"].value<QColor>());
+  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)));
+  ui.highlightActivityBG->setColor(settings["HighlightActivityBG"].value<QColor>());
+  settings["HighlightActivityUseBG"] = s.value("highlightActivityUseBG");
+  ui.highlightActivityUseBG->setChecked(settings["HighlightActivityUseBG"].toBool());
+
+  settings["NewMessageActivityFG"] = s.value("newMessageActivityFG", QVariant(QColor(Qt::green)));
+  ui.newMessageActivityFG->setColor(settings["NewMessageActivityFG"].value<QColor>());
+  settings["NewMessageActivityBG"] = s.value("newMessageActivityBG", QVariant(QColor(Qt::white)));
+  ui.newMessageActivityBG->setColor(settings["NewMessageActivityBG"].value<QColor>());
+  settings["NewMessageActivityUseBG"] = s.value("newMessageActivityUseBG");
+  ui.newMessageActivityUseBG->setChecked(settings["NewMessageActivityUseBG"].toBool());
+
+  settings["OtherActivityFG"] = s.value("otherActivityFG", QVariant(QColor(Qt::darkGreen)));
+  ui.otherActivityFG->setColor(settings["OtherActivityFG"].value<QColor>());
+  settings["OtherActivityBG"] = s.value("otherActivityBG", QVariant(QColor(Qt::white)));
+  ui.otherActivityBG->setColor(settings["OtherActivityBG"].value<QColor>());
+  settings["OtherActivityUseBG"] = s.value("otherActivityUseBG");
+  ui.otherActivityUseBG->setChecked(settings["OtherActivityUseBG"].toBool());
 
   ui.actionMessageFG->setColor(QtUi::style()->format(UiStyle::ActionMsg).foreground().color());
   ui.errorMessageFG->setColor(QtUi::style()->format(UiStyle::ErrorMsg).foreground().color());
 
   ui.actionMessageFG->setColor(QtUi::style()->format(UiStyle::ActionMsg).foreground().color());
   ui.errorMessageFG->setColor(QtUi::style()->format(UiStyle::ErrorMsg).foreground().color());
@@ -379,6 +509,19 @@ void ColorSettingsPage::load() {
   ui.color14->setColor(QtUi::style()->format(UiStyle::FgCol14).foreground().color());
   ui.color15->setColor(QtUi::style()->format(UiStyle::FgCol15).foreground().color());
 
   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();
   setChangedState(false);
 
   bufferviewPreview();
@@ -387,50 +530,77 @@ void ColorSettingsPage::load() {
 
 void ColorSettingsPage::save() {
   QtUiSettings s("QtUi/Colors");
 
 void ColorSettingsPage::save() {
   QtUiSettings s("QtUi/Colors");
-  s.setValue("inactiveActivity", ui.inactiveActivity->color());
-  s.setValue("noActivity", ui.noActivity->color());
-  s.setValue("highlightActivity", ui.highlightActivity->color());
-  s.setValue("newMessageActivity", ui.newMessageActivity->color());
-  s.setValue("otherActivity", ui.otherActivity->color());
+  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());
+  s.setValue("newMessageActivityFG", ui.newMessageActivityFG->color());
+  s.setValue("newMessageActivityBG", ui.newMessageActivityBG->color());
+  s.setValue("newMessageActivityUseBG", ui.newMessageActivityUseBG->isChecked());
+  s.setValue("otherActivityFG", ui.otherActivityFG->color());
+  s.setValue("otherActivityBG", ui.otherActivityBG->color());
+  s.setValue("otherActivityUseBG", ui.otherActivityUseBG->isChecked());
 
   saveColor(UiStyle::ErrorMsg, ui.errorMessageFG->color());
   s.setValue("errorMessageBG", ui.errorMessageBG->color());
 
   saveColor(UiStyle::ErrorMsg, ui.errorMessageFG->color());
   s.setValue("errorMessageBG", ui.errorMessageBG->color());
+  s.setValue("errorMessageUseBG", ui.errorMessageUseBG->isChecked());
   saveColor(UiStyle::NoticeMsg, ui.noticeMessageFG->color());
   s.setValue("noticeMessageBG", ui.noticeMessageBG->color());
   saveColor(UiStyle::NoticeMsg, ui.noticeMessageFG->color());
   s.setValue("noticeMessageBG", ui.noticeMessageBG->color());
+  s.setValue("noticeMessageUseBG", ui.noticeMessageUseBG->isChecked());
   saveColor(UiStyle::PlainMsg, ui.plainMessageFG->color());
   s.setValue("plainMessageBG", ui.plainMessageBG->color());
   saveColor(UiStyle::PlainMsg, ui.plainMessageFG->color());
   s.setValue("plainMessageBG", ui.plainMessageBG->color());
+  s.setValue("plainMessageUseBG", ui.plainMessageUseBG->isChecked());
   saveColor(UiStyle::ServerMsg, ui.serverMessageFG->color());
   s.setValue("serverMessageBG", ui.serverMessageBG->color());
   saveColor(UiStyle::ServerMsg, ui.serverMessageFG->color());
   s.setValue("serverMessageBG", ui.serverMessageBG->color());
+  s.setValue("serverMessageUseBG", ui.serverMessageUseBG->isChecked());
   saveColor(UiStyle::ActionMsg, ui.actionMessageFG->color());
   s.setValue("actionMessageBG", ui.actionMessageBG->color());
   saveColor(UiStyle::ActionMsg, ui.actionMessageFG->color());
   s.setValue("actionMessageBG", ui.actionMessageBG->color());
+  s.setValue("actionMessageUseBG", ui.actionMessageUseBG->isChecked());
   saveColor(UiStyle::JoinMsg, ui.joinMessageFG->color());
   s.setValue("joinMessageBG", ui.joinMessageBG->color());
   saveColor(UiStyle::JoinMsg, ui.joinMessageFG->color());
   s.setValue("joinMessageBG", ui.joinMessageBG->color());
+  s.setValue("joinMessageUseBG", ui.joinMessageUseBG->isChecked());
   saveColor(UiStyle::KickMsg, ui.kickMessageFG->color());
   s.setValue("kickMessageBG", ui.kickMessageBG->color());
   saveColor(UiStyle::KickMsg, ui.kickMessageFG->color());
   s.setValue("kickMessageBG", ui.kickMessageBG->color());
+  s.setValue("kickMessageUseBG", ui.kickMessageUseBG->isChecked());
   saveColor(UiStyle::ModeMsg, ui.modeMessageFG->color());
   s.setValue("modeMessageBG", ui.modeMessageBG->color());
   saveColor(UiStyle::ModeMsg, ui.modeMessageFG->color());
   s.setValue("modeMessageBG", ui.modeMessageBG->color());
+  s.setValue("modeMessageUseBG", ui.modeMessageUseBG->isChecked());
   saveColor(UiStyle::PartMsg, ui.partMessageFG->color());
   s.setValue("partMessageBG", ui.partMessageBG->color());
   saveColor(UiStyle::PartMsg, ui.partMessageFG->color());
   s.setValue("partMessageBG", ui.partMessageBG->color());
+  s.setValue("partMessageUseBG", ui.partMessageUseBG->isChecked());
   saveColor(UiStyle::QuitMsg, ui.quitMessageFG->color());
   s.setValue("quitMessageBG", ui.quitMessageBG->color());
   saveColor(UiStyle::QuitMsg, ui.quitMessageFG->color());
   s.setValue("quitMessageBG", ui.quitMessageBG->color());
+  s.setValue("quitMessageUseBG", ui.quitMessageUseBG->isChecked());
   saveColor(UiStyle::RenameMsg, ui.renameMessageFG->color());
   s.setValue("renameMessageBG", ui.renameMessageBG->color());
   saveColor(UiStyle::RenameMsg, ui.renameMessageFG->color());
   s.setValue("renameMessageBG", ui.renameMessageBG->color());
+  s.setValue("renameMessageUseBG", ui.renameMessageUseBG->isChecked());
 
   saveColor(UiStyle::Timestamp, ui.timestampFG->color());
 
   saveColor(UiStyle::Timestamp, ui.timestampFG->color());
-  saveColor(UiStyle::Sender, ui.senderFG->color());
-
   s.setValue("timestampBG", ui.timestampBG->color());
   s.setValue("timestampBG", ui.timestampBG->color());
+  s.setValue("timestampUseBG", ui.timestampUseBG->isChecked());
+  saveColor(UiStyle::Sender, ui.senderFG->color());
   s.setValue("senderBG", ui.senderBG->color());
   s.setValue("senderBG", ui.senderBG->color());
+  s.setValue("senderUseBG", ui.senderUseBG->isChecked());
   s.setValue("nickFG", ui.nickFG->color());
   s.setValue("nickBG", ui.nickBG->color());
   s.setValue("nickFG", ui.nickFG->color());
   s.setValue("nickBG", ui.nickBG->color());
+  s.setValue("nickUseBG", ui.nickUseBG->isChecked());
   s.setValue("hostmaskFG", ui.hostmaskFG->color());
   s.setValue("hostmaskBG", ui.hostmaskBG->color());
   s.setValue("hostmaskFG", ui.hostmaskFG->color());
   s.setValue("hostmaskBG", ui.hostmaskBG->color());
+  s.setValue("hostmaskUseBG", ui.hostmaskUseBG->isChecked());
   s.setValue("channelnameFG", ui.channelnameFG->color());
   s.setValue("channelnameBG", ui.channelnameBG->color());
   s.setValue("channelnameFG", ui.channelnameFG->color());
   s.setValue("channelnameBG", ui.channelnameBG->color());
+  s.setValue("channelnameUseBG", ui.channelnameUseBG->isChecked());
   s.setValue("modeFlagsFG", ui.modeFlagsFG->color());
   s.setValue("modeFlagsBG", ui.modeFlagsBG->color());
   s.setValue("modeFlagsFG", ui.modeFlagsFG->color());
   s.setValue("modeFlagsBG", ui.modeFlagsBG->color());
+  s.setValue("modeFlagsUseBG", ui.modeFlagsUseBG->isChecked());
   s.setValue("urlFG", ui.urlFG->color());
   s.setValue("urlBG", ui.urlBG->color());
   s.setValue("urlFG", ui.urlFG->color());
   s.setValue("urlBG", ui.urlBG->color());
+  s.setValue("urlUseBG", ui.urlUseBG->isChecked());
 
   saveColor(UiStyle::FgCol00, ui.color0->color());
   saveColor(UiStyle::FgCol01, ui.color1->color());
 
   saveColor(UiStyle::FgCol00, ui.color0->color());
   saveColor(UiStyle::FgCol01, ui.color1->color());
@@ -465,6 +635,13 @@ void ColorSettingsPage::save() {
   saveColor(UiStyle::BgCol13, ui.color13->color());
   saveColor(UiStyle::BgCol14, ui.color14->color());
   saveColor(UiStyle::BgCol15, ui.color15->color());
   saveColor(UiStyle::BgCol13, ui.color13->color());
   saveColor(UiStyle::BgCol14, ui.color14->color());
   saveColor(UiStyle::BgCol15, 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);
 
   load(); //TODO: remove when settings hash map is unnescessary
   setChangedState(false);
@@ -478,15 +655,29 @@ void ColorSettingsPage::saveColor(UiStyle::FormatType formatType, const QColor &
 
 void ColorSettingsPage::widgetHasChanged() {
   bool changed = testHasChanged();
 
 void ColorSettingsPage::widgetHasChanged() {
   bool changed = testHasChanged();
-  if(changed != hasChanged()) setChangedState(changed);
+  if(changed != hasChanged()) {
+    setChangedState(changed);
+  }
+  bufferviewPreview();
+  chatviewPreview();
 }
 
 bool ColorSettingsPage::testHasChanged() {
 }
 
 bool ColorSettingsPage::testHasChanged() {
-  if(settings["InactiveActivity"].value<QColor>() != ui.inactiveActivity->color()) return true;
-  if(settings["NoActivity"].value<QColor>() != ui.noActivity->color()) return true;
-  if(settings["HighlightActivity"].value<QColor>() != ui.highlightActivity->color()) return true;
-  if(settings["NewMessageActivity"].value<QColor>() != ui.newMessageActivity->color()) return true;
-  if(settings["OtherActivity"].value<QColor>() != ui.otherActivity->color()) return true;
+  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;
+  if(settings["NewMessageActivityFG"].value<QColor>() != ui.newMessageActivityFG->color()) return true;
+  if(settings["NewMessageActivityBG"].value<QColor>() != ui.newMessageActivityBG->color()) return true;
+  if(settings["NewMessageActivityUseBG"].toBool() != ui.newMessageActivityUseBG->isChecked()) return true;
+  if(settings["OtherActivityFG"].value<QColor>() != ui.otherActivityFG->color()) return true;
+  if(settings["OtherActivityBG"].value<QColor>() != ui.otherActivityBG->color()) return true;
+  if(settings["OtherActivityUseBG"].toBool() != ui.otherActivityUseBG->isChecked()) return true;
 
   if(QtUi::style()->format(UiStyle::ErrorMsg).foreground().color() != ui.errorMessageFG->color()) return true;
   if(settings["ErrorMessageBG"].value<QColor>() != ui.errorMessageBG->color()) return true;
 
   if(QtUi::style()->format(UiStyle::ErrorMsg).foreground().color() != ui.errorMessageFG->color()) return true;
   if(settings["ErrorMessageBG"].value<QColor>() != ui.errorMessageBG->color()) return true;
@@ -544,6 +735,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(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;
 }
 
   return false;
 }
 
@@ -555,8 +753,6 @@ void ColorSettingsPage::chooseColor(QWidget *widget) {
     button->setColor(color);
   }
   widgetHasChanged();
     button->setColor(color);
   }
   widgetHasChanged();
-  bufferviewPreview();
-  chatviewPreview();
 }
 
 void ColorSettingsPage::chatviewPreview() {
 }
 
 void ColorSettingsPage::chatviewPreview() {
@@ -570,29 +766,47 @@ void ColorSettingsPage::bufferviewPreview() {
 
   QTreeWidgetItem *topLevelItem = new QTreeWidgetItem((QTreeWidget*)0, QStringList(QString("network")));
   ui.bufferviewPreview->insertTopLevelItem(0, topLevelItem);
 
   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;
-  items.append(new QTreeWidgetItem((QTreeWidget*)0, QStringList(QString("Status Buffer"))));
 
 
-  QTreeWidgetItem *inactive = new QTreeWidgetItem((QTreeWidget*)0, QStringList(QString("#inactive channel")));
-  items.append(inactive);
-  inactive->setForeground(0, QBrush(ui.inactiveActivity->color()));
+  QList<QTreeWidgetItem *> items;
+  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, QBrush(ui.inactiveActivityFG->color()));
+  if(ui.inactiveActivityUseBG->isChecked())
+    inactiveActivity->setBackground(0, QBrush(ui.inactiveActivityBG->color()));
 
   QTreeWidgetItem *noActivity = new QTreeWidgetItem((QTreeWidget*)0, QStringList(QString("#channel with no activity")));
   items.append(noActivity);
 
   QTreeWidgetItem *noActivity = new QTreeWidgetItem((QTreeWidget*)0, QStringList(QString("#channel with no activity")));
   items.append(noActivity);
-  noActivity->setForeground(0, QBrush(ui.noActivity->color()));
+  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(QString("#channel with highlight")));
   items.append(highlightActivity);
 
   QTreeWidgetItem *highlightActivity = new QTreeWidgetItem((QTreeWidget*)0, QStringList(QString("#channel with highlight")));
   items.append(highlightActivity);
-  highlightActivity->setForeground(0, QBrush(ui.highlightActivity->color()));
+  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(QString("#channel with new message")));
   items.append(newMessageActivity);
 
   QTreeWidgetItem *newMessageActivity = new QTreeWidgetItem((QTreeWidget*)0, QStringList(QString("#channel with new message")));
   items.append(newMessageActivity);
-  newMessageActivity->setForeground(0, QBrush(ui.newMessageActivity->color()));
+  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(QString("#channel with other activity")));
   items.append(otherActivity);
 
   QTreeWidgetItem *otherActivity = new QTreeWidgetItem((QTreeWidget*)0, QStringList(QString("#channel with other activity")));
   items.append(otherActivity);
-  otherActivity->setForeground(0, QBrush(ui.otherActivity->color()));
+  otherActivity->setForeground(0, QBrush(ui.otherActivityFG->color()));
+  if(ui.otherActivityUseBG->isChecked())
+    otherActivity->setBackground(0, QBrush(ui.otherActivityBG->color()));
 
   topLevelItem->insertChildren(0, items);
   ui.bufferviewPreview->expandItem(topLevelItem);
 
   topLevelItem->insertChildren(0, items);
   ui.bufferviewPreview->expandItem(topLevelItem);
index 4049a98..4df8d69 100644 (file)
@@ -47,6 +47,7 @@ class ColorSettingsPage : public SettingsPage {
     void defaultUserActivity();
     void defaultMessage();
     void defaultMircColorCodes();
     void defaultUserActivity();
     void defaultMessage();
     void defaultMircColorCodes();
+    void defaultNickview();
 
   private slots:
     void widgetHasChanged();
 
   private slots:
     void widgetHasChanged();
index cec8cd8..112fe37 100644 (file)
@@ -24,7 +24,7 @@
      <property name="currentIndex" >
       <number>0</number>
      </property>
      <property name="currentIndex" >
       <number>0</number>
      </property>
-     <widget class="QWidget" name="Seite" >
+     <widget class="QWidget" name="bufferview" >
       <attribute name="title" >
        <string>Bufferview</string>
       </attribute>
       <attribute name="title" >
        <string>Bufferview</string>
       </attribute>
           <string>Activities:</string>
          </property>
          <layout class="QGridLayout" >
           <string>Activities:</string>
          </property>
          <layout class="QGridLayout" >
-          <item row="0" column="0" >
-           <widget class="QLabel" name="label_42" >
+          <item row="0" column="1" >
+           <widget class="QLabel" name="label" >
             <property name="text" >
             <property name="text" >
-             <string>Inactive:</string>
+             <string>FG</string>
+            </property>
+            <property name="alignment" >
+             <set>Qt::AlignCenter</set>
             </property>
            </widget>
           </item>
             </property>
            </widget>
           </item>
-          <item row="0" column="1" >
-           <widget class="ColorButton" name="inactiveActivity" >
+          <item row="0" column="2" >
+           <widget class="QLabel" name="label_2" >
             <property name="text" >
             <property name="text" >
-             <string/>
+             <string>BG</string>
+            </property>
+            <property name="alignment" >
+             <set>Qt::AlignCenter</set>
+            </property>
+           </widget>
+          </item>
+          <item row="0" column="3" >
+           <widget class="QLabel" name="label_3" >
+            <property name="text" >
+             <string>Use BG</string>
+            </property>
+            <property name="alignment" >
+             <set>Qt::AlignCenter</set>
             </property>
            </widget>
           </item>
           <item row="1" column="0" >
            <widget class="QLabel" name="label_43" >
             <property name="text" >
             </property>
            </widget>
           </item>
           <item row="1" column="0" >
            <widget class="QLabel" name="label_43" >
             <property name="text" >
-             <string>No Activity:</string>
+             <string>Default:</string>
             </property>
            </widget>
           </item>
           <item row="1" column="1" >
             </property>
            </widget>
           </item>
           <item row="1" column="1" >
-           <widget class="ColorButton" name="noActivity" >
+           <widget class="ColorButton" name="noActivityFG" >
+            <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="text" >
+             <string/>
+            </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>
            </widget>
           </item>
           <item row="2" column="0" >
             <property name="text" >
              <string/>
             </property>
            </widget>
           </item>
           <item row="2" column="0" >
-           <widget class="QLabel" name="label_39" >
+           <widget class="QLabel" name="label_42" >
             <property name="text" >
             <property name="text" >
-             <string>Highlight:</string>
+             <string>Inactive:</string>
             </property>
            </widget>
           </item>
           <item row="2" column="1" >
             </property>
            </widget>
           </item>
           <item row="2" column="1" >
-           <widget class="ColorButton" name="highlightActivity" >
+           <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>
+           </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>
            </widget>
           </item>
           <item row="3" column="0" >
             <property name="text" >
              <string/>
             </property>
            </widget>
           </item>
           <item row="3" column="0" >
-           <widget class="QLabel" name="label_40" >
+           <widget class="QLabel" name="label_39" >
             <property name="text" >
             <property name="text" >
-             <string>New Message:</string>
+             <string>Highlight:</string>
             </property>
            </widget>
           </item>
           <item row="3" column="1" >
             </property>
            </widget>
           </item>
           <item row="3" column="1" >
-           <widget class="ColorButton" name="newMessageActivity" >
+           <widget class="ColorButton" name="highlightActivityFG" >
+            <property name="text" >
+             <string/>
+            </property>
+           </widget>
+          </item>
+          <item row="3" column="2" >
+           <widget class="ColorButton" name="highlightActivityBG" >
+            <property name="enabled" >
+             <bool>false</bool>
+            </property>
+            <property name="text" >
+             <string/>
+            </property>
+           </widget>
+          </item>
+          <item row="3" column="3" >
+           <widget class="QCheckBox" name="highlightActivityUseBG" >
+            <property name="sizePolicy" >
+             <sizepolicy vsizetype="Fixed" hsizetype="Maximum" >
+              <horstretch>0</horstretch>
+              <verstretch>0</verstretch>
+             </sizepolicy>
+            </property>
             <property name="text" >
              <string/>
             </property>
            </widget>
           </item>
           <item row="4" column="0" >
             <property name="text" >
              <string/>
             </property>
            </widget>
           </item>
           <item row="4" column="0" >
-           <widget class="QLabel" name="label_41" >
+           <widget class="QLabel" name="label_40" >
             <property name="text" >
             <property name="text" >
-             <string>Other Activity:</string>
+             <string>New Message:</string>
             </property>
            </widget>
           </item>
           <item row="4" column="1" >
             </property>
            </widget>
           </item>
           <item row="4" column="1" >
-           <widget class="ColorButton" name="otherActivity" >
+           <widget class="ColorButton" name="newMessageActivityFG" >
+            <property name="text" >
+             <string/>
+            </property>
+           </widget>
+          </item>
+          <item row="4" column="2" >
+           <widget class="ColorButton" name="newMessageActivityBG" >
+            <property name="enabled" >
+             <bool>false</bool>
+            </property>
+            <property name="text" >
+             <string/>
+            </property>
+           </widget>
+          </item>
+          <item row="4" column="3" >
+           <widget class="QCheckBox" name="newMessageActivityUseBG" >
+            <property name="sizePolicy" >
+             <sizepolicy vsizetype="Fixed" hsizetype="Maximum" >
+              <horstretch>0</horstretch>
+              <verstretch>0</verstretch>
+             </sizepolicy>
+            </property>
             <property name="text" >
              <string/>
             </property>
            </widget>
           </item>
           <item row="5" column="0" >
             <property name="text" >
              <string/>
             </property>
            </widget>
           </item>
           <item row="5" column="0" >
+           <widget class="QLabel" name="label_41" >
+            <property name="text" >
+             <string>Other Activity:</string>
+            </property>
+           </widget>
+          </item>
+          <item row="5" column="1" >
+           <widget class="ColorButton" name="otherActivityFG" >
+            <property name="text" >
+             <string/>
+            </property>
+           </widget>
+          </item>
+          <item row="5" column="2" >
+           <widget class="ColorButton" name="otherActivityBG" >
+            <property name="enabled" >
+             <bool>false</bool>
+            </property>
+            <property name="text" >
+             <string/>
+            </property>
+           </widget>
+          </item>
+          <item row="5" column="3" >
+           <widget class="QCheckBox" name="otherActivityUseBG" >
+            <property name="sizePolicy" >
+             <sizepolicy vsizetype="Fixed" hsizetype="Maximum" >
+              <horstretch>0</horstretch>
+              <verstretch>0</verstretch>
+             </sizepolicy>
+            </property>
+            <property name="text" >
+             <string/>
+            </property>
+           </widget>
+          </item>
+          <item row="6" column="0" >
            <spacer>
             <property name="orientation" >
              <enum>Qt::Vertical</enum>
            <spacer>
             <property name="orientation" >
              <enum>Qt::Vertical</enum>
          <property name="title" >
           <string>Preview:</string>
          </property>
          <property name="title" >
           <string>Preview:</string>
          </property>
-         <layout class="QHBoxLayout" >
+         <layout class="QVBoxLayout" >
           <item>
            <widget class="QTreeWidget" name="bufferviewPreview" >
             <column>
           <item>
            <widget class="QTreeWidget" name="bufferviewPreview" >
             <column>
          </layout>
         </widget>
        </item>
          </layout>
         </widget>
        </item>
-       <item row="1" column="1" >
+       <item row="1" column="0" colspan="2" >
         <spacer>
          <property name="orientation" >
           <enum>Qt::Vertical</enum>
          </property>
          <property name="sizeHint" >
           <size>
         <spacer>
          <property name="orientation" >
           <enum>Qt::Vertical</enum>
          </property>
          <property name="sizeHint" >
           <size>
-           <width>20</width>
-           <height>40</height>
+           <width>318</width>
+           <height>171</height>
           </size>
          </property>
         </spacer>
           </size>
          </property>
         </spacer>
            <string>Server Activity</string>
           </attribute>
           <layout class="QGridLayout" >
            <string>Server Activity</string>
           </attribute>
           <layout class="QGridLayout" >
+           <item row="0" column="1" >
+            <widget class="QLabel" name="label_44" >
+             <property name="text" >
+              <string>Foreground</string>
+             </property>
+             <property name="alignment" >
+              <set>Qt::AlignCenter</set>
+             </property>
+            </widget>
+           </item>
+           <item row="0" column="2" >
+            <widget class="QLabel" name="label_45" >
+             <property name="text" >
+              <string>Background</string>
+             </property>
+             <property name="alignment" >
+              <set>Qt::AlignCenter</set>
+             </property>
+            </widget>
+           </item>
+           <item row="0" column="3" >
+            <widget class="QLabel" name="label_7" >
+             <property name="text" >
+              <string>Use BG</string>
+             </property>
+             <property name="alignment" >
+              <set>Qt::AlignCenter</set>
+             </property>
+            </widget>
+           </item>
            <item row="1" column="0" >
             <widget class="QLabel" name="label_20" >
              <property name="text" >
            <item row="1" column="0" >
             <widget class="QLabel" name="label_20" >
              <property name="text" >
            </item>
            <item row="1" column="2" >
             <widget class="ColorButton" name="errorMessageBG" >
            </item>
            <item row="1" column="2" >
             <widget class="ColorButton" name="errorMessageBG" >
+             <property name="enabled" >
+              <bool>false</bool>
+             </property>
+             <property name="text" >
+              <string/>
+             </property>
+            </widget>
+           </item>
+           <item row="1" column="3" >
+            <widget class="QCheckBox" name="errorMessageUseBG" >
+             <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="text" >
               <string/>
              </property>
            </item>
            <item row="2" column="2" >
             <widget class="ColorButton" name="noticeMessageBG" >
            </item>
            <item row="2" column="2" >
             <widget class="ColorButton" name="noticeMessageBG" >
+             <property name="enabled" >
+              <bool>false</bool>
+             </property>
+             <property name="text" >
+              <string/>
+             </property>
+            </widget>
+           </item>
+           <item row="2" column="3" >
+            <widget class="QCheckBox" name="noticeMessageUseBG" >
+             <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="text" >
               <string/>
              </property>
            </item>
            <item row="3" column="2" >
             <widget class="ColorButton" name="plainMessageBG" >
            </item>
            <item row="3" column="2" >
             <widget class="ColorButton" name="plainMessageBG" >
+             <property name="enabled" >
+              <bool>false</bool>
+             </property>
+             <property name="text" >
+              <string/>
+             </property>
+            </widget>
+           </item>
+           <item row="3" column="3" >
+            <widget class="QCheckBox" name="plainMessageUseBG" >
+             <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="text" >
               <string/>
              </property>
            </item>
            <item row="4" column="2" >
             <widget class="ColorButton" name="serverMessageBG" >
            </item>
            <item row="4" column="2" >
             <widget class="ColorButton" name="serverMessageBG" >
+             <property name="enabled" >
+              <bool>false</bool>
+             </property>
              <property name="text" >
               <string/>
              </property>
             </widget>
            </item>
              <property name="text" >
               <string/>
              </property>
             </widget>
            </item>
-           <item row="0" column="1" >
-            <widget class="QLabel" name="label_44" >
-             <property name="text" >
-              <string>Foreground</string>
+           <item row="4" column="3" >
+            <widget class="QCheckBox" name="serverMessageUseBG" >
+             <property name="sizePolicy" >
+              <sizepolicy vsizetype="Fixed" hsizetype="Maximum" >
+               <horstretch>0</horstretch>
+               <verstretch>0</verstretch>
+              </sizepolicy>
              </property>
              </property>
-             <property name="alignment" >
-              <set>Qt::AlignCenter</set>
+             <property name="layoutDirection" >
+              <enum>Qt::LeftToRight</enum>
              </property>
              </property>
-            </widget>
-           </item>
-           <item row="0" column="2" >
-            <widget class="QLabel" name="label_45" >
              <property name="text" >
              <property name="text" >
-              <string>Background</string>
-             </property>
-             <property name="alignment" >
-              <set>Qt::AlignCenter</set>
+              <string/>
              </property>
             </widget>
            </item>
              </property>
             </widget>
            </item>
              </property>
             </widget>
            </item>
              </property>
             </widget>
            </item>
+           <item row="0" column="3" >
+            <widget class="QLabel" name="label_8" >
+             <property name="text" >
+              <string>Use BG</string>
+             </property>
+             <property name="alignment" >
+              <set>Qt::AlignCenter</set>
+             </property>
+            </widget>
+           </item>
            <item row="1" column="0" >
             <widget class="QLabel" name="label_27" >
              <property name="text" >
            <item row="1" column="0" >
             <widget class="QLabel" name="label_27" >
              <property name="text" >
            </item>
            <item row="1" column="2" >
             <widget class="ColorButton" name="actionMessageBG" >
            </item>
            <item row="1" column="2" >
             <widget class="ColorButton" name="actionMessageBG" >
+             <property name="enabled" >
+              <bool>false</bool>
+             </property>
+             <property name="text" >
+              <string/>
+             </property>
+            </widget>
+           </item>
+           <item row="1" column="3" >
+            <widget class="QCheckBox" name="actionMessageUseBG" >
+             <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="text" >
               <string/>
              </property>
            </item>
            <item row="2" column="2" >
             <widget class="ColorButton" name="joinMessageBG" >
            </item>
            <item row="2" column="2" >
             <widget class="ColorButton" name="joinMessageBG" >
+             <property name="enabled" >
+              <bool>false</bool>
+             </property>
+             <property name="text" >
+              <string/>
+             </property>
+            </widget>
+           </item>
+           <item row="2" column="3" >
+            <widget class="QCheckBox" name="joinMessageUseBG" >
+             <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="text" >
               <string/>
              </property>
            </item>
            <item row="3" column="2" >
             <widget class="ColorButton" name="kickMessageBG" >
            </item>
            <item row="3" column="2" >
             <widget class="ColorButton" name="kickMessageBG" >
+             <property name="enabled" >
+              <bool>false</bool>
+             </property>
+             <property name="text" >
+              <string/>
+             </property>
+            </widget>
+           </item>
+           <item row="3" column="3" >
+            <widget class="QCheckBox" name="kickMessageUseBG" >
+             <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="text" >
               <string/>
              </property>
            </item>
            <item row="4" column="2" >
             <widget class="ColorButton" name="modeMessageBG" >
            </item>
            <item row="4" column="2" >
             <widget class="ColorButton" name="modeMessageBG" >
+             <property name="enabled" >
+              <bool>false</bool>
+             </property>
+             <property name="text" >
+              <string/>
+             </property>
+            </widget>
+           </item>
+           <item row="4" column="3" >
+            <widget class="QCheckBox" name="modeMessageUseBG" >
+             <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="text" >
               <string/>
              </property>
            </item>
            <item row="5" column="2" >
             <widget class="ColorButton" name="partMessageBG" >
            </item>
            <item row="5" column="2" >
             <widget class="ColorButton" name="partMessageBG" >
+             <property name="enabled" >
+              <bool>false</bool>
+             </property>
+             <property name="text" >
+              <string/>
+             </property>
+            </widget>
+           </item>
+           <item row="5" column="3" >
+            <widget class="QCheckBox" name="partMessageUseBG" >
+             <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="text" >
               <string/>
              </property>
            </item>
            <item row="6" column="2" >
             <widget class="ColorButton" name="quitMessageBG" >
            </item>
            <item row="6" column="2" >
             <widget class="ColorButton" name="quitMessageBG" >
+             <property name="enabled" >
+              <bool>false</bool>
+             </property>
+             <property name="text" >
+              <string/>
+             </property>
+            </widget>
+           </item>
+           <item row="6" column="3" >
+            <widget class="QCheckBox" name="quitMessageUseBG" >
+             <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="text" >
               <string/>
              </property>
            </item>
            <item row="7" column="2" >
             <widget class="ColorButton" name="renameMessageBG" >
            </item>
            <item row="7" column="2" >
             <widget class="ColorButton" name="renameMessageBG" >
+             <property name="enabled" >
+              <bool>false</bool>
+             </property>
+             <property name="text" >
+              <string/>
+             </property>
+            </widget>
+           </item>
+           <item row="7" column="3" >
+            <widget class="QCheckBox" name="renameMessageUseBG" >
+             <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="text" >
               <string/>
              </property>
              </property>
             </widget>
            </item>
              </property>
             </widget>
            </item>
+           <item row="0" column="3" >
+            <widget class="QLabel" name="label_9" >
+             <property name="text" >
+              <string>Use BG</string>
+             </property>
+             <property name="alignment" >
+              <set>Qt::AlignCenter</set>
+             </property>
+            </widget>
+           </item>
            <item row="1" column="0" >
             <widget class="QLabel" name="label_29" >
              <property name="text" >
            <item row="1" column="0" >
             <widget class="QLabel" name="label_29" >
              <property name="text" >
            </item>
            <item row="1" column="2" >
             <widget class="ColorButton" name="timestampBG" >
            </item>
            <item row="1" column="2" >
             <widget class="ColorButton" name="timestampBG" >
+             <property name="enabled" >
+              <bool>false</bool>
+             </property>
+             <property name="text" >
+              <string/>
+             </property>
+            </widget>
+           </item>
+           <item row="1" column="3" >
+            <widget class="QCheckBox" name="timestampUseBG" >
+             <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="text" >
               <string/>
              </property>
            </item>
            <item row="2" column="2" >
             <widget class="ColorButton" name="senderBG" >
            </item>
            <item row="2" column="2" >
             <widget class="ColorButton" name="senderBG" >
+             <property name="enabled" >
+              <bool>false</bool>
+             </property>
+             <property name="text" >
+              <string/>
+             </property>
+            </widget>
+           </item>
+           <item row="2" column="3" >
+            <widget class="QCheckBox" name="senderUseBG" >
+             <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="text" >
               <string/>
              </property>
            </item>
            <item row="3" column="2" >
             <widget class="ColorButton" name="nickBG" >
            </item>
            <item row="3" column="2" >
             <widget class="ColorButton" name="nickBG" >
+             <property name="enabled" >
+              <bool>false</bool>
+             </property>
+             <property name="text" >
+              <string/>
+             </property>
+            </widget>
+           </item>
+           <item row="3" column="3" >
+            <widget class="QCheckBox" name="nickUseBG" >
+             <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="text" >
               <string/>
              </property>
            </item>
            <item row="4" column="2" >
             <widget class="ColorButton" name="hostmaskBG" >
            </item>
            <item row="4" column="2" >
             <widget class="ColorButton" name="hostmaskBG" >
+             <property name="enabled" >
+              <bool>false</bool>
+             </property>
+             <property name="text" >
+              <string/>
+             </property>
+            </widget>
+           </item>
+           <item row="4" column="3" >
+            <widget class="QCheckBox" name="hostmaskUseBG" >
+             <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="text" >
               <string/>
              </property>
            </item>
            <item row="5" column="2" >
             <widget class="ColorButton" name="channelnameBG" >
            </item>
            <item row="5" column="2" >
             <widget class="ColorButton" name="channelnameBG" >
+             <property name="enabled" >
+              <bool>false</bool>
+             </property>
+             <property name="text" >
+              <string/>
+             </property>
+            </widget>
+           </item>
+           <item row="5" column="3" >
+            <widget class="QCheckBox" name="channelnameUseBG" >
+             <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="text" >
               <string/>
              </property>
            </item>
            <item row="6" column="2" >
             <widget class="ColorButton" name="modeFlagsBG" >
            </item>
            <item row="6" column="2" >
             <widget class="ColorButton" name="modeFlagsBG" >
+             <property name="enabled" >
+              <bool>false</bool>
+             </property>
+             <property name="text" >
+              <string/>
+             </property>
+            </widget>
+           </item>
+           <item row="6" column="3" >
+            <widget class="QCheckBox" name="modeFlagsUseBG" >
+             <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="text" >
               <string/>
              </property>
            </item>
            <item row="7" column="2" >
             <widget class="ColorButton" name="urlBG" >
            </item>
            <item row="7" column="2" >
             <widget class="ColorButton" name="urlBG" >
+             <property name="enabled" >
+              <bool>false</bool>
+             </property>
+             <property name="text" >
+              <string/>
+             </property>
+            </widget>
+           </item>
+           <item row="7" column="3" >
+            <widget class="QCheckBox" name="urlUseBG" >
+             <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="text" >
               <string/>
              </property>
        </item>
       </layout>
      </widget>
        </item>
       </layout>
      </widget>
+     <widget class="QWidget" name="nickview" >
+      <attribute name="title" >
+       <string>Nickview</string>
+      </attribute>
+      <layout class="QGridLayout" >
+       <item row="0" column="0" >
+        <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>
+           </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>
+           </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>
+           </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>
+           </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>
+           </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>
+           </widget>
+          </item>
+          <item row="3" column="0" >
+           <spacer>
+            <property name="orientation" >
+             <enum>Qt::Vertical</enum>
+            </property>
+            <property name="sizeHint" >
+             <size>
+              <width>20</width>
+              <height>40</height>
+             </size>
+            </property>
+           </spacer>
+          </item>
+         </layout>
+        </widget>
+       </item>
+       <item row="0" column="1" >
+        <widget class="QGroupBox" name="groupBox_9" >
+         <property name="title" >
+          <string>Preview:</string>
+         </property>
+         <layout class="QVBoxLayout" >
+          <item>
+           <widget class="QTreeWidget" name="nickviewPreview" >
+            <column>
+             <property name="text" >
+              <string>1</string>
+             </property>
+            </column>
+           </widget>
+          </item>
+         </layout>
+        </widget>
+       </item>
+       <item row="1" column="0" colspan="2" >
+        <spacer>
+         <property name="orientation" >
+          <enum>Qt::Vertical</enum>
+         </property>
+         <property name="sizeHint" >
+          <size>
+           <width>261</width>
+           <height>151</height>
+          </size>
+         </property>
+        </spacer>
+       </item>
+      </layout>
+     </widget>
     </widget>
    </item>
   </layout>
     </widget>
    </item>
   </layout>
   </customwidget>
  </customwidgets>
  <resources/>
   </customwidget>
  </customwidgets>
  <resources/>
- <connections/>
+ <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>
+   <receiver>highlightActivityBG</receiver>
+   <slot>setEnabled(bool)</slot>
+   <hints>
+    <hint type="sourcelabel" >
+     <x>249</x>
+     <y>183</y>
+    </hint>
+    <hint type="destinationlabel" >
+     <x>197</x>
+     <y>183</y>
+    </hint>
+   </hints>
+  </connection>
+  <connection>
+   <sender>newMessageActivityUseBG</sender>
+   <signal>clicked(bool)</signal>
+   <receiver>newMessageActivityBG</receiver>
+   <slot>setEnabled(bool)</slot>
+   <hints>
+    <hint type="sourcelabel" >
+     <x>249</x>
+     <y>219</y>
+    </hint>
+    <hint type="destinationlabel" >
+     <x>197</x>
+     <y>219</y>
+    </hint>
+   </hints>
+  </connection>
+  <connection>
+   <sender>otherActivityUseBG</sender>
+   <signal>clicked(bool)</signal>
+   <receiver>otherActivityBG</receiver>
+   <slot>setEnabled(bool)</slot>
+   <hints>
+    <hint type="sourcelabel" >
+     <x>249</x>
+     <y>255</y>
+    </hint>
+    <hint type="destinationlabel" >
+     <x>197</x>
+     <y>255</y>
+    </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>
+   <receiver>errorMessageBG</receiver>
+   <slot>setEnabled(bool)</slot>
+   <hints>
+    <hint type="sourcelabel" >
+     <x>374</x>
+     <y>119</y>
+    </hint>
+    <hint type="destinationlabel" >
+     <x>280</x>
+     <y>119</y>
+    </hint>
+   </hints>
+  </connection>
+  <connection>
+   <sender>noticeMessageUseBG</sender>
+   <signal>clicked(bool)</signal>
+   <receiver>noticeMessageBG</receiver>
+   <slot>setEnabled(bool)</slot>
+   <hints>
+    <hint type="sourcelabel" >
+     <x>374</x>
+     <y>155</y>
+    </hint>
+    <hint type="destinationlabel" >
+     <x>280</x>
+     <y>155</y>
+    </hint>
+   </hints>
+  </connection>
+  <connection>
+   <sender>plainMessageUseBG</sender>
+   <signal>clicked(bool)</signal>
+   <receiver>plainMessageBG</receiver>
+   <slot>setEnabled(bool)</slot>
+   <hints>
+    <hint type="sourcelabel" >
+     <x>374</x>
+     <y>191</y>
+    </hint>
+    <hint type="destinationlabel" >
+     <x>280</x>
+     <y>191</y>
+    </hint>
+   </hints>
+  </connection>
+  <connection>
+   <sender>serverMessageUseBG</sender>
+   <signal>clicked(bool)</signal>
+   <receiver>serverMessageBG</receiver>
+   <slot>setEnabled(bool)</slot>
+   <hints>
+    <hint type="sourcelabel" >
+     <x>374</x>
+     <y>227</y>
+    </hint>
+    <hint type="destinationlabel" >
+     <x>280</x>
+     <y>227</y>
+    </hint>
+   </hints>
+  </connection>
+  <connection>
+   <sender>actionMessageUseBG</sender>
+   <signal>clicked(bool)</signal>
+   <receiver>actionMessageBG</receiver>
+   <slot>setEnabled(bool)</slot>
+   <hints>
+    <hint type="sourcelabel" >
+     <x>376</x>
+     <y>121</y>
+    </hint>
+    <hint type="destinationlabel" >
+     <x>285</x>
+     <y>121</y>
+    </hint>
+   </hints>
+  </connection>
+  <connection>
+   <sender>joinMessageUseBG</sender>
+   <signal>clicked(bool)</signal>
+   <receiver>joinMessageBG</receiver>
+   <slot>setEnabled(bool)</slot>
+   <hints>
+    <hint type="sourcelabel" >
+     <x>376</x>
+     <y>157</y>
+    </hint>
+    <hint type="destinationlabel" >
+     <x>285</x>
+     <y>157</y>
+    </hint>
+   </hints>
+  </connection>
+  <connection>
+   <sender>kickMessageUseBG</sender>
+   <signal>clicked(bool)</signal>
+   <receiver>kickMessageBG</receiver>
+   <slot>setEnabled(bool)</slot>
+   <hints>
+    <hint type="sourcelabel" >
+     <x>376</x>
+     <y>193</y>
+    </hint>
+    <hint type="destinationlabel" >
+     <x>285</x>
+     <y>193</y>
+    </hint>
+   </hints>
+  </connection>
+  <connection>
+   <sender>modeMessageUseBG</sender>
+   <signal>clicked(bool)</signal>
+   <receiver>modeMessageBG</receiver>
+   <slot>setEnabled(bool)</slot>
+   <hints>
+    <hint type="sourcelabel" >
+     <x>376</x>
+     <y>229</y>
+    </hint>
+    <hint type="destinationlabel" >
+     <x>285</x>
+     <y>229</y>
+    </hint>
+   </hints>
+  </connection>
+  <connection>
+   <sender>partMessageUseBG</sender>
+   <signal>clicked(bool)</signal>
+   <receiver>partMessageBG</receiver>
+   <slot>setEnabled(bool)</slot>
+   <hints>
+    <hint type="sourcelabel" >
+     <x>376</x>
+     <y>265</y>
+    </hint>
+    <hint type="destinationlabel" >
+     <x>285</x>
+     <y>265</y>
+    </hint>
+   </hints>
+  </connection>
+  <connection>
+   <sender>quitMessageUseBG</sender>
+   <signal>clicked(bool)</signal>
+   <receiver>quitMessageBG</receiver>
+   <slot>setEnabled(bool)</slot>
+   <hints>
+    <hint type="sourcelabel" >
+     <x>376</x>
+     <y>301</y>
+    </hint>
+    <hint type="destinationlabel" >
+     <x>285</x>
+     <y>301</y>
+    </hint>
+   </hints>
+  </connection>
+  <connection>
+   <sender>renameMessageUseBG</sender>
+   <signal>clicked(bool)</signal>
+   <receiver>renameMessageBG</receiver>
+   <slot>setEnabled(bool)</slot>
+   <hints>
+    <hint type="sourcelabel" >
+     <x>376</x>
+     <y>337</y>
+    </hint>
+    <hint type="destinationlabel" >
+     <x>285</x>
+     <y>337</y>
+    </hint>
+   </hints>
+  </connection>
+  <connection>
+   <sender>timestampUseBG</sender>
+   <signal>clicked(bool)</signal>
+   <receiver>timestampBG</receiver>
+   <slot>setEnabled(bool)</slot>
+   <hints>
+    <hint type="sourcelabel" >
+     <x>372</x>
+     <y>121</y>
+    </hint>
+    <hint type="destinationlabel" >
+     <x>273</x>
+     <y>121</y>
+    </hint>
+   </hints>
+  </connection>
+  <connection>
+   <sender>senderUseBG</sender>
+   <signal>clicked(bool)</signal>
+   <receiver>senderBG</receiver>
+   <slot>setEnabled(bool)</slot>
+   <hints>
+    <hint type="sourcelabel" >
+     <x>372</x>
+     <y>157</y>
+    </hint>
+    <hint type="destinationlabel" >
+     <x>273</x>
+     <y>157</y>
+    </hint>
+   </hints>
+  </connection>
+  <connection>
+   <sender>nickUseBG</sender>
+   <signal>clicked(bool)</signal>
+   <receiver>nickBG</receiver>
+   <slot>setEnabled(bool)</slot>
+   <hints>
+    <hint type="sourcelabel" >
+     <x>372</x>
+     <y>193</y>
+    </hint>
+    <hint type="destinationlabel" >
+     <x>273</x>
+     <y>193</y>
+    </hint>
+   </hints>
+  </connection>
+  <connection>
+   <sender>hostmaskUseBG</sender>
+   <signal>clicked(bool)</signal>
+   <receiver>hostmaskBG</receiver>
+   <slot>setEnabled(bool)</slot>
+   <hints>
+    <hint type="sourcelabel" >
+     <x>372</x>
+     <y>229</y>
+    </hint>
+    <hint type="destinationlabel" >
+     <x>273</x>
+     <y>229</y>
+    </hint>
+   </hints>
+  </connection>
+  <connection>
+   <sender>channelnameUseBG</sender>
+   <signal>clicked(bool)</signal>
+   <receiver>channelnameBG</receiver>
+   <slot>setEnabled(bool)</slot>
+   <hints>
+    <hint type="sourcelabel" >
+     <x>372</x>
+     <y>265</y>
+    </hint>
+    <hint type="destinationlabel" >
+     <x>273</x>
+     <y>265</y>
+    </hint>
+   </hints>
+  </connection>
+  <connection>
+   <sender>modeFlagsUseBG</sender>
+   <signal>clicked(bool)</signal>
+   <receiver>modeFlagsBG</receiver>
+   <slot>setEnabled(bool)</slot>
+   <hints>
+    <hint type="sourcelabel" >
+     <x>372</x>
+     <y>301</y>
+    </hint>
+    <hint type="destinationlabel" >
+     <x>273</x>
+     <y>301</y>
+    </hint>
+   </hints>
+  </connection>
+  <connection>
+   <sender>urlUseBG</sender>
+   <signal>clicked(bool)</signal>
+   <receiver>urlBG</receiver>
+   <slot>setEnabled(bool)</slot>
+   <hints>
+    <hint type="sourcelabel" >
+     <x>372</x>
+     <y>337</y>
+    </hint>
+    <hint type="destinationlabel" >
+     <x>273</x>
+     <y>337</y>
+    </hint>
+   </hints>
+  </connection>
+ </connections>
 </ui>
 </ui>
index bae2522..af1686e 100644 (file)
@@ -164,11 +164,11 @@ QVariant BufferViewFilter::data(const QModelIndex &index, int role) const {
 
 QVariant BufferViewFilter::foreground(const QModelIndex &index) const {
   UiSettings s("QtUi/Colors");
 
 QVariant BufferViewFilter::foreground(const QModelIndex &index) const {
   UiSettings s("QtUi/Colors");
-  QVariant inactiveActivity = s.value("inactiveActivity", QVariant(QColor(Qt::gray)));
-  QVariant noActivity = s.value("noActivity", QVariant(QColor(Qt::black)));
-  QVariant highlightActivity = s.value("highlightActivity", QVariant(QColor(Qt::magenta)));
-  QVariant newMessageActivity = s.value("newMessageActivity", QVariant(QColor(Qt::green)));
-  QVariant otherActivity = s.value("otherActivity", QVariant(QColor(Qt::darkGreen)));
+  QVariant inactiveActivity = s.value("inactiveActivityFG", QVariant(QColor(Qt::gray)));
+  QVariant noActivity = s.value("noActivityFG", QVariant(QColor(Qt::black)));
+  QVariant highlightActivity = s.value("highlightActivityFG", QVariant(QColor(Qt::magenta)));
+  QVariant newMessageActivity = s.value("newMessageActivityFG", QVariant(QColor(Qt::green)));
+  QVariant otherActivity = s.value("otherActivityFG", QVariant(QColor(Qt::darkGreen)));
 
   if(!index.data(NetworkModel::ItemActiveRole).toBool())
     return inactiveActivity.value<QColor>();
 
   if(!index.data(NetworkModel::ItemActiveRole).toBool())
     return inactiveActivity.value<QColor>();
index 61e6c14..4a833d0 100644 (file)
@@ -44,20 +44,25 @@ QColor ColorButton::color() const {
 }
 
 void ColorButton::paintEvent(QPaintEvent *event) {
 }
 
 void ColorButton::paintEvent(QPaintEvent *event) {
+  //TODO: work on a good button style solution
   QPushButton::paintEvent(event);
   QPainter painter(this);
   int border = QApplication::style()->pixelMetric(QStyle::PM_ButtonMargin);
   QPushButton::paintEvent(event);
   QPainter painter(this);
   int border = QApplication::style()->pixelMetric(QStyle::PM_ButtonMargin);
-  painter.fillRect(rect().adjusted(border+1, border+1, -border-1, -border-1), QBrush(_color));
+
+  // if twice buttonMargin (+2 px from the adjust) is greater than the button height
+  // then set the border to a third of the button height.
+  if(2*border+2 >= event->rect().height()) border = event->rect().height()/3;
+
+  QBrush brush;
+  if(isEnabled()) {
+    brush = QBrush(_color);
+  } else {
+    brush = QBrush(_color, Qt::Dense4Pattern);
+  }
+  painter.fillRect(rect().adjusted(border+1, border+1, -border-1, -border-1), brush);
   QStyleOptionFrame option;
   option.state = QStyle::State_Sunken;
   option.rect = rect().adjusted(border, border, -border, -border);
   QStyleOptionFrame option;
   option.state = QStyle::State_Sunken;
   option.rect = rect().adjusted(border, border, -border, -border);
-  //TODO: setBackground instead of the fillRect()
-  //painter.setBackground(_color);
-  //painter.setBackgroundMode(Qt::OpaqueMode);
-  //painter.fillRect(QApplication::style()->subElementRect(QStyle::SE_FrameContents, &option), QBrush(_color));
-  //qDebug() << option << QApplication::style()->subElementRect(QStyle::SE_PushButtonContents, &option);
+
   QApplication::style()->drawPrimitive(QStyle::PE_Frame, &option, &painter);
   QApplication::style()->drawPrimitive(QStyle::PE_Frame, &option, &painter);
-  //painter.fillRect(QApplication::style()->subElementRect(QStyle::SE_FrameContents, &option), QBrush(_color));
-  //border += QStyle::PM_DefaultFrameWidth;
-  //painter.fillRect(rect().adjusted(border, border, -border, -border), QBrush(_color));
 }
 }
index 28f1a7c..993bac0 100644 (file)
@@ -21,6 +21,9 @@
 #include "nickviewfilter.h"
 
 #include "networkmodel.h"
 #include "nickviewfilter.h"
 
 #include "networkmodel.h"
+
+#include "uisettings.h"
+
 #include <QColor>
 
 /******************************************************************************************
 #include <QColor>
 
 /******************************************************************************************
@@ -42,10 +45,15 @@ QVariant NickViewFilter::data(const QModelIndex &index, int role) const {
 }
 
 QVariant NickViewFilter::foreground(const QModelIndex &index) const {
 }
 
 QVariant NickViewFilter::foreground(const QModelIndex &index) const {
+  UiSettings s("QtUi/Colors");
+  QVariant onlineStatusFG = s.value("onlineStatusFG", QVariant(QColor(Qt::black)));
+  QVariant awayStatusFG = s.value("awayStatusFG", QVariant(QColor(Qt::gray)));
+
   if(!index.data(NetworkModel::ItemActiveRole).toBool())
   if(!index.data(NetworkModel::ItemActiveRole).toBool())
-    return QColor(Qt::gray);
+    return awayStatusFG.value<QColor>();
   
   
-  return QColor(Qt::black);
+  return onlineStatusFG.value<QColor>();
   
   // FIXME:: make colors configurable;
   
   // FIXME:: make colors configurable;
+  // FIXME: use the style interface instead of qsettings
 }
 }
index f6a0f4b..113c435 100644 (file)
@@ -5,7 +5,7 @@
 
   quasselVersion = "0.2.0-pre";
   quasselDate = "2008-02-20";
 
   quasselVersion = "0.2.0-pre";
   quasselDate = "2008-02-20";
-  quasselBuild = 563;
+  quasselBuild = 572;
 
   //! Minimum client build number the core needs
   clientBuildNeeded = 563;
 
   //! Minimum client build number the core needs
   clientBuildNeeded = 563;