Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/desktop.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>2020-08-25 13:54:56 +0300
committerKevin Ottens (Rebase PR Action) <er-vin@users.noreply.github.com>2020-09-28 15:38:21 +0300
commit43bf7038062d3575aefa32b73456999114599f51 (patch)
tree3c521cc177b8fa4a777c69b5c52718eeac85b045 /src/gui/tray
parenta7a079a33503ae03b4e594ef16f9f81037d60a60 (diff)
Initial accessibility declarations for tray window qml src
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
Diffstat (limited to 'src/gui/tray')
-rw-r--r--src/gui/tray/UserLine.qml37
-rw-r--r--src/gui/tray/Window.qml104
2 files changed, 136 insertions, 5 deletions
diff --git a/src/gui/tray/UserLine.qml b/src/gui/tray/UserLine.qml
index e0171beea..a9b784c07 100644
--- a/src/gui/tray/UserLine.qml
+++ b/src/gui/tray/UserLine.qml
@@ -11,6 +11,10 @@ MenuItem {
id: userLine
height: Style.trayWindowHeaderHeight
+ Accessible.role: Accessible.MenuItem
+ Accessible.name: qsTr("Account entry")
+ Accessible.description: qsTr("Menu entry corresponding to a specific account")
+
RowLayout {
id: userLineLayout
spacing: 0
@@ -25,6 +29,10 @@ MenuItem {
hoverEnabled: true
flat: true
+ Accessible.role: Accessible.Button
+ Accessible.name: name
+ Accessible.description: qsTr("Account button, selecting the corresponding account as active when clicked")
+
MouseArea {
anchors.fill: parent
hoverEnabled: true
@@ -81,6 +89,10 @@ MenuItem {
y: accountStateIndicatorBackground.y + 1
sourceSize.width: Style.accountAvatarStateIndicatorSize
sourceSize.height: Style.accountAvatarStateIndicatorSize
+
+ Accessible.role: Accessible.Indicator
+ Accessible.name: isConnected ? qsTr("Connected") : qsTr("Disconnected")
+ Accessible.description: qsTr("Icon that indicates current connection state for the corresponding account")
}
}
@@ -119,6 +131,13 @@ MenuItem {
icon.source: "qrc:///client/theme/more.svg"
icon.color: "transparent"
+ Accessible.role: Accessible.ButtonMenu
+ Accessible.name: "More"
+ Accessible.description: qsTr("Menu button providing more account actions when clicked")
+ Accessible.onPressAction: {
+ userMoreButtonMenu.popup()
+ }
+
MouseArea {
id: userMoreButtonMouseArea
anchors.fill: parent
@@ -167,6 +186,15 @@ MenuItem {
color: parent.parent.hovered ? Style.lightHover : "transparent"
}
}
+
+ Accessible.role: Accessible.Button
+ Accessible.name: isConnected ? qsTr("Log out") : qsTr("Log in")
+ Accessible.description: qsTr("Logs user account in or out depending on current connection state")
+
+ onPressed: {
+ isConnected ? UserModel.logout(index) : UserModel.login(index)
+ accountMenu.close()
+ }
}
MenuItem {
@@ -187,6 +215,15 @@ MenuItem {
color: parent.parent.hovered ? Style.lightHover : "transparent"
}
}
+
+ Accessible.role: Accessible.Button
+ Accessible.name: qsTr("Remove Account")
+ Accessible.description: qsTr("Permanently removes account from Nextcloud client configuration")
+
+ Accessible.onPressAction: {
+ UserModel.removeAccount(index)
+ accountMenu.close()
+ }
}
}
}
diff --git a/src/gui/tray/Window.qml b/src/gui/tray/Window.qml
index 0ac120e16..96985b4ad 100644
--- a/src/gui/tray/Window.qml
+++ b/src/gui/tray/Window.qml
@@ -21,6 +21,9 @@ Window {
readonly property int maxMenuHeight: Style.trayWindowHeight - Style.trayWindowHeaderHeight - 2 * Style.trayWindowBorderWidth
+ Accessible.role: Accessible.Window
+ Accessible.name: "Nextcloud client tray window"
+
// Close tray window when focus is lost (e.g. click somewhere else on the screen)
onActiveChanged: {
if(!active) {
@@ -131,6 +134,14 @@ Window {
display: AbstractButton.IconOnly
flat: true
+ Accessible.role: Accessible.ButtonMenu
+ Accessible.name: "Current account"
+ Accessible.description: "Shows the currently selected account and opens a dropdown list for all accounts when clicked"
+ Accessible.onPressAction: {
+ syncPauseButton.text = Systray.syncIsPaused() ? qsTr("Resume sync for all") : qsTr("Pause sync for all")
+ accountMenu.open()
+ }
+
MouseArea {
id: accountBtnMouseArea
@@ -171,6 +182,10 @@ Window {
radius: Style.currentAccountButtonRadius
}
+ Accessible.role: PopupMenu
+ Accessible.name: qsTr("Account menu")
+ Accessible.description: qsTr("Popup menu showing a list of accounts and general client actions")
+
onClosed: {
// HACK: reload account Instantiator immediately by restting it - could be done better I guess
// see also onVisibleChanged above
@@ -249,6 +264,13 @@ Window {
color: parent.parent.hovered ? Style.lightHover : "transparent"
}
}
+
+ Accessible.role: Accessible.MenuItem
+ Accessible.name: Systray.syncIsPaused() ? qsTr("Resume sync for all") : qsTr("Pause sync for all")
+ Accessible.description: qsTr("Button that pause or resumes sync activity")
+ Accessible.onPressAction: {
+ Systray.pauseResumeSync()
+ }
}
MenuItem {
@@ -266,6 +288,13 @@ Window {
color: parent.parent.hovered ? Style.lightHover : "transparent"
}
}
+
+ Accessible.role: Accessible.MenuItem
+ Accessible.name: text
+ Accessible.description: qsTr("Button that opens the client settings window")
+ Accessible.onPressAction: {
+ Systray.openSettings()
+ }
}
MenuItem {
@@ -283,6 +312,13 @@ Window {
color: parent.parent.hovered ? Style.lightHover : "transparent"
}
}
+
+ Accessible.role: Accessible.MenuItem
+ Accessible.name: text
+ Accessible.description: qsTr("Quits the nextcloud client application")
+ Accessible.onPressAction: {
+ Systray.shutdown()
+ }
}
}
}
@@ -298,6 +334,7 @@ Window {
height: Style.trayWindowHeaderHeight
width: Style.currentAccountButtonWidth
spacing: 0
+
Image {
id: currentAccountAvatar
@@ -308,6 +345,9 @@ Window {
Layout.preferredHeight: Style.accountAvatarSize
Layout.preferredWidth: Style.accountAvatarSize
+ Accessible.role: Accessible.Graphic
+ Accessible.name: qsTr("Current user avatar")
+
Rectangle {
id: currentAccountStateIndicatorBackground
width: Style.accountAvatarStateIndicatorSize + 2
@@ -326,6 +366,10 @@ Window {
y: currentAccountStateIndicatorBackground.y + 1
sourceSize.width: Style.accountAvatarStateIndicatorSize
sourceSize.height: Style.accountAvatarStateIndicatorSize
+
+ Accessible.role: Accessible.Indicator
+ Accessible.name: UserModel.isUserConnected(UserModel.currentUserId()) ? qsTr("Connected") : qsTr("Disconnected")
+ Accessible.description: qsTr("Icon that indicates connection state for the currently selected account")
}
}
@@ -377,6 +421,13 @@ Window {
visible: UserModel.currentUser.hasLocalFolder
icon.source: "qrc:///client/theme/white/folder.svg"
onClicked: UserModel.openCurrentAccountLocalFolder()
+
+ Accessible.role: Accessible.Button
+ Accessible.name: qsTr("Local folder button")
+ Accessible.description: qsTr("Opens the local folder corresponding to the currently selected account")
+ Accessible.onPressAction: {
+ UserModel.openCurrentAccountLocalFolder()
+ }
}
HeaderButton {
@@ -385,6 +436,13 @@ Window {
visible: UserModel.currentUser.serverHasTalk
icon.source: "qrc:///client/theme/white/talk-app.svg"
onClicked: UserModel.openCurrentAccountTalk()
+
+ Accessible.role: Accessible.Button
+ Accessible.name: qsTr("Open Nextcloud Talk")
+ Accessible.description: qsTr("Opens Nextcloud Talk corresponding the currently sdelected users server in a new browser window")
+ Accessible.onPressAction: {
+ UserModel.openCurrentAccountTalk()
+ }
}
HeaderButton {
@@ -400,6 +458,14 @@ Window {
}
}
+ Accessible.role: Accessible.ButtonMenu
+ Accessible.name: qsTr("Show other apps")
+ Accessible.description: qsTr("Opens a popup menu with all other supported Nextcloud apps from the currently selected users server")
+ Accessible.onPressAction: {
+ appsMenu.open();
+ UserModel.openCurrentAccountServer();
+ }
+
Menu {
id: appsMenu
y: (trayWindowAppsButton.y + trayWindowAppsButton.height + 2)
@@ -413,6 +479,9 @@ Window {
radius: 2
}
+ Accessible.role: Accessible.PopupMenu
+ Accessible.name: qsTr("Apps menu")
+
Instantiator {
id: appsMenuInstantiator
model: UserAppsModel
@@ -437,6 +506,13 @@ Window {
color: appEntry.hovered ? Style.lightHover : "transparent"
}
}
+
+ Accessible.role: Accessible.MenuItem
+ Accessible.name: appName
+ Accessible.description: qsTr("Opens the corresponding Nextcloud app in a new browser window")
+ Accessible.onPressAction: {
+ UserAppsModel.openAppUrl(appUrl)
+ }
}
}
}
@@ -456,6 +532,10 @@ Window {
id: listViewScrollbar
}
+ Accessible.role: Accessible.List
+ Accessible.name: qsTr("Activity list")
+ Accessible.description: qsTr("A list of activities for the currently selected user account")
+
model: activityModel
delegate: RowLayout {
@@ -465,6 +545,17 @@ Window {
height: Style.trayWindowHeaderHeight
spacing: 0
+ Accessible.role: Accessible.ListItem
+ Accessible.name: activityTextColumn.text
+ Accessible.description: qsTr("Activity item - if applicable opens local folder containing the corresponding sync object when clicked")
+ Accessible.onPressAction: {
+ if (path !== "") {
+ Qt.openUrlExternally(path)
+ } else {
+ Qt.openUrlExternally(link)
+ }
+ }
+
MouseArea {
id: activityMouseArea
enabled: (path !== "" || link !== "")
@@ -474,11 +565,7 @@ Window {
anchors.margins: 2
hoverEnabled: true
onClicked: {
- if (path !== "") {
- Qt.openUrlExternally(path)
- } else {
- Qt.openUrlExternally(link)
- }
+
}
Rectangle {
@@ -573,6 +660,13 @@ Window {
ToolTip.delay: 1000
ToolTip.text: qsTr("Open share dialog")
onClicked: Systray.openShareDialog(displayPath,absolutePath)
+
+ Accessible.role: Accessible.Button
+ Accessible.name: qsTr("Share button")
+ Accessible.description: qsTr("Opens share window for the corresponding sync object")
+ Accessible.onPressAction: {
+ Systray.openShareDialog(displayPath,absolutePath)
+ }
}
}