modernize: Use raw string literals instead of escaped strings
[quassel.git] / src / common / ignorelistmanager.h
index baf3cc1..79acff6 100644 (file)
  *   51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.         *
  ***************************************************************************/
 
-#ifndef IGNORELISTMANAGER_H
-#define IGNORELISTMANAGER_H
+#pragma once
+
+#include "common-export.h"
 
-#include <QDebug>
 #include <QString>
 #include <QStringList>
 #include <QRegExp>
+#include <utility>
 
 #include "expressionmatch.h"
 #include "message.h"
 #include "syncableobject.h"
 
-class IgnoreListManager : public SyncableObject
+class COMMON_EXPORT IgnoreListManager : public SyncableObject
 {
+    Q_OBJECT
     SYNCABLE_OBJECT
-        Q_OBJECT
+
 public:
-    inline IgnoreListManager(QObject *parent = 0) : SyncableObject(parent) { setAllowClientUpdates(true); }
+    inline IgnoreListManager(QObject *parent = nullptr) : SyncableObject(parent) { setAllowClientUpdates(true); }
     IgnoreListManager &operator=(const IgnoreListManager &other);
 
     enum IgnoreType {
@@ -59,12 +61,12 @@ public:
     /**
      * Individual ignore list rule
      */
-    class IgnoreListItem {
+    class COMMON_EXPORT IgnoreListItem {
     public:
         /**
          * Construct an empty ignore rule
          */
-        IgnoreListItem() {}
+        IgnoreListItem() = default;
 
         /**
          * Construct an ignore rule with the given parameters
@@ -80,11 +82,11 @@ public:
          * @param scopeRule        String representing a scope rule expression to match
          * @param isEnabled        True if enabled, otherwise false
          */
-        IgnoreListItem(IgnoreType type, const QString &contents, bool isRegEx,
-                       StrictnessType strictness, ScopeType scope, const QString &scopeRule,
+        IgnoreListItem(IgnoreType type, QString contents, bool isRegEx,
+                       StrictnessType strictness, ScopeType scope, QString scopeRule,
                        bool isEnabled)
-            : _contents(contents), _isRegEx(isRegEx), _strictness(strictness),
-              _scope(scope), _scopeRule(scopeRule), _isEnabled(isEnabled)
+            : _contents(std::move(contents)), _isRegEx(isRegEx), _strictness(strictness),
+              _scope(scope), _scopeRule(std::move(scopeRule)), _isEnabled(isEnabled)
         {
             // Allow passing empty "contents" as they can happen when editing an ignore rule
 
@@ -332,7 +334,7 @@ public:
         mutable ExpressionMatch _ctcpSenderMatch = {};    ///< Expression match cache for CTCP nick
     };
 
-    typedef QList<IgnoreListItem> IgnoreList;
+    using IgnoreList = QList<IgnoreListItem>;
 
     int indexOf(const QString &ignore) const;
     inline bool contains(const QString &ignore) const { return indexOf(ignore) != -1; }
@@ -406,6 +408,3 @@ signals:
 private:
     IgnoreList _ignoreList;
 };
-
-
-#endif // IGNORELISTMANAGER_H