X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fuisupport%2Fuistyle.h;h=38d43f0ddb3d7cb27d5dec2e545588fc204aedd1;hp=7f0614b954027729b785b91e321d066030b02d1c;hb=62b20e0c6c13ea7bfb713da68c85a5e94c951d1b;hpb=ed9a0a3e6d1af81cc07a54d4feebb8a01c451fb8 diff --git a/src/uisupport/uistyle.h b/src/uisupport/uistyle.h index 7f0614b9..38d43f0d 100644 --- a/src/uisupport/uistyle.h +++ b/src/uisupport/uistyle.h @@ -49,6 +49,7 @@ public: enum FormatType { None = 0x00000000, Invalid = 0x11111111, + // Message Formats (mutually exclusive!) PlainMsg = 0x00000001, NoticeMsg = 0x00000002, @@ -61,11 +62,18 @@ public: RenameMsg = 0x00000009, ModeMsg = 0x0000000a, ActionMsg = 0x0000000b, + HighlightMsg = 0x0000000f, + + // Note: mergedFormat() assumes that 0x10 - 0x80 are *only* used within the message contents, + // e.g. not together with any of 0x0100-0x2000! + // If we happen to find a use case for that, we can see if/how to implement that though. + // Standard Formats Bold = 0x00000010, Italic = 0x00000020, Underline = 0x00000040, Reverse = 0x00000080, + // Individual parts of a message Timestamp = 0x00000100, Sender = 0x00000200, @@ -73,9 +81,11 @@ public: Hostmask = 0x00000800, ChannelName = 0x00001000, ModeFlags = 0x00002000, + // URL is special, we want that to take precedence over the rest... Url = 0x00100000, - // Colors + + // mIRC Colors - we assume those to be present only in plain contents FgCol00 = 0x00400000, FgCol01 = 0x01400000, FgCol02 = 0x02400000, @@ -108,13 +118,33 @@ public: BgCol12 = 0xc0800000, BgCol13 = 0xd0800000, BgCol14 = 0xe0800000, - BgCol15 = 0xf0800000 - - }; - - struct UrlInfo { - int start, end; - QUrl url; + BgCol15 = 0xf0800000, + + // Colors used for sender auto coloring + // (starting at 01 because 00 is the default Sender format) + SenderCol01 = 0x01000200, + SenderCol02 = 0x02000200, + SenderCol03 = 0x03000200, + SenderCol04 = 0x04000200, + SenderCol05 = 0x05000200, + SenderCol06 = 0x06000200, + SenderCol07 = 0x07000200, + SenderCol08 = 0x08000200, + SenderCol09 = 0x09000200, + SenderCol10 = 0x0a000200, + SenderCol11 = 0x0b000200, + SenderCol12 = 0x0c000200, + SenderCol13 = 0x0d000200, + SenderCol14 = 0x0e000200, + SenderCol15 = 0x0f000200, + SenderCol16 = 0x10000200, + SenderCol17 = 0x11000200, + SenderCol18 = 0x12000200, + SenderCol19 = 0x13000200, + SenderCol20 = 0x14000200, + SenderCol21 = 0x15000200, + + SenderColSelf = 0xff000200 }; struct StyledString { @@ -128,6 +158,7 @@ public: QString mircToInternal(const QString &) const; void setFormat(FormatType, QTextCharFormat, Settings::Mode mode/* = Settings::Custom*/); + void setSenderAutoColor(bool state); QTextCharFormat format(FormatType, Settings::Mode mode = Settings::Custom) const; QTextCharFormat mergedFormat(quint32 formatType); QFontMetricsF *fontMetrics(quint32 formatType); @@ -140,6 +171,7 @@ public: QList toTextLayoutList(const FormatList &, int textLength); protected: + bool _senderAutoColor; private: QFont _defaultFont; QTextCharFormat _defaultPlainFormat;