/***************************************************************************
- * Copyright (C) 2005-08 by the Quassel Project *
+ * Copyright (C) 2005-09 by the Quassel Project *
* devel@quassel-irc.org *
* *
* This program is free software; you can redistribute it and/or modify *
void attachIrcChannel(IrcChannel *channel);
void attachIrcUser(IrcUser *ircUser);
+signals:
+ void networkDataChanged(int column = -1);
+
private:
NetworkId _networkId;
inline BufferId bufferId() const { return _bufferInfo.bufferId(); }
inline BufferInfo::Type bufferType() const { return _bufferInfo.type(); }
- void setBufferName(const QString &name);
+ virtual void setBufferName(const QString &name);
virtual inline QString bufferName() const { return _bufferInfo.bufferName(); }
virtual inline QString topic() const { return QString(); }
virtual inline int nickCount() const { return 0; }
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 void setBufferName(const QString &name);
+
public slots:
- void attachIrcUser(IrcUser *ircUser);
- void ircUserQuited();
+ void setIrcUser(IrcUser *ircUser);
+ void removeIrcUser();
private:
IrcUser *_ircUser;
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)