diff --git a/wallpapers/image/image.cpp b/wallpapers/image/image.cpp
--- a/wallpapers/image/image.cpp
+++ b/wallpapers/image/image.cpp
@@ -151,7 +151,7 @@
if (m_mode == SlideShow) {
if (m_slidePaths.isEmpty()) {
- m_slidePaths << QStandardPaths::locateAll(QStandardPaths::GenericDataLocation, QStringLiteral("share/wallpapers"), QStandardPaths::LocateDirectory);
+ m_slidePaths << QStandardPaths::locateAll(QStandardPaths::GenericDataLocation, QStringLiteral("wallpapers"), QStandardPaths::LocateDirectory);
}
startSlideshow();
@@ -357,11 +357,21 @@
return;
}
+ const QStringList defaultWallpaperPaths = QStandardPaths::locateAll(QStandardPaths::GenericDataLocation, QStringLiteral("wallpapers"), QStandardPaths::LocateDirectory);
+
m_slidePaths = slidePaths;
m_slidePaths.removeAll(QString());
if (m_slidePaths.isEmpty()) {
- m_slidePaths << QStandardPaths::locateAll(QStandardPaths::GenericDataLocation, QStringLiteral("share/wallpapers"), QStandardPaths::LocateDirectory);
+ m_slidePaths << defaultWallpaperPaths;
+ } else {
+ // Replace 'preferred://wallpaperlocations' with real paths
+ for (QString &path : m_slidePaths) {
+ if (path == QLatin1String("preferred://wallpaperlocations")) {
+ m_slidePaths.append(defaultWallpaperPaths);
+ m_slidePaths.removeAll(path);
+ }
+ }
}
if (m_mode == SlideShow) {
diff --git a/wallpapers/image/slideshowpackage/contents/config/main.xml b/wallpapers/image/slideshowpackage/contents/config/main.xml
--- a/wallpapers/image/slideshowpackage/contents/config/main.xml
+++ b/wallpapers/image/slideshowpackage/contents/config/main.xml
@@ -24,7 +24,7 @@
-
+ preferred://wallpaperlocations