modernize: Pass arguments by value and move in constructors
[quassel.git] / src / client / treemodel.cpp
index f87d336..e456f6f 100644 (file)
@@ -22,6 +22,7 @@
 
 #include <QCoreApplication>
 #include <QDebug>
+#include <utility>
 
 #include "quassel.h"
 
@@ -41,7 +42,7 @@ private:
 AbstractTreeItem::AbstractTreeItem(AbstractTreeItem *parent)
     : QObject(parent),
     _flags(Qt::ItemIsSelectable | Qt::ItemIsEnabled),
-    _treeItemFlags(0)
+    _treeItemFlags(nullptr)
 {
 }
 
@@ -103,7 +104,7 @@ void AbstractTreeItem::removeAllChilds()
     childIter = _childItems.begin();
     while (childIter != _childItems.end()) {
         child = *childIter;
-        child->setTreeItemFlags(0); // disable self deletion, as this would only fuck up consitency and the child gets deleted anyways
+        child->setTreeItemFlags(nullptr); // disable self deletion, as this would only fuck up consitency and the child gets deleted anyways
         child->removeAllChilds();
         ++childIter;
     }
@@ -182,7 +183,7 @@ bool AbstractTreeItem::reParent(AbstractTreeItem *newParent)
 AbstractTreeItem *AbstractTreeItem::child(int row) const
 {
     if (childCount() <= row)
-        return 0;
+        return nullptr;
     else
         return _childItems[row];
 }
@@ -230,9 +231,9 @@ void AbstractTreeItem::dumpChildList()
 /*****************************************
  * SimpleTreeItem
  *****************************************/
-SimpleTreeItem::SimpleTreeItem(const QList<QVariant> &data, AbstractTreeItem *parent)
+SimpleTreeItem::SimpleTreeItem(QList<QVariant> data, AbstractTreeItem *parent)
     : AbstractTreeItem(parent),
-    _itemData(data)
+    _itemData(std::move(data))
 {
 }
 
@@ -275,21 +276,8 @@ int SimpleTreeItem::columnCount() const
 /*****************************************
  * PropertyMapItem
  *****************************************/
-PropertyMapItem::PropertyMapItem(const QStringList &propertyOrder, AbstractTreeItem *parent)
-    : AbstractTreeItem(parent),
-    _propertyOrder(propertyOrder)
-{
-}
-
-
 PropertyMapItem::PropertyMapItem(AbstractTreeItem *parent)
-    : AbstractTreeItem(parent),
-    _propertyOrder(QStringList())
-{
-}
-
-
-PropertyMapItem::~PropertyMapItem()
+    : AbstractTreeItem(parent)
 {
 }
 
@@ -304,7 +292,7 @@ QVariant PropertyMapItem::data(int column, int role) const
         return toolTip(column);
     case Qt::DisplayRole:
     case TreeModel::SortRole: // fallthrough, since SortRole should default to DisplayRole
-        return property(_propertyOrder[column].toLatin1());
+        return property(propertyOrder()[column].toLatin1());
     default:
         return QVariant();
     }
@@ -316,7 +304,7 @@ bool PropertyMapItem::setData(int column, const QVariant &value, int role)
     if (column >= columnCount() || role != Qt::DisplayRole)
         return false;
 
-    setProperty(_propertyOrder[column].toLatin1(), value);
+    setProperty(propertyOrder()[column].toLatin1(), value);
     emit dataChanged(column);
     return true;
 }
@@ -324,13 +312,7 @@ bool PropertyMapItem::setData(int column, const QVariant &value, int role)
 
 int PropertyMapItem::columnCount() const
 {
-    return _propertyOrder.count();
-}
-
-
-void PropertyMapItem::appendProperty(const QString &property)
-{
-    _propertyOrder << property;
+    return propertyOrder().count();
 }
 
 
@@ -342,7 +324,7 @@ TreeModel::TreeModel(const QList<QVariant> &data, QObject *parent)
     _childStatus(QModelIndex(), 0, 0, 0),
     _aboutToRemoveOrInsert(false)
 {
-    rootItem = new SimpleTreeItem(data, 0);
+    rootItem = new SimpleTreeItem(data, nullptr);
     connectItem(rootItem);
 
     if (Quassel::isOptionSet("debugmodel")) {
@@ -366,6 +348,12 @@ TreeModel::~TreeModel()
 }
 
 
+AbstractTreeItem *TreeModel::root() const
+{
+    return rootItem;
+}
+
+
 QModelIndex TreeModel::index(int row, int column, const QModelIndex &parent) const
 {
     if (row < 0 || row >= rowCount(parent) || column < 0 || column >= columnCount(parent))
@@ -389,7 +377,7 @@ QModelIndex TreeModel::index(int row, int column, const QModelIndex &parent) con
 
 QModelIndex TreeModel::indexByItem(AbstractTreeItem *item) const
 {
-    if (item == 0) {
+    if (item == nullptr) {
         qWarning() << "TreeModel::indexByItem(AbstractTreeItem *item) received NULL-Pointer";
         return QModelIndex();
     }
@@ -577,7 +565,7 @@ void TreeModel::beginRemoveChilds(int firstRow, int lastRow)
     }
 
     for (int i = firstRow; i <= lastRow; i++) {
-        disconnect(parentItem->child(i), 0, this, 0);
+        disconnect(parentItem->child(i), nullptr, this, nullptr);
     }
 
     // consitency checks