From 6709e2060aff8b792fcc57004222f7de72584831 Mon Sep 17 00:00:00 2001 From: J-P Nurmi Date: Sun, 24 Nov 2013 18:11:32 +0100 Subject: QQuickTextDocumentWithImageResources: use QTextDocument::baseUrl QTextDocument::baseUrl was introduced in qtbase commit 1f22c1d. The ultimate goal is to get rid of QQuickTextDocumentWithImageResources and eventually make QQuickTextEdit's document interchangeable. Change-Id: Ibafeecc395b52f7200d8164f809bf76538e5620c Reviewed-by: Alan Alpert --- src/quick/items/qquicktext.cpp | 27 ++++++++------------------- 1 file changed, 8 insertions(+), 19 deletions(-) (limited to 'src/quick/items/qquicktext.cpp') diff --git a/src/quick/items/qquicktext.cpp b/src/quick/items/qquicktext.cpp index 9d11bfb4ea..9c153febb6 100644 --- a/src/quick/items/qquicktext.cpp +++ b/src/quick/items/qquicktext.cpp @@ -115,6 +115,7 @@ QQuickTextDocumentWithImageResources::QQuickTextDocumentWithImageResources(QQuic { setUndoRedoEnabled(false); documentLayout()->registerHandler(QTextFormat::ImageObject, this); + connect(this, SIGNAL(baseUrlChanged(QUrl)), this, SLOT(reset())); } QQuickTextDocumentWithImageResources::~QQuickTextDocumentWithImageResources() @@ -126,14 +127,13 @@ QQuickTextDocumentWithImageResources::~QQuickTextDocumentWithImageResources() QVariant QQuickTextDocumentWithImageResources::loadResource(int type, const QUrl &name) { QQmlContext *context = qmlContext(parent()); - QUrl url = m_baseUrl.resolved(name); if (type == QTextDocument::ImageResource) { - QQuickPixmap *p = loadPixmap(context, url); + QQuickPixmap *p = loadPixmap(context, name); return p->image(); } - return QTextDocument::loadResource(type,url); // The *resolved* URL + return QTextDocument::loadResource(type, name); } void QQuickTextDocumentWithImageResources::requestFinished() @@ -145,14 +145,6 @@ void QQuickTextDocumentWithImageResources::requestFinished() } } -void QQuickTextDocumentWithImageResources::clear() -{ - clearResources(); - - QTextDocument::clear(); -} - - QSizeF QQuickTextDocumentWithImageResources::intrinsicSize( QTextDocument *, int, const QTextFormat &format) { @@ -167,7 +159,7 @@ QSizeF QQuickTextDocumentWithImageResources::intrinsicSize( QSizeF size(width, height); if (!hasWidth || !hasHeight) { QQmlContext *context = qmlContext(parent()); - QUrl url = m_baseUrl.resolved(QUrl(imageFormat.name())); + QUrl url = baseUrl().resolved(QUrl(imageFormat.name())); QQuickPixmap *p = loadPixmap(context, url); if (!p->isReady()) { @@ -205,19 +197,16 @@ void QQuickTextDocumentWithImageResources::drawObject( QImage QQuickTextDocumentWithImageResources::image(const QTextImageFormat &format) { QQmlContext *context = qmlContext(parent()); - QUrl url = m_baseUrl.resolved(QUrl(format.name())); + QUrl url = baseUrl().resolved(QUrl(format.name())); QQuickPixmap *p = loadPixmap(context, url); return p->image(); } -void QQuickTextDocumentWithImageResources::setBaseUrl(const QUrl &url, bool clear) +void QQuickTextDocumentWithImageResources::reset() { - m_baseUrl = url; - if (clear) { - clearResources(); - markContentsDirty(0, characterCount()); - } + clearResources(); + markContentsDirty(0, characterCount()); } QQuickPixmap *QQuickTextDocumentWithImageResources::loadPixmap( -- cgit v1.2.3