X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;ds=sidebyside;f=src%2Fqtui%2Fqtuistyle.cpp;h=f195dfb49d278e438796495752c95ccf59d7976d;hb=6b2bda5908bc1ddcc242d13adc3390eb1510f4e0;hp=11f6c43ae5fd58e63116f62e9d67c546c2f8ee83;hpb=4a5065255e652dd0c301bac0db41b7afb777ef49;p=quassel.git diff --git a/src/qtui/qtuistyle.cpp b/src/qtui/qtuistyle.cpp index 11f6c43a..f195dfb4 100644 --- a/src/qtui/qtuistyle.cpp +++ b/src/qtui/qtuistyle.cpp @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2013 by the Quassel Project * + * Copyright (C) 2005-2016 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -29,6 +29,8 @@ QtUiStyle::QtUiStyle(QObject *parent) : UiStyle(parent) ChatViewSettings s; s.notify("TimestampFormat", this, SLOT(updateTimestampFormatString())); updateTimestampFormatString(); + s.notify("ShowSenderBrackets", this, SLOT(updateShowSenderBrackets())); + updateShowSenderBrackets(); } @@ -40,6 +42,12 @@ void QtUiStyle::updateTimestampFormatString() setTimestampFormatString(s.timestampFormatString()); } +void QtUiStyle::updateShowSenderBrackets() +{ + ChatViewSettings s; + enableSenderBrackets(s.showSenderBrackets()); +} + void QtUiStyle::generateSettingsQss() const { @@ -98,8 +106,21 @@ void QtUiStyle::generateSettingsQss() const out << "\n// Sender Colors\n" << "ChatLine::sender#plain[sender=\"self\"] { foreground: " << color("SenderSelf", s) << "; }\n\n"; + // Matches qssparser.cpp for UiStyle::PlainMsg for (int i = 0; i < 16; i++) - out << senderQss(i, s); + out << senderQss(i, s, "plain"); + + // Only color the nicks in CTCP ACTIONs if sender colors are enabled + if (s.value("UseSenderActionColors").toBool()) { + // For action messages, color the 'sender' column -and- the nick itself + out << "\n// Sender Nickname Colors for action messages\n" + << "ChatLine::sender#action[sender=\"self\"] { foreground: " << color("SenderSelf", s) << "; }\n" + << "ChatLine::nick#action[sender=\"self\"] { foreground: " << color("SenderSelf", s) << "; }\n\n"; + + // Matches qssparser.cpp for UiStyle::ActionMsg + for (int i = 0; i < 16; i++) + out << senderQss(i, s, "action", true); + } } // ItemViews @@ -160,12 +181,20 @@ QString QtUiStyle::msgTypeQss(const QString &msgType, const QString &key, UiSett } -QString QtUiStyle::senderQss(int i, UiSettings &settings) const +QString QtUiStyle::senderQss(int i, UiSettings &settings, const QString &messageType, bool includeNick) const { QString dez = QString::number(i); if (dez.length() == 1) dez.prepend('0'); - return QString("ChatLine::sender#plain[sender=\"0%1\"] { foreground: %2; }\n").arg(QString::number(i, 16), color("Sender"+dez, settings)); + if (includeNick) { + // Include the nickname in the color rules + return QString("ChatLine::sender#%1[sender=\"0%2\"] { foreground: %3; }\n" + "ChatLine::nick#%1[sender=\"0%2\"] { foreground: %3; }\n") + .arg(messageType, QString::number(i, 16), color("Sender"+dez, settings)); + } else { + return QString("ChatLine::sender#%1[sender=\"0%2\"] { foreground: %3; }\n") + .arg(messageType, QString::number(i, 16), color("Sender"+dez, settings)); + } }