/*SPDX-FileCopyrightText: 2013 Eike Hein <hein@kde.org>SPDX-License-Identifier: GPL-2.0-or-later*/import QtQuick 2.15import QtQuick.Controls 2.15import QtQuick.Layouts 1.15import org.kde.kirigami 2.19 as Kirigamiimport org.kde.plasma.core 2.0 as PlasmaCoreimport org.kde.plasma.private.taskmanager 0.1 as TaskManagerAppletItem {width: childrenRect.widthheight: childrenRect.heightproperty alias cfg_groupingStrategy: groupingStrategy.currentIndexproperty alias cfg_groupedTaskVisualization: groupedTaskVisualization.currentIndexproperty alias cfg_groupPopups: groupPopups.checkedproperty alias cfg_onlyGroupWhenFull: onlyGroupWhenFull.checkedproperty alias cfg_sortingStrategy: sortingStrategy.currentIndexproperty alias cfg_separateLaunchers: separateLaunchers.checkedproperty alias cfg_middleClickAction: middleClickAction.currentIndexproperty alias cfg_wheelEnabled: wheelEnabled.checkedproperty alias cfg_wheelSkipMinimized: wheelSkipMinimized.checkedproperty alias cfg_showOnlyCurrentScreen: showOnlyCurrentScreen.checkedproperty alias cfg_showOnlyCurrentDesktop: showOnlyCurrentDesktop.checkedproperty alias cfg_showOnlyCurrentActivity: showOnlyCurrentActivity.checkedproperty alias cfg_showOnlyMinimized: showOnlyMinimized.checkedproperty alias cfg_minimizeActiveTaskOnClick: minimizeActive.checkedproperty alias cfg_unhideOnAttention: unhideOnAttention.checkedproperty alias cfg_reverseMode: reverseMode.checkedTaskManagerApplet.Backend {id: backend}Kirigami.FormLayout {anchors.left: parent.leftanchors.right: parent.rightComboBox {id: groupingStrategyKirigami.FormData.label: i18n("Group:")Layout.fillWidth: trueLayout.minimumWidth: Kirigami.Units.gridUnit * 14model: [i18n("Do not group"), i18n("By program name")]}ComboBox {id: groupedTaskVisualizationKirigami.FormData.label: i18n("Clicking grouped task:")Layout.fillWidth: trueLayout.minimumWidth: Kirigami.Units.gridUnit * 14enabled: groupingStrategy.currentIndex !== 0model: [i18nc("Completes the sentence 'Clicking grouped task cycles through tasks' ", "Cycles through tasks"),i18nc("Completes the sentence 'Clicking grouped task shows tooltip window thumbnails' ", "Shows tooltip window thumbnails"),i18nc("Completes the sentence 'Clicking grouped task shows windows side by side' ", "Shows windows side by side"),i18nc("Completes the sentence 'Clicking grouped task shows textual list' ", "Shows textual list"),]}// "You asked for Tooltips but Tooltips are disabled" messageKirigami.InlineMessage {Layout.fillWidth: truevisible: groupedTaskVisualization.currentIndex === 1 && !plasmoid.configuration.showToolTips && backend.windowViewAvailabletype: Kirigami.MessageType.Warningtext: i18n("Tooltips are disabled, so the windows will be displayed side by side instead.")}// "You asked for Tooltips but Tooltips are disabled and Window View is not available" messageKirigami.InlineMessage {Layout.fillWidth: truevisible: groupedTaskVisualization.currentIndex === 1 && !plasmoid.configuration.showToolTips && !backend.windowViewAvailabletype: Kirigami.MessageType.Warningtext: i18n("Tooltips are disabled, and the compositor does not support displaying windows side by side, so a textual list will be displayed instead")}// "You asked for Window View but Window View is not available" messageKirigami.InlineMessage {Layout.fillWidth: truevisible: groupedTaskVisualization.currentIndex === 2 && !backend.windowViewAvailabletype: Kirigami.MessageType.Warningtext: i18n("The compositor does not support displaying windows side by side, so a textual list will be displayed instead.")}Item {Kirigami.FormData.isSection: true}CheckBox {id: groupPopupsvisible: (plasmoid.pluginName !== "org.kde.plasma.icontasks")text: i18n("Combine into single button")enabled: groupingStrategy.currentIndex > 0}CheckBox {id: onlyGroupWhenFullvisible: (plasmoid.pluginName !== "org.kde.plasma.icontasks")text: i18n("Group only when the Task Manager is full")enabled: groupingStrategy.currentIndex > 0 && groupPopups.checked}Item {Kirigami.FormData.isSection: truevisible: (plasmoid.pluginName !== "org.kde.plasma.icontasks")}ComboBox {id: sortingStrategyKirigami.FormData.label: i18n("Sort:")Layout.fillWidth: trueLayout.minimumWidth: Kirigami.Units.gridUnit * 14model: [i18n("Do not sort"), i18n("Manually"), i18n("Alphabetically"), i18n("By desktop"), i18n("By activity")]}CheckBox {id: separateLaunchersvisible: (plasmoid.pluginName !== "org.kde.plasma.icontasks")text: i18n("Keep launchers separate")enabled: sortingStrategy.currentIndex == 1}Item {Kirigami.FormData.isSection: truevisible: (plasmoid.pluginName !== "org.kde.plasma.icontasks")}CheckBox {id: minimizeActiveKirigami.FormData.label: i18nc("Part of a sentence: 'Clicking active task minimizes the task'", "Clicking active task:")text: i18nc("Part of a sentence: 'Clicking active task minimizes the task'", "Minimizes the task")}ComboBox {id: middleClickActionKirigami.FormData.label: i18n("Middle-clicking any task:")Layout.fillWidth: trueLayout.minimumWidth: Kirigami.Units.gridUnit * 14model: [i18nc("Part of a sentence: 'Middle-clicking any task does nothing'", "Does nothing"),i18nc("Part of a sentence: 'Middle-clicking any task closes window or group'", "Closes window or group"),i18nc("Part of a sentence: 'Middle-clicking any task opens a new window'", "Opens a new window"),i18nc("Part of a sentence: 'Middle-clicking any task minimizes/restores window or group'", "Minimizes/Restores window or group"),i18nc("Part of a sentence: 'Middle-clicking any task toggles grouping'", "Toggles grouping"),i18nc("Part of a sentence: 'Middle-clicking any task brings it to the current virtual desktop'", "Brings it to the current virtual desktop")]}Item {Kirigami.FormData.isSection: true}CheckBox {id: wheelEnabledKirigami.FormData.label: i18nc("Part of a sentence: 'Mouse wheel cycles through tasks'", "Mouse wheel:")text: i18nc("Part of a sentence: 'Mouse wheel cycles through tasks'", "Cycles through tasks")}RowLayout {// HACK: Workaround for Kirigami bug 434625// due to which a simple Layout.leftMargin on CheckBox doesn't workItem { implicitWidth: Kirigami.Units.gridUnit }CheckBox {id: wheelSkipMinimizedtext: i18n("Skip minimized tasks")enabled: wheelEnabled.checked}}Item {Kirigami.FormData.isSection: true}CheckBox {id: showOnlyCurrentScreenKirigami.FormData.label: i18n("Show only tasks:")text: i18n("From current screen")}CheckBox {id: showOnlyCurrentDesktoptext: i18n("From current desktop")}CheckBox {id: showOnlyCurrentActivitytext: i18n("From current activity")}CheckBox {id: showOnlyMinimizedtext: i18n("That are minimized")}Item {Kirigami.FormData.isSection: true}CheckBox {id: unhideOnAttentionKirigami.FormData.label: i18n("When panel is hidden:")text: i18n("Unhide when a window wants attention")}Item {Kirigami.FormData.isSection: true}ButtonGroup {id: reverseModeRadioButtonGroup}RadioButton {Kirigami.FormData.label: i18n("New tasks appear:")checked: !reverseMode.checkedtext: Qt.application.layoutDirection === Qt.LeftToRight ? i18n("To the right") : i18n("To the left")ButtonGroup.group: reverseModeRadioButtonGroupvisible: reverseMode.visible}RadioButton {id: reverseModechecked: plasmoid.configuration.reverseMode === truetext: Qt.application.layoutDirection === Qt.RightToLeft ? i18n("To the right") : i18n("To the left")ButtonGroup.group: reverseModeRadioButtonGroup// Don't show for vertical panels because the layouting is managed// by a Flow object, and that doesn't support a bottom-to-top layoutvisible: plasmoid.formFactor === PlasmaCore.Types.Horizontal}}}