799e00d252
Unfortunately, most issues are in Kirigami and we can't fix them from our side. Namely, these things remain unfixed: - `Kirigami.PlaceholderMessage` are not read by screen readers - When navigating with the keyboard, pressing tab selects elements from right to left, which is weird - When navigating with the keyboard, the selected element is not highlighted - `Kirigami.Action` that don't have a `text` property don't use the `Accessible.name` property when using a screen reader.
57 lines
1.6 KiB
QML
57 lines
1.6 KiB
QML
/*
|
|
* SPDX-FileCopyrightText: 2018 Nicolas Fella <nicolas.fella@gmx.de>
|
|
*
|
|
* SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
|
|
*/
|
|
|
|
import QtQuick
|
|
import QtQuick.Controls
|
|
import QtQuick.Layouts
|
|
import org.kde.kirigami as Kirigami
|
|
import org.kde.kdeconnect
|
|
|
|
Kirigami.ScrollablePage
|
|
{
|
|
id: root
|
|
title: i18nd("kdeconnect-app", "Run command")
|
|
property QtObject pluginInterface
|
|
|
|
actions: [
|
|
Kirigami.Action {
|
|
icon.name: "document-edit"
|
|
text: i18nd("kdeconnect-app", "Edit commands")
|
|
onTriggered: {
|
|
pluginInterface.editCommands();
|
|
showPassiveNotification(i18nd("kdeconnect-app", "You can edit commands on the connected device"));
|
|
}
|
|
}
|
|
]
|
|
|
|
ListView {
|
|
id: commandsList
|
|
model: RemoteCommandsModel {
|
|
deviceId: pluginInterface.deviceId
|
|
}
|
|
delegate: ItemDelegate {
|
|
id: delegate
|
|
width: ListView.view.width
|
|
text: name
|
|
|
|
contentItem: Kirigami.TitleSubtitle {
|
|
title: delegate.text
|
|
subtitle: command
|
|
}
|
|
|
|
onClicked: pluginInterface.triggerCommand(key)
|
|
}
|
|
|
|
Kirigami.PlaceholderMessage {
|
|
// FIXME: not accessible. screen readers won't read this.
|
|
// https://invent.kde.org/frameworks/kirigami/-/merge_requests/1482
|
|
visible: commandsList.count === 0
|
|
text: i18nd("kdeconnect-app", "No commands defined")
|
|
anchors.centerIn: parent
|
|
}
|
|
}
|
|
}
|
|
|