#include "buffer.h"
#include "clientbacklogmanager.h"
-ChatWidget::ChatWidget(QWidget *parent)
- : QAbstractScrollArea(parent),
+ChatWidget::ChatWidget(BufferId bufid, QWidget *parent) : QAbstractScrollArea(parent), AbstractChatView(),
lastBacklogOffset(0),
lastBacklogSize(0)
{
pointerPosition = QPoint(0,0);
connect(verticalScrollBar(), SIGNAL(actionTriggered(int)), this, SLOT(scrollBarAction(int)));
connect(verticalScrollBar(), SIGNAL(valueChanged(int)), this, SLOT(scrollBarValChanged(int)));
+
+ init(bufid);
}
void ChatWidget::init(BufferId id) {
viewport()->update();
}
-void ChatWidget::setContents(QList<ChatLineOld *> list) {
+void ChatWidget::setContents(const QList<AbstractUiMsg *> &list) {
ycoords.clear();
ycoords.append(0);
height = 0;
lines.clear();
- appendChatLines(list);
+ QList<ChatLineOld *> cl;
+ foreach(AbstractUiMsg *msg, list) cl << dynamic_cast<ChatLineOld *>(msg);
+ appendChatLines(cl);
}
//!\brief Computes the different x position vars for given tsWidth and senderWidth.
len = end - start;
}
QString word = text.mid(start, len);
- if(word.startsWith("http://")) {
+ QRegExp regex("^(h|f)t{1,2}ps?:\\/\\/");
+ if(regex.indexIn(word) != -1) {
QDesktopServices::openUrl(QUrl(word));
}