mirror of https://github.com/Qortal/Brooklyn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
121 lines
3.7 KiB
121 lines
3.7 KiB
/* |
|
SPDX-FileCopyrightText: 2018 Tomaz Canabrava <[email protected]> |
|
|
|
SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL |
|
*/ |
|
|
|
import QtQuick 2.9 |
|
import QtQuick.Layouts 1.12 |
|
import QtQuick.Window 2.2 |
|
import QtQuick.Dialogs 1.0 as QtDialogs |
|
import QtQuick.Controls 2.14 as QQC2 |
|
import org.kde.kirigami 2.4 as Kirigami |
|
import org.kde.kcm 1.1 as KCM |
|
|
|
KCM.SimpleKCM { |
|
id: root |
|
|
|
implicitWidth: Kirigami.Units.gridUnit * 44 |
|
implicitHeight: Kirigami.Units.gridUnit * 25 |
|
|
|
KCM.ConfigModule.quickHelp: i18n("This module lets you configure the accessibility features such as a screen reader.") |
|
|
|
property var elements: [ |
|
{ |
|
icon: "notifications", |
|
title: i18nc("System Bell", "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: "audio-input-microphone", |
|
title: i18nc("System mouse navigation", "Screen Reader"), |
|
defaultnessKey: "screenReaderIsDefaults" |
|
} |
|
] |
|
|
|
RowLayout { |
|
id: mainLayout |
|
anchors.margins: Kirigami.Units.largeSpacing |
|
QQC2.ScrollView { |
|
id: leftSidePaneBackground |
|
contentHeight: root.contentItem.height - Kirigami.Units.gridUnit * 4 |
|
contentWidth: Kirigami.Units.gridUnit * 13 |
|
|
|
QQC2.ScrollBar.horizontal.policy: QQC2.ScrollBar.AlwaysOff |
|
QQC2.ScrollBar.vertical.policy: QQC2.ScrollBar.AlwaysOff |
|
|
|
Component.onCompleted: leftSidePaneBackground.background.visible = true |
|
|
|
ListView { |
|
id: listView |
|
activeFocusOnTab: true |
|
clip: true |
|
keyNavigationEnabled: true |
|
model: elements |
|
|
|
onCurrentIndexChanged: stackView.currentIndex = currentIndex |
|
|
|
delegate: Kirigami.BasicListItem { |
|
width: listView.width |
|
icon: modelData.icon |
|
label: modelData.title |
|
onClicked: listView.forceActiveFocus() |
|
Rectangle { |
|
id: defaultIndicator |
|
radius: width * 0.5 |
|
implicitWidth: Kirigami.Units.largeSpacing |
|
implicitHeight: Kirigami.Units.largeSpacing |
|
visible: kcm.defaultsIndicatorsVisible |
|
opacity: !kcm[modelData.defaultnessKey] |
|
color: Kirigami.Theme.neutralTextColor |
|
} |
|
} |
|
} |
|
} |
|
|
|
StackLayout { |
|
id: stackView |
|
Layout.fillWidth: true |
|
Layout.fillHeight: true |
|
|
|
Bell { |
|
Layout.fillWidth: true |
|
Layout.fillHeight: true |
|
} |
|
ModifierKeys { |
|
Layout.fillWidth: true |
|
Layout.fillHeight: true |
|
|
|
} |
|
KeyboardFilters { |
|
Layout.fillWidth: true |
|
Layout.fillHeight: true |
|
|
|
} |
|
MouseNavigation { |
|
Layout.fillWidth: true |
|
Layout.fillHeight: true |
|
|
|
} |
|
ScreenReader { |
|
Layout.fillWidth: true |
|
Layout.fillHeight: true |
|
} |
|
} |
|
} |
|
}
|
|
|