X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;f=src%2Fclient%2Fmessagemodel.h;h=f8ffaa5a9cebe5ce43e0e0b0b701ab9380359f30;hb=b4f1d778d8ea3bf86ddf1764314132e5eb9ef296;hp=62488cc4999bdabe3cd0f04ffdbcac31fe87a0c1;hpb=5225cf288d73e76905f85380ec52418c3b04efee;p=quassel.git diff --git a/src/client/messagemodel.h b/src/client/messagemodel.h index 62488cc4..f8ffaa5a 100644 --- a/src/client/messagemodel.h +++ b/src/client/messagemodel.h @@ -68,15 +68,32 @@ public: void clear(); +public slots: + void requestBacklog(BufferId bufferId); + void messagesReceived(BufferId bufferId, int count); + protected: virtual MessageModelItem *createMessageModelItem(const Message &) = 0; + virtual void customEvent(QEvent *event); + +private slots: + void changeOfDay(); private: void insertMessageGroup(const QList &); - QList _messageList; + int insertMessagesGracefully(const QList &); // inserts as many contiguous msgs as possible. returns numer of inserted msgs. int indexForId(MsgId); + + QList _messageList; + QList _messageBuffer; + QTimer _dayChangeTimer; + QDateTime _nextDayChange; + QHash _messagesWaiting; }; +// ************************************************** +// MessageModelItem +// ************************************************** class MessageModelItem { public: //! Creates a MessageModelItem from a Message object. @@ -110,4 +127,6 @@ private: Message::Flags _flags; }; +QDebug operator<<(QDebug dbg, const MessageModelItem &msgItem); + #endif