Preserve white-space in the input history. 151/head
authorBas Pape <baspape@gmail.com>
Sat, 28 Dec 2013 12:07:30 +0000 (13:07 +0100)
committerBas Pape <baspape@gmail.com>
Thu, 24 Sep 2015 19:28:01 +0000 (21:28 +0200)
By default QTextHtmlImporter::appendNodeText replaces white-space
characters with a single space and leading white-space is removed. When
white-space is set to pre-wrap in the style of the node, it is preserved
instead.

Given that contents are in a span element, setting white-space to
pre-wrap on span makes the setHtml call do the expected thing.

src/uisupport/multilineedit.cpp

index ed0dbb6..0651abf 100644 (file)
@@ -54,6 +54,9 @@ MultiLineEdit::MultiLineEdit(QWidget *parent)
     setLineWrapEnabled(false);
     reset();
 
+    // Prevent QTextHtmlImporter::appendNodeText from eating whitespace
+    document()->setDefaultStyleSheet("span { white-space: pre-wrap; }");
+
     connect(this, SIGNAL(textChanged()), this, SLOT(on_textChanged()));
 
     _mircColorMap["00"] = "#ffffff";