Changeset View
Changeset View
Standalone View
Standalone View
applets/taskmanager/package/contents/ui/ContextMenu.qml
Show First 20 Lines • Show All 131 Lines • ▼ Show 20 Line(s) | 109 | lists.forEach(function (list) { | |||
---|---|---|---|---|---|
132 | if (list.length > 0) { | 132 | if (list.length > 0) { | ||
133 | menu.addMenuItem(newSeparator(menu), virtualDesktopsMenuItem); | 133 | menu.addMenuItem(newSeparator(menu), virtualDesktopsMenuItem); | ||
134 | } | 134 | } | ||
135 | }); | 135 | }); | ||
136 | 136 | | |||
137 | // Add Media Player control actions | 137 | // Add Media Player control actions | ||
138 | var sourceName = mpris2Source.sourceNameForLauncherUrl(launcherUrl, get(atm.AppPid)); | 138 | var sourceName = mpris2Source.sourceNameForLauncherUrl(launcherUrl, get(atm.AppPid)); | ||
139 | 139 | | |||
140 | if (sourceName && !(get(atm.LegacyWinIdList) != undefined && get(atm.LegacyWinIdList).length > 1)) { | 140 | if (sourceName && !(get(atm.WinIdList) != undefined && get(atm.WinIdList).length > 1)) { | ||
141 | var playerData = mpris2Source.data[sourceName] | 141 | var playerData = mpris2Source.data[sourceName] | ||
142 | 142 | | |||
143 | if (playerData.CanControl) { | 143 | if (playerData.CanControl) { | ||
144 | var playing = (playerData.PlaybackStatus === "Playing"); | 144 | var playing = (playerData.PlaybackStatus === "Playing"); | ||
145 | var menuItem = menu.newMenuItem(menu); | 145 | var menuItem = menu.newMenuItem(menu); | ||
146 | menuItem.text = i18nc("Play previous track", "Previous Track"); | 146 | menuItem.text = i18nc("Play previous track", "Previous Track"); | ||
147 | menuItem.icon = "media-skip-backward"; | 147 | menuItem.icon = "media-skip-backward"; | ||
148 | menuItem.enabled = Qt.binding(function() { | 148 | menuItem.enabled = Qt.binding(function() { | ||
▲ Show 20 Lines • Show All 107 Lines • ▼ Show 20 Line(s) | |||||
256 | } | 256 | } | ||
257 | 257 | | |||
258 | PlasmaComponents.MenuItem { | 258 | PlasmaComponents.MenuItem { | ||
259 | id: virtualDesktopsMenuItem | 259 | id: virtualDesktopsMenuItem | ||
260 | 260 | | |||
261 | visible: virtualDesktopInfo.numberOfDesktops > 1 | 261 | visible: virtualDesktopInfo.numberOfDesktops > 1 | ||
262 | && (visualParent && get(atm.IsLauncher) !== true | 262 | && (visualParent && get(atm.IsLauncher) !== true | ||
263 | && get(atm.IsStartup) !== true | 263 | && get(atm.IsStartup) !== true | ||
264 | && get(atm.IsVirtualDesktopChangeable) === true) | 264 | && get(atm.IsVirtualDesktopsChangeable) === true) | ||
265 | 265 | | |||
266 | enabled: visible | 266 | enabled: visible | ||
267 | 267 | | |||
268 | text: i18n("Move To &Desktop") | 268 | text: i18n("Move To &Desktop") | ||
269 | 269 | | |||
270 | Connections { | 270 | Connections { | ||
271 | target: virtualDesktopInfo | 271 | target: virtualDesktopInfo | ||
272 | 272 | | |||
273 | onNumberOfDesktopsChanged: virtualDesktopsMenu.refresh() | 273 | onNumberOfDesktopsChanged: Qt.callLater(virtualDesktopsMenu.refresh) | ||
274 | onDesktopNamesChanged: virtualDesktopsMenu.refresh() | 274 | onDesktopIdsChanged: Qt.callLater(virtualDesktopsMenu.refresh) | ||
275 | onDesktopNamesChanged: Qt.callLater(virtualDesktopsMenu.refresh) | ||||
275 | } | 276 | } | ||
276 | 277 | | |||
277 | PlasmaComponents.ContextMenu { | 278 | PlasmaComponents.ContextMenu { | ||
278 | id: virtualDesktopsMenu | 279 | id: virtualDesktopsMenu | ||
279 | 280 | | |||
280 | visualParent: virtualDesktopsMenuItem.action | 281 | visualParent: virtualDesktopsMenuItem.action | ||
281 | 282 | | |||
282 | function refresh() { | 283 | function refresh() { | ||
283 | clearMenuItems(); | 284 | clearMenuItems(); | ||
284 | 285 | | |||
285 | if (virtualDesktopInfo.numberOfDesktops <= 1) { | 286 | if (virtualDesktopInfo.numberOfDesktops <= 1) { | ||
286 | return; | 287 | return; | ||
287 | } | 288 | } | ||
288 | 289 | | |||
289 | var menuItem = menu.newMenuItem(virtualDesktopsMenu); | 290 | var menuItem = menu.newMenuItem(virtualDesktopsMenu); | ||
290 | menuItem.text = i18n("Move &To Current Desktop"); | 291 | menuItem.text = i18n("Move &To Current Desktop"); | ||
291 | menuItem.enabled = Qt.binding(function() { | 292 | menuItem.enabled = Qt.binding(function() { | ||
292 | return menu.visualParent && menu.get(atm.VirtualDesktop) != virtualDesktopInfo.currentDesktop; | 293 | return menu.visualParent && menu.get(atm.VirtualDesktops).indexOf(virtualDesktopInfo.currentDesktop) == -1; | ||
293 | }); | 294 | }); | ||
294 | menuItem.clicked.connect(function() { | 295 | menuItem.clicked.connect(function() { | ||
295 | tasksModel.requestVirtualDesktop(menu.modelIndex, virtualDesktopInfo.currentDesktop); | 296 | tasksModel.requestVirtualDesktops(menu.modelIndex, [virtualDesktopInfo.currentDesktop]); | ||
296 | }); | 297 | }); | ||
297 | 298 | | |||
298 | menuItem = menu.newMenuItem(virtualDesktopsMenu); | 299 | menuItem = menu.newMenuItem(virtualDesktopsMenu); | ||
299 | menuItem.text = i18n("&All Desktops"); | 300 | menuItem.text = i18n("&All Desktops"); | ||
300 | menuItem.checkable = true; | 301 | menuItem.checkable = true; | ||
301 | menuItem.checked = Qt.binding(function() { | 302 | menuItem.checked = Qt.binding(function() { | ||
302 | return menu.visualParent && menu.get(atm.IsOnAllVirtualDesktops) === true; | 303 | return menu.visualParent && menu.get(atm.IsOnAllVirtualDesktops) === true; | ||
303 | }); | 304 | }); | ||
304 | menuItem.clicked.connect(function() { | 305 | menuItem.clicked.connect(function() { | ||
305 | tasksModel.requestVirtualDesktop(menu.modelIndex, 0); | 306 | tasksModel.requestVirtualDesktops(menu.modelIndex, []); | ||
306 | }); | 307 | }); | ||
307 | backend.setActionGroup(menuItem.action); | 308 | backend.setActionGroup(menuItem.action); | ||
308 | 309 | | |||
309 | menu.newSeparator(virtualDesktopsMenu); | 310 | menu.newSeparator(virtualDesktopsMenu); | ||
310 | 311 | | |||
311 | for (var i = 0; i < virtualDesktopInfo.desktopNames.length; ++i) { | 312 | for (var i = 0; i < virtualDesktopInfo.desktopNames.length; ++i) { | ||
312 | menuItem = menu.newMenuItem(virtualDesktopsMenu); | 313 | menuItem = menu.newMenuItem(virtualDesktopsMenu); | ||
313 | menuItem.text = i18nc("1 = number of desktop, 2 = desktop name", "&%1 %2", i + 1, virtualDesktopInfo.desktopNames[i]); | 314 | menuItem.text = i18nc("1 = number of desktop, 2 = desktop name", "&%1 %2", i + 1, virtualDesktopInfo.desktopNames[i]); | ||
314 | menuItem.checkable = true; | 315 | menuItem.checkable = true; | ||
315 | menuItem.checked = Qt.binding((function(i) { | 316 | menuItem.checked = Qt.binding((function(i) { | ||
316 | return function() { return menu.visualParent && menu.get(atm.VirtualDesktop) == (i + 1) }; | 317 | return function() { return menu.visualParent && menu.get(atm.VirtualDesktops).indexOf(virtualDesktopInfo.desktopIds[i]) > -1 }; | ||
317 | })(i)); | 318 | })(i)); | ||
318 | menuItem.clicked.connect((function(i) { | 319 | menuItem.clicked.connect((function(i) { | ||
319 | return function() { return tasksModel.requestVirtualDesktop(menu.modelIndex, i + 1); }; | 320 | return function() { return tasksModel.requestVirtualDesktops(menu.modelIndex, [virtualDesktopInfo.desktopIds[i]]); }; | ||
320 | })(i)); | 321 | })(i)); | ||
321 | backend.setActionGroup(menuItem.action); | 322 | backend.setActionGroup(menuItem.action); | ||
322 | } | 323 | } | ||
323 | 324 | | |||
324 | menu.newSeparator(virtualDesktopsMenu); | 325 | menu.newSeparator(virtualDesktopsMenu); | ||
325 | 326 | | |||
326 | menuItem = menu.newMenuItem(virtualDesktopsMenu); | 327 | menuItem = menu.newMenuItem(virtualDesktopsMenu); | ||
327 | menuItem.text = i18n("&New Desktop"); | 328 | menuItem.text = i18n("&New Desktop"); | ||
328 | menuItem.clicked.connect(function() { | 329 | menuItem.clicked.connect(function() { | ||
329 | tasksModel.requestVirtualDesktop(menu.modelIndex, virtualDesktopInfo.numberOfDesktops + 1) | 330 | tasksModel.requestNewVirtualDesktop(menu.modelIndex); | ||
330 | }); | 331 | }); | ||
331 | } | 332 | } | ||
332 | 333 | | |||
333 | Component.onCompleted: refresh() | 334 | Component.onCompleted: refresh() | ||
334 | } | 335 | } | ||
335 | } | 336 | } | ||
336 | 337 | | |||
337 | PlasmaComponents.MenuItem { | 338 | PlasmaComponents.MenuItem { | ||
▲ Show 20 Lines • Show All 363 Lines • Show Last 20 Lines |