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