diff --git a/wallpapers/image/imagepackage/contents/ui/WallpaperDelegate.qml b/wallpapers/image/imagepackage/contents/ui/WallpaperDelegate.qml index 16749207b..ab1d5ff3f 100644 --- a/wallpapers/image/imagepackage/contents/ui/WallpaperDelegate.qml +++ b/wallpapers/image/imagepackage/contents/ui/WallpaperDelegate.qml @@ -50,6 +50,8 @@ KCM.GridDelegate { if (wallpapersGrid.view.currentIndex === index) { const newIndex = (index + 1) % (imageModel.count - 1); wallpapersGrid.view.itemAtIndex(newIndex).clicked(); + } else { + root.configurationChanged(); } } } diff --git a/wallpapers/image/imagepackage/contents/ui/config.qml b/wallpapers/image/imagepackage/contents/ui/config.qml index e056a41fc..d897572b5 100644 --- a/wallpapers/image/imagepackage/contents/ui/config.qml +++ b/wallpapers/image/imagepackage/contents/ui/config.qml @@ -39,6 +39,8 @@ ColumnLayout { property var cfg_UncheckedSlides: [] property var cfg_UncheckedSlidesDefault: [] + signal configurationChanged() + function saveConfig() { if (configDialog.currentWallpaper === "org.kde.image") { imageWallpaper.wallpaperModel.commitAddition(); @@ -60,6 +62,8 @@ ColumnLayout { onUncheckedSlidesChanged: cfg_UncheckedSlides = uncheckedSlides onSlideshowModeChanged: cfg_SlideshowMode = slideshowMode onSlideshowFoldersFirstChanged: cfg_SlideshowFoldersFirst = slideshowFoldersFirst + + onSettingsChanged: root.configurationChanged() } onCfg_FillModeChanged: { diff --git a/wallpapers/image/plugin/imagebackend.cpp b/wallpapers/image/plugin/imagebackend.cpp index db9b23c4b..603cfda14 100644 --- a/wallpapers/image/plugin/imagebackend.cpp +++ b/wallpapers/image/plugin/imagebackend.cpp @@ -518,6 +518,8 @@ void ImageBackend::slotWallpaperBrowseCompleted() for (const QString &p : selectedFiles) { m_model->addBackground(p); } + + Q_EMIT settingsChanged(); } QString ImageBackend::addUsersWallpaper(const QUrl &url) @@ -534,6 +536,8 @@ QString ImageBackend::addUsersWallpaper(const QUrl &url) return QString(); } + Q_EMIT settingsChanged(); + return results.at(0); } diff --git a/wallpapers/image/plugin/imagebackend.h b/wallpapers/image/plugin/imagebackend.h index 6aefb30c0..17f956eea 100644 --- a/wallpapers/image/plugin/imagebackend.h +++ b/wallpapers/image/plugin/imagebackend.h @@ -127,7 +127,7 @@ public Q_SLOTS: void slotSlideModelDataChanged(const QModelIndex &topLeft, const QModelIndex &bottomRight, const QVector &roles); Q_SIGNALS: - void settingsChanged(bool); + void settingsChanged(); void imageChanged(); void modelImageChanged(); void renderingModeChanged();