#ifndef NETWORKMODEL_H
#define NETWORKMODEL_H
-#include <QtCore>
-
-#include "treemodel.h"
#include "bufferinfo.h"
-
-#include <QPointer>
-
-class BufferInfo;
-
-#include "selectionmodelsynchronizer.h"
-#include "modelpropertymapper.h"
#include "clientsettings.h"
-#include "ircchannel.h"
-#include "ircuser.h"
#include "message.h"
#include "network.h"
+#include "treemodel.h"
-class MappedSelectionModel;
-class QAbstractItemView;
class BufferItem;
/*****************************************
QueryBufferItem(const BufferInfo &bufferInfo, NetworkItem *parent);
virtual QVariant data(int column, int role) const;
+ virtual bool setData(int column, const QVariant &value, int role);
virtual inline bool isActive() const { return (bool)_ircUser; }
virtual QString toolTip(int column) const;
virtual QStringList mimeTypes() const;
virtual QMimeData *mimeData(const QModelIndexList &) const;
- virtual bool dropMimeData(const QMimeData *, Qt::DropAction, int, int, const QModelIndex &);
void attachNetwork(Network *network);
QString networkName(BufferId bufferId) const;
inline QList<BufferId> allBufferIds() const { return _bufferItemCache.keys(); }
+ QList<BufferId> allBufferIdsSorted() const;
+ void sortBufferIds(QList<BufferId> &bufferIds) const;
public slots:
void bufferUpdated(BufferInfo bufferInfo);
BufferItem *findBufferItem(BufferId bufferId) const;
BufferItem *bufferItem(const BufferInfo &bufferInfo);
+ static bool bufferItemLessThan(const BufferItem *left, const BufferItem *right);
+
QHash<BufferId, BufferItem *> _bufferItemCache;
};
Q_DECLARE_OPERATORS_FOR_FLAGS(NetworkModel::ItemTypes)