X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fqtui%2Fsettingspages%2Fcolorsettingspage.cpp;h=01bc5177dbc96e658d4c6a3add7adf4eeda059cc;hp=475d57c8160b8e11ef34a442767d23fbf5060aa6;hb=23ba965cc6d1d9918d6d1ff08a1051e22ef9052d;hpb=1aef6bf0d3d2a7ef469b9a9f68ceb891cc8a896c diff --git a/src/qtui/settingspages/colorsettingspage.cpp b/src/qtui/settingspages/colorsettingspage.cpp index 475d57c8..01bc5177 100644 --- a/src/qtui/settingspages/colorsettingspage.cpp +++ b/src/qtui/settingspages/colorsettingspage.cpp @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-08 by the Quassel IRC Team * + * Copyright (C) 2005-09 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -22,143 +22,34 @@ #include "qtui.h" #include "qtuisettings.h" +#include "qtuistyle.h" #include "colorbutton.h" #include #include ColorSettingsPage::ColorSettingsPage(QWidget *parent) - : SettingsPage(tr("Appearance"), tr("Color settings"), parent) { + : SettingsPage(tr("Appearance"), tr("Color settings"), parent), + mapper(new QSignalMapper(this)) +{ 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); - - //Chatview tab: - connect(ui.errorMessageFG, SIGNAL(clicked()), mapper, SLOT(map())); - connect(ui.errorMessageBG, SIGNAL(clicked()), mapper, SLOT(map())); - connect(ui.noticeMessageFG, SIGNAL(clicked()), mapper, SLOT(map())); - connect(ui.noticeMessageBG, SIGNAL(clicked()), mapper, SLOT(map())); - connect(ui.plainMessageFG, SIGNAL(clicked()), mapper, SLOT(map())); - connect(ui.plainMessageBG, SIGNAL(clicked()), mapper, SLOT(map())); - connect(ui.serverMessageFG, SIGNAL(clicked()), mapper, SLOT(map())); - connect(ui.serverMessageBG, SIGNAL(clicked()), mapper, SLOT(map())); - connect(ui.actionMessageFG, SIGNAL(clicked()), mapper, SLOT(map())); - connect(ui.actionMessageBG, SIGNAL(clicked()), mapper, SLOT(map())); - connect(ui.joinMessageFG, SIGNAL(clicked()), mapper, SLOT(map())); - connect(ui.joinMessageBG, SIGNAL(clicked()), mapper, SLOT(map())); - connect(ui.kickMessageFG, SIGNAL(clicked()), mapper, SLOT(map())); - connect(ui.kickMessageBG, SIGNAL(clicked()), mapper, SLOT(map())); - connect(ui.modeMessageFG, SIGNAL(clicked()), mapper, SLOT(map())); - connect(ui.modeMessageBG, SIGNAL(clicked()), mapper, SLOT(map())); - connect(ui.partMessageFG, SIGNAL(clicked()), mapper, SLOT(map())); - connect(ui.partMessageBG, SIGNAL(clicked()), mapper, SLOT(map())); - connect(ui.quitMessageFG, SIGNAL(clicked()), mapper, SLOT(map())); - connect(ui.quitMessageBG, SIGNAL(clicked()), mapper, SLOT(map())); - connect(ui.renameMessageFG, SIGNAL(clicked()), mapper, SLOT(map())); - connect(ui.renameMessageBG, SIGNAL(clicked()), mapper, SLOT(map())); - - mapper->setMapping(ui.errorMessageFG, ui.errorMessageFG); - mapper->setMapping(ui.errorMessageBG, ui.errorMessageBG); - mapper->setMapping(ui.noticeMessageFG, ui.noticeMessageFG); - mapper->setMapping(ui.noticeMessageBG, ui.noticeMessageBG); - mapper->setMapping(ui.plainMessageFG, ui.plainMessageFG); - mapper->setMapping(ui.plainMessageBG, ui.plainMessageBG); - mapper->setMapping(ui.serverMessageFG, ui.serverMessageFG); - mapper->setMapping(ui.serverMessageBG, ui.serverMessageBG); - mapper->setMapping(ui.actionMessageFG, ui.actionMessageFG); - mapper->setMapping(ui.actionMessageBG, ui.actionMessageBG); - mapper->setMapping(ui.joinMessageFG, ui.joinMessageFG); - mapper->setMapping(ui.joinMessageBG, ui.joinMessageBG); - mapper->setMapping(ui.kickMessageFG, ui.kickMessageFG); - mapper->setMapping(ui.kickMessageBG, ui.kickMessageBG); - mapper->setMapping(ui.modeMessageFG, ui.modeMessageFG); - mapper->setMapping(ui.modeMessageBG, ui.modeMessageBG); - mapper->setMapping(ui.partMessageFG, ui.partMessageFG); - mapper->setMapping(ui.partMessageBG, ui.partMessageBG); - mapper->setMapping(ui.quitMessageFG, ui.quitMessageFG); - mapper->setMapping(ui.quitMessageBG, ui.quitMessageBG); - mapper->setMapping(ui.renameMessageFG, ui.renameMessageFG); - mapper->setMapping(ui.renameMessageBG, ui.renameMessageBG); - - //Message Layout tab: - connect(ui.timestampFG, SIGNAL(clicked()), mapper, SLOT(map())); - connect(ui.timestampBG, SIGNAL(clicked()), mapper, SLOT(map())); - connect(ui.senderFG, SIGNAL(clicked()), mapper, SLOT(map())); - connect(ui.senderBG, SIGNAL(clicked()), mapper, SLOT(map())); - connect(ui.nickFG, SIGNAL(clicked()), mapper, SLOT(map())); - connect(ui.nickBG, SIGNAL(clicked()), mapper, SLOT(map())); - connect(ui.hostmaskFG, SIGNAL(clicked()), mapper, SLOT(map())); - connect(ui.hostmaskBG, SIGNAL(clicked()), mapper, SLOT(map())); - connect(ui.channelnameFG, SIGNAL(clicked()), mapper, SLOT(map())); - connect(ui.channelnameBG, SIGNAL(clicked()), mapper, SLOT(map())); - connect(ui.modeFlagsFG, SIGNAL(clicked()), mapper, SLOT(map())); - connect(ui.modeFlagsBG, SIGNAL(clicked()), mapper, SLOT(map())); - connect(ui.urlFG, SIGNAL(clicked()), mapper, SLOT(map())); - connect(ui.urlBG, SIGNAL(clicked()), mapper, SLOT(map())); - - mapper->setMapping(ui.timestampFG, ui.timestampFG); - mapper->setMapping(ui.timestampBG, ui.timestampBG); - mapper->setMapping(ui.senderFG, ui.senderFG); - mapper->setMapping(ui.senderBG, ui.senderBG); - mapper->setMapping(ui.nickFG, ui.nickFG); - mapper->setMapping(ui.nickBG, ui.nickBG); - mapper->setMapping(ui.hostmaskFG, ui.hostmaskFG); - mapper->setMapping(ui.hostmaskBG, ui.hostmaskBG); - mapper->setMapping(ui.channelnameFG, ui.channelnameFG); - mapper->setMapping(ui.channelnameBG, ui.channelnameBG); - mapper->setMapping(ui.modeFlagsFG, ui.modeFlagsFG); - mapper->setMapping(ui.modeFlagsBG, ui.modeFlagsBG); - mapper->setMapping(ui.urlFG, ui.urlFG); - mapper->setMapping(ui.urlBG, ui.urlBG); - - //Mirc Color Codes tab: - connect(ui.color0, SIGNAL(clicked()), mapper, SLOT(map())); - connect(ui.color1, SIGNAL(clicked()), mapper, SLOT(map())); - connect(ui.color2, SIGNAL(clicked()), mapper, SLOT(map())); - connect(ui.color3, SIGNAL(clicked()), mapper, SLOT(map())); - connect(ui.color4, SIGNAL(clicked()), mapper, SLOT(map())); - connect(ui.color5, SIGNAL(clicked()), mapper, SLOT(map())); - connect(ui.color6, SIGNAL(clicked()), mapper, SLOT(map())); - connect(ui.color7, SIGNAL(clicked()), mapper, SLOT(map())); - connect(ui.color8, SIGNAL(clicked()), mapper, SLOT(map())); - connect(ui.color9, SIGNAL(clicked()), mapper, SLOT(map())); - connect(ui.color10, SIGNAL(clicked()), mapper, SLOT(map())); - connect(ui.color11, SIGNAL(clicked()), mapper, SLOT(map())); - connect(ui.color12, SIGNAL(clicked()), mapper, SLOT(map())); - connect(ui.color13, SIGNAL(clicked()), mapper, SLOT(map())); - connect(ui.color14, SIGNAL(clicked()), mapper, SLOT(map())); - connect(ui.color15, SIGNAL(clicked()), mapper, SLOT(map())); - - mapper->setMapping(ui.color0, ui.color0); - mapper->setMapping(ui.color1, ui.color1); - mapper->setMapping(ui.color2, ui.color2); - mapper->setMapping(ui.color3, ui.color3); - mapper->setMapping(ui.color4, ui.color4); - mapper->setMapping(ui.color5, ui.color5); - mapper->setMapping(ui.color6, ui.color6); - mapper->setMapping(ui.color7, ui.color7); - mapper->setMapping(ui.color8, ui.color8); - mapper->setMapping(ui.color9, ui.color9); - mapper->setMapping(ui.color10, ui.color10); - mapper->setMapping(ui.color11, ui.color11); - mapper->setMapping(ui.color12, ui.color12); - mapper->setMapping(ui.color13, ui.color13); - mapper->setMapping(ui.color14, ui.color14); - mapper->setMapping(ui.color15, ui.color15); + foreach(ColorButton *button, findChildren()) { + connect(button, SIGNAL(clicked()), mapper, SLOT(map())); + mapper->setMapping(button, button); + } + foreach(QCheckBox *checkBox, findChildren()) { + connect(checkBox, SIGNAL(clicked()), this, SLOT(widgetHasChanged())); + } connect(mapper, SIGNAL(mapped(QWidget *)), this, SLOT(chooseColor(QWidget *))); + + foreach(QWidget *widget, findChildren()) { + if(widget->property("NotInUse").toBool()) { + widget->setEnabled(false); + widget->hide(); + } + } } bool ColorSettingsPage::hasDefaults() const { @@ -166,333 +57,490 @@ bool ColorSettingsPage::hasDefaults() const { } void ColorSettingsPage::defaults() { - 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)); + defaultBufferview(); + defaultServerActivity(); + defaultUserActivity(); + defaultMessage(); + defaultMircColorCodes(); + + widgetHasChanged(); + bufferviewPreview(); + chatviewPreview(); +} - ui.errorMessageFG->setColor(QColor("red")); +void ColorSettingsPage::defaultBufferview() { + 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); +} + +void ColorSettingsPage::defaultServerActivity() { + ui.errorMessageFG->setColor(QtUi::style()->format(UiStyle::ErrorMsg, Settings::Default).foreground().color()); ui.errorMessageBG->setColor(QColor("white")); - ui.noticeMessageFG->setColor(QColor("navy")); + 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.plainMessageFG->setColor(QColor("black")); + 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.serverMessageFG->setColor(QColor("navy")); + 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.actionMessageFG->setColor(QColor("darkmagenta")); + ui.serverMessageBG->setEnabled(false); + ui.serverMessageUseBG->setChecked(false); + ui.highlightColor->setColor(QColor("lightcoral")); +} + +void ColorSettingsPage::defaultUserActivity() { + ui.actionMessageFG->setColor(QtUi::style()->format(UiStyle::ActionMsg, Settings::Default).foreground().color()); ui.actionMessageBG->setColor(QColor("white")); - ui.joinMessageFG->setColor(QColor("green")); + 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.kickMessageFG->setColor(QColor("black")); + 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.modeMessageFG->setColor(QColor("steelblue")); + 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.partMessageFG->setColor(QColor("indianred")); + 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.quitMessageFG->setColor(QColor("indianred")); + 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.renameMessageFG->setColor(QColor("magenta")); + 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.renameMessageBG->setEnabled(false); + ui.renameMessageUseBG->setChecked(false); +} - ui.timestampFG->setColor(QColor("grey")); +void ColorSettingsPage::defaultMessage() { + ui.timestampFG->setColor(QtUi::style()->format(UiStyle::Timestamp, Settings::Default).foreground().color()); ui.timestampBG->setColor(QColor("white")); - ui.senderFG->setColor(QColor("navy")); + 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->setEnabled(false); + ui.senderUseBG->setChecked(false); + ui.newMsgMarkerFG->setColor(Qt::red); + + /* 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.hostmaskBG->setEnabled(false); + ui.hostmaskUseBG->setChecked(false); 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.modeFlagsBG->setEnabled(false); + ui.modeFlagsUseBG->setChecked(false); ui.urlFG->setColor(QColor("black")); ui.urlBG->setColor(QColor("white")); + ui.urlBG->setEnabled(false); + ui.urlUseBG->setChecked(false); + */ +} - - ui.color0->setColor(QColor("#ffffff")); - ui.color1->setColor(QColor("#000000")); - ui.color2->setColor(QColor("#000080")); - ui.color3->setColor(QColor("#008000")); - ui.color4->setColor(QColor("#ff0000")); - ui.color5->setColor(QColor("#800000")); - ui.color6->setColor(QColor("#800080")); - ui.color7->setColor(QColor("#ffa500")); - ui.color8->setColor(QColor("#ffff00")); - ui.color9->setColor(QColor("#00ff00")); - ui.color10->setColor(QColor("#008080")); - ui.color11->setColor(QColor("#00ffff")); - ui.color12->setColor(QColor("#4169E1")); - ui.color13->setColor(QColor("#ff00ff")); - ui.color14->setColor(QColor("#808080")); - ui.color15->setColor(QColor("#c0c0c0")); - - widgetHasChanged(); - bufferviewPreview(); - chatviewPreview(); +void ColorSettingsPage::defaultMircColorCodes() { + ui.color0->setColor(QtUi::style()->format(UiStyle::FgCol00, Settings::Default).foreground().color()); + ui.color1->setColor(QtUi::style()->format(UiStyle::FgCol01, Settings::Default).foreground().color()); + ui.color2->setColor(QtUi::style()->format(UiStyle::FgCol02, Settings::Default).foreground().color()); + ui.color3->setColor(QtUi::style()->format(UiStyle::FgCol03, Settings::Default).foreground().color()); + ui.color4->setColor(QtUi::style()->format(UiStyle::FgCol04, Settings::Default).foreground().color()); + ui.color5->setColor(QtUi::style()->format(UiStyle::FgCol05, Settings::Default).foreground().color()); + ui.color6->setColor(QtUi::style()->format(UiStyle::FgCol06, Settings::Default).foreground().color()); + ui.color7->setColor(QtUi::style()->format(UiStyle::FgCol07, Settings::Default).foreground().color()); + ui.color8->setColor(QtUi::style()->format(UiStyle::FgCol08, Settings::Default).foreground().color()); + ui.color9->setColor(QtUi::style()->format(UiStyle::FgCol09, Settings::Default).foreground().color()); + ui.color10->setColor(QtUi::style()->format(UiStyle::FgCol10, Settings::Default).foreground().color()); + ui.color11->setColor(QtUi::style()->format(UiStyle::FgCol11, Settings::Default).foreground().color()); + ui.color12->setColor(QtUi::style()->format(UiStyle::FgCol12, Settings::Default).foreground().color()); + ui.color13->setColor(QtUi::style()->format(UiStyle::FgCol13, Settings::Default).foreground().color()); + ui.color14->setColor(QtUi::style()->format(UiStyle::FgCol14, Settings::Default).foreground().color()); + ui.color15->setColor(QtUi::style()->format(UiStyle::FgCol15, Settings::Default).foreground().color()); } void ColorSettingsPage::load() { - QtUiSettings s("QtUi/Colors"); - settings["InactiveActivity"] = s.value("inactiveActivity", QVariant(QColor(Qt::gray))); - ui.inactiveActivity->setColor(settings["InactiveActivity"].value()); - settings["NoActivity"] = s.value("noActivity", QVariant(QColor(Qt::black))); - ui.noActivity->setColor(settings["NoActivity"].value()); - settings["HighlightActivity"] = s.value("highlightActivity", QVariant(QColor(Qt::magenta))); - ui.highlightActivity->setColor(settings["HighlightActivity"].value()); - settings["NewMessageActivity"] = s.value("newMessageActivity", QVariant(QColor(Qt::green))); - ui.newMessageActivity->setColor(settings["NewMessageActivity"].value()); - settings["OtherActivity"] = s.value("otherActivity", QVariant(QColor(Qt::darkGreen))); - ui.otherActivity->setColor(settings["OtherActivity"].value()); - - settings["ErrorMessageFG"] = s.value("errorMessageFG", QVariant(QColor("red"))); - ui.errorMessageFG->setColor(settings["ErrorMessageFG"].value()); - settings["ErrorMessageBG"] = s.value("errorMessageBG", QVariant(QColor("white"))); - ui.errorMessageBG->setColor(settings["ErrorMessageBG"].value()); - settings["NoticeMessageFG"] = s.value("noticeMessageFG", QVariant(QColor("navy"))); - ui.noticeMessageFG->setColor(settings["NoticeMessageFG"].value()); - settings["NoticeMessageBG"] = s.value("noticeMessageBG", QVariant(QColor("white"))); - ui.noticeMessageBG->setColor(settings["NoticeMessageBG"].value()); - settings["PlainMessageFG"] = s.value("plainMessageFG", QVariant(QColor("black"))); - ui.plainMessageFG->setColor(settings["PlainMessageFG"].value()); - settings["PlainMessageBG"] = s.value("plainMessageBG", QVariant(QColor("white"))); - ui.plainMessageBG->setColor(settings["PlainMessageBG"].value()); - settings["ServerMessageFG"] = s.value("serverMessageFG", QVariant(QColor("navy"))); - ui.serverMessageFG->setColor(settings["ServerMessageFG"].value()); - settings["ServerMessageBG"] = s.value("serverMessageBG", QVariant(QColor("white"))); - ui.serverMessageBG->setColor(settings["ServerMessageBG"].value()); - settings["ActionMessageFG"] = s.value("actionMessageFG", QVariant(QColor("darkmagenta"))); - ui.actionMessageFG->setColor(settings["ActionMessageFG"].value()); - settings["ActionMessageBG"] = s.value("actionMessageBG", QVariant(QColor("white"))); - ui.actionMessageBG->setColor(settings["ActionMessageBG"].value()); - settings["JoinMessageFG"] = s.value("joinMessageFG", QVariant(QColor("green"))); - ui.joinMessageFG->setColor(settings["JoinMessageFG"].value()); - settings["JoinMessageBG"] = s.value("joinMessageBG", QVariant(QColor("white"))); - ui.joinMessageBG->setColor(settings["JoinMessageBG"].value()); - settings["KickMessageFG"] = s.value("kickMessageFG", QVariant(QColor("black"))); - ui.kickMessageFG->setColor(settings["KickMessageFG"].value()); - settings["KickMessageBG"] = s.value("kickMessageBG", QVariant(QColor("white"))); - ui.kickMessageBG->setColor(settings["KickMessageBG"].value()); - settings["ModeMessageFG"] = s.value("modeMessageFG", QVariant(QColor("steelblue"))); - ui.modeMessageFG->setColor(settings["ModeMessageFG"].value()); - settings["ModeMessageBG"] = s.value("modeMessageBG", QVariant(QColor("white"))); - ui.modeMessageBG->setColor(settings["ModeMessageBG"].value()); - settings["PartMessageFG"] = s.value("partMessageFG", QVariant(QColor("indianred"))); - ui.partMessageFG->setColor(settings["PartMessageFG"].value()); - settings["PartMessageBG"] = s.value("partMessageBG", QVariant(QColor("white"))); - ui.partMessageBG->setColor(settings["PartMessageBG"].value()); - settings["QuitMessageFG"] = s.value("quitMessageFG", QVariant(QColor("indianred"))); - ui.quitMessageFG->setColor(settings["QuitMessageFG"].value()); - settings["QuitMessageBG"] = s.value("quitMessageBG", QVariant(QColor("white"))); - ui.quitMessageBG->setColor(settings["QuitMessageBG"].value()); - settings["RenameMessageFG"] = s.value("renameMessageFG", QVariant(QColor("magenta"))); - ui.renameMessageFG->setColor(settings["RenameMessageFG"].value()); - settings["RenameMessageBG"] = s.value("renameMessageBG", QVariant(QColor("white"))); - ui.renameMessageBG->setColor(settings["RenameMessageBG"].value()); - - settings["TimestampFG"] = s.value("timestampFG", QVariant(QColor("grey"))); - ui.timestampFG->setColor(settings["TimestampFG"].value()); - settings["TimestampBG"] = s.value("timestampBG", QVariant(QColor("white"))); - ui.timestampBG->setColor(settings["TimestampBG"].value()); - settings["SenderFG"] = s.value("senderFG", QVariant(QColor("navy"))); - ui.senderFG->setColor(settings["SenderFG"].value()); - settings["SenderBG"] = s.value("senderBG", QVariant(QColor("white"))); - ui.senderBG->setColor(settings["SenderBG"].value()); - settings["NickFG"] = s.value("nickFG", QVariant(QColor("black"))); - ui.nickFG->setColor(settings["NickFG"].value()); - settings["NickBG"] = s.value("nickBG", QVariant(QColor("white"))); - ui.nickBG->setColor(settings["NickBG"].value()); - settings["HostmaskFG"] = s.value("hostmaskFG", QVariant(QColor("black"))); - ui.hostmaskFG->setColor(settings["HostmaskFG"].value()); - settings["HostmaskBG"] = s.value("hostmaskBG", QVariant(QColor("white"))); - ui.hostmaskBG->setColor(settings["HostmaskBG"].value()); - settings["ChannelnameFG"] = s.value("channelnameFG", QVariant(QColor("black"))); - ui.channelnameFG->setColor(settings["ChannelnameFG"].value()); - settings["ChannelnameBG"] = s.value("channelnameBG", QVariant(QColor("white"))); - ui.channelnameBG->setColor(settings["ChannelnameBG"].value()); - settings["ModeFlagsFG"] = s.value("modeFlagsFG", QVariant(QColor("black"))); - ui.modeFlagsFG->setColor(settings["ModeFlagsFG"].value()); - settings["ModeFlagsBG"] = s.value("modeFlagsBG", QVariant(QColor("white"))); - ui.modeFlagsBG->setColor(settings["ModeFlagsBG"].value()); - settings["UrlFG"] = s.value("urlFG", QVariant(QColor("black"))); - ui.urlFG->setColor(settings["UrlFG"].value()); - settings["UrlBG"] = s.value("urlBG", QVariant(QColor("white"))); - ui.urlBG->setColor(settings["UrlBG"].value()); - - settings["Color0"] = s.value("color0", QVariant(QColor("#ffffff"))); - ui.color0->setColor(settings["Color0"].value()); - settings["Color1"] = s.value("color1", QVariant(QColor("#000000"))); - ui.color1->setColor(settings["Color1"].value()); - settings["Color2"] = s.value("color2", QVariant(QColor("#000080"))); - ui.color2->setColor(settings["Color2"].value()); - settings["Color3"] = s.value("color3", QVariant(QColor("#008000"))); - ui.color3->setColor(settings["Color3"].value()); - settings["Color4"] = s.value("color4", QVariant(QColor("#ff0000"))); - ui.color4->setColor(settings["Color4"].value()); - settings["Color5"] = s.value("color5", QVariant(QColor("#800000"))); - ui.color5->setColor(settings["Color5"].value()); - settings["Color6"] = s.value("color6", QVariant(QColor("#800080"))); - ui.color6->setColor(settings["Color6"].value()); - settings["Color7"] = s.value("color7", QVariant(QColor("#ffa500"))); - ui.color7->setColor(settings["Color7"].value()); - settings["Color8"] = s.value("color8", QVariant(QColor("#ffff00"))); - ui.color8->setColor(settings["Color8"].value()); - settings["Color9"] = s.value("color9", QVariant(QColor("#00ff00"))); - ui.color9->setColor(settings["Color9"].value()); - settings["Color10"] = s.value("color10", QVariant(QColor("#008080"))); - ui.color10->setColor(settings["Color10"].value()); - settings["Color11"] = s.value("color11", QVariant(QColor("#00ffff"))); - ui.color11->setColor(settings["Color11"].value()); - settings["Color12"] = s.value("color12", QVariant(QColor("#4169E1"))); - ui.color12->setColor(settings["Color12"].value()); - settings["Color13"] = s.value("color13", QVariant(QColor("#ff00ff"))); - ui.color13->setColor(settings["Color13"].value()); - settings["Color14"] = s.value("color14", QVariant(QColor("#808080"))); - ui.color14->setColor(settings["Color14"].value()); - settings["Color15"] = s.value("color15", QVariant(QColor("#c0c0c0"))); - ui.color15->setColor(settings["Color15"].value()); + QtUiStyleSettings s("Colors"); + settings["HighlightActivityFG"] = s.value("highlightActivityFG", QVariant(QColor(Qt::magenta))); + ui.highlightActivityFG->setColor(settings["HighlightActivityFG"].value()); + settings["HighlightActivityBG"] = s.value("highlightActivityBG", QVariant(QColor(Qt::white))); + ui.highlightActivityBG->setColor(settings["HighlightActivityBG"].value()); + 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()); + settings["NewMessageActivityBG"] = s.value("newMessageActivityBG", QVariant(QColor(Qt::white))); + ui.newMessageActivityBG->setColor(settings["NewMessageActivityBG"].value()); + 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()); + settings["OtherActivityBG"] = s.value("otherActivityBG", QVariant(QColor(Qt::white))); + ui.otherActivityBG->setColor(settings["OtherActivityBG"].value()); + 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.joinMessageFG->setColor(QtUi::style()->format(UiStyle::JoinMsg).foreground().color()); + ui.kickMessageFG->setColor(QtUi::style()->format(UiStyle::KickMsg).foreground().color()); + ui.modeMessageFG->setColor(QtUi::style()->format(UiStyle::ModeMsg).foreground().color()); + ui.noticeMessageFG->setColor(QtUi::style()->format(UiStyle::NoticeMsg).foreground().color()); + ui.partMessageFG->setColor(QtUi::style()->format(UiStyle::PartMsg).foreground().color()); + ui.plainMessageFG->setColor(QtUi::style()->format(UiStyle::PlainMsg).foreground().color()); + ui.quitMessageFG->setColor(QtUi::style()->format(UiStyle::QuitMsg).foreground().color()); + ui.renameMessageFG->setColor(QtUi::style()->format(UiStyle::RenameMsg).foreground().color()); + ui.serverMessageFG->setColor(QtUi::style()->format(UiStyle::ServerMsg).foreground().color()); + + ui.actionMessageBG->setColor(QtUi::style()->format(UiStyle::ActionMsg).background().color()); + ui.errorMessageBG->setColor(QtUi::style()->format(UiStyle::ErrorMsg).background().color()); + ui.joinMessageBG->setColor(QtUi::style()->format(UiStyle::JoinMsg).background().color()); + ui.kickMessageBG->setColor(QtUi::style()->format(UiStyle::KickMsg).background().color()); + ui.modeMessageBG->setColor(QtUi::style()->format(UiStyle::ModeMsg).background().color()); + ui.noticeMessageBG->setColor(QtUi::style()->format(UiStyle::NoticeMsg).background().color()); + ui.partMessageBG->setColor(QtUi::style()->format(UiStyle::PartMsg).background().color()); + ui.plainMessageBG->setColor(QtUi::style()->format(UiStyle::PlainMsg).background().color()); + ui.quitMessageBG->setColor(QtUi::style()->format(UiStyle::QuitMsg).background().color()); + ui.renameMessageBG->setColor(QtUi::style()->format(UiStyle::RenameMsg).background().color()); + ui.serverMessageBG->setColor(QtUi::style()->format(UiStyle::ServerMsg).background().color()); + + // FIXME set to false if appropriate + settings["ActionMessageUseBG"] = s.value("actionMessageUseBG", QVariant(false)); + if(settings["ActionMessageUseBG"].toBool()) { + ui.actionMessageUseBG->setChecked(true); + ui.actionMessageBG->setEnabled(true); + } + settings["ErrorMessageUseBG"] = s.value("errorMessageUseBG", QVariant(false)); + if(settings["ErrorMessageUseBG"].toBool()) { + ui.errorMessageUseBG->setChecked(true); + ui.errorMessageBG->setEnabled(true); + } + settings["JoinMessageUseBG"] = s.value("joinMessageUseBG", QVariant(false)); + if(settings["JoinMessageUseBG"].toBool()) { + ui.joinMessageUseBG->setChecked(true); + ui.joinMessageBG->setEnabled(true); + } + settings["KickMessageUseBG"] = s.value("kickMessageUseBG", QVariant(false)); + if(settings["KickMessageUseBG"].toBool()) { + ui.kickMessageUseBG->setChecked(true); + ui.kickMessageBG->setEnabled(true); + } + settings["ModeMessageUseBG"] = s.value("modeMessageUseBG", QVariant(false)); + if(settings["ModeMessageUseBG"].toBool()) { + ui.modeMessageUseBG->setChecked(true); + ui.modeMessageBG->setEnabled(true); + } + settings["NoticeMessageUseBG"] = s.value("noticeMessageUseBG", QVariant(false)); + if(settings["NoticeMessageUseBG"].toBool()) { + ui.noticeMessageUseBG->setChecked(true); + ui.noticeMessageBG->setEnabled(true); + } + settings["PartMessageUseBG"] = s.value("partMessageUseBG", QVariant(false)); + if(settings["PartMessageUseBG"].toBool()) { + ui.partMessageUseBG->setChecked(true); + ui.partMessageBG->setEnabled(true); + } + settings["PlainMessageUseBG"] = s.value("plainMessageUseBG", QVariant(false)); + if(settings["PlainMessageUseBG"].toBool()) { + ui.plainMessageUseBG->setChecked(true); + ui.plainMessageBG->setEnabled(true); + } + settings["QuitMessageUseBG"] = s.value("quitMessageUseBG", QVariant(false)); + if(settings["QuitMessageUseBG"].toBool()) { + ui.quitMessageUseBG->setChecked(true); + ui.quitMessageBG->setEnabled(true); + } + settings["RenameMessageUseBG"] = s.value("renameMessageUseBG", QVariant(false)); + if(settings["RenameMessageUseBG"].toBool()) { + ui.renameMessageUseBG->setChecked(true); + ui.renameMessageBG->setEnabled(true); + } + settings["ServerMessageUseBG"] = s.value("serverMessageUseBG", QVariant(false)); + if(settings["ServerMessageUseBG"].toBool()) { + ui.serverMessageUseBG->setChecked(true); + ui.serverMessageBG->setEnabled(true); + } - setChangedState(false); + ui.timestampFG->setColor(QtUi::style()->format(UiStyle::Timestamp).foreground().color()); + ui.timestampBG->setColor(QtUi::style()->format(UiStyle::Timestamp).background().color()); + ui.senderFG->setColor(QtUi::style()->format(UiStyle::Sender).foreground().color()); + ui.senderBG->setColor(QtUi::style()->format(UiStyle::Sender).background().color()); + settings["NewMsgMarkerFG"] = s.value("newMsgMarkerFG", QColor(Qt::red)); + ui.newMsgMarkerFG->setColor(settings["NewMsgMarkerFG"].value()); + + settings["TimestampUseBG"] = s.value("timestampUseBG", QVariant(false)); + if(settings["TimestampUseBG"].toBool()) { + ui.timestampUseBG->setChecked(true); + ui.timestampBG->setEnabled(true); + } + settings["SenderUseBG"] = s.value("senderUseBG", QVariant(false)); + if(settings["SenderUseBG"].toBool()) { + ui.senderUseBG->setChecked(true); + ui.senderBG ->setEnabled(true); + } + + ui.nickFG->setColor(QtUi::style()->format(UiStyle::Nick).foreground().color()); + ui.nickBG->setColor(QtUi::style()->format(UiStyle::Nick).background().color()); + ui.hostmaskFG->setColor(QtUi::style()->format(UiStyle::Hostmask).foreground().color()); + ui.hostmaskBG->setColor(QtUi::style()->format(UiStyle::Hostmask).background().color()); + ui.channelnameFG->setColor(QtUi::style()->format(UiStyle::ChannelName).foreground().color()); + ui.channelnameBG->setColor(QtUi::style()->format(UiStyle::ChannelName).background().color()); + ui.modeFlagsFG->setColor(QtUi::style()->format(UiStyle::ModeFlags).foreground().color()); + ui.modeFlagsBG->setColor(QtUi::style()->format(UiStyle::ModeFlags).background().color()); + ui.urlFG->setColor(QtUi::style()->format(UiStyle::Url).foreground().color()); + ui.urlBG->setColor(QtUi::style()->format(UiStyle::Url).background().color()); + + ui.highlightColor->setColor(QtUi::style()->highlightColor()); + + ui.color0->setColor(QtUi::style()->format(UiStyle::FgCol00).foreground().color()); + ui.color1->setColor(QtUi::style()->format(UiStyle::FgCol01).foreground().color()); + ui.color2->setColor(QtUi::style()->format(UiStyle::FgCol02).foreground().color()); + ui.color3->setColor(QtUi::style()->format(UiStyle::FgCol03).foreground().color()); + ui.color4->setColor(QtUi::style()->format(UiStyle::FgCol04).foreground().color()); + ui.color5->setColor(QtUi::style()->format(UiStyle::FgCol05).foreground().color()); + ui.color6->setColor(QtUi::style()->format(UiStyle::FgCol06).foreground().color()); + ui.color7->setColor(QtUi::style()->format(UiStyle::FgCol07).foreground().color()); + ui.color8->setColor(QtUi::style()->format(UiStyle::FgCol08).foreground().color()); + ui.color9->setColor(QtUi::style()->format(UiStyle::FgCol09).foreground().color()); + ui.color10->setColor(QtUi::style()->format(UiStyle::FgCol10).foreground().color()); + ui.color11->setColor(QtUi::style()->format(UiStyle::FgCol11).foreground().color()); + ui.color12->setColor(QtUi::style()->format(UiStyle::FgCol12).foreground().color()); + ui.color13->setColor(QtUi::style()->format(UiStyle::FgCol13).foreground().color()); + ui.color14->setColor(QtUi::style()->format(UiStyle::FgCol14).foreground().color()); + ui.color15->setColor(QtUi::style()->format(UiStyle::FgCol15).foreground().color()); + setChangedState(false); bufferviewPreview(); chatviewPreview(); } 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("errorMessageFG", ui.errorMessageFG->color()); - s.setValue("errorMessageBG", ui.errorMessageBG->color()); - s.setValue("noticeMessageFG", ui.noticeMessageFG->color()); - s.setValue("noticeMessageBG", ui.noticeMessageBG->color()); - s.setValue("plainMessageFG", ui.plainMessageFG->color()); - s.setValue("plainMessageBG", ui.plainMessageBG->color()); - s.setValue("serverMessageFG", ui.serverMessageFG->color()); - s.setValue("serverMessageBG", ui.serverMessageBG->color()); - s.setValue("actionMessageFG", ui.actionMessageFG->color()); - s.setValue("actionMessageBG", ui.actionMessageBG->color()); - s.setValue("joinMessageFG", ui.joinMessageFG->color()); - s.setValue("joinMessageBG", ui.joinMessageBG->color()); - s.setValue("kickMessageFG", ui.kickMessageFG->color()); - s.setValue("kickMessageBG", ui.kickMessageBG->color()); - s.setValue("modeMessageFG", ui.modeMessageFG->color()); - s.setValue("modeMessageBG", ui.modeMessageBG->color()); - s.setValue("partMessageFG", ui.partMessageFG->color()); - s.setValue("partMessageBG", ui.partMessageBG->color()); - s.setValue("quitMessageFG", ui.quitMessageFG->color()); - s.setValue("quitMessageBG", ui.quitMessageBG->color()); - s.setValue("renameMessageFG", ui.renameMessageFG->color()); - s.setValue("renameMessageBG", ui.renameMessageBG->color()); - - s.setValue("timestampFG", ui.timestampFG->color()); - s.setValue("timestampBG", ui.timestampBG->color()); - s.setValue("senderFG", ui.senderFG->color()); - s.setValue("senderBG", ui.senderBG->color()); - s.setValue("nickFG", ui.nickFG->color()); - s.setValue("nickBG", ui.nickBG->color()); - s.setValue("hostmaskFG", ui.hostmaskFG->color()); - s.setValue("hostmaskBG", ui.hostmaskBG->color()); - s.setValue("channelnameFG", ui.channelnameFG->color()); - s.setValue("channelnameBG", ui.channelnameBG->color()); - s.setValue("modeFlagsFG", ui.modeFlagsFG->color()); - s.setValue("modeFlagsBG", ui.modeFlagsBG->color()); - s.setValue("urlFG", ui.urlFG->color()); - s.setValue("urlBG", ui.urlBG->color()); - - - s.setValue("color0", ui.color0->color()); - s.setValue("color1", ui.color1->color()); - s.setValue("color2", ui.color2->color()); - s.setValue("color3", ui.color3->color()); - s.setValue("color4", ui.color4->color()); - s.setValue("color5", ui.color5->color()); - s.setValue("color6", ui.color6->color()); - s.setValue("color7", ui.color7->color()); - s.setValue("color8", ui.color8->color()); - s.setValue("color9", ui.color9->color()); - s.setValue("color10", ui.color10->color()); - s.setValue("color11", ui.color11->color()); - s.setValue("color12", ui.color12->color()); - s.setValue("color13", ui.color13->color()); - s.setValue("color14", ui.color14->color()); - s.setValue("color15", ui.color15->color()); - - load(); + QtUiStyleSettings s("Colors"); + 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(), ui.errorMessageBG->color(), ui.errorMessageUseBG->isChecked()); + s.setValue("errorMessageUseBG", ui.errorMessageUseBG->isChecked()); + saveColor(UiStyle::NoticeMsg, ui.noticeMessageFG->color(), ui.noticeMessageBG->color(), ui.noticeMessageUseBG->isChecked()); + s.setValue("noticeMessageUseBG", ui.noticeMessageUseBG->isChecked()); + saveColor(UiStyle::PlainMsg, ui.plainMessageFG->color(), ui.plainMessageBG->color(), ui.plainMessageUseBG->isChecked()); + s.setValue("plainMessageUseBG", ui.plainMessageUseBG->isChecked()); + saveColor(UiStyle::ServerMsg, ui.serverMessageFG->color(), ui.serverMessageBG->color(), ui.serverMessageUseBG->isChecked()); + s.setValue("serverMessageUseBG", ui.serverMessageUseBG->isChecked()); + saveColor(UiStyle::ActionMsg, ui.actionMessageFG->color(), ui.actionMessageBG->color(), ui.actionMessageUseBG->isChecked()); + s.setValue("actionMessageUseBG", ui.actionMessageUseBG->isChecked()); + saveColor(UiStyle::JoinMsg, ui.joinMessageFG->color(), ui.joinMessageBG->color(), ui.joinMessageUseBG->isChecked()); + s.setValue("joinMessageUseBG", ui.joinMessageUseBG->isChecked()); + saveColor(UiStyle::KickMsg, ui.kickMessageFG->color(), ui.kickMessageBG->color(), ui.kickMessageUseBG->isChecked()); + s.setValue("kickMessageUseBG", ui.kickMessageUseBG->isChecked()); + saveColor(UiStyle::ModeMsg, ui.modeMessageFG->color(), ui.modeMessageBG->color(), ui.modeMessageUseBG->isChecked()); + s.setValue("modeMessageUseBG", ui.modeMessageUseBG->isChecked()); + saveColor(UiStyle::NoticeMsg, ui.noticeMessageFG->color(), ui.noticeMessageBG->color(), ui.noticeMessageUseBG->isChecked()); + s.setValue("noticeMessageUseBG", ui.noticeMessageUseBG->isChecked()); + saveColor(UiStyle::PartMsg, ui.partMessageFG->color(), ui.partMessageBG->color(), ui.partMessageUseBG->isChecked()); + s.setValue("partMessageUseBG", ui.partMessageUseBG->isChecked()); + saveColor(UiStyle::QuitMsg, ui.quitMessageFG->color(), ui.quitMessageBG->color(), ui.quitMessageUseBG->isChecked()); + s.setValue("quitMessageUseBG", ui.quitMessageUseBG->isChecked()); + saveColor(UiStyle::RenameMsg, ui.renameMessageFG->color(), ui.renameMessageBG->color(), ui.renameMessageUseBG->isChecked()); + s.setValue("renameMessageUseBG", ui.renameMessageUseBG->isChecked()); + + QtUi::style()->setHighlightColor(ui.highlightColor->color()); + + saveColor(UiStyle::Timestamp, ui.timestampFG->color(), ui.timestampBG->color(), ui.timestampUseBG->isChecked()); + s.setValue("timestampUseBG", ui.timestampUseBG->isChecked()); + saveColor(UiStyle::Sender, ui.senderFG->color(), ui.senderBG->color(), ui.senderUseBG->isChecked()); + s.setValue("senderUseBG", ui.senderUseBG->isChecked()); + s.setValue("newMsgMarkerFG", ui.newMsgMarkerFG->color()); + + /* + saveColor(UiStyle::Nick, ui.nickFG->color(), ui.nickBG->color(), ui.nickUseBG->isChecked()); + s.setValue("nickUseBG", ui.nickUseBG->isChecked()); + saveColor(UiStyle::Hostmask, ui.hostmaskFG->color(), ui.hostmaskBG->color(), ui.hostmaskUseBG->isChecked()); + s.setValue("hostmaskUseBG", ui.hostmaskUseBG->isChecked()); + saveColor(UiStyle::ChannelName, ui.channelnameFG->color(), ui.channelnameBG->color(), ui.channelnameUseBG->isChecked()); + s.setValue("channelnameUseBG", ui.channelnameUseBG->isChecked()); + saveColor(UiStyle::ModeFlags, ui.modeFlagsFG->color(), ui.modeFlagsBG->color(), ui.modeFlagsUseBG->isChecked()); + s.setValue("modeFlagsUseBG", ui.modeFlagsUseBG->isChecked()); + saveColor(UiStyle::Url, ui.urlFG->color(), ui.urlBG->color(), ui.urlUseBG->isChecked()); + s.setValue("urlUseBG", ui.urlUseBG->isChecked()); + */ + + saveMircColor(0, ui.color0->color()); + saveMircColor(1, ui.color1->color()); + saveMircColor(2, ui.color2->color()); + saveMircColor(3, ui.color3->color()); + saveMircColor(4, ui.color4->color()); + saveMircColor(5, ui.color5->color()); + saveMircColor(6, ui.color6->color()); + saveMircColor(7, ui.color7->color()); + saveMircColor(8, ui.color8->color()); + saveMircColor(9, ui.color9->color()); + saveMircColor(10, ui.color10->color()); + saveMircColor(11, ui.color11->color()); + saveMircColor(12, ui.color12->color()); + saveMircColor(13, ui.color13->color()); + saveMircColor(14, ui.color14->color()); + saveMircColor(15, ui.color15->color()); + + load(); //TODO: remove when settings hash map is unnescessary setChangedState(false); } +void ColorSettingsPage::saveColor(UiStyle::FormatType formatType, const QColor &foreground, const QColor &background, bool enableBG) { + QTextCharFormat format = QtUi::style()->format(formatType); + format.setForeground(QBrush(foreground)); + if(enableBG) + format.setBackground(QBrush(background)); + else + format.clearBackground(); + QtUi::style()->setFormat(formatType, format, Settings::Custom); +} + +void ColorSettingsPage::saveMircColor(int num, const QColor &col) { + QTextCharFormat fgf, bgf; + fgf.setForeground(QBrush(col)); QtUi::style()->setFormat((UiStyle::FormatType)(UiStyle::FgCol00 | num<<24), fgf, Settings::Custom); + bgf.setBackground(QBrush(col)); QtUi::style()->setFormat((UiStyle::FormatType)(UiStyle::BgCol00 | num<<28), bgf, Settings::Custom); +} + void ColorSettingsPage::widgetHasChanged() { bool changed = testHasChanged(); - if(changed != hasChanged()) setChangedState(changed); + if(changed != hasChanged()) { + setChangedState(changed); + } + bufferviewPreview(); + chatviewPreview(); } bool ColorSettingsPage::testHasChanged() { - if(settings["InactiveActivity"].value() != ui.inactiveActivity->color()) return true; - if(settings["NoActivity"].value() != ui.noActivity->color()) return true; - if(settings["HighlightActivity"].value() != ui.highlightActivity->color()) return true; - if(settings["NewMessageActivity"].value() != ui.newMessageActivity->color()) return true; - if(settings["OtherActivity"].value() != ui.otherActivity->color()) return true; - - if(settings["ErrorMessageFG"].value() != ui.errorMessageFG->color()) return true; - if(settings["ErrorMessageBG"].value() != ui.errorMessageBG->color()) return true; - if(settings["NoticeMessageFG"].value() != ui.noticeMessageFG->color()) return true; - if(settings["NoticeMessageBG"].value() != ui.noticeMessageBG->color()) return true; - if(settings["PlainMessageFG"].value() != ui.plainMessageFG->color()) return true; - if(settings["PlainMessageBG"].value() != ui.plainMessageBG->color()) return true; - if(settings["ServerMessageFG"].value() != ui.serverMessageFG->color()) return true; - if(settings["ServerMessageBG"].value() != ui.serverMessageBG->color()) return true; - if(settings["ActionMessageFG"].value() != ui.actionMessageFG->color()) return true; - if(settings["ActionMessageBG"].value() != ui.actionMessageBG->color()) return true; - if(settings["JoinMessageFG"].value() != ui.joinMessageFG->color()) return true; - if(settings["JoinMessageBG"].value() != ui.joinMessageBG->color()) return true; - if(settings["KickMessageFG"].value() != ui.kickMessageFG->color()) return true; - if(settings["KickMessageBG"].value() != ui.kickMessageBG->color()) return true; - if(settings["ModeMessageFG"].value() != ui.modeMessageFG->color()) return true; - if(settings["ModeMessageBG"].value() != ui.modeMessageBG->color()) return true; - if(settings["PartMessageFG"].value() != ui.partMessageFG->color()) return true; - if(settings["PartMessageBG"].value() != ui.partMessageBG->color()) return true; - if(settings["QuitMessageFG"].value() != ui.quitMessageFG->color()) return true; - if(settings["QuitMessageBG"].value() != ui.quitMessageBG->color()) return true; - if(settings["RenameMessageFG"].value() != ui.renameMessageFG->color()) return true; - if(settings["RenameMessageBG"].value() != ui.renameMessageBG->color()) return true; - - if(settings["TimestampFG"].value() != ui.timestampFG->color()) return true; - if(settings["TimestampBG"].value() != ui.timestampBG->color()) return true; - if(settings["SenderFG"].value() != ui.senderFG->color()) return true; - if(settings["SenderBG"].value() != ui.senderBG->color()) return true; - if(settings["NickFG"].value() != ui.nickFG->color()) return true; - if(settings["NickBG"].value() != ui.nickBG->color()) return true; - if(settings["HostmaskFG"].value() != ui.hostmaskFG->color()) return true; - if(settings["HostmaskBG"].value() != ui.hostmaskBG->color()) return true; - if(settings["ChannelnameFG"].value() != ui.channelnameFG->color()) return true; - if(settings["ChannelnameBG"].value() != ui.channelnameBG->color()) return true; - if(settings["ModeFlagsFG"].value() != ui.modeFlagsFG->color()) return true; - if(settings["ModeFlagsBG"].value() != ui.modeFlagsBG->color()) return true; - if(settings["UrlFG"].value() != ui.urlFG->color()) return true; - if(settings["UrlBG"].value() != ui.urlBG->color()) return true; - - if(settings["Color0"].value() != ui.color0->color()) return true; - if(settings["Color1"].value() != ui.color1->color()) return true; - if(settings["Color2"].value() != ui.color2->color()) return true; - if(settings["Color3"].value() != ui.color3->color()) return true; - if(settings["Color4"].value() != ui.color4->color()) return true; - if(settings["Color5"].value() != ui.color5->color()) return true; - if(settings["Color6"].value() != ui.color6->color()) return true; - if(settings["Color7"].value() != ui.color7->color()) return true; - if(settings["Color8"].value() != ui.color8->color()) return true; - if(settings["Color9"].value() != ui.color9->color()) return true; - if(settings["Color10"].value() != ui.color10->color()) return true; - if(settings["Color11"].value() != ui.color11->color()) return true; - if(settings["Color12"].value() != ui.color12->color()) return true; - if(settings["Color13"].value() != ui.color13->color()) return true; - if(settings["Color14"].value() != ui.color14->color()) return true; - if(settings["Color15"].value() != ui.color15->color()) return true; + if(settings["HighlightActivityFG"].value() != ui.highlightActivityFG->color()) return true; + if(settings["HighlightActivityBG"].value() != ui.highlightActivityBG->color()) return true; + if(settings["HighlightActivityUseBG"].toBool() != ui.highlightActivityUseBG->isChecked()) return true; + if(settings["NewMessageActivityFG"].value() != ui.newMessageActivityFG->color()) return true; + if(settings["NewMessageActivityBG"].value() != ui.newMessageActivityBG->color()) return true; + if(settings["NewMessageActivityUseBG"].toBool() != ui.newMessageActivityUseBG->isChecked()) return true; + if(settings["OtherActivityFG"].value() != ui.otherActivityFG->color()) return true; + if(settings["OtherActivityBG"].value() != 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(QtUi::style()->format(UiStyle::ErrorMsg).background().color() != ui.errorMessageBG->color()) return true; + if(settings["ErrorMessageUseBG"].toBool() != ui.errorMessageUseBG->isChecked()) return true; + if(QtUi::style()->format(UiStyle::ErrorMsg).foreground().color() != ui.errorMessageFG->color()) return true; + if(QtUi::style()->format(UiStyle::ErrorMsg).background().color() != ui.errorMessageBG->color()) return true; + if(settings["NoticeMessageUseBG"].toBool() != ui.noticeMessageUseBG->isChecked()) return true; + if(QtUi::style()->format(UiStyle::PlainMsg).foreground().color() != ui.plainMessageFG->color()) return true; + if(QtUi::style()->format(UiStyle::PlainMsg).background().color() != ui.plainMessageBG->color()) return true; + if(settings["PlainMessageUseBG"].toBool() != ui.plainMessageUseBG->isChecked()) return true; + if(QtUi::style()->format(UiStyle::ServerMsg).foreground().color() != ui.serverMessageFG->color()) return true; + if(QtUi::style()->format(UiStyle::ServerMsg).background().color() != ui.serverMessageBG->color()) return true; + if(settings["ServerMessageUseBG"].toBool() != ui.serverMessageUseBG->isChecked()) return true; + if(QtUi::style()->format(UiStyle::ActionMsg).foreground().color() != ui.actionMessageFG->color()) return true; + if(QtUi::style()->format(UiStyle::ActionMsg).background().color() != ui.actionMessageBG->color()) return true; + if(settings["ActionMessageUseBG"].toBool() != ui.actionMessageUseBG->isChecked()) return true; + if(QtUi::style()->format(UiStyle::JoinMsg).foreground().color() != ui.joinMessageFG->color()) return true; + if(QtUi::style()->format(UiStyle::JoinMsg).background().color() != ui.joinMessageBG->color()) return true; + if(settings["JoinMessageUseBG"].toBool() != ui.joinMessageUseBG->isChecked()) return true; + if(QtUi::style()->format(UiStyle::KickMsg).foreground().color() != ui.kickMessageFG->color()) return true; + if(QtUi::style()->format(UiStyle::KickMsg).background().color() != ui.joinMessageBG->color()) return true; + if(settings["KickMessageUseBG"].toBool() != ui.kickMessageUseBG->isChecked()) return true; + if(QtUi::style()->format(UiStyle::ModeMsg).foreground().color() != ui.modeMessageFG->color()) return true; + if(QtUi::style()->format(UiStyle::ModeMsg).background().color() != ui.modeMessageBG->color()) return true; + if(settings["ModeMessageUseBG"].toBool() != ui.modeMessageUseBG->isChecked()) return true; + if(QtUi::style()->format(UiStyle::NoticeMsg).foreground().color() != ui.noticeMessageFG->color()) return true; + if(QtUi::style()->format(UiStyle::NoticeMsg).background().color() != ui.noticeMessageBG->color()) return true; + if(settings["NoticeMessageUseBG"].toBool() != ui.noticeMessageUseBG->isChecked()) return true; + if(QtUi::style()->format(UiStyle::PartMsg).foreground().color() != ui.partMessageFG->color()) return true; + if(QtUi::style()->format(UiStyle::PartMsg).background().color() != ui.partMessageBG->color()) return true; + if(settings["PartMessageUseBG"].toBool() != ui.partMessageUseBG->isChecked()) return true; + if(QtUi::style()->format(UiStyle::QuitMsg).foreground().color() != ui.quitMessageFG->color()) return true; + if(QtUi::style()->format(UiStyle::QuitMsg).background().color() != ui.quitMessageBG->color()) return true; + if(settings["QuitMessageUseBG"].toBool() != ui.quitMessageUseBG->isChecked()) return true; + if(QtUi::style()->format(UiStyle::RenameMsg).foreground().color() != ui.renameMessageFG->color()) return true; + if(QtUi::style()->format(UiStyle::RenameMsg).background().color() != ui.renameMessageBG->color()) return true; + if(settings["RenameMessageUseBG"].toBool() != ui.renameMessageUseBG->isChecked()) return true; + + if(QtUi::style()->highlightColor() != ui.highlightColor->color()) return true; + + if(QtUi::style()->format(UiStyle::Timestamp).foreground().color() != ui.timestampFG->color()) return true; + if(QtUi::style()->format(UiStyle::Timestamp).background().color() != ui.timestampBG->color()) return true; + if(settings["TimestampUseBG"].toBool() != ui.timestampUseBG->isChecked()) return true; + if(QtUi::style()->format(UiStyle::Sender).foreground().color() != ui.senderFG->color()) return true; + if(QtUi::style()->format(UiStyle::Sender).background().color() != ui.senderBG->color()) return true; + if(settings["SenderUseBG"].toBool() != ui.senderUseBG->isChecked()) return true; + if(settings["NewMsgMarkerFG"].value() != ui.newMsgMarkerFG->color()) return true; + + /* + if(QtUi::style()->format(UiStyle::Nick).foreground().color() != ui.nickFG->color()) return true; + if(QtUi::style()->format(UiStyle::Nick).background().color() != ui.nickBG->color()) return true; + if(settings["nickUseBG"].toBool() != ui.nickUseBG->isChecked()) return true; + if(QtUi::style()->format(UiStyle::Hostmask).foreground().color() != ui.hostmaskFG->color()) return true; + if(QtUi::style()->format(UiStyle::Hostmask).background().color() != ui.hostmaskBG->color()) return true; + if(settings["hostmaskUseBG"].toBool() != ui.hostmaskUseBG->isChecked()) return true; + if(QtUi::style()->format(UiStyle::ChannelName).foreground().color() != ui.channelnameFG->color()) return true; + if(QtUi::style()->format(UiStyle::ChannelName).background().color() != ui.channelnameBG->color()) return true; + if(settings["channelnameUseBG"].toBool() != ui.channelnameUseBG->isChecked()) return true; + if(QtUi::style()->format(UiStyle::ModeFlags).foreground().color() != ui.modeFlagsFG->color()) return true; + if(QtUi::style()->format(UiStyle::ModeFlags).background().color() != ui.modeFlagsBG->color()) return true; + if(settings["modeFlagsUseBG"].toBool() != ui.modeFlagsUseBG->isChecked()) return true; + if(QtUi::style()->format(UiStyle::Url).foreground().color() != ui.urlFG->color()) return true; + if(QtUi::style()->format(UiStyle::Url).background().color() != ui.urlBG->color()) return true; + if(settings["urlUseBG"].toBool() != ui.urlUseBG->isChecked()) return true; + */ + + if(QtUi::style()->format(UiStyle::FgCol00).foreground().color() != ui.color0->color()) return true; + if(QtUi::style()->format(UiStyle::FgCol01).foreground().color() != ui.color1->color()) return true; + if(QtUi::style()->format(UiStyle::FgCol02).foreground().color() != ui.color2->color()) return true; + if(QtUi::style()->format(UiStyle::FgCol03).foreground().color() != ui.color3->color()) return true; + if(QtUi::style()->format(UiStyle::FgCol04).foreground().color() != ui.color4->color()) return true; + if(QtUi::style()->format(UiStyle::FgCol05).foreground().color() != ui.color5->color()) return true; + if(QtUi::style()->format(UiStyle::FgCol06).foreground().color() != ui.color6->color()) return true; + if(QtUi::style()->format(UiStyle::FgCol07).foreground().color() != ui.color7->color()) return true; + if(QtUi::style()->format(UiStyle::FgCol08).foreground().color() != ui.color8->color()) return true; + if(QtUi::style()->format(UiStyle::FgCol09).foreground().color() != ui.color9->color()) return true; + if(QtUi::style()->format(UiStyle::FgCol10).foreground().color() != ui.color10->color()) return true; + if(QtUi::style()->format(UiStyle::FgCol11).foreground().color() != ui.color11->color()) return true; + if(QtUi::style()->format(UiStyle::FgCol12).foreground().color() != ui.color12->color()) return true; + if(QtUi::style()->format(UiStyle::FgCol13).foreground().color() != ui.color13->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; return false; } @@ -505,8 +553,6 @@ void ColorSettingsPage::chooseColor(QWidget *widget) { button->setColor(color); } widgetHasChanged(); - bufferviewPreview(); - chatviewPreview(); } void ColorSettingsPage::chatviewPreview() { @@ -516,33 +562,36 @@ void ColorSettingsPage::chatviewPreview() { void ColorSettingsPage::bufferviewPreview() { ui.bufferviewPreview->clear(); ui.bufferviewPreview->setColumnCount(1); - ui.bufferviewPreview->setHeaderLabels(QStringList("Buffers")); + ui.bufferviewPreview->setHeaderLabels(QStringList(tr("Buffers"))); - QTreeWidgetItem *topLevelItem = new QTreeWidgetItem((QTreeWidget*)0, QStringList(QString("network"))); + QTreeWidgetItem *topLevelItem = new QTreeWidgetItem((QTreeWidget*)0, QStringList(tr("Network"))); ui.bufferviewPreview->insertTopLevelItem(0, topLevelItem); QList 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())); + QTreeWidgetItem *inactiveActivity = new QTreeWidgetItem((QTreeWidget*)0, QStringList(tr("#incative"))); + items.append(inactiveActivity); + inactiveActivity->setForeground(0, QPalette().color(QPalette::Dark)); - QTreeWidgetItem *noActivity = new QTreeWidgetItem((QTreeWidget*)0, QStringList(QString("#channel with no activity"))); + QTreeWidgetItem *noActivity = new QTreeWidgetItem((QTreeWidget*)0, QStringList(tr("#regular"))); items.append(noActivity); - noActivity->setForeground(0, QBrush(ui.noActivity->color())); - QTreeWidgetItem *highlightActivity = new QTreeWidgetItem((QTreeWidget*)0, QStringList(QString("#channel with highlight"))); + QTreeWidgetItem *highlightActivity = new QTreeWidgetItem((QTreeWidget*)0, QStringList(tr("#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"))); + QTreeWidgetItem *newMessageActivity = new QTreeWidgetItem((QTreeWidget*)0, QStringList(tr("#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"))); + QTreeWidgetItem *otherActivity = new QTreeWidgetItem((QTreeWidget*)0, QStringList(tr("#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);