/*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.plasmoid 2.0Kirigami.FormLayout {anchors.left: parent.leftanchors.right: parent.rightreadonly property bool plasmaPaAvailable: Qt.createComponent("PulseAudio.qml").status === Component.Readyreadonly property bool plasmoidVertical: Plasmoid.formFactor === PlasmaCore.Types.Verticalreadonly property bool iconOnly: Plasmoid.pluginName === "org.kde.plasma.icontasks"property alias cfg_showToolTips: showToolTips.checkedproperty alias cfg_highlightWindows: highlightWindows.checkedproperty bool cfg_indicateAudioStreamsproperty alias cfg_fill: fill.checkedproperty alias cfg_maxStripes: maxStripes.valueproperty alias cfg_forceStripes: forceStripes.checkedproperty int cfg_iconSpacing: 0CheckBox {id: showToolTipsKirigami.FormData.label: i18n("General:")text: i18n("Show tooltips")}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: highlightWindowstext: i18n("Highlight windows when hovering over task tooltips")enabled: showToolTips.checked}}CheckBox {id: indicateAudioStreamstext: i18n("Mark applications that play audio")checked: cfg_indicateAudioStreams && plasmaPaAvailableonCheckedChanged: cfg_indicateAudioStreams = checkedenabled: plasmaPaAvailable}CheckBox {id: filltext: i18nc("@option:check", "Fill free space on Panel")}Item {Kirigami.FormData.isSection: true}SpinBox {id: maxStripesKirigami.FormData.label: plasmoidVertical ? i18n("Maximum columns:") : i18n("Maximum rows:")from: 1}CheckBox {id: forceStripestext: plasmoidVertical ? i18n("Always arrange tasks in rows of as many columns") : i18n("Always arrange tasks in columns of as many rows")enabled: maxStripes.value > 1}Item {Kirigami.FormData.isSection: true}ComboBox {visible: iconOnlyKirigami.FormData.label: i18n("Spacing between icons:")model: [{"label": i18nc("@item:inlistbox Icon spacing", "Small"),"spacing": 0},{"label": i18nc("@item:inlistbox Icon spacing", "Normal"),"spacing": 1},{"label": i18nc("@item:inlistbox Icon spacing", "Large"),"spacing": 3},]textRole: "label"enabled: !Kirigami.Settings.tabletModecurrentIndex: {if (Kirigami.Settings.tabletMode) {return 2; // Large}switch (cfg_iconSpacing) {case 0: return 0; // Smallcase 1: return 1; // Normalcase 3: return 2; // Large}}onActivated: cfg_iconSpacing = model[currentIndex]["spacing"];}Label {visible: Kirigami.Settings.tabletModetext: i18nc("@info:usagetip under a set of radio buttons when Touch Mode is on", "Automatically set to Large when in Touch Mode")font: Kirigami.Theme.smallFont}}