X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fuisupport%2Fuistyle.h;h=60123e2904a8963c8a7bade47dacd976eb1ff8ce;hp=ae0ad293dcf672ac2e7b07ca8455b7a201917458;hb=ec2b99363141d3cad003b8533b5462a313ade3c1;hpb=526eccc444029c5a0d80694487c3aec6707cbeda diff --git a/src/uisupport/uistyle.h b/src/uisupport/uistyle.h index ae0ad293..60123e29 100644 --- a/src/uisupport/uistyle.h +++ b/src/uisupport/uistyle.h @@ -36,7 +36,7 @@ class UiStyle { Q_DECLARE_TR_FUNCTIONS(UiStyle) public: - UiStyle(const QString &settingsKey); + UiStyle(); virtual ~UiStyle(); typedef QList > FormatList; @@ -80,72 +80,16 @@ public: ModeFlags = 0x00002000, // URL is special, we want that to take precedence over the rest... - Url = 0x00080000, + Url = 0x00080000 // mIRC Colors - we assume those to be present only in plain contents - FgCol00 = 0x00400000, - FgCol01 = 0x01400000, - FgCol02 = 0x02400000, - FgCol03 = 0x03400000, - FgCol04 = 0x04400000, - FgCol05 = 0x05400000, - FgCol06 = 0x06400000, - FgCol07 = 0x07400000, - FgCol08 = 0x08400000, - FgCol09 = 0x09400000, - FgCol10 = 0x0a400000, - FgCol11 = 0x0b400000, - FgCol12 = 0x0c400000, - FgCol13 = 0x0d400000, - FgCol14 = 0x0e400000, - FgCol15 = 0x0f400000, - - BgCol00 = 0x00800000, - BgCol01 = 0x10800000, - BgCol02 = 0x20800000, - BgCol03 = 0x30800000, - BgCol04 = 0x40800000, - BgCol05 = 0x50800000, - BgCol06 = 0x60800000, - BgCol07 = 0x70800000, - BgCol08 = 0x80800000, - BgCol09 = 0x90800000, - BgCol10 = 0xa0800000, - BgCol11 = 0xb0800000, - BgCol12 = 0xc0800000, - BgCol13 = 0xd0800000, - BgCol14 = 0xe0800000, - 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 + // foreground: 0x0.400000 + // background: 0x.0800000 }; enum MessageLabel { - Highlight = 0x00000001 + OwnMsg = 0x00000001, + Highlight = 0x00000002 }; struct StyledString { @@ -154,25 +98,13 @@ public: }; class StyledMessage; - class QssParser; StyledString styleString(const QString &); QString mircToInternal(const QString &) const; - void setFormat(FormatType, QTextCharFormat, Settings::Mode mode/* = Settings::Custom*/); // FIXME go away - void setSenderAutoColor(bool state); // FIXME go away - QTextCharFormat format(FormatType, Settings::Mode mode = Settings::Custom) const; // FIXME go away - - QTextCharFormat cachedFormat(quint64 key) const; - QTextCharFormat cachedFormat(quint32 formatType, quint32 messageLabel = 0) const; - void setCachedFormat(const QTextCharFormat &format, quint32 formatType, quint32 messageLabel = 0); - - QTextCharFormat mergedFormat(quint32 formatType, quint32 messageLabel = 0); + QTextCharFormat format(quint32 formatType, quint32 messageLabel = 0); QFontMetricsF *fontMetrics(quint32 formatType, quint32 messageLabel = 0); - FormatType formatType(const QString &code) const; - QString formatCode(FormatType) const; - inline QFont defaultFont() const { return _defaultFont; } QList toTextLayoutList(const FormatList &, int textLength); @@ -184,20 +116,19 @@ protected: //int formatSetIndex(const QString &hostmask) const; //int formatSetIndexForSelf() const; + QTextCharFormat cachedFormat(quint64 key) const; + QTextCharFormat cachedFormat(quint32 formatType, quint32 messageLabel = 0) const; + void setCachedFormat(const QTextCharFormat &format, quint32 formatType, quint32 messageLabel = 0); void mergeSubElementFormat(QTextCharFormat &format, quint32 formatType, quint32 messageLabel = 0); - bool _senderAutoColor; + FormatType formatType(const QString &code) const; + QString formatCode(FormatType) const; private: QFont _defaultFont; - QTextCharFormat _defaultPlainFormat; - QHash _defaultFormats; - QHash _customFormats; QHash _formatCache; QHash _metricsCache; QHash _formatCodes; - - QString _settingsKey; }; class UiStyle::StyledMessage : public Message {