inline BufferId currentBuffer() const { return _currentBuffer; }
+ signals:
+ void currentChanged(BufferId);
+
protected:
//! Create an AbstractChatView for the given BufferId and add it to the UI if necessary
virtual AbstractChatView *createChatView(BufferId) = 0;
* It also shall delete the object afterwards.
* \param view The chat view to be removed and deleted
*/
- virtual void removeChatView(AbstractChatView *view) = 0;
+ virtual void removeChatView(BufferId) = 0;
protected slots:
virtual void currentChanged(const QModelIndex ¤t, const QModelIndex &previous);
* selecting the appropriate page in a QStackedWidget.
* \param view The chat view to be displayed. May be 0 if no chat view is selected.
*/
- virtual void showChatView(AbstractChatView *view) = 0;
+ virtual void showChatView(BufferId) = 0;
private slots:
- void appendMsg(AbstractUiMsg *);
- void prependMsg(AbstractUiMsg *);
void removeBuffer(BufferId bufferId);
void setCurrentBuffer(BufferId bufferId);
class AbstractChatView {
public:
- virtual ~AbstractChatView() = 0;
- virtual void appendMsg(AbstractUiMsg *msg) = 0;
- virtual void prependMsg(AbstractUiMsg *msg) = 0;
- virtual void setContents(const QList<AbstractUiMsg *> &contents) = 0;
-
+ virtual ~AbstractChatView() {};
+ virtual MsgId lastMsgId() const = 0;
};
#endif