summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRemko Tronçon <git@el-tramo.be>2010-08-29 15:20:29 (GMT)
committerRemko Tronçon <git@el-tramo.be>2010-08-29 17:32:41 (GMT)
commit46b13c4d25270c6933d20c6aa790619e30e4cfe8 (patch)
tree36fb78a6eb49180ddbffe2d50e5034f89474e72e /Swift/QtUI/QtXMLConsoleWidget.cpp
parentf2301a18167bc1221cc0b70b71692ce9d1021119 (diff)
downloadswift-46b13c4d25270c6933d20c6aa790619e30e4cfe8.zip
swift-46b13c4d25270c6933d20c6aa790619e30e4cfe8.tar.bz2
Added stanza acking support to client.
Diffstat (limited to 'Swift/QtUI/QtXMLConsoleWidget.cpp')
-rw-r--r--Swift/QtUI/QtXMLConsoleWidget.cpp21
1 files changed, 14 insertions, 7 deletions
diff --git a/Swift/QtUI/QtXMLConsoleWidget.cpp b/Swift/QtUI/QtXMLConsoleWidget.cpp
index 00f9d3b..1e7eff3 100644
--- a/Swift/QtUI/QtXMLConsoleWidget.cpp
+++ b/Swift/QtUI/QtXMLConsoleWidget.cpp
@@ -71,22 +71,29 @@ void QtXMLConsoleWidget::closeEvent(QCloseEvent* event) {
}
void QtXMLConsoleWidget::handleDataRead(const String& data) {
- textEdit->setTextColor(QColor(33,98,33));
- appendTextIfEnabled(data);
+ appendTextIfEnabled(data, QColor(33,98,33));
}
void QtXMLConsoleWidget::handleDataWritten(const String& data) {
- textEdit->setTextColor(QColor(155,1,0));
- appendTextIfEnabled(data);
+ appendTextIfEnabled(data, QColor(155,1,0));
}
-void QtXMLConsoleWidget::appendTextIfEnabled(const String& data) {
+void QtXMLConsoleWidget::appendTextIfEnabled(const String& data, const QColor& color) {
if (enabled->isChecked()) {
QScrollBar* scrollBar = textEdit->verticalScrollBar();
bool scrollToBottom = (!scrollBar || scrollBar->value() == scrollBar->maximum());
- textEdit->append(P2QSTRING(data));
+
+ QTextCursor cursor(textEdit->document());
+ cursor.beginEditBlock();
+ cursor.movePosition(QTextCursor::End);
+ QTextCharFormat format;
+ format.setForeground(QBrush(color));
+ cursor.mergeCharFormat(format);
+ cursor.insertText(P2QSTRING(data));
+ cursor.endEditBlock();
+
if (scrollToBottom) {
- textEdit->ensureCursorVisible();
+ scrollBar->setValue(scrollBar->maximum());
}
}
}