Page MenuHomePhorge

D322.1783450646.diff
No OneTemporary

Size
9 KB
Referenced Files
None
Subscribers
None

D322.1783450646.diff

diff --git a/src/contents/ui/EventHistoryView.qml b/src/contents/ui/EventHistoryView.qml
--- a/src/contents/ui/EventHistoryView.qml
+++ b/src/contents/ui/EventHistoryView.qml
@@ -12,6 +12,7 @@
ListView {
id: eventHistoryView
+ Accessible.role: Accessible.List
property var history
model: history
delegate: Kazv.EventViewWrapper {
@@ -19,5 +20,6 @@
width: ListView.view.width
compactMode: true
displayTime: true
+ Accessible.role: Accessible.ListItem
}
}
diff --git a/src/contents/ui/RoomListViewItemDelegate.qml b/src/contents/ui/RoomListViewItemDelegate.qml
--- a/src/contents/ui/RoomListViewItemDelegate.qml
+++ b/src/contents/ui/RoomListViewItemDelegate.qml
@@ -38,9 +38,12 @@
autoExclusive: true
Kirigami.Theme.colorSet: !checked ? Kirigami.Theme.View : Kirigami.Theme.Selection
Kirigami.Theme.inherit: false
+ focusPolicy: Qt.StrongFocus
+ Accessible.focusable: true
+ Accessible.name: roomDisplayName
background: Rectangle {
anchors.fill: parent
- color: hovered ? Kirigami.Theme.hoverColor : Kirigami.Theme.backgroundColor
+ color: (upper.hovered || upper.activeFocus) ? Kirigami.Theme.hoverColor : Kirigami.Theme.backgroundColor
}
contentItem: RowLayout {
diff --git a/src/contents/ui/RoomTimelineView.qml b/src/contents/ui/RoomTimelineView.qml
--- a/src/contents/ui/RoomTimelineView.qml
+++ b/src/contents/ui/RoomTimelineView.qml
@@ -14,6 +14,8 @@
ListView {
id: roomTimelineView
objectName: 'roomTimelineView'
+ Accessible.role: Accessible.List
+
property var timeline
property string selectedEventId
@@ -173,6 +175,7 @@
event: timeline.at(index)
width: ListView.view.width
isSelected: roomTimelineView.selectedEventId && event.eventId === roomTimelineView.selectedEventId
+ Accessible.role: Accessible.ListItem
}
function goToEvent(eventId) {
diff --git a/src/contents/ui/UserPage.qml b/src/contents/ui/UserPage.qml
--- a/src/contents/ui/UserPage.qml
+++ b/src/contents/ui/UserPage.qml
@@ -221,6 +221,8 @@
visible: !userPage.editingPowerLevel
Label {
objectName: 'powerLevelLabel'
+ Accessible.focusable: true
+ activeFocusOnTab: true
Layout.fillWidth: true
text: l10n.get('user-page-power-level', { powerLevel: userPage.userPowerLevel })
}
diff --git a/src/contents/ui/device-mgmt/Device.qml b/src/contents/ui/device-mgmt/Device.qml
--- a/src/contents/ui/device-mgmt/Device.qml
+++ b/src/contents/ui/device-mgmt/Device.qml
@@ -17,6 +17,9 @@
property var userId
property bool sendingVerification: false
+ Accessible.name: item.deviceId
+ Accessible.description: item.displayName
+
contentItem: RowLayout {
ColumnLayout {
Label {
diff --git a/src/contents/ui/device-mgmt/DeviceList.qml b/src/contents/ui/device-mgmt/DeviceList.qml
--- a/src/contents/ui/device-mgmt/DeviceList.qml
+++ b/src/contents/ui/device-mgmt/DeviceList.qml
@@ -15,6 +15,8 @@
property var userId
model: devices ? devices.count : 0
+ Accessible.role: Accessible.List
+ Accessible.name: l10n.get('user-devices')
delegate: KazvDM.Device {
userId: deviceList.userId
diff --git a/src/contents/ui/event-types/Simple.qml b/src/contents/ui/event-types/Simple.qml
--- a/src/contents/ui/event-types/Simple.qml
+++ b/src/contents/ui/event-types/Simple.qml
@@ -56,25 +56,40 @@
Layout.topMargin: shouldCollapseSender ? 0 : Kirigami.Units.largeSpacing
Layout.bottomMargin: 0
- Kazv.AvatarAdapter {
- id: avatar
+ AbstractButton {
+ id: avatarButton
objectName: 'senderAvatar'
Layout.alignment: Qt.AlignTop
- mxcUri: sender.avatarMxcUri
- name: senderNickname
visible: !compactMode && !shouldCollapseSender
+ focusPolicy: Qt.StrongFocus
+ onClicked: goToUser()
+ Accessible.name: senderNickname
+ leftInset: 0
+ topInset: 0
+ bottomInset: 0
+ rightInset: 0
+ padding: Kirigami.Units.smallSpacing
+ background: Rectangle {
+ anchors.fill: parent
+ radius: height / 2
+ border.width: avatarButton.padding / 2
+ border.color: (avatarButton.hovered || avatarButton.activeFocus) ? Kirigami.Theme.hoverColor : 'transparent'
+ }
- TapHandler {
- onTapped: {
- activateUserPage(sender, room, event.sender);
- }
+ contentItem: Kazv.AvatarAdapter {
+ id: avatar
+ mxcUri: sender.avatarMxcUri
+ name: senderNickname
+ }
+ function goToUser() {
+ activateUserPage(sender, room, event.sender);
}
}
Item {
objectName: 'senderCollapsedPlaceholder'
visible: shouldCollapseSender
- Layout.preferredWidth: iconSize
+ Layout.preferredWidth: iconSize + avatarButton.padding * 2
Layout.preferredHeight: 1
}
@@ -100,6 +115,7 @@
Layout.fillWidth: !compactMode
property var reasonableWidth: Math.max(contentWidth, Kirigami.Units.gridUnit)
+ Accessible.ignored: true
TapHandler {
enabled: !compactMode
diff --git a/src/contents/ui/settings/CacheSettings.qml b/src/contents/ui/settings/CacheSettings.qml
--- a/src/contents/ui/settings/CacheSettings.qml
+++ b/src/contents/ui/settings/CacheSettings.qml
@@ -6,7 +6,7 @@
*/
import org.kde.kirigami 2.13 as Kirigami
-
+import QtQuick
import QtQuick.Layouts 1.15
import QtQuick.Controls 2.15
@@ -16,29 +16,23 @@
id: cacheSettings
Label {
+ id: cacheDirLabel
+ Accessible.ignored: true
text: l10n.get('settings-cache-directory')
}
TextField {
Layout.fillWidth: true
id: cacheDirectoryEntry
+ Accessible.name: cacheDirLabel.text
text: kazvConfig.cacheDirectory
}
- Kirigami.Action {
- id: selectCacheDirectory
- icon.name: "inode-directory"
- text: 'settings-cache-directory'
- onTriggered: {
- folderDialog.open()
- }
- }
-
ToolButton {
- icon.name: 'inode-directory'
- onClicked: {
- selectCacheDirectory.trigger()
- }
+ display: AbstractButton.IconOnly
+ icon.name: "inode-directory"
+ text: l10n.get('settings-select-cache-directory')
+ onClicked: folderDialog.open()
}
Kazv.FolderDialogAdapter {
diff --git a/src/contents/ui/settings/ProfileSettings.qml b/src/contents/ui/settings/ProfileSettings.qml
--- a/src/contents/ui/settings/ProfileSettings.qml
+++ b/src/contents/ui/settings/ProfileSettings.qml
@@ -59,6 +59,8 @@
RowLayout {
Layout.fillWidth: true
Label {
+ id: displayNameLabel
+ Accessible.ignored: true
text: l10n.get('settings-profile-display-name')
}
@@ -66,6 +68,7 @@
Layout.fillWidth: true
id: displayNameEntry
objectName: 'displayNameEntry'
+ Accessible.name: displayNameLabel.text
text: profileSettings.displayName
enabled: profileSettings.loaded
}
diff --git a/src/l10n/cmn-Hans/100-ui.ftl b/src/l10n/cmn-Hans/100-ui.ftl
--- a/src/l10n/cmn-Hans/100-ui.ftl
+++ b/src/l10n/cmn-Hans/100-ui.ftl
@@ -340,6 +340,7 @@
forget-room-success-prompt = 成功忘记房间 { $room }。
forget-room-failed-prompt = 无法忘记房间 { $room }。错误代码: { $errorCode }。错误讯息: { $errorMsg }。
+user-devices = 设备
device-trust-level-unseen = 未曾见过
device-trust-level-seen = 见过
device-trust-level-verified = 已验证
@@ -352,6 +353,7 @@
device-set-trust-level-dialog-curve25519-key-label = Curve25519公钥:{ $key }
device-set-trust-level-dialog-save = 保存
device-set-trust-level-dialog-cancel = 取消
+device-verify-action = 验证设备...
device-verification-request-failed = 无法发送验证请求。错误码:{ $errorCode }。错误讯息:{ $errorMsg }。
settings-page-title = 设置
@@ -361,6 +363,7 @@
settings-profile-display-name = 显示名:
settings-profile-save-failed-prompt = 无法保存用户资料。错误码:{ $errorCode }。错误讯息:{ $errorMsg }。
settings-cache-directory = 缓存目录:
+settings-select-cache-directory = 选择缓存目录...
settings-security-import-keys-action = 从备份文件导入密钥...
settings-security-import-keys-password-input-title = 输入密码
settings-security-import-keys-password-input-label = 当你创建备份时,提示了你要设置一个用来加密备份文件的密码。输入你当时设置的那个密码:
diff --git a/src/l10n/en/100-ui.ftl b/src/l10n/en/100-ui.ftl
--- a/src/l10n/en/100-ui.ftl
+++ b/src/l10n/en/100-ui.ftl
@@ -362,6 +362,7 @@
forget-room-success-prompt = Successfully forgot room { $room }.
forget-room-failed-prompt = Unable to forget room { $room }. Error code: { $errorCode }. Error message: { $errorMsg }.
+user-devices = Devices
device-trust-level-unseen = Unseen
device-trust-level-seen = Seen
device-trust-level-verified = Verified
@@ -374,6 +375,7 @@
device-set-trust-level-dialog-curve25519-key-label = Curve25519 public key: { $key }
device-set-trust-level-dialog-save = Save
device-set-trust-level-dialog-cancel = Cancel
+device-verify-action = Verify device...
device-verification-request-failed = Unable to send verification request. Error code: { $errorCode }. Error message: { $errorMsg }.
settings-page-title = Settings
@@ -383,6 +385,7 @@
settings-profile-display-name = Display name:
settings-profile-save-failed-prompt = Unable to save profile. Error code: { $errorCode }. Error message: { $errorMsg }.
settings-cache-directory = Cache directory:
+settings-select-cache-directory = Select cache directory...
settings-security-import-keys-action = Import keys from a backup file...
settings-security-import-keys-password-input-title = Enter password
settings-security-import-keys-password-input-label = When you created the backup, you were prompted to set a password to encrypt the backup file. Enter the password you set at that time:

File Metadata

Mime Type
text/plain
Expires
Tue, Jul 7, 11:57 AM (22 h, 26 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
1670008
Default Alt Text
D322.1783450646.diff (9 KB)

Event Timeline