modernize: Prefer default member init over ctor init
[quassel.git] / src / uisupport / qssparser.h
index 228b024..8cb1db4 100644 (file)
@@ -1,5 +1,5 @@
 /***************************************************************************
- *   Copyright (C) 2005-2016 by the Quassel Project                        *
+ *   Copyright (C) 2005-2018 by the Quassel Project                        *
  *   devel@quassel-irc.org                                                 *
  *                                                                         *
  *   This program is free software; you can redistribute it and/or modify  *
@@ -18,8 +18,9 @@
  *   51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.         *
  ***************************************************************************/
 
-#ifndef QSSPARSER_H_
-#define QSSPARSER_H_
+#pragma once
+
+#include <utility>
 
 #include "uistyle.h"
 
@@ -35,22 +36,25 @@ public:
     inline QPalette palette() const { return _palette; }
     inline QVector<QBrush> uiStylePalette() const { return _uiStylePalette; }
     inline const QHash<quint64, QTextCharFormat> &formats() const { return _formats; }
-    inline const QHash<quint32, QTextCharFormat> &listItemFormats() const { return _listItemFormats; }
+    inline const QHash<UiStyle::ItemFormatType, QTextCharFormat> &listItemFormats() const { return _listItemFormats; }
 
 protected:
-    typedef QList<qreal> ColorTuple;
+    using ColorTuple = QList<qreal>;
 
     void parseChatLineBlock(const QString &decl, const QString &contents);
     void parsePaletteBlock(const QString &decl, const QString &contents);
     void parseListItemBlock(const QString &decl, const QString &contents);
 
-    quint64 parseFormatType(const QString &decl);
-    quint32 parseItemFormatType(const QString &decl);
+    std::pair<UiStyle::FormatType, UiStyle::MessageLabel> parseFormatType(const QString &decl);
+    UiStyle::ItemFormatType parseItemFormatType(const QString &decl);
 
     QTextCharFormat parseFormat(const QString &qss);
 
+    // Parse boolean properties
+    bool parseBoolean(const QString &str, bool *ok = nullptr) const;
+
     // Parse color/brush-related properties
-    QBrush parseBrush(const QString &str, bool *ok = 0);
+    QBrush parseBrush(const QString &str, bool *ok = nullptr);
     QColor parseColor(const QString &str);
     ColorTuple parseColorTuple(const QString &str);
     QGradientStops parseGradientStops(const QString &str);
@@ -69,8 +73,5 @@ private:
     QPalette _palette;
     QVector<QBrush> _uiStylePalette;
     QHash<quint64, QTextCharFormat> _formats;
-    QHash<quint32, QTextCharFormat> _listItemFormats;
+    QHash<UiStyle::ItemFormatType, QTextCharFormat> _listItemFormats;
 };
-
-
-#endif