Changeset View
Changeset View
Standalone View
Standalone View
applets/taskmanager/package/contents/ui/ContextMenu.qml
Show First 20 Lines • Show All 332 Lines • ▼ Show 20 Line(s) | 318 | function refresh() { | |||
---|---|---|---|---|---|
333 | }); | 333 | }); | ||
334 | 334 | | |||
335 | menuItem = menu.newMenuItem(activitiesDesktopsMenu); | 335 | menuItem = menu.newMenuItem(activitiesDesktopsMenu); | ||
336 | menuItem.text = i18n("All Activities"); | 336 | menuItem.text = i18n("All Activities"); | ||
337 | menuItem.checkable = true; | 337 | menuItem.checkable = true; | ||
338 | menuItem.checked = Qt.binding(function() { | 338 | menuItem.checked = Qt.binding(function() { | ||
339 | return menu.visualParent && menu.get(atm.Activities).length === 0; | 339 | return menu.visualParent && menu.get(atm.Activities).length === 0; | ||
340 | }); | 340 | }); | ||
341 | menuItem.clicked.connect(function() { | 341 | menuItem.toggled.connect(function(checked) { | ||
342 | var checked = menuItem.checked; | | |||
343 | var newActivities = undefined; // will cast to an empty QStringList i.e all activities | 342 | var newActivities = undefined; // will cast to an empty QStringList i.e all activities | ||
344 | if (!checked) { | 343 | if (!checked) { | ||
345 | newActivities = new Array(activityInfo.currentActivity); | 344 | newActivities = new Array(activityInfo.currentActivity); | ||
346 | } | 345 | } | ||
347 | tasksModel.requestActivities(menu.modelIndex, newActivities); | 346 | tasksModel.requestActivities(menu.modelIndex, newActivities); | ||
348 | }); | 347 | }); | ||
349 | 348 | | |||
350 | menu.newSeparator(activitiesDesktopsMenu); | 349 | menu.newSeparator(activitiesDesktopsMenu); | ||
351 | 350 | | |||
352 | var runningActivities = activityInfo.runningActivities(); | 351 | var runningActivities = activityInfo.runningActivities(); | ||
353 | for (var i = 0; i < runningActivities.length; ++i) { | 352 | for (var i = 0; i < runningActivities.length; ++i) { | ||
354 | var activityId = runningActivities[i]; | 353 | var activityId = runningActivities[i]; | ||
355 | 354 | | |||
356 | menuItem = menu.newMenuItem(activitiesDesktopsMenu); | 355 | menuItem = menu.newMenuItem(activitiesDesktopsMenu); | ||
357 | menuItem.text = activityInfo.activityName(runningActivities[i]); | 356 | menuItem.text = activityInfo.activityName(runningActivities[i]); | ||
358 | menuItem.checkable = true; | 357 | menuItem.checkable = true; | ||
359 | menuItem.checked = Qt.binding( (function(activityId) { | 358 | menuItem.checked = Qt.binding( (function(activityId) { | ||
360 | return function() { | 359 | return function() { | ||
361 | return menu.visualParent && menu.get(atm.Activities).indexOf(activityId) >= 0; | 360 | return menu.visualParent && menu.get(atm.Activities).indexOf(activityId) >= 0; | ||
362 | }; | 361 | }; | ||
363 | })(activityId)); | 362 | })(activityId)); | ||
364 | menuItem.clicked.connect((function(activityId) { | 363 | menuItem.toggled.connect((function(activityId) { | ||
365 | return function () { | 364 | return function (checked) { | ||
366 | var checked = menuItem.checked; | | |||
367 | var newActivities = menu.get(atm.Activities); | 365 | var newActivities = menu.get(atm.Activities); | ||
368 | if (checked) { | 366 | if (checked) { | ||
369 | newActivities = newActivities.concat(activityId); | 367 | newActivities = newActivities.concat(activityId); | ||
370 | } else { | 368 | } else { | ||
371 | var index = newActivities.indexOf(activityId) | 369 | var index = newActivities.indexOf(activityId) | ||
372 | if (index < 0) { | 370 | if (index < 0) { | ||
373 | return; | 371 | return; | ||
374 | } | 372 | } | ||
375 | newActivities = newActivities.splice(index, 1); | 373 | | ||
374 | newActivities.splice(index, 1); | ||||
376 | } | 375 | } | ||
377 | return tasksModel.requestActivities(menu.modelIndex, newActivities); | 376 | return tasksModel.requestActivities(menu.modelIndex, newActivities); | ||
378 | }; | 377 | }; | ||
379 | })(activityId)); | 378 | })(activityId)); | ||
broulik: You could have passed the correct menuItem in here just like it's already done correctly with… | |||||
380 | } | 379 | } | ||
381 | 380 | | |||
382 | menu.newSeparator(activitiesDesktopsMenu); | 381 | menu.newSeparator(activitiesDesktopsMenu); | ||
383 | } | 382 | } | ||
384 | 383 | | |||
385 | Component.onCompleted: refresh() | 384 | Component.onCompleted: refresh() | ||
386 | } | 385 | } | ||
387 | } | 386 | } | ||
▲ Show 20 Lines • Show All 270 Lines • Show Last 20 Lines |
You could have passed the correct menuItem in here just like it's already done correctly with activityId