wallpapers/image: click image to preview

FEATURE: 403384
FIXED-IN: 5.26
wilder-5.26
Fushan Wen 4 years ago committed by Nate Graham
parent e2244b63bf
commit 18069a0f4a
  1. 4
      wallpapers/image/imagepackage/contents/config/main.xml
  2. 1
      wallpapers/image/imagepackage/contents/ui/WallpaperDelegate.qml
  3. 4
      wallpapers/image/imagepackage/contents/ui/config.qml
  4. 12
      wallpapers/image/imagepackage/contents/ui/main.qml

@ -22,6 +22,10 @@
<label>Wallpaper image path or wallpaper name</label>
<default></default>
</entry>
<entry name="PreviewImage" type="String">
<label>Wallpaper preview image path</label>
<default>null</default>
</entry>
<entry name="FillMode" type="int">
<label>Sizing, cropping and positioning of the wallpaper image</label>
<default>2</default>

@ -119,6 +119,7 @@ KCM.GridDelegate {
onClicked: {
if (configDialog.currentWallpaper == "org.kde.image") {
cfg_Image = model.packageName || model.path;
wallpaper.configuration.PreviewImage = cfg_Image;
}
GridView.currentIndex = index;
}

@ -208,4 +208,8 @@ ColumnLayout {
viewMode: NewStuff.Page.ViewMode.Preview
}
}
Component.onDestruction: {
wallpaper.configuration.PreviewImage = "null";
}
}

@ -53,6 +53,8 @@ QQC2.StackView {
//private
Component.onCompleted: {
// In case plasmashell crashes when the config dialog is opened
wallpaper.configuration.PreviewImage = "null";
wallpaper.loading = true; // delays ksplash until the wallpaper has been loaded
if (wallpaper.pluginName === "org.kde.slideshow") {
@ -66,7 +68,15 @@ QQC2.StackView {
usedInConfig: false
//the oneliner of difference between image and slideshow wallpapers
renderingMode: (wallpaper.pluginName === "org.kde.image") ? Wallpaper.ImageBackend.SingleImage : Wallpaper.ImageBackend.SlideShow
image: wallpaper.pluginName === "org.kde.image" ? wallpaper.configuration.Image : ""
image: {
if (wallpaper.pluginName !== "org.kde.image") {
return "";
}
if (wallpaper.configuration.PreviewImage !== "null") {
return wallpaper.configuration.PreviewImage;
}
return wallpaper.configuration.Image;
}
targetSize: root.sourceSize
slidePaths: wallpaper.configuration.SlidePaths
slideTimer: wallpaper.configuration.SlideInterval

Loading…
Cancel
Save