X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fclient%2Fnetworkmodel.h;h=634c402e121f87cdf36f1b074ec64e83b386749e;hp=961c1ca3698fa536597fd7d4279402b15c0e903f;hb=600a5683c1a8e679b7b63a00d5b1211b5b9771c7;hpb=8010224cf5bfe5685dc2cf535e8dc1ec19c4c364 diff --git a/src/client/networkmodel.h b/src/client/networkmodel.h index 961c1ca3..634c402e 100644 --- a/src/client/networkmodel.h +++ b/src/client/networkmodel.h @@ -45,14 +45,14 @@ class IrcUser; *****************************************/ class BufferItem : public PropertyMapItem { Q_OBJECT - Q_PROPERTY(QString bufferName READ bufferName) + Q_PROPERTY(QString bufferName READ bufferName WRITE setBufferName) Q_PROPERTY(QString topic READ topic) Q_PROPERTY(int nickCount READ nickCount) public: BufferItem(BufferInfo bufferInfo, AbstractTreeItem *parent = 0); - const BufferInfo &bufferInfo() const; + inline const BufferInfo &bufferInfo() const { return _bufferInfo; } virtual quint64 id() const; virtual QVariant data(int column, int role) const; virtual bool setData(int column, const QVariant &value, int role); @@ -60,11 +60,14 @@ public: void attachIrcChannel(IrcChannel *ircChannel); QString bufferName() const; + inline BufferId bufferId() const { return _bufferInfo.bufferId(); } + inline BufferInfo::Type bufferType() const { return _bufferInfo.type(); } + + void setBufferName(const QString &name); QString topic() const; int nickCount() const; - bool isStatusBuffer() const; - BufferInfo::Type bufferType() const; + // bool isStatusBuffer() const; bool isActive() const; @@ -76,12 +79,15 @@ public: bool setLastSeen(); QDateTime lastSeen(); + virtual QString toolTip(int column) const; + public slots: void setTopic(const QString &topic); - void join(IrcUser *ircUser); + void join(const QList &ircUsers); void part(IrcUser *ircUser); void addUserToCategory(IrcUser *ircUser); + void addUsersToCategory(const QList &ircUser); void removeUserFromCategory(IrcUser *ircUser); void userModeChanged(IrcUser *ircUser); @@ -91,9 +97,10 @@ private slots: private: BufferInfo _bufferInfo; + QString _bufferName; Buffer::ActivityLevel _activity; - QPointer _ircChannel; + IrcChannel *_ircChannel; }; @@ -113,11 +120,14 @@ public: virtual QVariant data(int column, int row) const; bool isActive() const; - + + inline const NetworkId &networkId() const { return _networkId; } QString networkName() const; QString currentServer() const; int nickCount() const; - + + virtual QString toolTip(int column) const; + public slots: void setNetworkName(const QString &networkName); void setCurrentServer(const QString &serverName); @@ -125,8 +135,6 @@ public slots: void attachNetwork(Network *network); void attachIrcChannel(const QString &channelName); - void setActive(bool connected); - private: NetworkId _networkId; @@ -138,16 +146,16 @@ private: *****************************************/ class UserCategoryItem : public PropertyMapItem { Q_OBJECT - Q_PROPERTY(QString categoryId READ categoryId) + Q_PROPERTY(QString categoryName READ categoryName) public: UserCategoryItem(int category, AbstractTreeItem *parent); - QString categoryId(); + QString categoryName() const; virtual quint64 id() const; virtual QVariant data(int column, int role) const; - void addUser(IrcUser *ircUser); + void addUsers(const QList &ircUser); bool removeUser(IrcUser *ircUser); static int categoryFromModes(const QString &modes); @@ -155,13 +163,7 @@ public: private: int _category; - struct Category { - QChar mode; - QString displayString; - inline Category(QChar mode_, QString displayString_) : mode(mode_), displayString(displayString_) {}; - }; - - static const QList categories; + static const QList categories; }; /***************************************** @@ -181,9 +183,10 @@ public: virtual quint64 id() const; virtual QVariant data(int column, int role) const; virtual QString toolTip(int column) const; - + private slots: void setNick(QString newNick); + void setAway(bool); private: QPointer _ircUser; @@ -199,7 +202,7 @@ class NetworkModel : public TreeModel { public: enum myRoles { - BufferTypeRole = Qt::UserRole, + BufferTypeRole = TreeModel::UserRole, ItemActiveRole, BufferActivityRole, BufferIdRole, @@ -237,6 +240,7 @@ public: public slots: void bufferUpdated(BufferInfo bufferInfo); + void removeBuffer(BufferId bufferId); void setBufferActivity(const BufferInfo &buffer, Buffer::ActivityLevel activity); void networkRemoved(const NetworkId &networkId);