feat(GODT-2772): Apple Mail profile install page.

This commit is contained in:
Xavier Michelon
2023-08-23 12:28:48 +02:00
parent 1203709ab9
commit 69f3029430
5 changed files with 101 additions and 45 deletions

View File

@ -53,6 +53,7 @@
<file>qml/icons/img-client-config-selector.svg</file>
<file>qml/icons/img-client-config-success.svg</file>
<file>qml/icons/img-macos-cert-screenshot.png</file>
<file>qml/icons/img-macos-profile-screenshot.png</file>
<file>qml/icons/img-mail-clients.svg</file>
<file>qml/icons/img-mail-logo-wordmark-dark.svg</file>
<file>qml/icons/img-mail-logo-wordmark.svg</file>

View File

@ -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();
}
}
}
}
}
}
}
}
// 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();
// }
// }

View File

@ -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. Lets now connect your email client to Bridge.");

View File

@ -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;

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB