X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fqtopia%2Fchatwidget.cpp;h=b6950c645b263ba6b9caad5234489d08cd488a63;hp=43758d36fdf71e36ca06e21025fc17b62c0e0be4;hb=e561e02a8d2f1f009559d17c7b1c66cb6f4e2a5a;hpb=d298e7275374e2da41b0ed9ef1080464a77c8cf1 diff --git a/src/qtopia/chatwidget.cpp b/src/qtopia/chatwidget.cpp index 43758d36..b6950c64 100644 --- a/src/qtopia/chatwidget.cpp +++ b/src/qtopia/chatwidget.cpp @@ -22,74 +22,76 @@ #include #include "chatwidget.h" -ChatWidget::ChatWidget(QWidget *parent) : QTextEdit(parent) { +ChatWidget::ChatWidget(QWidget *parent) : QTextEdit(parent), AbstractChatView() { setStyleSheet("background-color: rgba(255, 255, 255, 60%)"); setTextInteractionFlags(Qt::TextBrowserInteraction); } -void ChatWidget::setContents(QList lines) { +void ChatWidget::setContents(const QList &lines) { clear(); - appendChatLines(lines); + QList list; + foreach(AbstractUiMsg *msg, lines) list << static_cast(msg); + appendChatLines(list); } void ChatWidget::prependMsg(AbstractUiMsg *msg) { - ChatLineOld *line = static_cast(msg); + ChatLine *line = static_cast(msg); Q_ASSERT(line); prependChatLine(line); } void ChatWidget::appendMsg(AbstractUiMsg *msg) { - ChatLineOld *line = static_cast(msg); + ChatLine *line = static_cast(msg); Q_ASSERT(line); appendChatLine(line); } -void ChatWidget::appendChatLine(ChatLineOld *line) { +void ChatWidget::appendChatLine(ChatLine *line) { QTextCursor cursor = textCursor(); moveCursor(QTextCursor::End); if(!document()->isEmpty()) insertPlainText("\n"); insertStyledText(line->styledSender()); insertPlainText(" "); - insertStyledText(line->styledText()); + insertStyledText(line->styledContents()); setTextCursor(cursor); } -void ChatWidget::appendChatLines(QList list) { - foreach(ChatLineOld *line, list) { +void ChatWidget::appendChatLines(QList list) { + foreach(ChatLine *line, list) { appendChatLine(line); } } -void ChatWidget::prependChatLine(ChatLineOld *line) { +void ChatWidget::prependChatLine(ChatLine *line) { QTextCursor cursor = textCursor(); moveCursor(QTextCursor::Start); bool flg = document()->isEmpty(); insertStyledText(line->styledSender()); insertPlainText(" "); - insertStyledText(line->styledText()); + insertStyledText(line->styledContents()); if(!flg) insertPlainText("\n"); setTextCursor(cursor); } -void ChatWidget::prependChatLines(QList list) { - foreach(ChatLineOld *line, list) { +void ChatWidget::prependChatLines(QList list) { + foreach(ChatLine *line, list) { prependChatLine(line); } } -void ChatWidget::insertChatLine(ChatLineOld *line) { +void ChatWidget::insertChatLine(ChatLine *line) { if(!document()->isEmpty()) insertPlainText("\n"); insertStyledText(line->styledSender()); insertPlainText(" "); - insertStyledText(line->styledText()); + insertStyledText(line->styledContents()); } void ChatWidget::insertStyledText(const QtopiaUiStyle::StyledText &stext) { QTextCursor cursor = textCursor(); - foreach(QTextLayout::FormatRange format, stext.formats) { + foreach(QTextLayout::FormatRange format, stext.formatList) { cursor.setCharFormat(format.format); setTextCursor(cursor); - insertPlainText(stext.text.mid(format.start, format.length)); + insertPlainText(stext.plainText.mid(format.start, format.length)); } }