Warning, /plasma/plasma-simplemenu/package/contents/ui/main.qml is written in an unsupported language. File is not indexed.
0001 /*
0002 SPDX-FileCopyrightText: 2014-2015 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 import org.kde.plasma.plasmoid 2.0
0010
0011 import org.kde.plasma.core 2.0 as PlasmaCore
0012 import org.kde.plasma.components 2.0 as PlasmaComponents
0013
0014 import org.kde.plasma.private.kicker 0.1 as Kicker
0015
0016 Item {
0017 id: kicker
0018
0019 anchors.fill: parent
0020
0021 signal reset
0022
0023 property bool isDash: false
0024
0025 Plasmoid.preferredRepresentation: Plasmoid.fullRepresentation
0026
0027 Plasmoid.compactRepresentation: null
0028 Plasmoid.fullRepresentation: compactRepresentation
0029
0030 property Item dragSource: null
0031
0032 property QtObject globalFavorites: rootModel.favoritesModel
0033 property QtObject systemFavorites: rootModel.systemFavoritesModel
0034
0035 function action_menuedit() {
0036 processRunner.runMenuEditor();
0037 }
0038
0039 Component {
0040 id: compactRepresentation
0041 CompactRepresentation {}
0042 }
0043
0044 Component {
0045 id: menuRepresentation
0046 MenuRepresentation {}
0047 }
0048
0049 Kicker.RootModel {
0050 id: rootModel
0051
0052 autoPopulate: false
0053
0054 appNameFormat: plasmoid.configuration.appNameFormat
0055 flat: true
0056 sorted: true
0057 showSeparators: false
0058 appletInterface: plasmoid
0059
0060 paginate: true
0061 pageSize: 24
0062
0063 showAllApps: true
0064 showRecentApps: false
0065 showRecentDocs: false
0066 showRecentContacts: false
0067 showPowerSession: false
0068
0069 onFavoritesModelChanged: {
0070 if ("initForClient" in favoritesModel) {
0071 favoritesModel.initForClient("org.kde.plasma.kicker.favorites.instance-" + plasmoid.id)
0072
0073 if (!plasmoid.configuration.favoritesPortedToKAstats) {
0074 favoritesModel.portOldFavorites(plasmoid.configuration.favoriteApps);
0075 plasmoid.configuration.favoritesPortedToKAstats = true;
0076 }
0077 } else {
0078 favoritesModel.favorites = plasmoid.configuration.favoriteApps;
0079 }
0080
0081 favoritesModel.maxFavorites = pageSize;
0082 }
0083
0084 onSystemFavoritesModelChanged: {
0085 systemFavoritesModel.enabled = false;
0086 systemFavoritesModel.favorites = plasmoid.configuration.favoriteSystemActions;
0087 systemFavoritesModel.maxFavorites = 6;
0088 }
0089
0090 Component.onCompleted: {
0091 if ("initForClient" in favoritesModel) {
0092 favoritesModel.initForClient("org.kde.plasma.kicker.favorites.instance-" + plasmoid.id)
0093
0094 if (!plasmoid.configuration.favoritesPortedToKAstats) {
0095 favoritesModel.portOldFavorites(plasmoid.configuration.favoriteApps);
0096 plasmoid.configuration.favoritesPortedToKAstats = true;
0097 }
0098 } else {
0099 favoritesModel.favorites = plasmoid.configuration.favoriteApps;
0100 }
0101
0102 favoritesModel.maxFavorites = pageSize;
0103 rootModel.refresh();
0104 }
0105 }
0106
0107 Connections {
0108 target: globalFavorites
0109
0110 onFavoritesChanged: {
0111 plasmoid.configuration.favoriteApps = target.favorites;
0112 }
0113 }
0114
0115 Connections {
0116 target: systemFavorites
0117
0118 onFavoritesChanged: {
0119 plasmoid.configuration.favoriteSystemActions = target.favorites;
0120 }
0121 }
0122
0123 Connections {
0124 target: plasmoid.configuration
0125
0126 onFavoriteAppsChanged: {
0127 globalFavorites.favorites = plasmoid.configuration.favoriteApps;
0128 }
0129
0130 onFavoriteSystemActionsChanged: {
0131 systemFavorites.favorites = plasmoid.configuration.favoriteSystemActions;
0132 }
0133 }
0134
0135 Kicker.RunnerModel {
0136 id: runnerModel
0137
0138 favoritesModel: globalFavorites
0139 runners: plasmoid.configuration.useExtraRunners ? new Array("services").concat(plasmoid.configuration.extraRunners) : "services"
0140 appletInterface: plasmoid
0141
0142 deleteWhenEmpty: false
0143 }
0144
0145 Kicker.DragHelper {
0146 id: dragHelper
0147 }
0148
0149 Kicker.ProcessRunner {
0150 id: processRunner;
0151 }
0152
0153 PlasmaCore.FrameSvgItem {
0154 id : highlightItemSvg
0155
0156 visible: false
0157
0158 imagePath: "widgets/viewitem"
0159 prefix: "hover"
0160 }
0161
0162 PlasmaCore.FrameSvgItem {
0163 id : panelSvg
0164
0165 visible: false
0166
0167 imagePath: "widgets/panel-background"
0168 }
0169
0170 PlasmaComponents.Label {
0171 id: toolTipDelegate
0172
0173 width: contentWidth
0174 height: contentHeight
0175
0176 property Item toolTip
0177
0178 text: (toolTip != null) ? toolTip.text : ""
0179 }
0180
0181 function resetDragSource() {
0182 dragSource = null;
0183 }
0184
0185 Component.onCompleted: {
0186 plasmoid.setAction("menuedit", i18n("Edit Applications..."));
0187
0188 rootModel.refreshed.connect(reset);
0189
0190 dragHelper.dropped.connect(resetDragSource);
0191 }
0192 }