From ef48d209f03f02debf369ff689002f1b32165100 Mon Sep 17 00:00:00 2001 From: Marcus Eggenberger Date: Tue, 3 Feb 2009 15:10:26 +0100 Subject: [PATCH 1/1] Brining back the removed color options --- src/qtui/settingspages/colorsettingspage.cpp | 106 ++++- src/qtui/settingspages/colorsettingspage.h | 1 + src/qtui/settingspages/colorsettingspage.ui | 445 ++++++++++++++++--- src/uisupport/bufferview.cpp | 28 +- src/uisupport/bufferview.h | 2 + src/uisupport/nickview.cpp | 9 +- src/uisupport/nickview.h | 4 + 7 files changed, 508 insertions(+), 87 deletions(-) diff --git a/src/qtui/settingspages/colorsettingspage.cpp b/src/qtui/settingspages/colorsettingspage.cpp index 01bc5177..3038c180 100644 --- a/src/qtui/settingspages/colorsettingspage.cpp +++ b/src/qtui/settingspages/colorsettingspage.cpp @@ -44,6 +44,7 @@ ColorSettingsPage::ColorSettingsPage(QWidget *parent) connect(mapper, SIGNAL(mapped(QWidget *)), this, SLOT(chooseColor(QWidget *))); + //disable unused buttons: foreach(QWidget *widget, findChildren()) { if(widget->property("NotInUse").toBool()) { widget->setEnabled(false); @@ -62,6 +63,7 @@ void ColorSettingsPage::defaults() { defaultUserActivity(); defaultMessage(); defaultMircColorCodes(); + defaultNickview(); widgetHasChanged(); bufferviewPreview(); @@ -69,6 +71,14 @@ void ColorSettingsPage::defaults() { } void ColorSettingsPage::defaultBufferview() { + 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); @@ -188,8 +198,33 @@ void ColorSettingsPage::defaultMircColorCodes() { ui.color15->setColor(QtUi::style()->format(UiStyle::FgCol15, Settings::Default).foreground().color()); } +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); +} + void ColorSettingsPage::load() { 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))); + 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))); @@ -340,6 +375,20 @@ 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(); chatviewPreview(); @@ -347,6 +396,12 @@ void ColorSettingsPage::load() { void ColorSettingsPage::save() { QtUiStyleSettings s("Colors"); + 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()); @@ -420,6 +475,13 @@ void ColorSettingsPage::save() { saveMircColor(14, ui.color14->color()); saveMircColor(15, 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); } @@ -450,6 +512,12 @@ void ColorSettingsPage::widgetHasChanged() { } bool ColorSettingsPage::testHasChanged() { + 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; @@ -542,6 +610,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; } @@ -562,32 +637,47 @@ void ColorSettingsPage::chatviewPreview() { void ColorSettingsPage::bufferviewPreview() { ui.bufferviewPreview->clear(); ui.bufferviewPreview->setColumnCount(1); - ui.bufferviewPreview->setHeaderLabels(QStringList(tr("Buffers"))); + ui.bufferviewPreview->setHeaderLabels(QStringList("Buffers")); - QTreeWidgetItem *topLevelItem = new QTreeWidgetItem((QTreeWidget*)0, QStringList(tr("Network"))); + 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; - QTreeWidgetItem *inactiveActivity = new QTreeWidgetItem((QTreeWidget*)0, QStringList(tr("#incative"))); + 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, QPalette().color(QPalette::Dark)); + 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(tr("#regular"))); + QTreeWidgetItem *noActivity = new QTreeWidgetItem((QTreeWidget*)0, QStringList(QString("#channel with no activity"))); items.append(noActivity); + 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(tr("#highlight"))); + QTreeWidgetItem *highlightActivity = new QTreeWidgetItem((QTreeWidget*)0, QStringList(QString("#channel with highlight"))); items.append(highlightActivity); 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(tr("#new message"))); + QTreeWidgetItem *newMessageActivity = new QTreeWidgetItem((QTreeWidget*)0, QStringList(QString("#channel with new message"))); items.append(newMessageActivity); 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(tr("#other activity"))); + QTreeWidgetItem *otherActivity = new QTreeWidgetItem((QTreeWidget*)0, QStringList(QString("#channel with other activity"))); items.append(otherActivity); otherActivity->setForeground(0, QBrush(ui.otherActivityFG->color())); if(ui.otherActivityUseBG->isChecked()) diff --git a/src/qtui/settingspages/colorsettingspage.h b/src/qtui/settingspages/colorsettingspage.h index ac1445da..a89190de 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 932225cd..bc55f955 100644 --- a/src/qtui/settingspages/colorsettingspage.ui +++ b/src/qtui/settingspages/colorsettingspage.ui @@ -5,8 +5,8 @@ 0 0 - 517 - 436 + 516 + 401 @@ -25,14 +25,6 @@ 0 - - - 0 - 0 - 487 - 389 - - Bufferview @@ -67,7 +59,7 @@ - + Use BG @@ -80,20 +72,121 @@ + + + Default: + + + + + + + + 0 + 0 + + + + + + + + + + + false + + + + 0 + 0 + + + + + + + true + + + + + + + + 0 + 0 + + + + + + + true + + + + + + + Inactive: + + + + + + + + + + + + + + false + + + + + + true + + + + + + + + 0 + 0 + + + + Qt::LeftToRight + + + + + + true + + + + Highlight: - + - + false @@ -106,7 +199,7 @@ - + @@ -122,21 +215,21 @@ - + New Message: - + - + false @@ -149,7 +242,7 @@ - + @@ -165,21 +258,21 @@ - + Other Activity: - + - + false @@ -192,7 +285,7 @@ - + @@ -208,7 +301,7 @@ - + Qt::Vertical @@ -258,14 +351,6 @@ - - - 0 - 0 - 487 - 389 - - Chatview @@ -282,14 +367,6 @@ 0 - - - 0 - 0 - 441 - 294 - - Server Activity @@ -542,16 +619,30 @@ + label_44 + label_45 + label_7 + label_20 + errorMessageFG + errorMessageBG + errorMessageUseBG + label_18 + noticeMessageFG + noticeMessageBG + noticeMessageUseBG + label_17 + plainMessageFG + plainMessageBG + plainMessageUseBG + label_19 + serverMessageFG + serverMessageBG + serverMessageUseBG + label_10 + highlightColor + groupBox_5 - - - 0 - 0 - 441 - 294 - - User Activity @@ -917,14 +1008,6 @@ - - - 0 - 0 - 441 - 294 - - Message @@ -1305,17 +1388,22 @@ + + + + Qt::Vertical + + + + 20 + 40 + + + + - - - 0 - 0 - 487 - 389 - - Mirc Color Codes @@ -1574,6 +1662,173 @@ + + + Nickview + + + + + + Nick status: + + + + + + FG + + + Qt::AlignCenter + + + + + + + BG + + + Qt::AlignCenter + + + true + + + + + + + Use BG + + + Qt::AlignCenter + + + true + + + + + + + Online: + + + + + + + + + + + + + + false + + + + + + true + + + + + + + + 0 + 0 + + + + Qt::LeftToRight + + + + + + true + + + + + + + Away: + + + + + + + + + + + + + + false + + + + + + true + + + + + + + + 0 + 0 + + + + + + + true + + + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + + + + Qt::Vertical + + + + 261 + 151 + + + + + + @@ -1587,6 +1842,38 @@ + + inactiveActivityUseBG + clicked(bool) + inactiveActivityBG + setEnabled(bool) + + + 249 + 111 + + + 197 + 111 + + + + + noActivityUseBG + clicked(bool) + noActivityBG + setEnabled(bool) + + + 249 + 147 + + + 197 + 147 + + + highlightActivityUseBG clicked(bool) @@ -1635,6 +1922,38 @@ + + onlineStatusUseBG + clicked(bool) + onlineStatusBG + setEnabled(bool) + + + 202 + 111 + + + 150 + 111 + + + + + awayStatusUseBG + clicked(bool) + awayStatusBG + setEnabled(bool) + + + 202 + 147 + + + 150 + 147 + + + errorMessageUseBG clicked(bool) diff --git a/src/uisupport/bufferview.cpp b/src/uisupport/bufferview.cpp index 38dc02d2..0d7be090 100644 --- a/src/uisupport/bufferview.cpp +++ b/src/uisupport/bufferview.cpp @@ -56,8 +56,8 @@ BufferView::BufferView(QWidget *parent) setSelectionMode(QAbstractItemView::ExtendedSelection); QAbstractItemDelegate *oldDelegate = itemDelegate(); - BufferViewDelegate *newDelegate = new BufferViewDelegate(this); - setItemDelegate(newDelegate); + BufferViewDelegate *tristateDelegate = new BufferViewDelegate(this); + setItemDelegate(tristateDelegate); delete oldDelegate; } @@ -468,6 +468,8 @@ BufferViewDelegate::BufferViewDelegate(QObject *parent) : QStyledItemDelegate(parent) { UiSettings s("QtUiStyle/Colors"); + _FgColorInactiveActivity = s.value("inactiveActivityFG", QVariant(QColor(Qt::gray))).value(); + _FgColorNoActivity = s.value("noActivityFG", QVariant(QColor(Qt::black))).value(); _FgColorHighlightActivity = s.value("highlightActivityFG", QVariant(QColor(Qt::magenta))).value(); _FgColorNewMessageActivity = s.value("newMessageActivityFG", QVariant(QColor(Qt::green))).value(); _FgColorOtherActivity = s.value("otherActivityFG", QVariant(QColor(Qt::darkGreen))).value(); @@ -509,22 +511,18 @@ void BufferViewDelegate::initStyleOption(QStyleOptionViewItem *option, const QMo BufferInfo::ActivityLevel activity = (BufferInfo::ActivityLevel)index.data(NetworkModel::BufferActivityRole).toInt(); + QColor fgColor = _FgColorNoActivity; if(activity & BufferInfo::Highlight) { - option->palette.setColor(QPalette::Text, _FgColorHighlightActivity); - return; - } - if(activity & BufferInfo::NewMessage) { - option->palette.setColor(QPalette::Text, _FgColorNewMessageActivity); - return; - } - if(activity & BufferInfo::OtherActivity) { - option->palette.setColor(QPalette::Text, _FgColorOtherActivity); - return; + fgColor = _FgColorHighlightActivity; + } else if(activity & BufferInfo::NewMessage) { + fgColor = _FgColorNewMessageActivity; + } else if(activity & BufferInfo::OtherActivity) { + fgColor = _FgColorOtherActivity; + } else if(!index.data(NetworkModel::ItemActiveRole).toBool() || index.data(NetworkModel::UserAwayRole).toBool()) { + fgColor = _FgColorInactiveActivity; } - if(!index.data(NetworkModel::ItemActiveRole).toBool() || index.data(NetworkModel::UserAwayRole).toBool()) { - option->palette.setColor(QPalette::Text, option->palette.color(QPalette::Dark)); - } + option->palette.setColor(QPalette::Text, fgColor); } diff --git a/src/uisupport/bufferview.h b/src/uisupport/bufferview.h index c9af5b77..72fdc967 100644 --- a/src/uisupport/bufferview.h +++ b/src/uisupport/bufferview.h @@ -108,6 +108,8 @@ protected: virtual void initStyleOption(QStyleOptionViewItem *option, const QModelIndex &index) const; private: + QColor _FgColorInactiveActivity; + QColor _FgColorNoActivity; QColor _FgColorHighlightActivity; QColor _FgColorNewMessageActivity; QColor _FgColorOtherActivity; diff --git a/src/uisupport/nickview.cpp b/src/uisupport/nickview.cpp index dd7d1af5..fd86abd5 100644 --- a/src/uisupport/nickview.cpp +++ b/src/uisupport/nickview.cpp @@ -31,6 +31,7 @@ #include "networkmodel.h" #include "quasselui.h" #include "types.h" +#include "uisettings.h" class ExpandAllEvent : public QEvent { public: @@ -158,11 +159,17 @@ void NickView::customEvent(QEvent *event) { NickViewDelegate::NickViewDelegate(QObject *parent) : QStyledItemDelegate(parent) { + UiSettings s("QtUiStyle/Colors"); + _FgOnlineStatus = s.value("onlineStatusFG", QVariant(QColor(Qt::black))).value(); + _FgAwayStatus = s.value("awayStatusFG", QVariant(QColor(Qt::gray))).value(); } void NickViewDelegate::initStyleOption(QStyleOptionViewItem *option, const QModelIndex &index) const { QStyledItemDelegate::initStyleOption(option, index); + QColor fgColor = _FgOnlineStatus; if(!index.data(NetworkModel::ItemActiveRole).toBool()) - option->palette.setColor(QPalette::Text, option->palette.color(QPalette::Dark)); + fgColor = _FgAwayStatus; + + option->palette.setColor(QPalette::Text, fgColor); } diff --git a/src/uisupport/nickview.h b/src/uisupport/nickview.h index a40b6d74..09751a77 100644 --- a/src/uisupport/nickview.h +++ b/src/uisupport/nickview.h @@ -61,6 +61,10 @@ public: protected: virtual void initStyleOption(QStyleOptionViewItem *option, const QModelIndex &index) const; + +private: + QColor _FgOnlineStatus; + QColor _FgAwayStatus; }; #endif -- 2.20.1