From 2542504129628da42fc4dd94632d1d919e1fcd97 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Mon, 6 Mar 2017 17:32:11 +0100 Subject: [PATCH] feat(ui/views/App/Assistant/AssistantFetchRemoteConfiguration): view done --- linphone-desktop/assets/languages/en.ts | 22 +++++++++ linphone-desktop/assets/languages/fr.ts | 22 +++++++++ linphone-desktop/resources.qrc | 3 ++ .../App/Assistant/AssistantAbstractView.qml | 45 +++++++++++++++++++ .../AssistantFetchRemoteConfiguration.qml | 28 ++++++++++++ .../ui/views/App/AssistantWindow.qml | 38 ++++++++++++++++ .../Assistant/AssistantAbstractViewStyle.qml | 10 +++++ .../views/App/Styles/AssistantWindowStyle.qml | 4 ++ linphone-desktop/ui/views/App/Styles/qmldir | 27 +++++------ 9 files changed, 186 insertions(+), 13 deletions(-) create mode 100644 linphone-desktop/ui/views/App/Assistant/AssistantAbstractView.qml create mode 100644 linphone-desktop/ui/views/App/Assistant/AssistantFetchRemoteConfiguration.qml create mode 100644 linphone-desktop/ui/views/App/Styles/Assistant/AssistantAbstractViewStyle.qml diff --git a/linphone-desktop/assets/languages/en.ts b/linphone-desktop/assets/languages/en.ts index 1431099ad..5b60b341f 100644 --- a/linphone-desktop/assets/languages/en.ts +++ b/linphone-desktop/assets/languages/en.ts @@ -28,6 +28,28 @@ Start in the system tray, do not show the main interface. + + AssistantAbstractView + + back + BACK + + + + AssistantFetchRemoteConfiguration + + fetchRemoteConfigurationTitle + Fetch remote configuration + + + urlLabel + URL + + + confirmAction + DOWNLOAD + + AssistantHome diff --git a/linphone-desktop/assets/languages/fr.ts b/linphone-desktop/assets/languages/fr.ts index e630b6d99..215733320 100644 --- a/linphone-desktop/assets/languages/fr.ts +++ b/linphone-desktop/assets/languages/fr.ts @@ -28,6 +28,28 @@ + + AssistantAbstractView + + back + RETOUR + + + + AssistantFetchRemoteConfiguration + + fetchRemoteConfigurationTitle + Télécharger une configuration + + + urlLabel + URL + + + confirmAction + TÉLÉCHARGER + + AssistantHome diff --git a/linphone-desktop/resources.qrc b/linphone-desktop/resources.qrc index 8763b703c..82e820340 100644 --- a/linphone-desktop/resources.qrc +++ b/linphone-desktop/resources.qrc @@ -309,6 +309,8 @@ ui/scripts/Utils/qmldir ui/scripts/Utils/uri-tools.js ui/scripts/Utils/utils.js + ui/views/App/Assistant/AssistantAbstractView.qml + ui/views/App/Assistant/AssistantFetchRemoteConfiguration.qml ui/views/App/Assistant/AssistantHome.qml ui/views/App/AssistantWindow.qml ui/views/App/Calls/AbstractStartingCall.qml @@ -333,6 +335,7 @@ ui/views/App/Settings/SettingsUi.qml ui/views/App/Settings/SettingsVideo.qml ui/views/App/Settings/SettingsWindow.qml + ui/views/App/Styles/Assistant/AssistantAbstractViewStyle.qml ui/views/App/Styles/Assistant/AssistantHomeStyle.qml ui/views/App/Styles/AssistantWindowStyle.qml ui/views/App/Styles/Calls/CallStyle.qml diff --git a/linphone-desktop/ui/views/App/Assistant/AssistantAbstractView.qml b/linphone-desktop/ui/views/App/Assistant/AssistantAbstractView.qml new file mode 100644 index 000000000..b68372ff9 --- /dev/null +++ b/linphone-desktop/ui/views/App/Assistant/AssistantAbstractView.qml @@ -0,0 +1,45 @@ +import QtQuick 2.7 +import QtQuick.Layouts 1.3 + +import Common 1.0 + +import App.Styles 1.0 + +// ============================================================================= + +ColumnLayout { + id: view + + // --------------------------------------------------------------------------- + + property alias mainActionEnabled: mainActionButton.enabled + property alias mainActionLabel: mainActionButton.text + property var mainAction + + default property alias _content: content.data + + // --------------------------------------------------------------------------- + + Item { + id: content + + Layout.fillHeight: true + Layout.fillWidth: true + } + + Row { + Layout.alignment: Qt.AlignHCenter + spacing: AssistantAbstractViewStyle.buttons.spacing + + TextButtonA { + text: qsTr('back') + onClicked: window.popView() + } + + TextButtonB { + id: mainActionButton + + onClicked: view.mainAction() + } + } +} diff --git a/linphone-desktop/ui/views/App/Assistant/AssistantFetchRemoteConfiguration.qml b/linphone-desktop/ui/views/App/Assistant/AssistantFetchRemoteConfiguration.qml new file mode 100644 index 000000000..ce2dd1086 --- /dev/null +++ b/linphone-desktop/ui/views/App/Assistant/AssistantFetchRemoteConfiguration.qml @@ -0,0 +1,28 @@ +import Common 1.0 + +// ============================================================================= + +AssistantAbstractView { + mainAction: (function () { + console.log('TODO') + }) + + mainActionEnabled: url.text.length > 0 + mainActionLabel: qsTr('confirmAction') + + Form { + anchors.fill: parent + orientation: Qt.Vertical + title: qsTr('fetchRemoteConfigurationTitle') + + FormLine { + FormGroup { + label: qsTr('urlLabel') + + TextField { + id: url + } + } + } + } +} diff --git a/linphone-desktop/ui/views/App/AssistantWindow.qml b/linphone-desktop/ui/views/App/AssistantWindow.qml index cf6d75564..4f6d8852f 100644 --- a/linphone-desktop/ui/views/App/AssistantWindow.qml +++ b/linphone-desktop/ui/views/App/AssistantWindow.qml @@ -67,5 +67,43 @@ Window { } initialItem: window.viewsPath + 'AssistantHome.qml' + + // ------------------------------------------------------------------------- + + popEnter: Transition { + XAnimator { + duration: AssistantWindowStyle.stackAnimation.duration + easing.type: Easing.OutBack + from: -stack.width - AssistantWindowStyle.leftMargin + to: 0 + } + } + + popExit: Transition { + XAnimator { + duration: AssistantWindowStyle.stackAnimation.duration + easing.type: Easing.OutBack + from: 0 + to: stack.width + AssistantWindowStyle.rightMargin + } + } + + pushEnter: Transition { + XAnimator { + duration: AssistantWindowStyle.stackAnimation.duration + easing.type: Easing.OutBack + from: stack.width + AssistantWindowStyle.rightMargin + to: 0 + } + } + + pushExit: Transition { + XAnimator { + duration: AssistantWindowStyle.stackAnimation.duration + easing.type: Easing.OutBack + from: 0 + to: -stack.width - AssistantWindowStyle.leftMargin + } + } } } diff --git a/linphone-desktop/ui/views/App/Styles/Assistant/AssistantAbstractViewStyle.qml b/linphone-desktop/ui/views/App/Styles/Assistant/AssistantAbstractViewStyle.qml new file mode 100644 index 000000000..baa115eb8 --- /dev/null +++ b/linphone-desktop/ui/views/App/Styles/Assistant/AssistantAbstractViewStyle.qml @@ -0,0 +1,10 @@ +pragma Singleton +import QtQuick 2.7 + +// ============================================================================= + +QtObject { + property QtObject buttons: QtObject { + property int spacing: 10 + } +} diff --git a/linphone-desktop/ui/views/App/Styles/AssistantWindowStyle.qml b/linphone-desktop/ui/views/App/Styles/AssistantWindowStyle.qml index fa7a21bdd..d0d1624ab 100644 --- a/linphone-desktop/ui/views/App/Styles/AssistantWindowStyle.qml +++ b/linphone-desktop/ui/views/App/Styles/AssistantWindowStyle.qml @@ -13,4 +13,8 @@ QtObject { property int topMargin: 35 property int height: 480 property int width: 700 + + property QtObject stackAnimation: QtObject { + property int duration: 400 + } } diff --git a/linphone-desktop/ui/views/App/Styles/qmldir b/linphone-desktop/ui/views/App/Styles/qmldir index 2a194851c..1abab53b8 100644 --- a/linphone-desktop/ui/views/App/Styles/qmldir +++ b/linphone-desktop/ui/views/App/Styles/qmldir @@ -4,20 +4,21 @@ module App.Styles # Views styles ----------------------------------------------------------------- -singleton AssistantWindowStyle 1.0 AssistantWindowStyle.qml -singleton InviteFriendsWindowStyle 1.0 InviteFriendsWindowStyle.qml -singleton ManageAccountsWindowStyle 1.0 ManageAccountsWindowStyle.qml +singleton AssistantWindowStyle 1.0 AssistantWindowStyle.qml +singleton InviteFriendsWindowStyle 1.0 InviteFriendsWindowStyle.qml +singleton ManageAccountsWindowStyle 1.0 ManageAccountsWindowStyle.qml -singleton AssistantHomeStyle 1.0 Assistant/AssistantHomeStyle.qml +singleton AssistantHomeStyle 1.0 Assistant/AssistantHomeStyle.qml +singleton AssistantAbstractViewStyle 1.0 Assistant/AssistantAbstractViewStyle.qml -singleton CallStyle 1.0 Calls/CallStyle.qml -singleton CallsWindowStyle 1.0 Calls/CallsWindowStyle.qml +singleton CallStyle 1.0 Calls/CallStyle.qml +singleton CallsWindowStyle 1.0 Calls/CallsWindowStyle.qml -singleton ContactEditStyle 1.0 Main/ContactEditStyle.qml -singleton ContactsStyle 1.0 Main/ContactsStyle.qml -singleton ConversationStyle 1.0 Main/ConversationStyle.qml -singleton HomeStyle 1.0 Main/HomeStyle.qml -singleton MainWindowMenuBarStyle 1.0 Main/MainWindowMenuBarStyle.qml -singleton MainWindowStyle 1.0 Main/MainWindowStyle.qml +singleton ContactEditStyle 1.0 Main/ContactEditStyle.qml +singleton ContactsStyle 1.0 Main/ContactsStyle.qml +singleton ConversationStyle 1.0 Main/ConversationStyle.qml +singleton HomeStyle 1.0 Main/HomeStyle.qml +singleton MainWindowMenuBarStyle 1.0 Main/MainWindowMenuBarStyle.qml +singleton MainWindowStyle 1.0 Main/MainWindowStyle.qml -singleton SettingsWindowStyle 1.0 Settings/SettingsWindowStyle.qml +singleton SettingsWindowStyle 1.0 Settings/SettingsWindowStyle.qml