Implement client UI integration, add feature flag (0x400)
[quassel.git] / src / client / networkmodel.h
index cc230d0..c3577f4 100644 (file)
@@ -131,6 +131,8 @@ public :
     void setActivityLevel(BufferInfo::ActivityLevel level);
     void clearActivityLevel();
     void updateActivityLevel(const Message &msg);
+    void setActivity(Message::Types msg, bool highlight);
+    bool addActivity(Message::Types msg, bool highlight);
 
     inline const MsgId &firstUnreadMsgId() const { return _firstUnreadMsgId; }
 
@@ -213,6 +215,14 @@ public:
 
     void attachIrcChannel(IrcChannel *ircChannel);
 
+    /**
+     * Gets the list of channel modes for a given nick.
+     *
+     * @param[in] nick IrcUser nickname to check
+     * @returns Channel modes as a string if any, otherwise empty string
+     */
+    QString nickChannelModes(const QString &nick) const;
+
 public slots:
     void join(const QList<IrcUser *> &ircUsers);
     void part(IrcUser *ircUser);
@@ -279,6 +289,13 @@ public :
     virtual QVariant data(int column, int role) const;
     virtual QString toolTip(int column) const;
 
+    /**
+     * Gets the list of channel modes for this nick if parented to channel.
+     *
+     * @returns Channel modes as a string if any, otherwise empty string
+     */
+    QString channelModes() const;
+
 private slots:
     inline void ircUserQuited() { parent()->removeChild(this); }
 
@@ -368,6 +385,7 @@ public slots:
     void clearBufferActivity(const BufferId &bufferId);
     void updateBufferActivity(Message &msg);
     void networkRemoved(const NetworkId &networkId);
+    void bufferActivityChanged(BufferId, Message::Types);
 
 signals:
     void requestSetLastSeenMsg(BufferId buffer, MsgId msg);