Warning, /plasma/plasma-desktop/containments/desktop/package/contents/ui/FolderItemActionButton.qml is written in an unsupported language. File is not indexed.

0001 /*
0002     SPDX-FileCopyrightText: 2014 Eike Hein <hein@kde.org>
0003 
0004     SPDX-License-Identifier: GPL-2.0-or-later
0005 */
0006 
0007 import QtQuick 2.15
0008 
0009 import org.kde.plasma.plasmoid 2.0
0010 import org.kde.kirigami 2.20 as Kirigami
0011 import org.kde.ksvg 1.0 as KSvg
0012 
0013 KSvg.SvgItem {
0014     id: actionButton
0015 
0016     width: {
0017         if (!visible) {
0018             return 0;
0019         }
0020         switch (Plasmoid.configuration.iconSize) {
0021             case 0: return Kirigami.Units.iconSizes.small;
0022             case 1: return Kirigami.Units.iconSizes.small;
0023             case 2: return Kirigami.Units.iconSizes.smallMedium;
0024             case 3: return Kirigami.Units.iconSizes.smallMedium;
0025             case 4: return Kirigami.Units.iconSizes.smallMedium;
0026             case 5: return Kirigami.Units.iconSizes.medium;
0027             case 6: return Kirigami.Units.iconSizes.large;
0028             default: return Kirigami.Units.iconSizes.small;
0029         }
0030     }
0031     height: width
0032 
0033     signal clicked()
0034 
0035     property string element
0036 
0037     svg: KSvg.Svg {
0038         imagePath: "widgets/action-overlays"
0039         multipleImages: true
0040         size: "16x16"
0041     }
0042     elementId: element + "-normal"
0043 
0044     Behavior on opacity {
0045         NumberAnimation { duration: Kirigami.Units.shortDuration }
0046     }
0047 
0048     MouseArea {
0049         id: actionButtonMouseArea
0050 
0051         anchors.fill: actionButton
0052 
0053         acceptedButtons: Qt.LeftButton
0054         hoverEnabled: true
0055 
0056         onClicked: mouse => actionButton.clicked()
0057 
0058         states: [
0059             State {
0060                 name: "hover"
0061                 when: actionButtonMouseArea.containsMouse && !actionButtonMouseArea.pressed
0062 
0063                 PropertyChanges {
0064                     target: actionButton
0065                     elementId: actionButton.element + "-hover"
0066                 }
0067             },
0068             State {
0069                 name: "pressed"
0070                 when: actionButtonMouseArea.pressed
0071 
0072                 PropertyChanges {
0073                     target: actionButton
0074                     elementId: actionButton.element + "-pressed"
0075                 }
0076             }
0077         ]
0078     }
0079 }