Warning, /plasma/latte-dock/containment/package/contents/ui/layouts/loaders/Tasks.qml is written in an unsupported language. File is not indexed.
0001 /*
0002 SPDX-FileCopyrightText: 2018 Michail Vourlakos <mvourlakos@gmail.com>
0003 SPDX-License-Identifier: GPL-2.0-or-later
0004 */
0005
0006 import QtQuick 2.7
0007
0008 import org.kde.taskmanager 0.1 as TaskManager
0009
0010 import org.kde.latte.core 0.2 as LatteCore
0011 import org.kde.latte.private.containment 0.1 as LatteContainment
0012
0013 Loader {
0014 id: tasksLoader
0015 active: root.scrollAction === LatteContainment.Types.ScrollTasks || root.scrollAction === LatteContainment.Types.ScrollToggleMinimized
0016 sourceComponent: Item {
0017 TaskManager.TasksModel {
0018 id: tasksModel
0019 virtualDesktop: virtualDesktopInfo.currentDesktop
0020 screenGeometry: latteView ? latteView.screenGeometry : Qt.rect(-1, -1, 0, 0)
0021 activity: activityInfo.currentActivity
0022
0023 filterByVirtualDesktop: true
0024 filterByScreen:latteView ? true : false
0025 filterByActivity: true
0026
0027 launchInPlace: true
0028 separateLaunchers: true
0029 groupInline: false
0030
0031 groupMode: TaskManager.TasksModel.GroupApplications
0032 sortMode: TaskManager.TasksModel.SortManual
0033 }
0034
0035 TaskManager.VirtualDesktopInfo {
0036 id: virtualDesktopInfo
0037 }
0038
0039 TaskManager.ActivityInfo {
0040 id: activityInfo
0041 }
0042
0043 Item{
0044 id: taskList
0045 Repeater{
0046 model: tasksModel
0047 Item{
0048 readonly property var m: model
0049
0050 function modelIndex() {
0051 return tasksModel.makeModelIndex(index);
0052 }
0053 }
0054 }
0055 }
0056
0057 function activateNextPrevTask(next) {
0058 var taskIndexList = [];
0059 var activeTaskIndex = tasksModel.activeTask;
0060
0061 for (var i = 0; i < taskList.children.length - 1; ++i) {
0062 var task = taskList.children[i];
0063 var modelIndex = task.modelIndex(i);
0064
0065 if (task.m.IsLauncher !== true && task.m.IsStartup !== true) {
0066 if (task.m.IsGroupParent === true) {
0067 for (var j = 0; j < tasksModel.rowCount(modelIndex); ++j) {
0068 taskIndexList.push(tasksModel.makeModelIndex(i, j));
0069 }
0070 } else {
0071 taskIndexList.push(modelIndex);
0072 }
0073 }
0074 }
0075
0076 if (!taskIndexList.length) {
0077 return;
0078 }
0079
0080 var target = taskIndexList[0];
0081
0082 for (var i = 0; i < taskIndexList.length; ++i) {
0083 if (taskIndexList[i] === activeTaskIndex)
0084 {
0085 if (next && i < (taskIndexList.length - 1)) {
0086 target = taskIndexList[i + 1];
0087 } else if (!next) {
0088 if (i) {
0089 target = taskIndexList[i - 1];
0090 } else {
0091 target = taskIndexList[taskIndexList.length - 1];
0092 }
0093 }
0094
0095 break;
0096 }
0097 }
0098
0099 tasksModel.requestActivate(target);
0100 }
0101 }
0102 }