X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;f=src%2Fuisupport%2Fuistyle.h;h=8745d117b62a9e4c1c2d11e712d682b6c7f895ae;hb=8efabae6c310d17265eaeb03df43ffe8b555a52e;hp=b3e1a965ca23c4344face0ecdd360411fceaa7ef;hpb=dfbd0465f2a58eee4771472afd261869e5e5c400;p=quassel.git diff --git a/src/uisupport/uistyle.h b/src/uisupport/uistyle.h index b3e1a965..8745d117 100644 --- a/src/uisupport/uistyle.h +++ b/src/uisupport/uistyle.h @@ -22,6 +22,7 @@ #define _UISTYLE_H_ #include +#include #include #include #include @@ -36,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 @@ -133,20 +134,27 @@ class UiStyle { 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;