X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fuisupport%2Fuistyle.h;h=70144c82839eead6ddfdce4c342ffad413f51f87;hp=ce0735cea5e8ad882a4e3c8128e5067493770b99;hb=d6111192cd2aad81a2f31497ff5ba51147fb5319;hpb=858cba7fac9928549219de070397be65e1b92cde diff --git a/src/uisupport/uistyle.h b/src/uisupport/uistyle.h index ce0735ce..70144c82 100644 --- a/src/uisupport/uistyle.h +++ b/src/uisupport/uistyle.h @@ -21,11 +21,8 @@ #ifndef _UISTYLE_H_ #define _UISTYLE_H_ -#ifndef SPUTDEV -# include "old-uistyle.h" -#else - #include +#include #include #include #include @@ -40,7 +37,7 @@ class UiStyle { UiStyle(const QString &settingsKey); virtual ~UiStyle(); - typedef QList > FormatList; + 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 @@ -121,36 +118,43 @@ class UiStyle { }; struct StyledString { - QString text; - FormatList formats; // starting pos, ftypes + QString plainText; + FormatList formatList; // starting pos, ftypes }; struct StyledMessage { StyledString timestamp; StyledString sender; - StyledString text; + StyledString contents; }; 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; QTextCharFormat mergedFormat(quint32 formatType); + QFontMetricsF *fontMetrics(quint32 formatType); FormatType formatType(const QString &code) const; QString formatCode(FormatType) const; + inline QFont defaultFont() const { return _defaultFont; } + + QList toTextLayoutList(const FormatList &, int textLength); + protected: private: - QString mircToInternal(const QString &); + QFont _defaultFont; QTextCharFormat _defaultPlainFormat; QHash _defaultFormats; QHash _customFormats; QHash _cachedFormats; + QHash _cachedFontMetrics; QHash _formatCodes; QString _settingsKey; @@ -161,5 +165,4 @@ QDataStream &operator>>(QDataStream &in, UiStyle::FormatList &formatList); Q_DECLARE_METATYPE(UiStyle::FormatList); -#endif // SPUTDEV #endif