X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fqtopia%2Fchatwidget.cpp;fp=src%2Fqtopia%2Fchatwidget.cpp;h=0000000000000000000000000000000000000000;hp=b6950c645b263ba6b9caad5234489d08cd488a63;hb=3d9903e8c5e1ed10c2c277d1f9c9047365c9ecfe;hpb=5a25e34f1afc3be4569a6f4726fd37067c71648f diff --git a/src/qtopia/chatwidget.cpp b/src/qtopia/chatwidget.cpp deleted file mode 100644 index b6950c64..00000000 --- a/src/qtopia/chatwidget.cpp +++ /dev/null @@ -1,97 +0,0 @@ -/*************************************************************************** - * 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) version 3. * - * * - * This program is distributed in the hope that it will be useful, * - * but WITHOUT ANY WARRANTY; without even the implied warranty of * - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * - * GNU General Public License for more details. * - * * - * You should have received a copy of the GNU General Public License * - * along with this program; if not, write to the * - * Free Software Foundation, Inc., * - * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * - ***************************************************************************/ - -#include -#include -#include "chatwidget.h" - -ChatWidget::ChatWidget(QWidget *parent) : QTextEdit(parent), AbstractChatView() { - setStyleSheet("background-color: rgba(255, 255, 255, 60%)"); - setTextInteractionFlags(Qt::TextBrowserInteraction); -} - -void ChatWidget::setContents(const QList &lines) { - clear(); - QList list; - foreach(AbstractUiMsg *msg, lines) list << static_cast(msg); - appendChatLines(list); - -} - -void ChatWidget::prependMsg(AbstractUiMsg *msg) { - ChatLine *line = static_cast(msg); - Q_ASSERT(line); - prependChatLine(line); -} - -void ChatWidget::appendMsg(AbstractUiMsg *msg) { - ChatLine *line = static_cast(msg); - Q_ASSERT(line); - appendChatLine(line); -} - -void ChatWidget::appendChatLine(ChatLine *line) { - QTextCursor cursor = textCursor(); - moveCursor(QTextCursor::End); - if(!document()->isEmpty()) insertPlainText("\n"); - insertStyledText(line->styledSender()); - insertPlainText(" "); - insertStyledText(line->styledContents()); - setTextCursor(cursor); -} - -void ChatWidget::appendChatLines(QList list) { - foreach(ChatLine *line, list) { - appendChatLine(line); - } -} - -void ChatWidget::prependChatLine(ChatLine *line) { - QTextCursor cursor = textCursor(); - moveCursor(QTextCursor::Start); - bool flg = document()->isEmpty(); - insertStyledText(line->styledSender()); - insertPlainText(" "); - insertStyledText(line->styledContents()); - if(!flg) insertPlainText("\n"); - setTextCursor(cursor); -} - -void ChatWidget::prependChatLines(QList list) { - foreach(ChatLine *line, list) { - prependChatLine(line); - } -} - -void ChatWidget::insertChatLine(ChatLine *line) { - if(!document()->isEmpty()) insertPlainText("\n"); - insertStyledText(line->styledSender()); - insertPlainText(" "); - insertStyledText(line->styledContents()); -} - -void ChatWidget::insertStyledText(const QtopiaUiStyle::StyledText &stext) { - QTextCursor cursor = textCursor(); - foreach(QTextLayout::FormatRange format, stext.formatList) { - cursor.setCharFormat(format.format); - setTextCursor(cursor); - insertPlainText(stext.plainText.mid(format.start, format.length)); - } -}