From: Alexander von Renteln Date: Thu, 21 Feb 2008 18:19:01 +0000 (+0000) Subject: changes in the color settingspage towards enabling the background color X-Git-Tag: 0.2.0-alpha1~8 X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=commitdiff_plain;h=68efe6df6d72f1ac498d0594866455418552665d;hp=c6e866f973fdf13b512e44cb193819230d160d49 changes in the color settingspage towards enabling the background color allowing the user to change the colors in the nickniew colorbutton now uses a dense pattern when being disabled --- diff --git a/src/qtui/settingspages/colorsettingspage.cpp b/src/qtui/settingspages/colorsettingspage.cpp index c17346c7..b1e88f72 100644 --- a/src/qtui/settingspages/colorsettingspage.cpp +++ b/src/qtui/settingspages/colorsettingspage.cpp @@ -27,23 +27,41 @@ #include #include +// #define PHONDEV + 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())); @@ -158,33 +176,57 @@ ColorSettingsPage::ColorSettingsPage(QWidget *parent) 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: - 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.nickBG->setEnabled(false); + ui.nickUseBG->setEnabled(false); ui.hostmaskFG->setEnabled(false); - ui.hostmaskBG->setEnabled(false); + ui.hostmaskUseBG->setEnabled(false); ui.channelnameFG->setEnabled(false); - ui.channelnameBG->setEnabled(false); + ui.channelnameUseBG->setEnabled(false); ui.modeFlagsFG->setEnabled(false); - ui.modeFlagsBG->setEnabled(false); + ui.modeFlagsUseBG->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 { @@ -197,14 +239,30 @@ void ColorSettingsPage::defaults() { defaultUserActivity(); defaultMessage(); defaultMircColorCodes(); + defaultNickview(); } 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(); @@ -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")); + 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.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.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.serverMessageBG->setEnabled(false); + ui.serverMessageUseBG->setChecked(false); 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")); + 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.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.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.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.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.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); widgetHasChanged(); chatviewPreview(); @@ -246,20 +326,33 @@ void ColorSettingsPage::defaultUserActivity() { 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->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.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); widgetHasChanged(); chatviewPreview(); @@ -286,18 +379,55 @@ void ColorSettingsPage::defaultMircColorCodes() { 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"); - 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["InactiveActivityFG"] = s.value("inactiveActivityFG", QVariant(QColor(Qt::gray))); + ui.inactiveActivityFG->setColor(settings["InactiveActivityFG"].value()); + settings["InactiveActivityBG"] = s.value("inactiveActivityBG", QVariant(QColor(Qt::white))); + ui.inactiveActivityBG->setColor(settings["InactiveActivityBG"].value()); + 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()); + settings["NoActivityBG"] = s.value("noActivityBG", QVariant(QColor(Qt::white))); + ui.noActivityBG->setColor(settings["NoActivityBG"].value()); + 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()); + 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()); @@ -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()); + settings["OnlineStatusFG"] = s.value("onlineStatusFG", QVariant(QColor(Qt::black))); + ui.onlineStatusFG->setColor(settings["OnlineStatusFG"].value()); + settings["OnlineStatusBG"] = s.value("onlineStatusBG", QVariant(QColor(Qt::white))); + ui.onlineStatusBG->setColor(settings["OnlineStatusBG"].value()); + 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()); + settings["AwayStatusBG"] = s.value("awayStatusBG", QVariant(QColor(Qt::white))); + ui.awayStatusBG->setColor(settings["AwayStatusBG"].value()); + settings["AwayStatusUseBG"] = s.value("awayStatusUseBG"); + ui.awayStatusUseBG->setChecked(settings["AwayStatusUseBG"].toBool()); setChangedState(false); bufferviewPreview(); @@ -387,50 +530,77 @@ void ColorSettingsPage::load() { 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()); + s.setValue("errorMessageUseBG", ui.errorMessageUseBG->isChecked()); 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()); + s.setValue("plainMessageUseBG", ui.plainMessageUseBG->isChecked()); 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()); + s.setValue("actionMessageUseBG", ui.actionMessageUseBG->isChecked()); 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()); + s.setValue("kickMessageUseBG", ui.kickMessageUseBG->isChecked()); 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()); + s.setValue("partMessageUseBG", ui.partMessageUseBG->isChecked()); 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()); + s.setValue("renameMessageUseBG", ui.renameMessageUseBG->isChecked()); saveColor(UiStyle::Timestamp, ui.timestampFG->color()); - saveColor(UiStyle::Sender, ui.senderFG->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("senderUseBG", ui.senderUseBG->isChecked()); 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("hostmaskUseBG", ui.hostmaskUseBG->isChecked()); 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("modeFlagsUseBG", ui.modeFlagsUseBG->isChecked()); 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()); @@ -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()); + + 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); @@ -478,15 +655,29 @@ void ColorSettingsPage::saveColor(UiStyle::FormatType formatType, const QColor & 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["InactiveActivityFG"].value() != ui.inactiveActivityFG->color()) return true; + if(settings["InactiveActivityBG"].value() != ui.inactiveActivityBG->color()) return true; + if(settings["InactiveActivityUseBG"].toBool() != ui.inactiveActivityUseBG->isChecked()) return true; + if(settings["NoActivityFG"].value() != ui.noActivityFG->color()) return true; + if(settings["NoActivityBG"].value() != ui.noActivityBG->color()) return true; + if(settings["NoActivityUseBG"].toBool() != ui.noActivityUseBG->isChecked()) 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(settings["ErrorMessageBG"].value() != 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(settings["OnlineStatusFG"].value() != ui.onlineStatusFG->color()) return true; + if(settings["OnlineStatusBG"].value() != ui.onlineStatusBG->color()) return true; + if(settings["OnlineStatusUseBG"].toBool() != ui.onlineStatusUseBG->isChecked()) return true; + if(settings["AwayStatusFG"].value() != ui.awayStatusFG->color()) return true; + if(settings["AwayStatusBG"].value() != ui.awayStatusBG->color()) return true; + if(settings["AwayStatusUseBG"].toBool() != ui.awayStatusUseBG->isChecked()) return true; + return false; } @@ -555,8 +753,6 @@ void ColorSettingsPage::chooseColor(QWidget *widget) { button->setColor(color); } widgetHasChanged(); - bufferviewPreview(); - 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); + topLevelItem->setForeground(0, QBrush(ui.noActivityFG->color())); + if(ui.noActivityUseBG->isChecked()) + topLevelItem->setBackground(0, QBrush(ui.noActivityBG->color())); - 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())); + QList 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); - 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); - 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); - 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); - 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); diff --git a/src/qtui/settingspages/colorsettingspage.h b/src/qtui/settingspages/colorsettingspage.h index 4049a980..4df8d69f 100644 --- a/src/qtui/settingspages/colorsettingspage.h +++ b/src/qtui/settingspages/colorsettingspage.h @@ -47,6 +47,7 @@ class ColorSettingsPage : public SettingsPage { void defaultUserActivity(); void defaultMessage(); void defaultMircColorCodes(); + void defaultNickview(); private slots: void widgetHasChanged(); diff --git a/src/qtui/settingspages/colorsettingspage.ui b/src/qtui/settingspages/colorsettingspage.ui index cec8cd81..112fe37c 100644 --- a/src/qtui/settingspages/colorsettingspage.ui +++ b/src/qtui/settingspages/colorsettingspage.ui @@ -24,7 +24,7 @@ 0 - + Bufferview @@ -35,77 +35,225 @@ Activities: - - + + - Inactive: + FG + + + Qt::AlignCenter - - + + - + BG + + + Qt::AlignCenter + + + + + + + Use BG + + + Qt::AlignCenter - No Activity: + Default: - + + + + + + + + + + false + + + + + + + + + + + 0 + 0 + + - + - Highlight: + Inactive: - + + + + + + + + + + false + + + + + + + + + + + 0 + 0 + + + + Qt::LeftToRight + - + - New Message: + Highlight: - + + + + + + + + + + false + + + + + + + + + + + 0 + 0 + + - + - Other Activity: + New Message: - + + + + + + + + + + false + + + + + + + + + + + 0 + 0 + + + + + Other Activity: + + + + + + + + + + + + + + false + + + + + + + + + + + 0 + 0 + + + + + + + + Qt::Vertical @@ -126,7 +274,7 @@ Preview: - + @@ -139,15 +287,15 @@ - + Qt::Vertical - 20 - 40 + 318 + 171 @@ -175,6 +323,36 @@ Server Activity + + + + Foreground + + + Qt::AlignCenter + + + + + + + Background + + + Qt::AlignCenter + + + + + + + Use BG + + + Qt::AlignCenter + + + @@ -191,6 +369,25 @@ + + false + + + + + + + + + + + 0 + 0 + + + + Qt::LeftToRight + @@ -212,6 +409,25 @@ + + false + + + + + + + + + + + 0 + 0 + + + + Qt::LeftToRight + @@ -233,6 +449,25 @@ + + false + + + + + + + + + + + 0 + 0 + + + + Qt::LeftToRight + @@ -254,28 +489,27 @@ + + false + - - - - Foreground + + + + + 0 + 0 + - - Qt::AlignCenter + + Qt::LeftToRight - - - - - Background - - - Qt::AlignCenter + @@ -319,6 +553,16 @@ + + + + Use BG + + + Qt::AlignCenter + + + @@ -335,6 +579,25 @@ + + false + + + + + + + + + + + 0 + 0 + + + + Qt::LeftToRight + @@ -356,6 +619,25 @@ + + false + + + + + + + + + + + 0 + 0 + + + + Qt::LeftToRight + @@ -377,6 +659,25 @@ + + false + + + + + + + + + + + 0 + 0 + + + + Qt::LeftToRight + @@ -398,6 +699,25 @@ + + false + + + + + + + + + + + 0 + 0 + + + + Qt::LeftToRight + @@ -419,6 +739,25 @@ + + false + + + + + + + + + + + 0 + 0 + + + + Qt::LeftToRight + @@ -440,6 +779,25 @@ + + false + + + + + + + + + + + 0 + 0 + + + + Qt::LeftToRight + @@ -461,6 +819,25 @@ + + false + + + + + + + + + + + 0 + 0 + + + + Qt::LeftToRight + @@ -493,6 +870,16 @@ + + + + Use BG + + + Qt::AlignCenter + + + @@ -509,6 +896,25 @@ + + false + + + + + + + + + + + 0 + 0 + + + + Qt::LeftToRight + @@ -530,6 +936,25 @@ + + false + + + + + + + + + + + 0 + 0 + + + + Qt::LeftToRight + @@ -551,6 +976,25 @@ + + false + + + + + + + + + + + 0 + 0 + + + + Qt::LeftToRight + @@ -572,6 +1016,25 @@ + + false + + + + + + + + + + + 0 + 0 + + + + Qt::LeftToRight + @@ -593,6 +1056,25 @@ + + false + + + + + + + + + + + 0 + 0 + + + + Qt::LeftToRight + @@ -614,6 +1096,25 @@ + + false + + + + + + + + + + + 0 + 0 + + + + Qt::LeftToRight + @@ -635,6 +1136,25 @@ + + false + + + + + + + + + + + 0 + 0 + + + + Qt::LeftToRight + @@ -923,6 +1443,173 @@ + + + Nickview + + + + + + Nick status: + + + + + + FG + + + Qt::AlignCenter + + + + + + + BG + + + Qt::AlignCenter + + + + + + + Use BG + + + Qt::AlignCenter + + + + + + + Online: + + + + + + + + + + + + + + false + + + + + + + + + + + 0 + 0 + + + + Qt::LeftToRight + + + + + + + + + + Away: + + + + + + + + + + + + + + false + + + + + + + + + + + 0 + 0 + + + + + + + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + + + + Preview: + + + + + + + 1 + + + + + + + + + + + Qt::Vertical + + + + 261 + 151 + + + + + + @@ -935,5 +1622,406 @@ - + + + inactiveActivityUseBG + clicked(bool) + inactiveActivityBG + setEnabled(bool) + + + 249 + 111 + + + 197 + 111 + + + + + noActivityUseBG + clicked(bool) + noActivityBG + setEnabled(bool) + + + 249 + 147 + + + 197 + 147 + + + + + highlightActivityUseBG + clicked(bool) + highlightActivityBG + setEnabled(bool) + + + 249 + 183 + + + 197 + 183 + + + + + newMessageActivityUseBG + clicked(bool) + newMessageActivityBG + setEnabled(bool) + + + 249 + 219 + + + 197 + 219 + + + + + otherActivityUseBG + clicked(bool) + otherActivityBG + setEnabled(bool) + + + 249 + 255 + + + 197 + 255 + + + + + onlineStatusUseBG + clicked(bool) + onlineStatusBG + setEnabled(bool) + + + 202 + 111 + + + 150 + 111 + + + + + awayStatusUseBG + clicked(bool) + awayStatusBG + setEnabled(bool) + + + 202 + 147 + + + 150 + 147 + + + + + errorMessageUseBG + clicked(bool) + errorMessageBG + setEnabled(bool) + + + 374 + 119 + + + 280 + 119 + + + + + noticeMessageUseBG + clicked(bool) + noticeMessageBG + setEnabled(bool) + + + 374 + 155 + + + 280 + 155 + + + + + plainMessageUseBG + clicked(bool) + plainMessageBG + setEnabled(bool) + + + 374 + 191 + + + 280 + 191 + + + + + serverMessageUseBG + clicked(bool) + serverMessageBG + setEnabled(bool) + + + 374 + 227 + + + 280 + 227 + + + + + actionMessageUseBG + clicked(bool) + actionMessageBG + setEnabled(bool) + + + 376 + 121 + + + 285 + 121 + + + + + joinMessageUseBG + clicked(bool) + joinMessageBG + setEnabled(bool) + + + 376 + 157 + + + 285 + 157 + + + + + kickMessageUseBG + clicked(bool) + kickMessageBG + setEnabled(bool) + + + 376 + 193 + + + 285 + 193 + + + + + modeMessageUseBG + clicked(bool) + modeMessageBG + setEnabled(bool) + + + 376 + 229 + + + 285 + 229 + + + + + partMessageUseBG + clicked(bool) + partMessageBG + setEnabled(bool) + + + 376 + 265 + + + 285 + 265 + + + + + quitMessageUseBG + clicked(bool) + quitMessageBG + setEnabled(bool) + + + 376 + 301 + + + 285 + 301 + + + + + renameMessageUseBG + clicked(bool) + renameMessageBG + setEnabled(bool) + + + 376 + 337 + + + 285 + 337 + + + + + timestampUseBG + clicked(bool) + timestampBG + setEnabled(bool) + + + 372 + 121 + + + 273 + 121 + + + + + senderUseBG + clicked(bool) + senderBG + setEnabled(bool) + + + 372 + 157 + + + 273 + 157 + + + + + nickUseBG + clicked(bool) + nickBG + setEnabled(bool) + + + 372 + 193 + + + 273 + 193 + + + + + hostmaskUseBG + clicked(bool) + hostmaskBG + setEnabled(bool) + + + 372 + 229 + + + 273 + 229 + + + + + channelnameUseBG + clicked(bool) + channelnameBG + setEnabled(bool) + + + 372 + 265 + + + 273 + 265 + + + + + modeFlagsUseBG + clicked(bool) + modeFlagsBG + setEnabled(bool) + + + 372 + 301 + + + 273 + 301 + + + + + urlUseBG + clicked(bool) + urlBG + setEnabled(bool) + + + 372 + 337 + + + 273 + 337 + + + + diff --git a/src/uisupport/bufferviewfilter.cpp b/src/uisupport/bufferviewfilter.cpp index bae2522d..af1686e0 100644 --- a/src/uisupport/bufferviewfilter.cpp +++ b/src/uisupport/bufferviewfilter.cpp @@ -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 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(); diff --git a/src/uisupport/colorbutton.cpp b/src/uisupport/colorbutton.cpp index 61e6c14d..4a833d06 100644 --- a/src/uisupport/colorbutton.cpp +++ b/src/uisupport/colorbutton.cpp @@ -44,20 +44,25 @@ QColor ColorButton::color() const { } 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); - 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); - //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); - //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)); } diff --git a/src/uisupport/nickviewfilter.cpp b/src/uisupport/nickviewfilter.cpp index 28f1a7c7..993bac08 100644 --- a/src/uisupport/nickviewfilter.cpp +++ b/src/uisupport/nickviewfilter.cpp @@ -21,6 +21,9 @@ #include "nickviewfilter.h" #include "networkmodel.h" + +#include "uisettings.h" + #include /****************************************************************************************** @@ -42,10 +45,15 @@ QVariant NickViewFilter::data(const QModelIndex &index, int role) 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()) - return QColor(Qt::gray); + return awayStatusFG.value(); - return QColor(Qt::black); + return onlineStatusFG.value(); // FIXME:: make colors configurable; + // FIXME: use the style interface instead of qsettings } diff --git a/version.inc b/version.inc index f6a0f4be..113c435b 100644 --- a/version.inc +++ b/version.inc @@ -5,7 +5,7 @@ quasselVersion = "0.2.0-pre"; quasselDate = "2008-02-20"; - quasselBuild = 563; + quasselBuild = 572; //! Minimum client build number the core needs clientBuildNeeded = 563;