X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fqtui%2Fsettingspages%2Fcolorsettingspage.cpp;h=6fff138925ca0e9e96e3839106ea7198fda99277;hp=e8af475f087ffdcb697b57a4c321cebc823d490f;hb=590af8cd7e3acfc4fd390aefe2177053b484b545;hpb=765e6548b026a61e8b71ec8b336d1e4ad4c7ac8f diff --git a/src/qtui/settingspages/colorsettingspage.cpp b/src/qtui/settingspages/colorsettingspage.cpp index e8af475f..6fff1389 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,217 +22,35 @@ #include "qtui.h" #include "qtuisettings.h" +#include "qtuistyle.h" #include "colorbutton.h" #include #include -// #define PHONDEV - 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.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())); - connect(ui.errorMessageBG, SIGNAL(clicked()), mapper, SLOT(map())); - connect(ui.errorMessageUseBG, SIGNAL(clicked()), this, SLOT(widgetHasChanged())); - connect(ui.noticeMessageFG, SIGNAL(clicked()), mapper, SLOT(map())); - connect(ui.noticeMessageBG, SIGNAL(clicked()), mapper, SLOT(map())); - connect(ui.noticeMessageUseBG, SIGNAL(clicked()), this, SLOT(widgetHasChanged())); - connect(ui.plainMessageFG, SIGNAL(clicked()), mapper, SLOT(map())); - connect(ui.plainMessageBG, SIGNAL(clicked()), mapper, SLOT(map())); - connect(ui.plainMessageUseBG, SIGNAL(clicked()), this, SLOT(widgetHasChanged())); - connect(ui.serverMessageFG, SIGNAL(clicked()), mapper, SLOT(map())); - connect(ui.serverMessageBG, SIGNAL(clicked()), mapper, SLOT(map())); - connect(ui.serverMessageUseBG, SIGNAL(clicked()), this, SLOT(widgetHasChanged())); - connect(ui.actionMessageFG, SIGNAL(clicked()), mapper, SLOT(map())); - connect(ui.actionMessageBG, SIGNAL(clicked()), mapper, SLOT(map())); - connect(ui.actionMessageUseBG, SIGNAL(clicked()), this, SLOT(widgetHasChanged())); - connect(ui.joinMessageFG, SIGNAL(clicked()), mapper, SLOT(map())); - connect(ui.joinMessageBG, SIGNAL(clicked()), mapper, SLOT(map())); - connect(ui.joinMessageUseBG, SIGNAL(clicked()), this, SLOT(widgetHasChanged())); - connect(ui.kickMessageFG, SIGNAL(clicked()), mapper, SLOT(map())); - connect(ui.kickMessageBG, SIGNAL(clicked()), mapper, SLOT(map())); - connect(ui.kickMessageUseBG, SIGNAL(clicked()), this, SLOT(widgetHasChanged())); - connect(ui.modeMessageFG, SIGNAL(clicked()), mapper, SLOT(map())); - connect(ui.modeMessageBG, SIGNAL(clicked()), mapper, SLOT(map())); - connect(ui.modeMessageUseBG, SIGNAL(clicked()), this, SLOT(widgetHasChanged())); - connect(ui.partMessageFG, SIGNAL(clicked()), mapper, SLOT(map())); - connect(ui.partMessageBG, SIGNAL(clicked()), mapper, SLOT(map())); - connect(ui.partMessageUseBG, SIGNAL(clicked()), this, SLOT(widgetHasChanged())); - connect(ui.quitMessageFG, SIGNAL(clicked()), mapper, SLOT(map())); - connect(ui.quitMessageBG, SIGNAL(clicked()), mapper, SLOT(map())); - connect(ui.quitMessageUseBG, SIGNAL(clicked()), this, SLOT(widgetHasChanged())); - connect(ui.renameMessageFG, SIGNAL(clicked()), mapper, SLOT(map())); - connect(ui.renameMessageBG, SIGNAL(clicked()), mapper, SLOT(map())); - connect(ui.renameMessageUseBG, SIGNAL(clicked()), this, SLOT(widgetHasChanged())); - connect(ui.highlightColor, 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); - mapper->setMapping(ui.highlightColor, ui.highlightColor); - - //Message Layout tab: - connect(ui.timestampFG, SIGNAL(clicked()), mapper, SLOT(map())); - connect(ui.timestampBG, SIGNAL(clicked()), mapper, SLOT(map())); - connect(ui.timestampUseBG, SIGNAL(clicked()), this, SLOT(widgetHasChanged())); - connect(ui.senderFG, SIGNAL(clicked()), mapper, SLOT(map())); - connect(ui.senderBG, SIGNAL(clicked()), mapper, SLOT(map())); - connect(ui.senderUseBG, SIGNAL(clicked()), this, SLOT(widgetHasChanged())); - connect(ui.nickFG, SIGNAL(clicked()), mapper, SLOT(map())); - connect(ui.nickBG, SIGNAL(clicked()), mapper, SLOT(map())); - connect(ui.nickUseBG, SIGNAL(clicked()), this, SLOT(widgetHasChanged())); - connect(ui.hostmaskFG, SIGNAL(clicked()), mapper, SLOT(map())); - connect(ui.hostmaskBG, SIGNAL(clicked()), mapper, SLOT(map())); - connect(ui.hostmaskUseBG, SIGNAL(clicked()), this, SLOT(widgetHasChanged())); - connect(ui.channelnameFG, SIGNAL(clicked()), mapper, SLOT(map())); - connect(ui.channelnameBG, SIGNAL(clicked()), mapper, SLOT(map())); - connect(ui.channelnameUseBG, SIGNAL(clicked()), this, SLOT(widgetHasChanged())); - connect(ui.modeFlagsFG, SIGNAL(clicked()), mapper, SLOT(map())); - connect(ui.modeFlagsBG, SIGNAL(clicked()), mapper, SLOT(map())); - connect(ui.modeFlagsUseBG, SIGNAL(clicked()), this, SLOT(widgetHasChanged())); - connect(ui.urlFG, SIGNAL(clicked()), mapper, SLOT(map())); - connect(ui.urlBG, SIGNAL(clicked()), mapper, SLOT(map())); - connect(ui.urlUseBG, SIGNAL(clicked()), this, SLOT(widgetHasChanged())); - - 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); - - //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); + 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 *))); //disable unused buttons: -#ifndef PHONDEV - ui.inactiveActivityUseBG->setEnabled(false); - ui.noActivityUseBG->setEnabled(false); - ui.highlightActivityUseBG->setEnabled(false); - ui.newMessageActivityUseBG->setEnabled(false); - ui.otherActivityUseBG->setEnabled(false); - - ui.nickFG->setEnabled(false); - ui.nickUseBG->setEnabled(false); - ui.hostmaskFG->setEnabled(false); - ui.hostmaskUseBG->setEnabled(false); - ui.channelnameFG->setEnabled(false); - ui.channelnameUseBG->setEnabled(false); - ui.modeFlagsFG->setEnabled(false); - ui.modeFlagsUseBG->setEnabled(false); - ui.urlFG->setEnabled(false); - ui.urlUseBG->setEnabled(false); - - ui.onlineStatusUseBG->setEnabled(false); - ui.awayStatusUseBG->setEnabled(false); -#endif + foreach(QWidget *widget, findChildren()) { + if(widget->property("NotInUse").toBool()) { + widget->setEnabled(false); + widget->hide(); + } + } } bool ColorSettingsPage::hasDefaults() const { @@ -335,6 +153,8 @@ void ColorSettingsPage::defaultMessage() { ui.senderBG->setColor(QColor("white")); ui.senderBG->setEnabled(false); ui.senderUseBG->setChecked(false); + ui.senderAutoColor->setChecked(false); + ui.newMsgMarkerFG->setColor(Qt::red); /* ui.nickFG->setColor(QColor("black")); @@ -391,7 +211,7 @@ void ColorSettingsPage::defaultNickview() { } void ColorSettingsPage::load() { - QtUiSettings s("QtUiStyle/Colors"); + QtUiStyleSettings s("Colors"); settings["InactiveActivityFG"] = s.value("inactiveActivityFG", QVariant(QColor(Qt::gray))); ui.inactiveActivityFG->setColor(settings["InactiveActivityFG"].value()); settings["InactiveActivityBG"] = s.value("inactiveActivityBG", QVariant(QColor(Qt::white))); @@ -512,6 +332,10 @@ void ColorSettingsPage::load() { 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["SenderAutoColor"] = s.value("senderAutoColor", QVariant(false)); + ui.senderAutoColor->setChecked(settings["SenderAutoColor"].toBool()); + 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()) { @@ -535,8 +359,7 @@ void ColorSettingsPage::load() { ui.urlFG->setColor(QtUi::style()->format(UiStyle::Url).foreground().color()); ui.urlBG->setColor(QtUi::style()->format(UiStyle::Url).background().color()); - settings["HighlightColor"] = s.value("highlightColor", QVariant(QColor("lightcoral"))); - ui.highlightColor->setColor(settings["HighlightColor"].value()); + 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()); @@ -575,7 +398,7 @@ void ColorSettingsPage::load() { } void ColorSettingsPage::save() { - QtUiSettings s("QtUiStyle/Colors"); + QtUiStyleSettings s("Colors"); s.setValue("noActivityFG", ui.noActivityFG->color()); s.setValue("noActivityBG", ui.noActivityBG->color()); s.setValue("noActivityUseBG", ui.noActivityUseBG->isChecked()); @@ -617,12 +440,15 @@ void ColorSettingsPage::save() { saveColor(UiStyle::RenameMsg, ui.renameMessageFG->color(), ui.renameMessageBG->color(), ui.renameMessageUseBG->isChecked()); s.setValue("renameMessageUseBG", ui.renameMessageUseBG->isChecked()); - s.setValue("highlightColor", ui.highlightColor->color()); + 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("senderAutoColor", ui.senderAutoColor->isChecked()); + QtUi::style()->setSenderAutoColor(ui.senderAutoColor->isChecked()); + s.setValue("newMsgMarkerFG", ui.newMsgMarkerFG->color()); /* saveColor(UiStyle::Nick, ui.nickFG->color(), ui.nickBG->color(), ui.nickUseBG->isChecked()); @@ -744,7 +570,7 @@ bool ColorSettingsPage::testHasChanged() { if(QtUi::style()->format(UiStyle::RenameMsg).background().color() != ui.renameMessageBG->color()) return true; if(settings["RenameMessageUseBG"].toBool() != ui.renameMessageUseBG->isChecked()) return true; - if(settings["HighlightColor"].value() != ui.highlightColor->color()) 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; @@ -752,6 +578,8 @@ bool ColorSettingsPage::testHasChanged() { 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["SenderAutoColor"].toBool() != ui.senderAutoColor->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;