diff --git a/internal/frontend/bridge-gui/bridge-gui/Resources.qrc b/internal/frontend/bridge-gui/bridge-gui/Resources.qrc index 90488c98..aa184628 100644 --- a/internal/frontend/bridge-gui/bridge-gui/Resources.qrc +++ b/internal/frontend/bridge-gui/bridge-gui/Resources.qrc @@ -53,6 +53,7 @@ qml/icons/img-client-config-selector.svg qml/icons/img-client-config-success.svg qml/icons/img-macos-cert-screenshot.png + qml/icons/img-macos-profile-screenshot.png qml/icons/img-mail-clients.svg qml/icons/img-mail-logo-wordmark-dark.svg qml/icons/img-mail-logo-wordmark.svg diff --git a/internal/frontend/bridge-gui/bridge-gui/qml/SetupWizard/ClientConfigAppleMail.qml b/internal/frontend/bridge-gui/bridge-gui/qml/SetupWizard/ClientConfigAppleMail.qml index 61c30eb3..e39cfeb9 100644 --- a/internal/frontend/bridge-gui/bridge-gui/qml/SetupWizard/ClientConfigAppleMail.qml +++ b/internal/frontend/bridge-gui/bridge-gui/qml/SetupWizard/ClientConfigAppleMail.qml @@ -103,7 +103,6 @@ Item { } } Image { - id: certScreenshot Layout.alignment: Qt.AlignHCenter height: 182 opacity: certificateInstall.waitingForCert ? 0.3 : 1.0 @@ -115,7 +114,6 @@ Item { spacing: 16 Button { - id: certInstallButton Layout.fillWidth: true colorScheme: wizard.colorScheme enabled: !certificateInstall.waitingForCert @@ -142,42 +140,104 @@ Item { } } // stack index 1 - ColumnLayout { + Item { id: profileInstall Layout.fillHeight: true Layout.fillWidth: true - Label { - Layout.alignment: Qt.AlignHCenter - Layout.fillWidth: true - colorScheme: wizard.colorScheme - horizontalAlignment: Text.AlignHCenter - text: "Profile install placeholder" - type: Label.LabelType.Heading - wrapMode: Text.WordWrap - } - Button { - Layout.fillWidth: true - Layout.topMargin: 48 - colorScheme: wizard.colorScheme - text: "Install Profile Placeholder" + ColumnLayout { + anchors.left: parent.left + anchors.right: parent.right + anchors.verticalCenter: parent.verticalCenter + spacing: 24 - onClicked: { - wizard.user.configureAppleMail(wizard.address); - wizard.closeWizard(); + ColumnLayout { + Layout.fillWidth: true + spacing: 16 + + Label { + Layout.alignment: Qt.AlignHCenter + Layout.fillWidth: true + colorScheme: wizard.colorScheme + horizontalAlignment: Text.AlignHCenter + text: "Install the profile" + type: Label.LabelType.Title + wrapMode: Text.WordWrap + } + Label { + Layout.alignment: Qt.AlignHCenter + Layout.fillWidth: true + color: colorScheme.text_weak + colorScheme: wizard.colorScheme + horizontalAlignment: Text.AlignHCenter + text: qsTr("A system pop-up will appear. Double click on the entry with your email, and click ’Install’ in the dialog that appears.") + type: Label.LabelType.Body + wrapMode: Text.WordWrap + } } - } - Button { - Layout.fillWidth: true - Layout.topMargin: 32 - colorScheme: wizard.colorScheme - secondary: true - text: qsTr("Cancel") + Image { + Layout.alignment: Qt.AlignHCenter + height: 102 + opacity: certificateInstall.waitingForCert ? 0.3 : 1.0 + source: "/qml/icons/img-macos-profile-screenshot.png" + width: 364 + } + ColumnLayout { + Layout.fillWidth: true + spacing: 16 - onClicked: { - wizard.closeWizard(); + Button { + Layout.fillWidth: true + colorScheme: wizard.colorScheme + text: "Install the profile" + + onClicked: { + wizard.user.configureAppleMail(wizard.address); + wizard.showClientConfigEnd(); + } + } + Button { + Layout.fillWidth: true + colorScheme: wizard.colorScheme + secondary: true + text: qsTr("Cancel") + + onClicked: { + wizard.closeWizard(); + } + } } } } } -} \ No newline at end of file +} + +// Label { +// Layout.alignment: Qt.AlignHCenter +// Layout.fillWidth: true +// colorScheme: wizard.colorScheme +// horizontalAlignment: Text.AlignHCenter +// text: "Profile install placeholder" +// type: Label.LabelType.Heading +// wrapMode: Text.WordWrap +// } +// Button { +// Layout.fillWidth: true +// Layout.topMargin: 48 +// colorScheme: wizard.colorScheme +// text: "Install Profile Placeholder" +// onClicked: { +// wizard.user.configureAppleMail(wizard.address); +// wizard.closeWizard(); +// } +// } +// Button { +// Layout.fillWidth: true +// Layout.topMargin: 32 +// colorScheme: wizard.colorScheme +// secondary: true +// text: qsTr("Cancel") +// onClicked: { +// wizard.closeWizard(); +// } +// } diff --git a/internal/frontend/bridge-gui/bridge-gui/qml/SetupWizard/LeftPane.qml b/internal/frontend/bridge-gui/bridge-gui/qml/SetupWizard/LeftPane.qml index 7e04eedc..64d11203 100644 --- a/internal/frontend/bridge-gui/bridge-gui/qml/SetupWizard/LeftPane.qml +++ b/internal/frontend/bridge-gui/bridge-gui/qml/SetupWizard/LeftPane.qml @@ -26,28 +26,24 @@ Item { property int iconWidth property var wizard - function showAppleMailAutoconfig() { - titleLabel.text = ""; + function showAppleMailAutoconfigCertificateInstall() { + showAppleMailAutoconfigCommon(); descriptionLabel.text = qsTr("Apple Mail configuration is mostly automated, but in order to work, Bridge needs to install a certificate in your keychain."); + linkLabel1.setLink("https://proton.me/support/bridge", qsTr("Why is this certificate needed?")); + } + function showAppleMailAutoconfigCommon() { + titleLabel.text = ""; linkLabel1.clear(); linkLabel2.clear(); iconSource = wizard.clientIconSource(); iconHeight = 80; iconWidth = 80; } - - function showAppleMailAutoconfigCertificateInstall() { - console.error("showAppleMailAutoconfigCertificateInstall"); - showAppleMailAutoconfig(); - linkLabel1.setLink("https://proton.me/support/bridge", qsTr("Why is this certificate needed?")); - } - function showAppleMailAutoconfigProfileInstall() { - console.error("showAppleMailAutoconfigProfileInstall"); - showAppleMailAutoconfig(); - linkLabel1.setLink("", qsTr("")); // We are not clearing to keep occupying the vertical space. + showAppleMailAutoconfigCommon(); + descriptionLabel.text = qsTr("The final step before you can start using Apple Mail is to install the Bridge server profile in the system preferences.\n\nAdding a server profile is necessary to ensure that your Mac can receive and send Proton Mails."); + linkLabel1.setLink("https://proton.me/support/bridge", qsTr("Why is there a yellow warning sign?")); } - function showClientSelector() { titleLabel.text = ""; descriptionLabel.text = qsTr("Bridge is now connected to Proton, and has already started downloading your messages. Let’s now connect your email client to Bridge."); diff --git a/internal/frontend/bridge-gui/bridge-gui/qml/SetupWizard/SetupWizard.qml b/internal/frontend/bridge-gui/bridge-gui/qml/SetupWizard/SetupWizard.qml index 76bd4fc3..2bc5e9d4 100644 --- a/internal/frontend/bridge-gui/bridge-gui/qml/SetupWizard/SetupWizard.qml +++ b/internal/frontend/bridge-gui/bridge-gui/qml/SetupWizard/SetupWizard.qml @@ -81,9 +81,8 @@ Item { } function showAppleMailAutoConfig() { rootStackLayout.currentIndex = SetupWizard.RootStack.TwoPanesView; - leftContent.showAppleMailAutoconfig(); rightContent.currentIndex = SetupWizard.ContentStack.ClientConfigAppleMail; - clientConfigAppleMail.showAutoconfig(); + clientConfigAppleMail.showAutoconfig(); // This will trigger signals that will display the appropriate left content. } function showClientConfig(user, address) { root.user = user; diff --git a/internal/frontend/bridge-gui/bridge-gui/qml/icons/img-macos-profile-screenshot.png b/internal/frontend/bridge-gui/bridge-gui/qml/icons/img-macos-profile-screenshot.png new file mode 100644 index 00000000..68a87341 Binary files /dev/null and b/internal/frontend/bridge-gui/bridge-gui/qml/icons/img-macos-profile-screenshot.png differ