mirror of
https://github.com/ProtonMail/proton-bridge.git
synced 2025-12-10 12:46:46 +00:00
feat(GODT-2772): Apple Mail profile install page.
This commit is contained in:
@ -53,6 +53,7 @@
|
|||||||
<file>qml/icons/img-client-config-selector.svg</file>
|
<file>qml/icons/img-client-config-selector.svg</file>
|
||||||
<file>qml/icons/img-client-config-success.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-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-clients.svg</file>
|
||||||
<file>qml/icons/img-mail-logo-wordmark-dark.svg</file>
|
<file>qml/icons/img-mail-logo-wordmark-dark.svg</file>
|
||||||
<file>qml/icons/img-mail-logo-wordmark.svg</file>
|
<file>qml/icons/img-mail-logo-wordmark.svg</file>
|
||||||
|
|||||||
@ -103,7 +103,6 @@ Item {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
Image {
|
Image {
|
||||||
id: certScreenshot
|
|
||||||
Layout.alignment: Qt.AlignHCenter
|
Layout.alignment: Qt.AlignHCenter
|
||||||
height: 182
|
height: 182
|
||||||
opacity: certificateInstall.waitingForCert ? 0.3 : 1.0
|
opacity: certificateInstall.waitingForCert ? 0.3 : 1.0
|
||||||
@ -115,7 +114,6 @@ Item {
|
|||||||
spacing: 16
|
spacing: 16
|
||||||
|
|
||||||
Button {
|
Button {
|
||||||
id: certInstallButton
|
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
colorScheme: wizard.colorScheme
|
colorScheme: wizard.colorScheme
|
||||||
enabled: !certificateInstall.waitingForCert
|
enabled: !certificateInstall.waitingForCert
|
||||||
@ -142,42 +140,104 @@ Item {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
// stack index 1
|
// stack index 1
|
||||||
ColumnLayout {
|
Item {
|
||||||
id: profileInstall
|
id: profileInstall
|
||||||
Layout.fillHeight: true
|
Layout.fillHeight: true
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
|
|
||||||
Label {
|
ColumnLayout {
|
||||||
Layout.alignment: Qt.AlignHCenter
|
anchors.left: parent.left
|
||||||
Layout.fillWidth: true
|
anchors.right: parent.right
|
||||||
colorScheme: wizard.colorScheme
|
anchors.verticalCenter: parent.verticalCenter
|
||||||
horizontalAlignment: Text.AlignHCenter
|
spacing: 24
|
||||||
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: {
|
ColumnLayout {
|
||||||
wizard.user.configureAppleMail(wizard.address);
|
Layout.fillWidth: true
|
||||||
wizard.closeWizard();
|
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
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
Image {
|
||||||
Button {
|
Layout.alignment: Qt.AlignHCenter
|
||||||
Layout.fillWidth: true
|
height: 102
|
||||||
Layout.topMargin: 32
|
opacity: certificateInstall.waitingForCert ? 0.3 : 1.0
|
||||||
colorScheme: wizard.colorScheme
|
source: "/qml/icons/img-macos-profile-screenshot.png"
|
||||||
secondary: true
|
width: 364
|
||||||
text: qsTr("Cancel")
|
}
|
||||||
|
ColumnLayout {
|
||||||
|
Layout.fillWidth: true
|
||||||
|
spacing: 16
|
||||||
|
|
||||||
onClicked: {
|
Button {
|
||||||
wizard.closeWizard();
|
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();
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
|||||||
@ -26,28 +26,24 @@ Item {
|
|||||||
property int iconWidth
|
property int iconWidth
|
||||||
property var wizard
|
property var wizard
|
||||||
|
|
||||||
function showAppleMailAutoconfig() {
|
function showAppleMailAutoconfigCertificateInstall() {
|
||||||
titleLabel.text = "";
|
showAppleMailAutoconfigCommon();
|
||||||
descriptionLabel.text = qsTr("Apple Mail configuration is mostly automated, but in order to work, Bridge needs to install a certificate in your keychain.");
|
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();
|
linkLabel1.clear();
|
||||||
linkLabel2.clear();
|
linkLabel2.clear();
|
||||||
iconSource = wizard.clientIconSource();
|
iconSource = wizard.clientIconSource();
|
||||||
iconHeight = 80;
|
iconHeight = 80;
|
||||||
iconWidth = 80;
|
iconWidth = 80;
|
||||||
}
|
}
|
||||||
|
|
||||||
function showAppleMailAutoconfigCertificateInstall() {
|
|
||||||
console.error("showAppleMailAutoconfigCertificateInstall");
|
|
||||||
showAppleMailAutoconfig();
|
|
||||||
linkLabel1.setLink("https://proton.me/support/bridge", qsTr("Why is this certificate needed?"));
|
|
||||||
}
|
|
||||||
|
|
||||||
function showAppleMailAutoconfigProfileInstall() {
|
function showAppleMailAutoconfigProfileInstall() {
|
||||||
console.error("showAppleMailAutoconfigProfileInstall");
|
showAppleMailAutoconfigCommon();
|
||||||
showAppleMailAutoconfig();
|
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("", qsTr("")); // We are not clearing to keep occupying the vertical space.
|
linkLabel1.setLink("https://proton.me/support/bridge", qsTr("Why is there a yellow warning sign?"));
|
||||||
}
|
}
|
||||||
|
|
||||||
function showClientSelector() {
|
function showClientSelector() {
|
||||||
titleLabel.text = "";
|
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.");
|
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.");
|
||||||
|
|||||||
@ -81,9 +81,8 @@ Item {
|
|||||||
}
|
}
|
||||||
function showAppleMailAutoConfig() {
|
function showAppleMailAutoConfig() {
|
||||||
rootStackLayout.currentIndex = SetupWizard.RootStack.TwoPanesView;
|
rootStackLayout.currentIndex = SetupWizard.RootStack.TwoPanesView;
|
||||||
leftContent.showAppleMailAutoconfig();
|
|
||||||
rightContent.currentIndex = SetupWizard.ContentStack.ClientConfigAppleMail;
|
rightContent.currentIndex = SetupWizard.ContentStack.ClientConfigAppleMail;
|
||||||
clientConfigAppleMail.showAutoconfig();
|
clientConfigAppleMail.showAutoconfig(); // This will trigger signals that will display the appropriate left content.
|
||||||
}
|
}
|
||||||
function showClientConfig(user, address) {
|
function showClientConfig(user, address) {
|
||||||
root.user = user;
|
root.user = user;
|
||||||
|
|||||||
Binary file not shown.
|
After Width: | Height: | Size: 12 KiB |
Reference in New Issue
Block a user