X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fclient%2Fnetworkmodel.h;h=2a342a69c15b7550ea5e4d5f8f7ecdfb5c025929;hp=1fd5767ff906ac0833d1e189488e8de2a13b4e11;hb=1066294489c2469323a2813b63ae4653d148bbc7;hpb=04754cf669dd295205226b744bc769b94693866a diff --git a/src/client/networkmodel.h b/src/client/networkmodel.h index 1fd5767f..2a342a69 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,28 +60,34 @@ 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; inline Buffer::ActivityLevel activityLevel() const { return _activity; } - bool setActivityLevel(Buffer::ActivityLevel level); + void setActivityLevel(Buffer::ActivityLevel level); void updateActivityLevel(Buffer::ActivityLevel level); void setLastMsgInsert(QDateTime msgDate); 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; }; @@ -110,22 +117,24 @@ public: NetworkItem(const NetworkId &netid, AbstractTreeItem *parent = 0); virtual quint64 id() const; - inline const NetworkId &networkId() const { return _networkId; } 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); void attachNetwork(Network *network); void attachIrcChannel(const QString &channelName); - + private: NetworkId _networkId; @@ -137,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); @@ -154,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; }; /***************************************** @@ -180,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; @@ -198,7 +202,7 @@ class NetworkModel : public TreeModel { public: enum myRoles { - BufferTypeRole = Qt::UserRole, + BufferTypeRole = TreeModel::UserRole, ItemActiveRole, BufferActivityRole, BufferIdRole,