Warning, /plasma/plasma-desktop/desktoppackage/contents/activitymanager/ActivityManager.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 Ivan Cukic <ivan.cukic@kde.org> 0004 0005 SPDX-License-Identifier: LGPL-2.0-or-later 0006 */ 0007 0008 import QtQuick 2.0 0009 0010 import org.kde.plasma.components 3.0 as PlasmaComponents 0011 import org.kde.kirigami 2.20 as Kirigami 0012 import org.kde.config as KConfig // KAuthorized 0013 import org.kde.kcmutils // KCMLauncher 0014 0015 0016 FocusScope { 0017 id: root 0018 signal closed() 0019 0020 function parentClosed() { 0021 activityBrowser.parentClosed(); 0022 } 0023 0024 //this is used to perfectly align the filter field and delegates 0025 property int cellWidth: Kirigami.Units.iconSizes.sizeForLabels * 30 0026 property int spacing: 2 * Kirigami.Units.smallSpacing 0027 0028 property bool showSwitcherOnly: false 0029 0030 width: Kirigami.Units.gridUnit * 16 0031 0032 Item { 0033 id: activityBrowser 0034 0035 property int spacing: 2 * Kirigami.Units.smallSpacing 0036 0037 signal closeRequested() 0038 0039 Keys.onPressed: { 0040 if (event.key === Qt.Key_Escape) { 0041 if (heading.searchString.length > 0) { 0042 heading.searchString = ""; 0043 } else { 0044 activityBrowser.closeRequested(); 0045 } 0046 0047 } else if (event.key === Qt.Key_Up) { 0048 activityList.selectPrevious(); 0049 0050 } else if (event.key === Qt.Key_Down) { 0051 activityList.selectNext(); 0052 0053 } else if (event.key === Qt.Key_Return || event.key === Qt.Key_Enter) { 0054 activityList.openSelected(); 0055 0056 } else if (event.key === Qt.Key_Tab) { 0057 // console.log("TAB KEY"); 0058 0059 } else { 0060 // console.log("OTHER KEY"); 0061 // event.accepted = false; 0062 // heading.forceActiveFocus(); 0063 } 0064 } 0065 0066 // Rectangle { 0067 // anchors.fill : parent 0068 // opacity : .4 0069 // color : "white" 0070 // } 0071 0072 Heading { 0073 id: heading 0074 0075 anchors { 0076 top: parent.top 0077 left: parent.left 0078 right: parent.right 0079 0080 leftMargin: Kirigami.Units.smallSpacing 0081 rightMargin: Kirigami.Units.smallSpacing 0082 } 0083 0084 visible: !root.showSwitcherOnly 0085 0086 onCloseRequested: activityBrowser.closeRequested() 0087 } 0088 0089 PlasmaComponents.ScrollView { 0090 anchors { 0091 top: heading.visible ? heading.bottom : parent.top 0092 bottom: bottomPanel.visible ? bottomPanel.top : parent.bottom 0093 left: parent.left 0094 right: parent.right 0095 topMargin: activityBrowser.spacing 0096 } 0097 0098 ActivityList { 0099 id: activityList 0100 showSwitcherOnly: root.showSwitcherOnly 0101 filterString: heading.searchString.toLowerCase() 0102 itemsWidth: root.width - Kirigami.Units.smallSpacing 0103 } 0104 } 0105 0106 Item { 0107 id: bottomPanel 0108 0109 height: newActivityButton.height + Kirigami.Units.gridUnit 0110 0111 visible: !root.showSwitcherOnly 0112 0113 anchors { 0114 bottom: parent.bottom 0115 left: parent.left 0116 right: parent.right 0117 } 0118 0119 PlasmaComponents.ToolButton { 0120 id: newActivityButton 0121 0122 text: i18nd("plasma_shell_org.kde.plasma.desktop", "Create activity…") 0123 icon.name: "list-add" 0124 0125 width: parent.width 0126 0127 onClicked: KCMLauncher.openSystemSettings("kcm_activities", "newActivity") 0128 0129 visible: KConfig.KAuthorized.authorize("plasma-desktop/add_activities") 0130 opacity: newActivityDialog.status == Loader.Ready ? 0131 1 - newActivityDialog.item.opacity : 1 0132 } 0133 0134 Loader { 0135 id: newActivityDialog 0136 0137 z: 100 0138 0139 anchors.bottom: newActivityButton.bottom 0140 anchors.left: newActivityButton.left 0141 anchors.right: newActivityButton.right 0142 0143 } 0144 } 0145 0146 onCloseRequested: root.closed() 0147 0148 anchors.fill: parent 0149 } 0150 0151 } 0152