From 25aaec219e6dc91f634e1bf000d3221931f52482 Mon Sep 17 00:00:00 2001 From: Fushan Wen Date: Tue, 14 Jun 2022 14:16:52 +0800 Subject: [PATCH] wallpapers/image: store formatted source url No need to call formatUrl every time using it. --- wallpapers/image/plugin/utils/mediaproxy.cpp | 10 +++++++--- wallpapers/image/plugin/utils/mediaproxy.h | 1 + 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/wallpapers/image/plugin/utils/mediaproxy.cpp b/wallpapers/image/plugin/utils/mediaproxy.cpp index 092a8a54b..fbedc3e40 100644 --- a/wallpapers/image/plugin/utils/mediaproxy.cpp +++ b/wallpapers/image/plugin/utils/mediaproxy.cpp @@ -59,6 +59,7 @@ void MediaProxy::setSource(const QString &url) } m_source = QUrl(url); + m_formattedSource = formatUrl(m_source); Q_EMIT sourceChanged(); m_providerType = determineType(m_source); @@ -167,6 +168,9 @@ void MediaProxy::useSingleImageDefaults() return; } + m_formattedSource = formatUrl(m_source); + Q_EMIT sourceChanged(); + m_providerType = determineType(m_source); updateModelImage(); } @@ -223,7 +227,7 @@ Provider::Type MediaProxy::determineType(const QUrl &url) QUrl MediaProxy::findPreferredImageInPackage() { KPackage::Package package = KPackage::PackageLoader::self()->loadPackage(QStringLiteral("Wallpaper/Images")); - package.setPath(formatUrl(m_source).toLocalFile()); + package.setPath(m_formattedSource.toLocalFile()); QUrl url; @@ -255,7 +259,7 @@ void MediaProxy::updateModelImage() switch (m_providerType) { case Provider::Type::Image: { - newRealSource = formatUrl(m_source); + newRealSource = m_formattedSource; break; } @@ -264,7 +268,7 @@ void MediaProxy::updateModelImage() QUrl composedUrl(QStringLiteral("image://package/get")); QUrlQuery urlQuery(composedUrl); - urlQuery.addQueryItem(QStringLiteral("dir"), formatUrl(m_source).toLocalFile()); + urlQuery.addQueryItem(QStringLiteral("dir"), m_formattedSource.toLocalFile()); // To make modelImageChaged work urlQuery.addQueryItem(QStringLiteral("targetWidth"), QString::number(m_targetSize.width())); urlQuery.addQueryItem(QStringLiteral("targetHeight"), QString::number(m_targetSize.height())); diff --git a/wallpapers/image/plugin/utils/mediaproxy.h b/wallpapers/image/plugin/utils/mediaproxy.h index 5ee7c8cb0..626c04d06 100644 --- a/wallpapers/image/plugin/utils/mediaproxy.h +++ b/wallpapers/image/plugin/utils/mediaproxy.h @@ -91,6 +91,7 @@ private: bool m_ready = false; QUrl m_source; + QUrl m_formattedSource; QUrl m_modelImage; Provider::Type m_providerType = Provider::Type::Unknown;