/*SPDX-FileCopyrightText: 2021 Aleix Pol Gonzalez <aleixpol@kde.org>SPDX-License-Identifier: GPL-2.0-or-later*/import QtQuickimport QtQuick.Layoutsimport QtQuick.Controls as QQC2import QtQuick.Shapesimport org.kde.kirigami as Kirigamiimport org.kde.plasma.tablet.kcmimport org.kde.kcmutilsimport org.kde.kquickcontrolsKirigami.FormLayout {id: rootrequired property var devicerequired property var padDevicerequired property var tabletEventsRepeater {id: buttonsRepeatermodel: root.padDevice.tabletPadButtonCountdelegate: ActionBinding {id: seqrequired property var modelDataKirigami.FormData.label: (buttonPressed ? "<b>" : "") + i18nd("kcm_tablet", "Pad button %1:", modelData + 1) + (buttonPressed ? "</b>" : "")property bool buttonPressed: falsename: i18ndc("kcm_tablet", "@info Meant to be inserted into an existing sentence like 'configuring pad button 0'", "pad button %1", modelData + 1)supportsPenButton: falseConnections {target: root.tabletEventsfunction onPadButtonReceived(path, button, pressed) {if (button !== modelData || !path.endsWith(root.padDevice.sysName)) {return;}seq.buttonPressed = pressed}}function refreshInputSequence(): void {seq.inputSequence = kcm.padButtonMapping(root.padDevice.name, modelData)}inputSequence: kcm.padButtonMapping(root.padDevice.name, modelData)Connections {target: kcmfunction onSettingsRestored() {refreshInputSequence();}}onGotInputSequence: sequence => {kcm.assignPadButtonMapping(root.padDevice.name, modelData, sequence)}SettingHighlighter {// Currently, application-defined is the defaulthighlight: seq.inputSequence.type !== InputSequence.ApplicationDefined}}}ActionDialog {id: actionDialogparent: root.QQC2.Overlay.overlay}}