diff --git a/wallpapers/image/imagepackage/contents/ui/ThumbnailsComponent.qml b/wallpapers/image/imagepackage/contents/ui/ThumbnailsComponent.qml index c1266015c..b5f768426 100644 --- a/wallpapers/image/imagepackage/contents/ui/ThumbnailsComponent.qml +++ b/wallpapers/image/imagepackage/contents/ui/ThumbnailsComponent.qml @@ -24,9 +24,13 @@ Item { Connections { target: imageWallpaper function onLoadingChanged() { - if (!imageWallpaper.loading) { - wallpapersGrid.resetCurrentIndex(); + if (imageWallpaper.loading) { + return; } + if (configDialog.currentWallpaper === "org.kde.image" && imageModel.indexOf(cfg_Image) < 0) { + imageWallpaper.addUsersWallpaper(cfg_Image); + } + wallpapersGrid.resetCurrentIndex(); } function onWallpaperBrowseCompleted() { diff --git a/wallpapers/image/plugin/imagebackend.cpp b/wallpapers/image/plugin/imagebackend.cpp index 3ba4d6b5a..674593ad7 100644 --- a/wallpapers/image/plugin/imagebackend.cpp +++ b/wallpapers/image/plugin/imagebackend.cpp @@ -376,7 +376,7 @@ void ImageBackend::slotWallpaperBrowseCompleted() QString ImageBackend::addUsersWallpaper(const QUrl &url) { - auto results = static_cast(wallpaperModel())->addBackground(url.toLocalFile()); + auto results = static_cast(wallpaperModel())->addBackground(url.isLocalFile() ? url.toLocalFile() : url.toString()); if (!m_usedInConfig) { m_model->commitAddition();