Make the newly arrived topicbutton display background colors and font styles.
[quassel.git] / src / uisupport / uistyle.h
index 0ddc1b8..4d98330 100644 (file)
@@ -1,11 +1,11 @@
 /***************************************************************************
- *   Copyright (C) 2005-07 by the Quassel IRC Team                         *
+ *   Copyright (C) 2005-08 by the Quassel Project                          *
  *   devel@quassel-irc.org                                                 *
  *                                                                         *
  *   This program is free software; you can redistribute it and/or modify  *
  *   it under the terms of the GNU General Public License as published by  *
  *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
+ *   (at your option) version 3.                                           *
  *                                                                         *
  *   This program is distributed in the hope that it will be useful,       *
  *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
 #include <QUrl>
 
 #include "message.h"
+#include "settings.h"
 
 class UiStyle {
 
   public:
-    UiStyle();
+    UiStyle(const QString &settingsKey);
     virtual ~UiStyle();
 
     /** This enumerates the possible formats a text element may have. */
@@ -51,16 +52,16 @@ class UiStyle {
       QUrl url;
     };
 
-    struct StyledString {
+    struct StyledText {
       QString text;
       QList<QTextLayout::FormatRange> formats;
       QList<UrlInfo> urls;
     };
 
-    StyledString styleString(QString);
+    StyledText styleString(QString);
 
-    void setFormat(FormatType, QTextCharFormat);
-    QTextCharFormat format(FormatType) const;
+    void setFormat(FormatType, QTextCharFormat, Settings::Mode mode/* = Settings::Custom*/);
+    QTextCharFormat format(FormatType, Settings::Mode mode = Settings::Custom) const;
 
     FormatType formatType(const QString &code) const;
     QString formatCode(FormatType) const;
@@ -71,9 +72,12 @@ class UiStyle {
   private:
     QTextCharFormat mergedFormat(QList<FormatType>);
 
-    QVector<QTextCharFormat> _formats;
+    QVector<QTextCharFormat> _defaultFormats;
+    QVector<QTextCharFormat> _customFormats;
     QHash<QString, FormatType> _formatCodes;
 
+    QString _settingsKey;
+
 };
 
 #endif