| import QtQuick 2.14 |
| import QtQuick.Window 2.14 |
| import QtQuick.Controls 2.14 |
| import QtQuick.Layouts 1.14 |
| import QtQuick.Controls.Universal 2.12 |
| import QtGraphicalEffects 1.14 |
| import net.jami.Models 1.0 |
| |
| import "mainview" |
| import "wizardview" |
| import "commoncomponents" |
| |
| ApplicationWindow { |
| id: mainApplicationWindow |
| |
| AccountMigrationDialog{ |
| id: accountMigrationDialog |
| |
| visible: false |
| |
| onAccountMigrationFinished:{ |
| startClientByMainview() |
| } |
| } |
| |
| function slotNewAccountAdded() { |
| if(mainViewLoader.newAddedAccountIndex !== -1) |
| mainViewLoader.item.newAccountAdded(mainViewLoader.newAddedAccountIndex) |
| } |
| |
| function startAccountMigration(){ |
| return accountMigrationDialog.startAccountMigrationOfTopStack() |
| } |
| |
| function startClientByMainview(){ |
| setX(Screen.width / 2 - width / 2) |
| setY(Screen.height / 2 - height / 2) |
| |
| if (!ClientWrapper.utilsAdaptor.getAccountListSize()) { |
| wizardView.show() |
| } else { |
| mainViewLoader.setSource("qrc:/src/mainview/MainView.qml") |
| } |
| } |
| |
| Universal.theme: Universal.Light |
| |
| visible: false |
| |
| Loader { |
| id: mainViewLoader |
| |
| property int newAddedAccountIndex: -1 |
| |
| asynchronous: true |
| visible: status == Loader.Ready |
| source: "" |
| |
| Connections { |
| target: mainViewLoader.item |
| |
| function onCloseApp() { |
| Qt.quit() |
| } |
| |
| function onNoAccountIsAvailable() { |
| mainViewLoader.setSource("") |
| wizardViewForApplicationStart.changePageQML(0) |
| wizardView.show() |
| } |
| } |
| } |
| |
| Window { |
| id: wizardView |
| |
| title: "Jami" |
| |
| minimumWidth: 400 |
| minimumHeight: 600 |
| |
| WizardView { |
| id: wizardViewForApplicationStart |
| |
| anchors.fill: parent |
| onNeedToShowMainViewWindow: { |
| mainViewLoader.newAddedAccountIndex = accountIndex |
| if (mainViewLoader.source.toString() !== "qrc:/src/mainview/MainView.qml") { |
| mainViewLoader.loaded.disconnect(slotNewAccountAdded) |
| mainViewLoader.loaded.connect(slotNewAccountAdded) |
| mainViewLoader.setSource("qrc:/src/mainview/MainView.qml") |
| } else { |
| slotNewAccountAdded() |
| } |
| wizardView.close() |
| } |
| |
| onWizardViewIsClosed: { |
| if (mainViewLoader.source.toString() !== "qrc:/src/mainview/MainView.qml") { |
| Qt.quit() |
| } |
| } |
| } |
| } |
| |
| |
| Component.onCompleted: { |
| if(!startAccountMigration()){ |
| startClientByMainview() |
| } |
| } |
| |
| overlay.modal: ColorOverlay { |
| source: mainApplicationWindow.contentItem |
| color: "transparent" |
| |
| |
| /* |
| * Color animation for overlay when pop up is shown. |
| */ |
| ColorAnimation on color { |
| to: Qt.rgba(0, 0, 0, 0.33) |
| duration: 500 |
| } |
| } |
| } |