# include "old-uistyle.h"
#else
+#include <QDataStream>
#include <QTextCharFormat>
#include <QTextLayout>
#include <QUrl>
#include "settings.h"
class UiStyle {
+ Q_DECLARE_TR_FUNCTIONS (UiStyle);
public:
UiStyle(const QString &settingsKey);
virtual ~UiStyle();
+ typedef QList<QPair<int, quint32> > 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.
};
struct StyledString {
- QString text;
- QList<QPair<int, quint32> > 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;
private:
+ QString mircToInternal(const QString &);
+
QTextCharFormat _defaultPlainFormat;
QHash<FormatType, QTextCharFormat> _defaultFormats;
QHash<FormatType, QTextCharFormat> _customFormats;
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