common: Make SyncableObject non-copyable
[quassel.git] / src / qtui / settingspages / aliasesmodel.h
index 94cf10e..3dc7f0d 100644 (file)
@@ -1,5 +1,5 @@
 /***************************************************************************
- *   Copyright (C) 2005-2018 by the Quassel Project                        *
+ *   Copyright (C) 2005-2020 by the Quassel Project                        *
  *   devel@quassel-irc.org                                                 *
  *                                                                         *
  *   This program is free software; you can redistribute it and/or modify  *
  *   51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.         *
  ***************************************************************************/
 
-#ifndef ALIASESMODEL_H
-#define ALIASESMODEL_H
+#pragma once
+
+#include <memory>
 
 #include <QAbstractItemModel>
-#include <QPointer>
 
 #include "clientaliasmanager.h"
 
@@ -31,23 +31,23 @@ class AliasesModel : public QAbstractItemModel
     Q_OBJECT
 
 public:
-    AliasesModel(QObject *parent = nullptr);
+    AliasesModel(QObjectparent = nullptr);
 
-    QVariant data(const QModelIndex &index, int role) const override;
-    bool setData(const QModelIndex &index, const QVariant &value, int role = Qt::EditRole) override;
+    QVariant data(const QModelIndexindex, int role) const override;
+    bool setData(const QModelIndex& index, const QVariant& value, int role = Qt::EditRole) override;
 
-    Qt::ItemFlags flags(const QModelIndex &index) const override;
+    Qt::ItemFlags flags(const QModelIndexindex) const override;
 
     QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const override;
 
-    QModelIndex index(int row, int column, const QModelIndex &parent = QModelIndex()) const override;
+    QModelIndex index(int row, int column, const QModelIndexparent = QModelIndex()) const override;
 
-    inline QModelIndex parent(const QModelIndex &) const override { return QModelIndex(); }
+    inline QModelIndex parent(const QModelIndex&) const override { return {}; }
 
-    inline int rowCount(const QModelIndex &parent = QModelIndex()) const override;
-    inline int columnCount(const QModelIndex &parent = QModelIndex()) const override;
+    inline int rowCount(const QModelIndexparent = QModelIndex()) const override;
+    inline int columnCount(const QModelIndexparent = QModelIndex()) const override;
 
-    inline bool configChanged() const { return _configChanged; }
+    inline bool hasConfigChanged() const { return static_cast<bool>(_clonedAliasManager); }
     inline bool isReady() const { return _modelReady; }
 
 public slots:
@@ -62,13 +62,12 @@ signals:
     void modelReady(bool);
 
 private:
-    ClientAliasManager _clonedAliasManager;
-    bool _configChanged{false};
+    std::unique_ptr<ClientAliasManager> _clonedAliasManager;
     bool _modelReady{false};
 
-    const AliasManager &aliasManager() const;
-    AliasManager &aliasManager();
-    AliasManager &cloneAliasManager();
+    const AliasManageraliasManager() const;
+    AliasManageraliasManager();
+    AliasManagercloneAliasManager();
 
 private slots:
     void clientConnected();
@@ -76,20 +75,15 @@ private slots:
     void initDone();
 };
 
-
 // Inlines
-int AliasesModel::rowCount(const QModelIndex &parent) const
+int AliasesModel::rowCount(const QModelIndexparent) const
 {
     Q_UNUSED(parent);
     return isReady() ? aliasManager().count() : 0;
 }
 
-
-int AliasesModel::columnCount(const QModelIndex &parent) const
+int AliasesModel::columnCount(const QModelIndex& parent) const
 {
     Q_UNUSED(parent);
     return isReady() ? 2 : 0;
 }
-
-
-#endif //ALIASESMODEL_H