Warning, /plasma/plasma-desktop/applets/showActivityManager/package/contents/ui/main.qml is written in an unsupported language. File is not indexed.
0001 /*
0002 SPDX-FileCopyrightText: 2012 Gregor Taetzner <gregor@freenet.de>
0003 SPDX-FileCopyrightText: 2020 Ivan Čukić <ivan.cukic at kde.org>
0004
0005 SPDX-License-Identifier: LGPL-2.0-or-later
0006 */
0007
0008 import QtQuick
0009 import QtQuick.Layouts
0010 import org.kde.plasma.plasmoid
0011 import org.kde.plasma.core as PlasmaCore
0012 import org.kde.plasma.components as PlasmaComponents3
0013 import org.kde.draganddrop as DND
0014
0015 import org.kde.plasma.activityswitcher as ActivitySwitcher
0016 import org.kde.kirigami as Kirigami
0017 import org.kde.activities as Activities
0018
0019 PlasmoidItem {
0020 id: root
0021
0022 width: Kirigami.Units.iconSizes.large
0023 height: Kirigami.Units.iconSizes.large
0024
0025 Layout.maximumWidth: Infinity
0026 Layout.maximumHeight: Infinity
0027
0028 Layout.preferredWidth : icon.width + Kirigami.Units.smallSpacing + (root.showActivityName ? name.implicitWidth + Kirigami.Units.smallSpacing : 0)
0029
0030 Layout.minimumWidth: 0
0031 Layout.minimumHeight: 0
0032
0033 readonly property bool inVertical: Plasmoid.formFactor === PlasmaCore.Types.Vertical
0034 readonly property bool showActivityName: Plasmoid.configuration.showActivityName
0035 readonly property bool showActivityIcon: Plasmoid.configuration.showActivityIcon
0036
0037 Plasmoid.onActivated: ActivitySwitcher.Backend.toggleActivityManager()
0038 preferredRepresentation: fullRepresentation
0039
0040 DND.DropArea {
0041 id: dropArea
0042 anchors.fill: parent
0043
0044 onDragEnter: ActivitySwitcher.Backend.setDropMode(true)
0045 onDragLeave: ActivitySwitcher.Backend.setDropMode(false)
0046
0047 Activities.ActivityInfo {
0048 id: currentActivity
0049 activityId: ":current"
0050 }
0051
0052 MouseArea {
0053 anchors.fill: parent
0054
0055 activeFocusOnTab: true
0056
0057 Keys.onPressed: {
0058 switch (event.key) {
0059 case Qt.Key_Space:
0060 case Qt.Key_Enter:
0061 case Qt.Key_Return:
0062 case Qt.Key_Select:
0063 Plasmoid.activated();
0064 break;
0065 }
0066 }
0067 Accessible.name: name.text ? i18nc("@info:tooltip", "Current activity is %1", name.text) : ""
0068 Accessible.description: tooltip.subText
0069 Accessible.role: Accessible.Button
0070
0071 onClicked: Plasmoid.activated()
0072 }
0073
0074 PlasmaCore.ToolTipArea {
0075 id: tooltip
0076 anchors.fill: parent
0077 mainText: i18n("Show Activity Manager")
0078 subText: i18n("Click to show the activity manager")
0079 }
0080
0081 Kirigami.Icon {
0082 id: icon
0083 height: Math.min(parent.height, parent.width)
0084 width: height
0085
0086 source: !root.showActivityIcon ? "activities" :
0087 currentActivity.icon === "" ? "activities" :
0088 currentActivity.icon
0089 }
0090
0091 PlasmaComponents3.Label {
0092 id: name
0093
0094 anchors {
0095 left: icon.right
0096 leftMargin: Kirigami.Units.smallSpacing
0097 }
0098 height: parent.height
0099 width: implicitWidth
0100 visible: root.showActivityName && !root.inVertical
0101
0102 verticalAlignment: Text.AlignVCenter
0103
0104 text: currentActivity.name
0105 textFormat: Text.PlainText
0106 }
0107 }
0108 }