X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fuisupport%2Fuistyle.h;h=b179147bc8e3293cb1cbcfd690402b01559e3295;hp=993aab39753006f81972b50163c11d534e03d931;hb=b7cf37ec77eccfde8e515c6638ef8d996c71019f;hpb=4a5065255e652dd0c301bac0db41b7afb777ef49 diff --git a/src/uisupport/uistyle.h b/src/uisupport/uistyle.h index 993aab39..b179147b 100644 --- a/src/uisupport/uistyle.h +++ b/src/uisupport/uistyle.h @@ -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 * @@ -24,6 +24,7 @@ #include #include #include +#include #include #include #include @@ -133,6 +134,47 @@ public: class StyledMessage; + /** + * List of default sender colors + * + * In order from 1 - 16, matching the Sender## format in the settings file. + * Don't change the length or values of the colors without updating the UI, too. + * + * @see ../qtui/settingspages/chatviewsettingspage.ui + */ + const QList defaultSenderColors = QList { + QColor(233, 13, 127), /// Sender00 + QColor(142, 85, 233), /// Sender01 + QColor(179, 14, 14), /// Sender02 + QColor(23, 179, 57), /// Sender03 + QColor(88, 175, 179), /// Sender04 + QColor(157, 84, 179), /// Sender05 + QColor(179, 151, 117), /// Sender06 + QColor(49, 118, 179), /// Sender07 + QColor(233, 13, 127), /// Sender08 + QColor(142, 85, 233), /// Sender09 + QColor(179, 14, 14), /// Sender10 + QColor(23, 179, 57), /// Sender11 + QColor(88, 175, 179), /// Sender12 + QColor(157, 84, 179), /// Sender13 + QColor(179, 151, 117), /// Sender14 + QColor(49, 118, 179), /// Sender15 + }; + // Explicitly declare QList type for defaultSenderColors, otherwise error C2797 + // "list initialization inside member initializer list" will occur in Windows builds with Visual + // Studio's compiler. + // + // See https://blogs.msdn.microsoft.com/vcblog/2014/08/19/the-future-of-non-static-data-member-initialization/ + // Note: Qt Creator flags this as invalid unless you set Clang in + // Settings -> C++ -> Code Model -> Code Completion and Semantic Highlighting -> C + // + // See https://bugreports.qt.io/browse/QTCREATORBUG-1902 + + /** + * Default sender color for sent messages + */ + const QColor defaultSenderColorSelf = QColor(0, 0, 0); + static FormatType formatType(Message::Type msgType); static StyledString styleString(const QString &string, quint32 baseFormat = Base); static QString mircToInternal(const QString &); @@ -168,6 +210,12 @@ protected: static FormatType formatType(const QString &code); static QString formatCode(FormatType); static void setTimestampFormatString(const QString &format); + /** + * Updates the local setting cache of whether or not to show sender brackets + * + * @param[in] enabled If true, sender brackets are enabled, otherwise false. + */ + static void enableSenderBrackets(bool enabled); QVariant itemData(int role, const QTextCharFormat &format) const; @@ -184,14 +232,15 @@ private: QHash _listItemFormats; static QHash _formatCodes; static QString _timestampFormatString; - - QPixmap _channelJoinedIcon; - QPixmap _channelPartedIcon; - QPixmap _userOfflineIcon; - QPixmap _userOnlineIcon; - QPixmap _userAwayIcon; - QPixmap _categoryOpIcon; - QPixmap _categoryVoiceIcon; + static bool _showSenderBrackets; /// If true, show brackets around sender names + + QIcon _channelJoinedIcon; + QIcon _channelPartedIcon; + QIcon _userOfflineIcon; + QIcon _userOnlineIcon; + QIcon _userAwayIcon; + QIcon _categoryOpIcon; + QIcon _categoryVoiceIcon; int _opIconLimit; int _voiceIconLimit; bool _showNickViewIcons;