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

0001 /*
0002     SPDX-FileCopyrightText: 2013-2014 Eike Hein <hein@kde.org>
0003 
0004     SPDX-License-Identifier: GPL-2.0-or-later
0005 */
0006 
0007 import QtQuick 2.0
0008 import QtQuick.Layouts 1.1
0009 
0010 import org.kde.plasma.plasmoid 2.0
0011 import org.kde.plasma.core as PlasmaCore
0012 import org.kde.draganddrop 2.0 as DragDrop
0013 import org.kde.kirigami 2.20 as Kirigami
0014 
0015 DragDrop.DropArea {
0016     readonly property bool inPanel: [
0017         PlasmaCore.Types.TopEdge,
0018         PlasmaCore.Types.LeftEdge,
0019         PlasmaCore.Types.RightEdge,
0020         PlasmaCore.Types.BottomEdge,
0021     ].includes(Plasmoid.location)
0022 
0023     Layout.minimumWidth: Plasmoid.formFactor === PlasmaCore.Types.Horizontal ? height : Kirigami.Units.iconSizes.small
0024     Layout.minimumHeight: Plasmoid.formFactor === PlasmaCore.Types.Vertical ? width : (Kirigami.Units.iconSizes.small + 2 * Kirigami.Units.iconSizes.sizeForLabels)
0025 
0026     property Item folderView: null
0027 
0028     onContainsDragChanged: contained => {
0029         if (containsDrag) {
0030             hoverActivateTimer.restart();
0031         } else {
0032             hoverActivateTimer.stop();
0033         }
0034     }
0035 
0036     onDrop: event => {
0037         folderView.model.dropCwd(event);
0038     }
0039 
0040     preventStealing: true
0041 
0042     function toggle() {
0043         root.expanded = !root.expanded;
0044     }
0045 
0046     Kirigami.Icon {
0047         id: icon
0048 
0049         anchors.fill: parent
0050 
0051         active: mouseArea.containsMouse
0052 
0053         source: Plasmoid.configuration.useCustomIcon ? Plasmoid.configuration.icon : folderView.model.iconName
0054     }
0055 
0056     MouseArea {
0057         id: mouseArea
0058 
0059         anchors.fill: parent
0060 
0061         hoverEnabled: true
0062 
0063         onClicked: mouse => toggle()
0064     }
0065 
0066     Timer {
0067         id: hoverActivateTimer
0068 
0069         interval: root.hoverActivateDelay
0070 
0071         onTriggered: toggle()
0072     }
0073 }