/***************************************************************************
- * Copyright (C) 2005-07 by the Quassel IRC Team *
+ * Copyright (C) 2005-08 by the Quassel Project *
* devel@quassel-irc.org *
* *
* This program is free software; you can redistribute it and/or modify *
#include <QPointer>
-#include <QItemSelectionModel>
-
class BufferInfo;
#include "selectionmodelsynchronizer.h"
#include "modelpropertymapper.h"
class MappedSelectionModel;
class QAbstractItemView;
-class NetworkInfo;
+class Network;
class IrcChannel;
class IrcUser;
void setNetworkName(const QString &networkName);
void setCurrentServer(const QString &serverName);
- void attachNetworkInfo(NetworkInfo *networkInfo);
+ void attachNetwork(Network *network);
void attachIrcChannel(const QString &channelName);
private:
uint _networkId;
QString _networkName;
- QPointer<NetworkInfo> _networkInfo;
+ QPointer<Network> _network;
};
/*****************************************
NetworkModel(QObject *parent = 0);
static QList<QVariant> defaultHeader();
- inline SelectionModelSynchronizer *selectionModelSynchronizer() { return _selectionModelSynchronizer; }
- inline ModelPropertyMapper *propertyMapper() { return _propertyMapper; }
-
- void synchronizeSelectionModel(MappedSelectionModel *selectionModel);
- void synchronizeView(QAbstractItemView *view);
- void mapProperty(int column, int role, QObject *target, const QByteArray &property);
-
static bool mimeContainsBufferList(const QMimeData *mimeData);
static QList< QPair<uint, uint> > mimeDataToBufferList(const QMimeData *mimeData);
virtual QMimeData *mimeData(const QModelIndexList &) const;
virtual bool dropMimeData(const QMimeData *, Qt::DropAction, int, int, const QModelIndex &);
- void attachNetworkInfo(NetworkInfo *networkInfo);
-
+ void attachNetwork(Network *network);
+
+ bool isBufferIndex(const QModelIndex &) const;
+ Buffer *getBufferByIndex(const QModelIndex &) const;
+ QModelIndex bufferIndex(BufferInfo bufferInfo);
+
public slots:
void bufferUpdated(Buffer *);
- void setCurrentIndex(const QModelIndex &index, QItemSelectionModel::SelectionFlags command);
- void selectBuffer(Buffer *buffer);
void bufferActivity(Buffer::ActivityLevel, Buffer *buffer);
-signals:
- void bufferSelected(Buffer *);
- void selectionChanged(const QModelIndex &);
-
private:
- bool isBufferIndex(const QModelIndex &) const;
- Buffer *getBufferByIndex(const QModelIndex &) const;
-
QModelIndex networkIndex(uint networkId);
NetworkItem *network(uint networkId);
NetworkItem *newNetwork(uint networkId, const QString &networkName);
- QModelIndex bufferIndex(BufferInfo bufferInfo);
BufferItem *buffer(BufferInfo bufferInfo);
BufferItem *newBuffer(BufferInfo bufferInfo);
- QPointer<SelectionModelSynchronizer> _selectionModelSynchronizer;
- QPointer<ModelPropertyMapper> _propertyMapper;
- Buffer *currentBuffer;
};
#endif // NETWORKMODEL_H