X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;f=src%2Fqtui%2Fchatwidget.h;h=e7d1782b030abf121ba99b40c49ad8a876eb7925;hb=189c2def1996c6a25a8182794f2d6efbbf712867;hp=8e2f0aea8735e2f1f966ba038cb788ecd59813f5;hpb=fee1002dcb914ef9d47ceae97080b8c140e3b1ed;p=quassel.git diff --git a/src/qtui/chatwidget.h b/src/qtui/chatwidget.h index 8e2f0aea..e7d1782b 100644 --- a/src/qtui/chatwidget.h +++ b/src/qtui/chatwidget.h @@ -1,11 +1,11 @@ /*************************************************************************** - * Copyright (C) 2005/06 by The Quassel Team * + * Copyright (C) 2005/06 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * + * (at your option) version 3. * * * * This program is distributed in the hope that it will be useful, * * but WITHOUT ANY WARRANTY; without even the implied warranty of * @@ -23,7 +23,9 @@ #include -class ChatLine; +#include "types.h" + +class ChatLineOld; class AbstractUiMsg; //!\brief Scroll area showing part of the chat messages for a given buffer. @@ -43,8 +45,9 @@ class ChatWidget : public QAbstractScrollArea { public: ChatWidget(QWidget *parent = 0); ~ChatWidget(); - void init(QString net, QString buf); + void init(BufferId id); + virtual QSize minimumSizeHint() const; virtual QSize sizeHint() const; public slots: @@ -53,11 +56,11 @@ class ChatWidget : public QAbstractScrollArea { void prependMsg(AbstractUiMsg *); void appendMsg(AbstractUiMsg *); - void prependChatLine(ChatLine *); - void appendChatLine(ChatLine *); - void prependChatLines(QList); - void appendChatLines(QList); - void setContents(QList); + void prependChatLine(ChatLineOld *); + void appendChatLine(ChatLineOld *); + void prependChatLines(QList); + void appendChatLines(QList); + void setContents(QList); protected: virtual void resizeEvent(QResizeEvent *event); @@ -73,9 +76,10 @@ class ChatWidget : public QAbstractScrollArea { void scrollBarValChanged(int); void ensureVisible(int line); void handleScrollTimer(); + void viewportChanged(int newPos); private: - QString networkName, bufferName; + BufferId bufferId; enum SelectionMode { NoSelection, TextSelected, LinesSelected }; enum MouseMode { Normal, Pressed, DragTsSep, DragTextSep, MarkText, MarkLines }; enum MousePos { None, OverTsSep, OverTextSep, OverUrl }; @@ -92,7 +96,7 @@ class ChatWidget : public QAbstractScrollArea { int bottomLine, bottomLineOffset; - QList lines; + QList lines; QList ycoords; QTimer *scrollTimer; QPoint pointerPosition; @@ -117,6 +121,8 @@ class ChatWidget : public QAbstractScrollArea { QString selectionToString(); void handleMouseMoveEvent(const QPoint &pos); + MsgId lastBacklogOffset; + int lastBacklogSize; }; #endif