diff options
author | J-P Nurmi <jpnurmi@digia.com> | 2013-10-22 17:00:45 +0200 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-10-23 00:01:44 +0200 |
commit | a83983d8617cba0caaae2cb2d6caf82b8e4f50a2 (patch) | |
tree | 7078115016ae37c18c0d7dd86f6f891f015f3f60 | |
parent | 163bbeb2181bc66683bb836542dc1ea2bcded1fd (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.cpp | 4 | ||||
-rw-r--r-- | tests/auto/gui/text/qtextdocument/tst_qtextdocument.cpp | 28 |
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" |