X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fuisupport%2Fuistyle.h;h=64ad5068611ed8d3b02a51f749fc3ce79888acae;hp=8745d117b62a9e4c1c2d11e712d682b6c7f895ae;hb=b8553ef5376b181ddcc105a47d27f09c40cea9cc;hpb=7e051ca7bf165df865b61fe07a80699e5ea0503e diff --git a/src/uisupport/uistyle.h b/src/uisupport/uistyle.h index 8745d117..64ad5068 100644 --- a/src/uisupport/uistyle.h +++ b/src/uisupport/uistyle.h @@ -31,7 +31,7 @@ #include "settings.h" class UiStyle { - Q_DECLARE_TR_FUNCTIONS (UiStyle); + Q_DECLARE_TR_FUNCTIONS(UiStyle) public: UiStyle(const QString &settingsKey); @@ -122,14 +122,11 @@ class UiStyle { FormatList formatList; // starting pos, ftypes }; - struct StyledMessage { - StyledString timestamp; - StyledString sender; - StyledString contents; - }; + class StyledMessage; StyledString styleString(const QString &); StyledMessage styleMessage(const Message &); + QString mircToInternal(const QString &) const; void setFormat(FormatType, QTextCharFormat, Settings::Mode mode/* = Settings::Custom*/); QTextCharFormat format(FormatType, Settings::Mode mode = Settings::Custom) const; @@ -147,7 +144,6 @@ class UiStyle { private: - QString mircToInternal(const QString &); QFont _defaultFont; QTextCharFormat _defaultPlainFormat; @@ -160,9 +156,33 @@ class UiStyle { QString _settingsKey; }; +class UiStyle::StyledMessage { + + public: + explicit StyledMessage(const Message &, UiStyle *style); + + QDateTime timestamp() const; + QString decoratedTimestamp() const; + QString sender() const; //!< Nickname (no decorations) for Plain and Notice, empty else + QString decoratedSender() const; + QString contents() const; + + FormatType timestampFormat() const; + FormatType senderFormat() const; + FormatList contentsFormatList() const; + + inline Message::Type type() const { return _msgType; } + + private: + StyledString _contents; + QDateTime _timestamp; + QString _sender; + Message::Type _msgType; +}; + QDataStream &operator<<(QDataStream &out, const UiStyle::FormatList &formatList); QDataStream &operator>>(QDataStream &in, UiStyle::FormatList &formatList); -Q_DECLARE_METATYPE(UiStyle::FormatList); +Q_DECLARE_METATYPE(UiStyle::FormatList) #endif