From 826409f0fdf8027b615a2f382398f100f36e7392 Mon Sep 17 00:00:00 2001 From: Alexander von Renteln Date: Mon, 10 Mar 2008 14:50:27 +0000 Subject: [PATCH] Background color can now be set. MircColors bug has now been fixed. Highlight color can be set. --- src/qtui/settingspages/colorsettingspage.cpp | 261 ++++++++++++++----- src/qtui/settingspages/colorsettingspage.h | 3 +- src/qtui/settingspages/colorsettingspage.ui | 21 +- 3 files changed, 216 insertions(+), 69 deletions(-) diff --git a/src/qtui/settingspages/colorsettingspage.cpp b/src/qtui/settingspages/colorsettingspage.cpp index 11ac57c5..31308561 100644 --- a/src/qtui/settingspages/colorsettingspage.cpp +++ b/src/qtui/settingspages/colorsettingspage.cpp @@ -66,26 +66,38 @@ ColorSettingsPage::ColorSettingsPage(QWidget *parent) //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); @@ -109,22 +121,30 @@ ColorSettingsPage::ColorSettingsPage(QWidget *parent) 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); @@ -199,20 +219,6 @@ ColorSettingsPage::ColorSettingsPage(QWidget *parent) 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.nickUseBG->setEnabled(false); ui.hostmaskFG->setEnabled(false); @@ -285,6 +291,7 @@ void ColorSettingsPage::defaultServerActivity() { ui.serverMessageBG->setColor(QColor("white")); ui.serverMessageBG->setEnabled(false); ui.serverMessageUseBG->setChecked(false); + ui.highlightColor->setColor(QColor("lightcoral")); widgetHasChanged(); chatviewPreview(); @@ -443,34 +450,99 @@ void ColorSettingsPage::load() { settings["ActionMessageBG"] = s.value("actionMessageBG", QVariant(QColor("white"))); ui.actionMessageBG->setColor(settings["ActionMessageBG"].value()); + settings["ActionMessageUseBG"] = s.value("actionMessageUseBG", QVariant(false)); + if(settings["ActionMessageUseBG"].toBool()) { + ui.actionMessageUseBG->setChecked(true); + ui.actionMessageBG->setEnabled(true); + } settings["ErrorMessageBG"] = s.value("errorMessageBG", QVariant(QColor("white"))); ui.errorMessageBG->setColor(settings["ErrorMessageBG"].value()); + settings["ErrorMessageUseBG"] = s.value("errorMessageUseBG", QVariant(false)); + if(settings["ErrorMessageUseBG"].toBool()) { + ui.errorMessageUseBG->setChecked(true); + ui.errorMessageBG->setEnabled(true); + } settings["JoinMessageBG"] = s.value("joinMessageBG", QVariant(QColor("white"))); ui.joinMessageBG->setColor(settings["JoinMessageBG"].value()); + settings["JoinMessageUseBG"] = s.value("joinMessageUseBG", QVariant(false)); + if(settings["JoinMessageUseBG"].toBool()) { + ui.joinMessageUseBG->setChecked(true); + ui.joinMessageBG->setEnabled(true); + } settings["KickMessageBG"] = s.value("kickMessageBG", QVariant(QColor("white"))); ui.kickMessageBG->setColor(settings["KickMessageBG"].value()); + settings["KickMessageUseBG"] = s.value("kickMessageUseBG", QVariant(false)); + if(settings["KickMessageUseBG"].toBool()) { + ui.kickMessageUseBG->setChecked(true); + ui.kickMessageBG->setEnabled(true); + } settings["ModeMessageBG"] = s.value("modeMessageBG", QVariant(QColor("white"))); ui.modeMessageBG->setColor(settings["ModeMessageBG"].value()); + settings["ModeMessageUseBG"] = s.value("modeMessageUseBG", QVariant(false)); + if(settings["ModeMessageUseBG"].toBool()) { + ui.modeMessageUseBG->setChecked(true); + ui.modeMessageBG->setEnabled(true); + } settings["NoticeMessageBG"] = s.value("noticeMessageBG", QVariant(QColor("white"))); ui.noticeMessageBG->setColor(settings["NoticeMessageBG"].value()); + settings["NoticeMessageUseBG"] = s.value("noticeMessageUseBG", QVariant(false)); + if(settings["NoticeMessageUseBG"].toBool()) { + ui.noticeMessageUseBG->setChecked(true); + ui.noticeMessageBG->setEnabled(true); + } settings["PartMessageBG"] = s.value("partMessageBG", QVariant(QColor("white"))); ui.partMessageBG->setColor(settings["PartMessageBG"].value()); + settings["PartMessageUseBG"] = s.value("partMessageUseBG", QVariant(false)); + if(settings["PartMessageUseBG"].toBool()) { + ui.partMessageUseBG->setChecked(true); + ui.partMessageBG->setEnabled(true); + } settings["PlainMessageBG"] = s.value("plainMessageBG", QVariant(QColor("white"))); ui.plainMessageBG->setColor(settings["PlainMessageBG"].value()); + settings["PlainMessageUseBG"] = s.value("plainMessageUseBG", QVariant(false)); + if(settings["PlainMessageUseBG"].toBool()) { + ui.plainMessageUseBG->setChecked(true); + ui.plainMessageBG->setEnabled(true); + } settings["QuitMessageBG"] = s.value("quitMessageBG", QVariant(QColor("white"))); ui.quitMessageBG->setColor(settings["QuitMessageBG"].value()); + settings["QuitMessageUseBG"] = s.value("quitMessageUseBG", QVariant(false)); + if(settings["QuitMessageUseBG"].toBool()) { + ui.quitMessageUseBG->setChecked(true); + ui.quitMessageBG->setEnabled(true); + } settings["RenameMessageBG"] = s.value("renameMessageBG", QVariant(QColor("white"))); ui.renameMessageBG->setColor(settings["RenameMessageBG"].value()); + settings["RenameMessageUseBG"] = s.value("renameMessageUseBG", QVariant(false)); + if(settings["RenameMessageUseBG"].toBool()) { + ui.renameMessageUseBG->setChecked(true); + ui.renameMessageBG->setEnabled(true); + } settings["ServerMessageBG"] = s.value("serverMessageBG", QVariant(QColor("white"))); ui.serverMessageBG->setColor(settings["ServerMessageBG"].value()); + settings["ServerMessageUseBG"] = s.value("serverMessageUseBG", QVariant(false)); + if(settings["ServerMessageUseBG"].toBool()) { + ui.serverMessageUseBG->setChecked(true); + ui.serverMessageBG->setEnabled(true); + } ui.timestampFG->setColor(QtUi::style()->format(UiStyle::Timestamp).foreground().color()); ui.senderFG->setColor(QtUi::style()->format(UiStyle::Sender).foreground().color()); settings["TimestampBG"] = s.value("timestampBG", QVariant(QColor("white"))); ui.timestampBG->setColor(settings["TimestampBG"].value()); + settings["TimestampUseBG"] = s.value("timestampUseBG", QVariant(false)); + if(settings["TimestampUseBG"].toBool()) { + ui.timestampUseBG->setChecked(true); + ui.timestampBG->setEnabled(true); + } settings["SenderBG"] = s.value("senderBG", QVariant(QColor("white"))); ui.senderBG->setColor(settings["SenderBG"].value()); + settings["SenderUseBG"] = s.value("senderUseBG", QVariant(false)); + if(settings["SenderUseBG"].toBool()) { + ui.senderUseBG->setChecked(true); + ui.senderBG ->setEnabled(true); + } settings["NickFG"] = s.value("nickFG", QVariant(QColor("black"))); ui.nickFG->setColor(settings["NickFG"].value()); settings["NickBG"] = s.value("nickBG", QVariant(QColor("white"))); @@ -492,6 +564,9 @@ void ColorSettingsPage::load() { settings["UrlBG"] = s.value("urlBG", QVariant(QColor("white"))); ui.urlBG->setColor(settings["UrlBG"].value()); + settings["HighlightColor"] = s.value("highlightColor", QVariant(QColor("lightcoral"))); + ui.highlightColor->setColor(settings["HighlightColor"].value()); + 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()); @@ -546,44 +621,59 @@ void ColorSettingsPage::save() { s.setValue("otherActivityBG", ui.otherActivityBG->color()); s.setValue("otherActivityUseBG", ui.otherActivityUseBG->isChecked()); - saveColor(UiStyle::ErrorMsg, ui.errorMessageFG->color()); + saveColor(true, UiStyle::ErrorMsg, ui.errorMessageFG->color()); + saveColor(false, UiStyle::ErrorMsg, ui.errorMessageBG->color(), ui.errorMessageUseBG->isChecked()); s.setValue("errorMessageBG", ui.errorMessageBG->color()); s.setValue("errorMessageUseBG", ui.errorMessageUseBG->isChecked()); - saveColor(UiStyle::NoticeMsg, ui.noticeMessageFG->color()); + saveColor(true, UiStyle::NoticeMsg, ui.noticeMessageFG->color()); + saveColor(false, UiStyle::NoticeMsg, ui.noticeMessageBG->color(), ui.noticeMessageUseBG->isChecked()); s.setValue("noticeMessageBG", ui.noticeMessageBG->color()); s.setValue("noticeMessageUseBG", ui.noticeMessageUseBG->isChecked()); - saveColor(UiStyle::PlainMsg, ui.plainMessageFG->color()); + saveColor(true, UiStyle::PlainMsg, ui.plainMessageFG->color()); + saveColor(false, UiStyle::PlainMsg, ui.plainMessageBG->color(), ui.plainMessageUseBG->isChecked()); s.setValue("plainMessageBG", ui.plainMessageBG->color()); s.setValue("plainMessageUseBG", ui.plainMessageUseBG->isChecked()); - saveColor(UiStyle::ServerMsg, ui.serverMessageFG->color()); + saveColor(true, UiStyle::ServerMsg, ui.serverMessageFG->color()); + saveColor(false, UiStyle::ServerMsg, ui.serverMessageBG->color(), ui.serverMessageUseBG->isChecked()); s.setValue("serverMessageBG", ui.serverMessageBG->color()); s.setValue("serverMessageUseBG", ui.serverMessageUseBG->isChecked()); - saveColor(UiStyle::ActionMsg, ui.actionMessageFG->color()); + saveColor(true, UiStyle::ActionMsg, ui.actionMessageFG->color()); + saveColor(false, UiStyle::ActionMsg, ui.actionMessageBG->color(), ui.actionMessageUseBG->isChecked()); s.setValue("actionMessageBG", ui.actionMessageBG->color()); s.setValue("actionMessageUseBG", ui.actionMessageUseBG->isChecked()); - saveColor(UiStyle::JoinMsg, ui.joinMessageFG->color()); + saveColor(true, UiStyle::JoinMsg, ui.joinMessageFG->color()); + saveColor(false, UiStyle::JoinMsg, ui.joinMessageBG->color(), ui.joinMessageUseBG->isChecked()); s.setValue("joinMessageBG", ui.joinMessageBG->color()); s.setValue("joinMessageUseBG", ui.joinMessageUseBG->isChecked()); - saveColor(UiStyle::KickMsg, ui.kickMessageFG->color()); + saveColor(true, UiStyle::KickMsg, ui.kickMessageFG->color()); + saveColor(false, UiStyle::KickMsg, ui.kickMessageBG->color(), ui.kickMessageUseBG->isChecked()); s.setValue("kickMessageBG", ui.kickMessageBG->color()); s.setValue("kickMessageUseBG", ui.kickMessageUseBG->isChecked()); - saveColor(UiStyle::ModeMsg, ui.modeMessageFG->color()); + saveColor(true, UiStyle::ModeMsg, ui.modeMessageFG->color()); + saveColor(false, UiStyle::ModeMsg, ui.modeMessageBG->color(), ui.modeMessageUseBG->isChecked()); s.setValue("modeMessageBG", ui.modeMessageBG->color()); s.setValue("modeMessageUseBG", ui.modeMessageUseBG->isChecked()); - saveColor(UiStyle::PartMsg, ui.partMessageFG->color()); + saveColor(true, UiStyle::PartMsg, ui.partMessageFG->color()); + saveColor(false, UiStyle::PartMsg, ui.partMessageBG->color(), ui.partMessageUseBG->isChecked()); s.setValue("partMessageBG", ui.partMessageBG->color()); s.setValue("partMessageUseBG", ui.partMessageUseBG->isChecked()); - saveColor(UiStyle::QuitMsg, ui.quitMessageFG->color()); + saveColor(true, UiStyle::QuitMsg, ui.quitMessageFG->color()); + saveColor(false, UiStyle::QuitMsg, ui.quitMessageBG->color(), ui.quitMessageUseBG->isChecked()); s.setValue("quitMessageBG", ui.quitMessageBG->color()); s.setValue("quitMessageUseBG", ui.quitMessageUseBG->isChecked()); - saveColor(UiStyle::RenameMsg, ui.renameMessageFG->color()); + saveColor(true, UiStyle::RenameMsg, ui.renameMessageFG->color()); + saveColor(false, UiStyle::RenameMsg, ui.renameMessageBG->color(), ui.renameMessageUseBG->isChecked()); s.setValue("renameMessageBG", ui.renameMessageBG->color()); s.setValue("renameMessageUseBG", ui.renameMessageUseBG->isChecked()); - saveColor(UiStyle::Timestamp, ui.timestampFG->color()); + s.setValue("highlightColor", ui.highlightColor->color()); + + saveColor(true, UiStyle::Timestamp, ui.timestampFG->color()); + saveColor(false, UiStyle::Timestamp, ui.timestampBG->color(), ui.timestampUseBG->isChecked()); s.setValue("timestampBG", ui.timestampBG->color()); s.setValue("timestampUseBG", ui.timestampUseBG->isChecked()); - saveColor(UiStyle::Sender, ui.senderFG->color()); + saveColor(true, UiStyle::Sender, ui.senderFG->color()); + saveColor(false, UiStyle::Sender, ui.senderBG->color(), ui.senderUseBG->isChecked()); s.setValue("senderBG", ui.senderBG->color()); s.setValue("senderUseBG", ui.senderUseBG->isChecked()); s.setValue("nickFG", ui.nickFG->color()); @@ -602,41 +692,39 @@ void ColorSettingsPage::save() { s.setValue("urlBG", ui.urlBG->color()); s.setValue("urlUseBG", ui.urlUseBG->isChecked()); - /* This ain't working! - saveColor(UiStyle::FgCol00, ui.color0->color()); - saveColor(UiStyle::FgCol01, ui.color1->color()); - saveColor(UiStyle::FgCol02, ui.color2->color()); - saveColor(UiStyle::FgCol03, ui.color3->color()); - saveColor(UiStyle::FgCol04, ui.color4->color()); - saveColor(UiStyle::FgCol05, ui.color5->color()); - saveColor(UiStyle::FgCol06, ui.color6->color()); - saveColor(UiStyle::FgCol07, ui.color7->color()); - saveColor(UiStyle::FgCol08, ui.color8->color()); - saveColor(UiStyle::FgCol09, ui.color9->color()); - saveColor(UiStyle::FgCol10, ui.color10->color()); - saveColor(UiStyle::FgCol11, ui.color11->color()); - saveColor(UiStyle::FgCol12, ui.color12->color()); - saveColor(UiStyle::FgCol13, ui.color13->color()); - saveColor(UiStyle::FgCol14, ui.color14->color()); - saveColor(UiStyle::FgCol15, ui.color15->color()); - - saveColor(UiStyle::BgCol00, ui.color0->color()); - saveColor(UiStyle::BgCol01, ui.color1->color()); - saveColor(UiStyle::BgCol02, ui.color2->color()); - saveColor(UiStyle::BgCol03, ui.color3->color()); - saveColor(UiStyle::BgCol04, ui.color4->color()); - saveColor(UiStyle::BgCol05, ui.color5->color()); - saveColor(UiStyle::BgCol06, ui.color6->color()); - saveColor(UiStyle::BgCol07, ui.color7->color()); - saveColor(UiStyle::BgCol08, ui.color8->color()); - saveColor(UiStyle::BgCol09, ui.color9->color()); - saveColor(UiStyle::BgCol10, ui.color10->color()); - saveColor(UiStyle::BgCol11, ui.color11->color()); - saveColor(UiStyle::BgCol12, ui.color12->color()); - saveColor(UiStyle::BgCol13, ui.color13->color()); - saveColor(UiStyle::BgCol14, ui.color14->color()); - saveColor(UiStyle::BgCol15, ui.color15->color()); -*/ + saveMircColor(true, UiStyle::FgCol00, ui.color0->color()); + saveMircColor(true, UiStyle::FgCol01, ui.color1->color()); + saveMircColor(true, UiStyle::FgCol02, ui.color2->color()); + saveMircColor(true, UiStyle::FgCol03, ui.color3->color()); + saveMircColor(true, UiStyle::FgCol04, ui.color4->color()); + saveMircColor(true, UiStyle::FgCol05, ui.color5->color()); + saveMircColor(true, UiStyle::FgCol06, ui.color6->color()); + saveMircColor(true, UiStyle::FgCol07, ui.color7->color()); + saveMircColor(true, UiStyle::FgCol08, ui.color8->color()); + saveMircColor(true, UiStyle::FgCol09, ui.color9->color()); + saveMircColor(true, UiStyle::FgCol10, ui.color10->color()); + saveMircColor(true, UiStyle::FgCol11, ui.color11->color()); + saveMircColor(true, UiStyle::FgCol12, ui.color12->color()); + saveMircColor(true, UiStyle::FgCol13, ui.color13->color()); + saveMircColor(true, UiStyle::FgCol14, ui.color14->color()); + saveMircColor(true, UiStyle::FgCol15, ui.color15->color()); + + saveMircColor(false, UiStyle::BgCol00, ui.color0->color()); + saveMircColor(false, UiStyle::BgCol01, ui.color1->color()); + saveMircColor(false, UiStyle::BgCol02, ui.color2->color()); + saveMircColor(false, UiStyle::BgCol03, ui.color3->color()); + saveMircColor(false, UiStyle::BgCol04, ui.color4->color()); + saveMircColor(false, UiStyle::BgCol05, ui.color5->color()); + saveMircColor(false, UiStyle::BgCol06, ui.color6->color()); + saveMircColor(false, UiStyle::BgCol07, ui.color7->color()); + saveMircColor(false, UiStyle::BgCol08, ui.color8->color()); + saveMircColor(false, UiStyle::BgCol09, ui.color9->color()); + saveMircColor(false, UiStyle::BgCol10, ui.color10->color()); + saveMircColor(false, UiStyle::BgCol11, ui.color11->color()); + saveMircColor(false, UiStyle::BgCol12, ui.color12->color()); + saveMircColor(false, UiStyle::BgCol13, ui.color13->color()); + saveMircColor(false, UiStyle::BgCol14, ui.color14->color()); + saveMircColor(false, UiStyle::BgCol15, ui.color15->color()); s.setValue("onlineStatusFG", ui.onlineStatusFG->color()); s.setValue("onlineStatusBG", ui.onlineStatusBG->color()); @@ -649,12 +737,38 @@ void ColorSettingsPage::save() { setChangedState(false); } -void ColorSettingsPage::saveColor(UiStyle::FormatType formatType, const QColor &color) { +void ColorSettingsPage::saveColor(bool foreground, UiStyle::FormatType formatType, const QColor &color, bool enableColor) { QTextCharFormat format = QtUi::style()->format(formatType); - format.setForeground(QBrush(color)); + if(foreground) { + if(enableColor) { + format.setForeground(QBrush(color)); + } else { + format.clearForeground(); + } + } else { + if(enableColor) { + format.setBackground(QBrush(color)); + } else { + format.clearBackground(); + } + } + QtUi::style()->setFormat(formatType, format, Settings::Custom); +} + +//TODO: to be removed and exchanged by saveColor +void ColorSettingsPage::saveMircColor(bool foreground, UiStyle::FormatType formatType, const QColor &color) { + QTextCharFormat format = QtUi::style()->format(formatType); + if(foreground) { + format.setForeground(QBrush(color)); + format.clearBackground(); + } else { + format.clearForeground(); + format.setBackground(QBrush(color)); + } QtUi::style()->setFormat(formatType, format, Settings::Custom); } + void ColorSettingsPage::widgetHasChanged() { bool changed = testHasChanged(); if(changed != hasChanged()) { @@ -683,32 +797,47 @@ bool ColorSettingsPage::testHasChanged() { if(QtUi::style()->format(UiStyle::ErrorMsg).foreground().color() != ui.errorMessageFG->color()) return true; if(settings["ErrorMessageBG"].value() != ui.errorMessageBG->color()) return true; + if(settings["ErrorMessageUseBG"].toBool() != ui.errorMessageUseBG->isChecked()) return true; if(QtUi::style()->format(UiStyle::NoticeMsg).foreground().color() != ui.noticeMessageFG->color()) return true; if(settings["NoticeMessageBG"].value() != ui.noticeMessageBG->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(settings["PlainMessageBG"].value() != 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(settings["ServerMessageBG"].value() != 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(settings["ActionMessageBG"].value() != 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(settings["JoinMessageBG"].value() != 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(settings["KickMessageBG"].value() != ui.kickMessageBG->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(settings["ModeMessageBG"].value() != ui.modeMessageBG->color()) return true; + if(settings["ModeMessageUseBG"].toBool() != ui.modeMessageUseBG->isChecked()) return true; if(QtUi::style()->format(UiStyle::PartMsg).foreground().color() != ui.partMessageFG->color()) return true; if(settings["PartMessageBG"].value() != 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(settings["QuitMessageBG"].value() != 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(settings["RenameMessageBG"].value() != ui.renameMessageBG->color()) return true; + if(settings["RenameMessageUseBG"].toBool() != ui.renameMessageUseBG->isChecked()) return true; - if(QtUi::style()->format(UiStyle::Timestamp).foreground().color() != ui.timestampFG->color()) return true; - if(QtUi::style()->format(UiStyle::Sender).foreground().color() != ui.senderFG->color()) return true; + if(settings["HighlightColor"].value() != ui.highlightColor->color()) return true; + if(QtUi::style()->format(UiStyle::Timestamp).foreground().color() != ui.timestampFG->color()) return true; if(settings["TimestampBG"].value() != 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(settings["SenderBG"].value() != ui.senderBG->color()) return true; + if(settings["SenderUseBG"].toBool() != ui.senderUseBG->isChecked()) 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; diff --git a/src/qtui/settingspages/colorsettingspage.h b/src/qtui/settingspages/colorsettingspage.h index 4df8d69f..6cd21597 100644 --- a/src/qtui/settingspages/colorsettingspage.h +++ b/src/qtui/settingspages/colorsettingspage.h @@ -61,7 +61,8 @@ class ColorSettingsPage : public SettingsPage { bool testHasChanged(); void chatviewPreview(); void bufferviewPreview(); - void saveColor(UiStyle::FormatType formatType, const QColor &color); + void saveColor(bool foreground, UiStyle::FormatType formatType, const QColor &color, bool enableColor=true); + void saveMircColor(bool foreground, UiStyle::FormatType formatType, const QColor &color); }; #endif diff --git a/src/qtui/settingspages/colorsettingspage.ui b/src/qtui/settingspages/colorsettingspage.ui index 8fbc33dd..e6171279 100644 --- a/src/qtui/settingspages/colorsettingspage.ui +++ b/src/qtui/settingspages/colorsettingspage.ui @@ -22,7 +22,7 @@ - 0 + 1 @@ -525,7 +525,24 @@ - + + + + Highlight Message: + + + + + + + false + + + + + + + Qt::Vertical -- 2.20.1