/*SPDX-FileCopyrightText: 2018 Tomaz Canabrava <tcanabrava@kde.org>SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL*/pragma ComponentBehavior: Boundimport QtQuickimport QtQuick.Layoutsimport QtQuick.Windowimport QtQuick.Controls as QQC2import org.kde.kirigami as Kirigamiimport org.kde.kirigami.delegates as KDimport org.kde.kcmutils as KCMUtilsimport org.kde.kwindowsystemKCMUtils.AbstractKCM {id: rootimplicitWidth: Kirigami.Units.gridUnit * 45implicitHeight: Kirigami.Units.gridUnit * 25framedView: falseproperty var elements: [{icon: "notifications",title: i18nc("@title Category name in sidebar", "System Bell"),defaultnessKey: "bellIsDefaults"},{icon: "input-keyboard",title: i18nc("System Modifier Keys", "Modifier Keys"),defaultnessKey: "keyboardModifiersIsDefaults"},{icon: "view-filter",title: i18nc("System keyboard filters", "Keyboard Filters"),defaultnessKey: "keyboardFiltersIsDefaults"},{icon: "input-mouse",title: i18nc("System mouse navigation", "Mouse Navigation"),defaultnessKey: "mouseIsDefaults"},{icon: "input-caps-on",title: i18n("Activation Shortcuts"),defaultnessKey: "activationGesturesIsDefaults"},{icon: "audio-input-microphone",title: i18nc("System mouse navigation", "Screen Reader"),defaultnessKey: "screenReaderIsDefaults"},{icon: "view-visible",title: i18nc("Correction for color blindness", "Color Blindness Correction"),defaultnessKey: "colorblindnessCorrectionIsDefaults",},{icon: "cursor-arrow",title: i18nc("Shake cursor to find it", "Shake Cursor"),defaultnessKey: "shakeCursorIsDefaults",available: KWindowSystem.isPlatformWayland}]RowLayout {id: mainLayoutanchors.fill: parentspacing: 0QQC2.ScrollView {id: leftSidePaneBackgroundLayout.fillHeight: trueLayout.minimumWidth: Kirigami.Units.gridUnit * 13Kirigami.Theme.colorSet: Kirigami.Theme.ViewKirigami.Theme.inherit: falseListView {id: listViewactiveFocusOnTab: trueclip: truekeyNavigationEnabled: truemodel: root.elementsdelegate: QQC2.ItemDelegate {id: baseDelegaterequired property int indexrequired property var modelDatawidth: listView.widthhighlighted: listView.currentIndex === indexicon.name: modelData.icontext: modelData.titlevisible: modelData.available === undefined || modelData.availableonClicked: {listView.currentIndex = indexlistView.forceActiveFocus()}contentItem: RowLayout {spacing: Kirigami.Units.smallSpacingKD.IconTitleSubtitle {Layout.fillWidth: trueicon.name: baseDelegate.icon.nametitle: baseDelegate.textselected: baseDelegate.highlighted || baseDelegate.down}Rectangle {radius: width * 0.5implicitWidth: Kirigami.Units.largeSpacingimplicitHeight: Kirigami.Units.largeSpacingvisible: kcm.defaultsIndicatorsVisibleopacity: !kcm[modelData.defaultnessKey]color: Kirigami.Theme.neutralTextColor}}}}}Kirigami.Separator {Layout.fillHeight: true}Rectangle {Layout.fillWidth: trueLayout.fillHeight: trueKirigami.Theme.colorSet: Kirigami.Theme.WindowKirigami.Theme.inherit: falsecolor: Kirigami.Theme.backgroundColorQQC2.ScrollView {id: contentScrollanchors {fill: parentleftMargin: Kirigami.Units.largeSpacingtopMargin: Kirigami.Units.largeSpacing}contentWidth: availableWidth - contentItem.leftMargin - contentItem.rightMarginStackLayout {id: stackViewwidth: contentScroll.widthheight: contentScroll.heightcurrentIndex: listView.currentIndexBell {}ModifierKeys {}KeyboardFilters {}MouseNavigation {}ActivationShortcuts {}ScreenReader {}ColorblindnessCorrection {}ShakeCursor {}}}}}}