modernize: Use nullptr
[quassel.git] / src / client / networkmodel.h
index c3577f4..a52c1b9 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 NETWORKMODEL_H
-#define NETWORKMODEL_H
+#pragma once
+
+#include "client-export.h"
 
 #include "bufferinfo.h"
 #include "clientsettings.h"
@@ -41,7 +42,9 @@ class NetworkItem : public PropertyMapItem
     Q_PROPERTY(int nickCount READ nickCount)
 
 public :
-        NetworkItem(const NetworkId &netid, AbstractTreeItem *parent = 0);
+    NetworkItem(const NetworkId &netid, AbstractTreeItem *parent = nullptr);
+
+    virtual QStringList propertyOrder() const;
 
     virtual QVariant data(int column, int row) const;
 
@@ -106,7 +109,9 @@ class BufferItem : public PropertyMapItem
     Q_PROPERTY(int nickCount READ nickCount)
 
 public :
-        BufferItem(const BufferInfo &bufferInfo, AbstractTreeItem *parent = 0);
+    BufferItem(const BufferInfo &bufferInfo, AbstractTreeItem *parent = nullptr);
+
+    virtual QStringList propertyOrder() const;
 
     inline const BufferInfo &bufferInfo() const { return _bufferInfo; }
     virtual QVariant data(int column, int role) const;
@@ -246,13 +251,16 @@ private:
 *  User Category Items (like @vh etc.)
 *****************************************/
 class IrcUserItem;
-class UserCategoryItem : public PropertyMapItem
+
+class CLIENT_EXPORT UserCategoryItem : public PropertyMapItem
 {
     Q_OBJECT
     Q_PROPERTY(QString categoryName READ categoryName)
 
 public :
-        UserCategoryItem(int category, AbstractTreeItem *parent);
+    UserCategoryItem(int category, AbstractTreeItem *parent);
+
+    virtual QStringList propertyOrder() const;
 
     QString categoryName() const;
     inline int categoryId() const { return _category; }
@@ -280,7 +288,9 @@ class IrcUserItem : public PropertyMapItem
     Q_PROPERTY(QString nickName READ nickName)
 
 public :
-        IrcUserItem(IrcUser *ircUser, AbstractTreeItem *parent);
+    IrcUserItem(IrcUser *ircUser, AbstractTreeItem *parent);
+
+    virtual QStringList propertyOrder() const;
 
     inline QString nickName() const { return _ircUser ? _ircUser->nick() : QString(); }
     inline bool isActive() const { return _ircUser ? !_ircUser->isAway() : false; }
@@ -307,7 +317,7 @@ private:
 /*****************************************
  * NetworkModel
  *****************************************/
-class NetworkModel : public TreeModel
+class CLIENT_EXPORT NetworkModel : public TreeModel
 {
     Q_OBJECT
 
@@ -335,7 +345,7 @@ public:
     };
     Q_DECLARE_FLAGS(ItemTypes, ItemType)
 
-    NetworkModel(QObject *parent = 0);
+    NetworkModel(QObject *parent = nullptr);
     static QList<QVariant> defaultHeader();
 
     static bool mimeContainsBufferList(const QMimeData *mimeData);
@@ -386,6 +396,7 @@ public slots:
     void updateBufferActivity(Message &msg);
     void networkRemoved(const NetworkId &networkId);
     void bufferActivityChanged(BufferId, Message::Types);
+    void highlightCountChanged(BufferId, int);
 
 signals:
     void requestSetLastSeenMsg(BufferId buffer, MsgId msg);
@@ -418,5 +429,3 @@ private:
 
 
 Q_DECLARE_OPERATORS_FOR_FLAGS(NetworkModel::ItemTypes)
-
-#endif // NETWORKMODEL_H