diff options
Diffstat (limited to 'Swift/QtUI')
| -rw-r--r-- | Swift/QtUI/QtXMLConsoleWidget.cpp | 21 | ||||
| -rw-r--r-- | Swift/QtUI/QtXMLConsoleWidget.h | 3 | 
2 files changed, 16 insertions, 8 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());  		}  	}  } diff --git a/Swift/QtUI/QtXMLConsoleWidget.h b/Swift/QtUI/QtXMLConsoleWidget.h index 28b15e8..1cfe54f 100644 --- a/Swift/QtUI/QtXMLConsoleWidget.h +++ b/Swift/QtUI/QtXMLConsoleWidget.h @@ -11,6 +11,7 @@  class QTextEdit;  class QCheckBox; +class QColor;  namespace Swift {  	class QtXMLConsoleWidget : public QtTabbable, public XMLConsoleWidget { @@ -29,7 +30,7 @@ namespace Swift {  			virtual void closeEvent(QCloseEvent* event);  			virtual void showEvent(QShowEvent* event); -			void appendTextIfEnabled(const String& data); +			void appendTextIfEnabled(const String& data, const QColor& color);  		private:  			QTextEdit* textEdit;  | 
 Swift