From 376e3bd8ecf40881685714f6f19e12d68e92127e Mon Sep 17 00:00:00 2001 From: Alexander Volkov Date: Tue, 25 Sep 2018 18:09:28 +0300 Subject: Introduce QUrlResourceProvider to load resources for HTML QTextDocument and the text editor classes suggest to override their loadResource() methods to provide data associated with a text document. This approach has the following drawbacks: - it requires subclassing - there is no way to set a global resource provider - QLabel is missing virtual loadResource() method and it can't be added without breaking ABI QUrlResourceProvider is designed to solve these issues. One should create a derived class that implements QUrlResourceProvider::resource(). The objects of the derived class then can be set for any text document. The default resource provider can be set with QUrlResourceProvider::setDefaultProvider(). This change also adds QLabel::setResourceProvider(), which doesn't break ABI. [ChangeLog][QtGui][Text] Introduced QUrlResourceProvider that allows to load resources for HTML. It is intended to replace the use of QTextDocument::loadResource(). Change-Id: Iaf19b229f522a73508f20715257450fe58f68daf Reviewed-by: Konstantin Ritt Reviewed-by: Lars Knoll --- src/gui/text/qtextdocument_p.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src/gui/text/qtextdocument_p.cpp') diff --git a/src/gui/text/qtextdocument_p.cpp b/src/gui/text/qtextdocument_p.cpp index d6da0f38d2..1f2e8d2da2 100644 --- a/src/gui/text/qtextdocument_p.cpp +++ b/src/gui/text/qtextdocument_p.cpp @@ -52,6 +52,7 @@ #include "qtextdocumentlayout_p.h" #include "qtexttable.h" #include "qtextengine_p.h" +#include "qurlresourceprovider.h" #include @@ -186,7 +187,8 @@ QTextDocumentPrivate::QTextDocumentPrivate() docChangeLength(0), framesDirty(true), rtFrame(nullptr), - initialBlockCharFormatIndex(-1) // set correctly later in init() + initialBlockCharFormatIndex(-1), // set correctly later in init() + resourceProvider(nullptr) { editBlock = 0; editBlockCursorPosition = -1; -- cgit v1.2.3