X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;f=src%2Fqtopia%2Fchatwidget.cpp;h=43758d36fdf71e36ca06e21025fc17b62c0e0be4;hb=d298e7275374e2da41b0ed9ef1080464a77c8cf1;hp=8c81f4485785f4513b1593e59015ec1a6525ba02;hpb=fbc4df88ae0bb5e4d9394922395ce2ba29d9108e;p=quassel.git diff --git a/src/qtopia/chatwidget.cpp b/src/qtopia/chatwidget.cpp index 8c81f448..43758d36 100644 --- a/src/qtopia/chatwidget.cpp +++ b/src/qtopia/chatwidget.cpp @@ -1,11 +1,11 @@ /*************************************************************************** - * Copyright (C) 2005-07 by The Quassel IRC Development Team * + * Copyright (C) 2005-08 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 * @@ -24,57 +24,65 @@ ChatWidget::ChatWidget(QWidget *parent) : QTextEdit(parent) { setStyleSheet("background-color: rgba(255, 255, 255, 60%)"); + setTextInteractionFlags(Qt::TextBrowserInteraction); } -void ChatWidget::setContents(QList lines) { +void ChatWidget::setContents(QList lines) { clear(); appendChatLines(lines); } void ChatWidget::prependMsg(AbstractUiMsg *msg) { - ChatLine *line = dynamic_cast(msg); + ChatLineOld *line = static_cast(msg); Q_ASSERT(line); prependChatLine(line); } void ChatWidget::appendMsg(AbstractUiMsg *msg) { - ChatLine *line = dynamic_cast(msg); + ChatLineOld *line = static_cast(msg); Q_ASSERT(line); appendChatLine(line); } -void ChatWidget::appendChatLine(ChatLine *line) { +void ChatWidget::appendChatLine(ChatLineOld *line) { QTextCursor cursor = textCursor(); moveCursor(QTextCursor::End); - insertChatLine(line); + if(!document()->isEmpty()) insertPlainText("\n"); + insertStyledText(line->styledSender()); + insertPlainText(" "); + insertStyledText(line->styledText()); setTextCursor(cursor); } -void ChatWidget::appendChatLines(QList list) { - foreach(ChatLine *line, list) { +void ChatWidget::appendChatLines(QList list) { + foreach(ChatLineOld *line, list) { appendChatLine(line); } } -void ChatWidget::prependChatLine(ChatLine *line) { +void ChatWidget::prependChatLine(ChatLineOld *line) { QTextCursor cursor = textCursor(); moveCursor(QTextCursor::Start); - insertChatLine(line); + bool flg = document()->isEmpty(); + insertStyledText(line->styledSender()); + insertPlainText(" "); + insertStyledText(line->styledText()); + if(!flg) insertPlainText("\n"); setTextCursor(cursor); } -void ChatWidget::prependChatLines(QList list) { - foreach(ChatLine *line, list) { +void ChatWidget::prependChatLines(QList list) { + foreach(ChatLineOld *line, list) { prependChatLine(line); } } -void ChatWidget::insertChatLine(ChatLine *line) { +void ChatWidget::insertChatLine(ChatLineOld *line) { + if(!document()->isEmpty()) insertPlainText("\n"); insertStyledText(line->styledSender()); insertPlainText(" "); insertStyledText(line->styledText()); - insertPlainText("\n"); } void ChatWidget::insertStyledText(const QtopiaUiStyle::StyledText &stext) {