summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJ-P Nurmi <jpnurmi@digia.com>2013-10-22 17:00:45 +0200
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-10-23 00:01:44 +0200
commita83983d8617cba0caaae2cb2d6caf82b8e4f50a2 (patch)
tree7078115016ae37c18c0d7dd86f6f891f015f3f60
parent163bbeb2181bc66683bb836542dc1ea2bcded1fd (diff)
QTextHtmlParser: restore the default link color from app palette
The default link color used to be resolved to the link color of the application palette, but got lost during the Qt 5 modularization (see commits 7351a43 and 3f9a7f9). Task-number: QTBUG-28998 Change-Id: I7f07427f6c03f83c557100938ad9f7a39349d303 Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
-rw-r--r--src/gui/text/qtexthtmlparser.cpp4
-rw-r--r--tests/auto/gui/text/qtextdocument/tst_qtextdocument.cpp28
2 files changed, 30 insertions, 2 deletions
diff --git a/src/gui/text/qtexthtmlparser.cpp b/src/gui/text/qtexthtmlparser.cpp
index 5292ba20a2..a131503b85 100644
--- a/src/gui/text/qtexthtmlparser.cpp
+++ b/src/gui/text/qtexthtmlparser.cpp
@@ -46,7 +46,7 @@
#include <qstack.h>
#include <qdebug.h>
#include <qthread.h>
-#include <qcoreapplication.h>
+#include <qguiapplication.h>
#include "qtextdocument.h"
#include "qtextformat_p.h"
@@ -1066,7 +1066,7 @@ void QTextHtmlParserNode::initializeProperties(const QTextHtmlParserNode *parent
&& !attributes.at(i + 1).isEmpty()) {
hasHref = true;
charFormat.setUnderlineStyle(QTextCharFormat::SingleUnderline);
- charFormat.setForeground(Qt::blue);
+ charFormat.setForeground(QGuiApplication::palette().link());
}
}
diff --git a/tests/auto/gui/text/qtextdocument/tst_qtextdocument.cpp b/tests/auto/gui/text/qtextdocument/tst_qtextdocument.cpp
index 307e5a6210..b065f537f7 100644
--- a/tests/auto/gui/text/qtextdocument/tst_qtextdocument.cpp
+++ b/tests/auto/gui/text/qtextdocument/tst_qtextdocument.cpp
@@ -54,6 +54,7 @@
#include <qabstracttextdocumentlayout.h>
#include <qtextlist.h>
#include <qtextcodec.h>
+#include <qguiapplication.h>
#include <qurl.h>
#include <qpainter.h>
#include <qfontmetrics.h>
@@ -187,6 +188,9 @@ private slots:
void QTBUG27354_spaceAndSoftSpace();
void cssInheritance();
+
+ void QTBUG28998_linkColor();
+
private:
void backgroundImage_checkExpectedHtml(const QTextDocument &doc);
@@ -2974,5 +2978,29 @@ void tst_QTextDocument::cssInheritance()
}
}
+void tst_QTextDocument::QTBUG28998_linkColor()
+{
+ QPalette pal;
+ pal.setColor(QPalette::Link, QColor("tomato"));
+ QGuiApplication::setPalette(pal);
+
+ QTextDocument doc;
+ doc.setHtml("<a href=\"http://www.qt-project.org\">Qt</a>");
+
+ QCOMPARE(doc.blockCount(), 1);
+ QTextBlock block = doc.firstBlock();
+ QVERIFY(block.isValid());
+
+ QTextFragment fragment = block.begin().fragment();
+ QVERIFY(fragment.isValid());
+
+ QTextCharFormat format = fragment.charFormat();
+ QVERIFY(format.isValid());
+ QVERIFY(format.isAnchor());
+ QCOMPARE(format.anchorHref(), QStringLiteral("http://www.qt-project.org"));
+
+ QCOMPARE(format.foreground(), pal.link());
+}
+
QTEST_MAIN(tst_QTextDocument)
#include "tst_qtextdocument.moc"