Warning, /plasma/plasma-workspace/wallpapers/image/imagepackage/contents/ui/main.qml is written in an unsupported language. File is not indexed.
0001 /* 0002 SPDX-FileCopyrightText: 2013 Marco Martin <mart@kde.org> 0003 SPDX-FileCopyrightText: 2014 Sebastian Kügler <sebas@kde.org> 0004 SPDX-FileCopyrightText: 2014 Kai Uwe Broulik <kde@privat.broulik.de> 0005 0006 SPDX-License-Identifier: GPL-2.0-or-later 0007 */ 0008 0009 import QtQuick 0010 import org.kde.plasma.core as PlasmaCore 0011 import org.kde.plasma.wallpapers.image as Wallpaper 0012 import org.kde.plasma.plasmoid 0013 0014 WallpaperItem { 0015 id: root 0016 0017 // used by WallpaperInterface for drag and drop 0018 onOpenUrlRequested: (url) => { 0019 if (root.pluginName === "org.kde.image") { 0020 const result = imageWallpaper.addUsersWallpaper(url); 0021 if (result.length > 0) { 0022 // Can be a file or a folder (KPackage) 0023 root.configuration.Image = result; 0024 } 0025 } else { 0026 imageWallpaper.addSlidePath(url); 0027 // Save drag and drop result 0028 root.configuration.SlidePaths = imageWallpaper.slidePaths; 0029 } 0030 } 0031 0032 contextualActions: [ 0033 PlasmaCore.Action { 0034 text: i18nd("plasma_wallpaper_org.kde.image", "Open Wallpaper Image") 0035 icon.name: "document-open" 0036 visible: root.pluginName === "org.kde.slideshow" 0037 onTriggered: imageView.mediaProxy.openModelImage(); 0038 }, 0039 PlasmaCore.Action { 0040 text: i18nd("plasma_wallpaper_org.kde.image", "Next Wallpaper Image") 0041 icon.name: "user-desktop" 0042 visible: root.pluginName === "org.kde.slideshow" 0043 onTriggered: imageWallpaper.nextSlide(); 0044 } 0045 ] 0046 0047 Component.onCompleted: { 0048 // In case plasmashell crashes when the config dialog is opened 0049 root.configuration.PreviewImage = "null"; 0050 root.loading = true; // delays ksplash until the wallpaper has been loaded 0051 } 0052 0053 ImageStackView { 0054 id: imageView 0055 anchors.fill: parent 0056 0057 fillMode: root.configuration.FillMode 0058 configColor: root.configuration.Color 0059 blur: root.configuration.Blur 0060 source: { 0061 if (root.pluginName === "org.kde.slideshow") { 0062 return imageWallpaper.image; 0063 } 0064 if (root.configuration.PreviewImage !== "null") { 0065 return root.configuration.PreviewImage; 0066 } 0067 return root.configuration.Image; 0068 } 0069 sourceSize: Qt.size(root.width * Screen.devicePixelRatio, root.height * Screen.devicePixelRatio) 0070 wallpaperInterface: root 0071 0072 Wallpaper.ImageBackend { 0073 id: imageWallpaper 0074 0075 // Not using root.configuration.Image to avoid binding loop warnings 0076 configMap: root.configuration 0077 usedInConfig: false 0078 //the oneliner of difference between image and slideshow wallpapers 0079 renderingMode: (root.pluginName === "org.kde.image") ? Wallpaper.ImageBackend.SingleImage : Wallpaper.ImageBackend.SlideShow 0080 targetSize: imageView.sourceSize 0081 slidePaths: root.configuration.SlidePaths 0082 slideTimer: root.configuration.SlideInterval 0083 slideshowMode: root.configuration.SlideshowMode 0084 slideshowFoldersFirst: root.configuration.SlideshowFoldersFirst 0085 uncheckedSlides: root.configuration.UncheckedSlides 0086 0087 // Invoked from C++ 0088 function writeImageConfig(newImage: string) { 0089 configMap.Image = newImage; 0090 } 0091 } 0092 } 0093 }