GODT-1522: Rebuild macOS keychain notification

This commit is contained in:
Jakub
2022-03-17 10:57:51 +01:00
parent 0ed78f1ccb
commit 478345e277
9 changed files with 91 additions and 6 deletions

View File

@ -601,6 +601,14 @@ Window {
root.notifyHasNoKeychain()
}
}
Button {
text: "Rebuild keychain"
colorScheme: root.colorScheme
onClicked: {
root.notifyRebuildKeychain()
}
}
}
}
@ -825,6 +833,7 @@ Window {
}
signal changeKeychainFinished()
signal notifyHasNoKeychain()
signal notifyRebuildKeychain()
signal noActiveKeyForRecipient(string email)
signal showMainWindow()

View File

@ -115,4 +115,9 @@ Item {
colorScheme: root.colorScheme
notification: root.notifications.noKeychain
}
NotificationDialog {
colorScheme: root.colorScheme
notification: root.notifications.rebuildKeychain
}
}

View File

@ -73,7 +73,8 @@ QtObject {
root.enableLocalCache,
root.resetBridge,
root.deleteAccount,
root.noKeychain
root.noKeychain,
root.rebuildKeychain
]
// Connection
@ -901,4 +902,36 @@ QtObject {
}
]
}
property Notification rebuildKeychain: Notification {
title: qsTr("Your macOS keychain might be corrupted")
description: qsTr("Bridge is not able to access your macOS keychain. Please consult the instructions on our support page.")
brief: title
icon: "./icons/ic-exclamation-circle-filled.svg"
type: Notification.NotificationType.Danger
group: Notifications.Group.Dialogs | Notifications.Group.Configuration
property var supportLink: "https://protonmail.com/support/knowledge-base/macos-keychain-corrupted"
Connections {
target: root.backend
onNotifyRebuildKeychain: {
console.log("notifications")
root.rebuildKeychain.active = true
}
}
action: [
Action {
text: qsTr("Open the support page")
onTriggered: {
Qt.openUrlExternally(root.rebuildKeychain.supportLink)
root.backend.quit()
}
}
]
}
}