feat(GODT-2712): Feed config_status with user action while pending.

This commit is contained in:
Romain LE JEUNE
2023-06-29 17:04:54 +02:00
committed by Romain Le Jeune
parent 1f79e3b0a7
commit 238929c3ec
19 changed files with 1136 additions and 109 deletions

View File

@ -924,6 +924,32 @@ void QMLBackend::sendBadEventUserFeedback(QString const &userID, bool doResync)
)
}
//****************************************************************************************************************************************************
///
//****************************************************************************************************************************************************
void QMLBackend::notifyReportBugClicked() const {
HANDLE_EXCEPTION(
app().grpc().reportBugClicked();
)
}
//****************************************************************************************************************************************************
/// \param[in] client The selected Mail client for autoconfig.
//****************************************************************************************************************************************************
void QMLBackend::notifyAutoconfigClicked(QString const &client) const {
HANDLE_EXCEPTION(
app().grpc().autoconfigClicked(client);
)
}
//****************************************************************************************************************************************************
/// \param[in] article The url of the KB article.
//****************************************************************************************************************************************************
void QMLBackend::notifyKBArticleClicked(QString const &article) const {
HANDLE_EXCEPTION(
app().grpc().KBArticleClicked(article);
)
}
//****************************************************************************************************************************************************
//

View File

@ -187,6 +187,9 @@ public slots: // slot for signals received from QML -> To be forwarded to Bridge
void onVersionChanged(); ///< Slot for the version change signal.
void setMailServerSettings(int imapPort, int smtpPort, bool useSSLForIMAP, bool useSSLForSMTP) const; ///< Forwards a connection mode change request from QML to gRPC
void sendBadEventUserFeedback(QString const &userID, bool doResync); ///< Slot the providing user feedback for a bad event.
void notifyReportBugClicked() const; ///< Slot for the ReportBugClicked gRPC event.
void notifyAutoconfigClicked(QString const &client) const; ///< Slot for gAutoconfigClicked gRPC event.
void notifyKBArticleClicked(QString const &article) const; ///< Slot for KBArticleClicked gRPC event.
public slots: // slots for functions that need to be processed locally.
void setNormalTrayIcon(); ///< Set the tray icon to normal.

View File

@ -41,7 +41,9 @@ SettingsView {
actionIcon: "/qml/icons/ic-external-link.svg"
description: qsTr("Get help setting up your client with our instructions and FAQs.")
type: SettingsItem.PrimaryButton
onClicked: {Qt.openUrlExternally("https://proton.me/support/bridge")}
onClicked: {
Backend.notifyKBArticleClicked("https://proton.me/support/bridge");
Qt.openUrlExternally("https://proton.me/support/bridge")}
Layout.fillWidth: true
}
@ -87,6 +89,7 @@ SettingsView {
type: SettingsItem.Button
onClicked: {
Backend.updateCurrentMailClient()
Backend.notifyReportBugClicked()
root.parent.showBugReport()
}

View File

@ -891,7 +891,7 @@ QtObject {
action: [
Action {
id: allMail_change
text: root.changeAllMailVisibility.isVisibleNow ?
text: root.changeAllMailVisibility.isVisibleNow ?
qsTr("Hide All Mail folder") :
qsTr("Show All Mail folder")
onTriggered: {
@ -1005,6 +1005,7 @@ QtObject {
text: qsTr("Open the support page")
onTriggered: {
Backend.notifyKBArticleClicked(root.rebuildKeychain.supportLink);
Qt.openUrlExternally(root.rebuildKeychain.supportLink)
Backend.quit()
}

View File

@ -288,7 +288,8 @@ Item {
if (user) {
switch (clientID) {
case 0:
root.user.configureAppleMail(root.address)
root.user.configureAppleMail(root.address)
Backend.notifyAutoconfigClicked("AppleMail");
break;
}
}
@ -298,6 +299,7 @@ Item {
var clientObj = clients.get(clientID)
if (clientObj != undefined && clientObj.link != "" ) {
Qt.openUrlExternally(clientObj.link)
Backend.notifyKBArticleClicked(clientObj.link);
} else {
console.log("unexpected client index", actionID, clientID)
}