X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;f=src%2Fuisupport%2Fuistyle.h;h=426b398e65557a8d8880c212c91738c958cf3e91;hb=f7ecaba7b3028332bbaa6e8c345ee3aab3e661b1;hp=59841dc776cd004d3790ff86dfa5c5f48939d807;hpb=e017aca90eb3444df68fb365a5d50b05881b1c5c;p=quassel.git diff --git a/src/uisupport/uistyle.h b/src/uisupport/uistyle.h index 59841dc7..426b398e 100644 --- a/src/uisupport/uistyle.h +++ b/src/uisupport/uistyle.h @@ -25,6 +25,7 @@ # include "old-uistyle.h" #else +#include #include #include #include @@ -33,11 +34,14 @@ #include "settings.h" class UiStyle { + Q_DECLARE_TR_FUNCTIONS (UiStyle); public: UiStyle(const QString &settingsKey); virtual ~UiStyle(); + typedef QList > FormatList; + //! This enumerates the possible formats a text element may have. */ /** These formats are ordered on increasing importance, in cases where a given property is specified * by multiple active formats. @@ -117,11 +121,18 @@ class UiStyle { }; struct StyledString { - QString text; - QList > formats; // starting pos, ftypes + QString plainText; + FormatList formatList; // starting pos, ftypes + }; + + struct StyledMessage { + StyledString timestamp; + StyledString sender; + StyledString contents; }; StyledString styleString(const QString &); + StyledMessage styleMessage(const Message &); void setFormat(FormatType, QTextCharFormat, Settings::Mode mode/* = Settings::Custom*/); QTextCharFormat format(FormatType, Settings::Mode mode = Settings::Custom) const; @@ -134,6 +145,8 @@ class UiStyle { private: + QString mircToInternal(const QString &); + QTextCharFormat _defaultPlainFormat; QHash _defaultFormats; QHash _customFormats; @@ -143,5 +156,10 @@ class UiStyle { QString _settingsKey; }; +QDataStream &operator<<(QDataStream &out, const UiStyle::FormatList &formatList); +QDataStream &operator>>(QDataStream &in, UiStyle::FormatList &formatList); + +Q_DECLARE_METATYPE(UiStyle::FormatList); + #endif // SPUTDEV #endif