diff --git a/linphone-desktop/assets/languages/en.ts b/linphone-desktop/assets/languages/en.ts index 09bba3bf2..1431099ad 100644 --- a/linphone-desktop/assets/languages/en.ts +++ b/linphone-desktop/assets/languages/en.ts @@ -28,6 +28,40 @@ Start in the system tray, do not show the main interface. + + AssistantHome + + createSipAccount + CREATE A LINPHONE ACCOUNT + + + useLinphoneSipAccount + USE A LINPHONE ACCOUNT + + + useOtherSipAccount + USE A SIP ACCOUNT + + + fetchRemoteConfiguration + FETCH REMOTE CONFIGURATION + + + homeTitle + WELCOME + + + homeDescription + This assistant will help you to configure and use your linphone account. + + + + AssistantWindow + + assistantTitle + Linphone - Assistant + + CallControls @@ -442,32 +476,55 @@ Server url not configured. InviteFriends enterEmailLabel - Enter your friend's email address + Enter your friend's email address messageLabel - You can modify the invitation that will be sent + You can modify the invitation that will be sent cancel - CANCEL + CANCEL confirm - CONFIRM + CONFIRM inviteFriendsTitle - Linphone - Invite Friends + Linphone - Invite Friends + + + + InviteFriendsWindow + + cancel + CANCEL - defaultMessage - + confirm + CONFIRM defaultSubject + + inviteFriendsTitle + Linphone - Invite Friends + + + enterEmailLabel + Enter your friend's email address + + + messageLabel + You can modify the invitation that will be sent + + + defaultMessage + + MainWindow @@ -547,7 +604,7 @@ Server url not configured. manageAccountsTitle - Presence and accounts + Presence and accounts validate @@ -595,11 +652,26 @@ Server url not configured. ok - OK + OK selectAccountLabel - Select you active account + Select you active account + + + + ManageAccountsWindow + + ok + OK + + + manageAccountsTitle + Presence and accounts + + + selectAccountLabel + Select you active account diff --git a/linphone-desktop/assets/languages/fr.ts b/linphone-desktop/assets/languages/fr.ts index 7bd2d2b95..e630b6d99 100644 --- a/linphone-desktop/assets/languages/fr.ts +++ b/linphone-desktop/assets/languages/fr.ts @@ -28,6 +28,40 @@ + + AssistantHome + + createSipAccount + CRÉER UN COMPTE LINPHONE + + + useLinphoneSipAccount + UTILISER UN COMPTE LINPHONE + + + useOtherSipAccount + UTILISER UN COMPTE SIP + + + fetchRemoteConfiguration + TÉLÉCHARGER UNE CONFIGURATION + + + homeTitle + BIENVENUE + + + homeDescription + Cet assistant va vous aider à configurer et utiliser votre compte SIP. + + + + AssistantWindow + + assistantTitle + Linphone - Assistant + + CallControls @@ -441,32 +475,55 @@ Url du serveur non configurée. InviteFriends enterEmailLabel - Entrer l'adresse email de votre ami + Entrer l'adresse email de votre ami messageLabel - Modifier l'invitation qui sera envoyée + Modifier l'invitation qui sera envoyée cancel - ANNULER + ANNULER confirm - CONFIRMER + CONFIRMER inviteFriendsTitle - Linphone - Inviter des amis + Linphone - Inviter des amis + + + + InviteFriendsWindow + + cancel + ANNULER - defaultMessage - + confirm + CONFIRMER defaultSubject + + inviteFriendsTitle + Linphone - Inviter des amis + + + enterEmailLabel + Entrer l'adresse email de votre ami + + + messageLabel + Modifier l'invitation qui sera envoyée + + + defaultMessage + + MainWindow @@ -546,7 +603,7 @@ Url du serveur non configurée. manageAccountsTitle - Présence et comptes + Présence et comptes validate @@ -594,11 +651,26 @@ Url du serveur non configurée. ok - OK + OK selectAccountLabel - Sélectionner votre compte principal + Sélectionner votre compte principal + + + + ManageAccountsWindow + + ok + OK + + + manageAccountsTitle + Présence et comptes + + + selectAccountLabel + Sélectionner votre compte principal diff --git a/linphone-desktop/resources.qrc b/linphone-desktop/resources.qrc index c6edfc35f..8763b703c 100644 --- a/linphone-desktop/resources.qrc +++ b/linphone-desktop/resources.qrc @@ -309,20 +309,22 @@ ui/scripts/Utils/qmldir ui/scripts/Utils/uri-tools.js ui/scripts/Utils/utils.js + ui/views/App/Assistant/AssistantHome.qml + ui/views/App/AssistantWindow.qml ui/views/App/Calls/AbstractStartingCall.qml ui/views/App/Calls/CallsWindow.qml ui/views/App/Calls/Incall.qml ui/views/App/Calls/IncomingCall.qml ui/views/App/Calls/OutgoingCall.qml - ui/views/App/IncallFullscreen.qml - ui/views/App/InviteFriends.qml + ui/views/App/IncallFullscreenWindow.qml + ui/views/App/InviteFriendsWindow.qml ui/views/App/Main/ContactEdit.qml ui/views/App/Main/Contacts.qml ui/views/App/Main/Conversation.qml ui/views/App/Main/Home.qml ui/views/App/Main/MainWindowMenuBar.qml ui/views/App/Main/MainWindow.qml - ui/views/App/ManageAccounts.qml + ui/views/App/ManageAccountsWindow.qml ui/views/App/qmldir ui/views/App/Settings/SettingsAudio.qml ui/views/App/Settings/SettingsCallsChat.qml @@ -331,16 +333,18 @@ ui/views/App/Settings/SettingsUi.qml ui/views/App/Settings/SettingsVideo.qml ui/views/App/Settings/SettingsWindow.qml + ui/views/App/Styles/Assistant/AssistantHomeStyle.qml + ui/views/App/Styles/AssistantWindowStyle.qml ui/views/App/Styles/Calls/CallStyle.qml ui/views/App/Styles/Calls/CallsWindowStyle.qml - ui/views/App/Styles/InviteFriendsStyle.qml + ui/views/App/Styles/InviteFriendsWindowStyle.qml ui/views/App/Styles/Main/ContactEditStyle.qml ui/views/App/Styles/Main/ContactsStyle.qml ui/views/App/Styles/Main/ConversationStyle.qml ui/views/App/Styles/Main/HomeStyle.qml ui/views/App/Styles/Main/MainWindowMenuBarStyle.qml ui/views/App/Styles/Main/MainWindowStyle.qml - ui/views/App/Styles/ManageAccountsStyle.qml + ui/views/App/Styles/ManageAccountsWindowStyle.qml ui/views/App/Styles/qmldir ui/views/App/Styles/Settings/SettingsWindowStyle.qml diff --git a/linphone-desktop/ui/modules/Common/Form/Buttons/AbstractTextButton.qml b/linphone-desktop/ui/modules/Common/Form/Buttons/AbstractTextButton.qml index 255fc14ea..279e7dc72 100644 --- a/linphone-desktop/ui/modules/Common/Form/Buttons/AbstractTextButton.qml +++ b/linphone-desktop/ui/modules/Common/Form/Buttons/AbstractTextButton.qml @@ -48,8 +48,8 @@ Item { // --------------------------------------------------------------------------- - implicitHeight: button.height - implicitWidth: button.width + height: AbstractTextButtonStyle.background.height + width: AbstractTextButtonStyle.background.width // --------------------------------------------------------------------------- @@ -58,10 +58,9 @@ Item { background: Rectangle { color: _getBackgroundColor() - implicitHeight: AbstractTextButtonStyle.background.height - implicitWidth: AbstractTextButtonStyle.background.width radius: AbstractTextButtonStyle.background.radius } + contentItem: Text { color: _getTextColor() font { @@ -74,8 +73,12 @@ Item { text: button.text verticalAlignment: Text.AlignVCenter } + hoverEnabled: true + height: parent.height + width: parent.width + onClicked: wrappedButton.enabled && parent.clicked() } } diff --git a/linphone-desktop/ui/views/App/Assistant/AssistantHome.qml b/linphone-desktop/ui/views/App/Assistant/AssistantHome.qml new file mode 100644 index 000000000..50a816f2a --- /dev/null +++ b/linphone-desktop/ui/views/App/Assistant/AssistantHome.qml @@ -0,0 +1,107 @@ +import QtQuick 2.7 +import QtQuick.Layouts 1.3 + +import Common 1.0 + +import App.Styles 1.0 + +// ============================================================================= + +ColumnLayout { + spacing: 0 + + // --------------------------------------------------------------------------- + // Info. + // --------------------------------------------------------------------------- + + Icon { + Layout.alignment: Qt.AlignHCenter + + icon: 'home_account_assistant' + iconSize: AssistantHomeStyle.info.iconSize + } + + Text { + Layout.fillWidth: true + Layout.preferredHeight: AssistantHomeStyle.info.title.height + + color: AssistantHomeStyle.info.title.color + elide: Text.ElideRight + horizontalAlignment: Text.AlignHCenter + verticalAlignment: Text.AlignVCenter + + font { + bold: true + pointSize: AssistantHomeStyle.info.title.fontSize + } + + text: qsTr('homeTitle') + } + + Text { + Layout.fillWidth: true + Layout.preferredHeight: AssistantHomeStyle.info.description.height + + color: AssistantHomeStyle.info.description.color + elide: Text.ElideRight + font.pointSize: AssistantHomeStyle.info.description.fontSize + horizontalAlignment: Text.AlignHCenter + verticalAlignment: Text.AlignVCenter + + text: qsTr('homeDescription') + } + + // --------------------------------------------------------------------------- + // Buttons. + // --------------------------------------------------------------------------- + + GridView { + id: buttons + + Layout.fillWidth: true + Layout.preferredHeight: AssistantHomeStyle.buttons.height + + cellHeight: height / 2 + cellWidth: width / 2 + + delegate: Item { + height: buttons.cellHeight + width: buttons.cellWidth + + TextButtonA { + anchors { + fill: parent + margins: AssistantHomeStyle.buttons.spacing + } + + text: $text + + onClicked: window.pushView($view) + } + } + + model: ListModel { + ListElement { + $text: qsTr('createSipAccount') + $view: 'AssistantCreateSipAccount' + } + + ListElement { + $text: qsTr('useLinphoneSipAccount') + $view: 'AssistantUseLinphoneSipAccount' + } + + ListElement { + $text: qsTr('useOtherSipAccount') + $view: 'AssistantUseOtherSipAccount' + } + + ListElement { + $text: qsTr('fetchRemoteConfiguration') + $view: 'AssistantFetchRemoteConfiguration' + } + } + + interactive: false + } +} diff --git a/linphone-desktop/ui/views/App/AssistantWindow.qml b/linphone-desktop/ui/views/App/AssistantWindow.qml new file mode 100644 index 000000000..cf6d75564 --- /dev/null +++ b/linphone-desktop/ui/views/App/AssistantWindow.qml @@ -0,0 +1,71 @@ +import QtQuick 2.7 +import QtQuick.Controls 2.0 +import QtQuick.Window 2.2 + +import App.Styles 1.0 + +// ============================================================================= + +Window { + id: window + + // --------------------------------------------------------------------------- + + readonly property string viewsPath: 'qrc:/ui/views/App/Assistant/' + + // --------------------------------------------------------------------------- + + function pushView (view) { + stack.push(viewsPath + view + '.qml') + } + + function popView () { + stack.pop() + } + + // --------------------------------------------------------------------------- + + modality: Qt.WindowModal + title: qsTr('assistantTitle') + visible: true + + height: AssistantWindowStyle.height + width: AssistantWindowStyle.width + + maximumHeight: AssistantWindowStyle.height + maximumWidth: AssistantWindowStyle.width + + minimumHeight: AssistantWindowStyle.height + minimumWidth: AssistantWindowStyle.width + + // --------------------------------------------------------------------------- + + Shortcut { + sequence: StandardKey.Close + onActivated: close() + } + + // --------------------------------------------------------------------------- + + Rectangle { + anchors.fill: parent + color: AssistantWindowStyle.color + } + + // --------------------------------------------------------------------------- + + StackView { + id: stack + + anchors { + fill: parent + + bottomMargin: AssistantWindowStyle.bottomMargin + leftMargin: AssistantWindowStyle.leftMargin + rightMargin: AssistantWindowStyle.rightMargin + topMargin: AssistantWindowStyle.topMargin + } + + initialItem: window.viewsPath + 'AssistantHome.qml' + } +} diff --git a/linphone-desktop/ui/views/App/Calls/Incall.qml b/linphone-desktop/ui/views/App/Calls/Incall.qml index a05f452c4..daa3680cf 100644 --- a/linphone-desktop/ui/views/App/Calls/Incall.qml +++ b/linphone-desktop/ui/views/App/Calls/Incall.qml @@ -28,7 +28,7 @@ Rectangle { return } - _fullscreen = Utils.openWindow('IncallFullscreen', incall, { + _fullscreen = Utils.openWindow('IncallFullscreenWindow', incall, { properties: { call: incall.call } diff --git a/linphone-desktop/ui/views/App/IncallFullscreen.qml b/linphone-desktop/ui/views/App/IncallFullscreenWindow.qml similarity index 98% rename from linphone-desktop/ui/views/App/IncallFullscreen.qml rename to linphone-desktop/ui/views/App/IncallFullscreenWindow.qml index 7cc4baa39..afadb0342 100644 --- a/linphone-desktop/ui/views/App/IncallFullscreen.qml +++ b/linphone-desktop/ui/views/App/IncallFullscreenWindow.qml @@ -31,13 +31,7 @@ Window { // --------------------------------------------------------------------------- - height: Screen.height - width: Screen.width - - visible: true - visibility: Window.FullScreen - - onActiveChanged: incall.showFullScreen() + onVisibilityChanged: visibility === Window.Windowed && showFullScreen() // --------------------------------------------------------------------------- @@ -109,8 +103,8 @@ Window { Layout.alignment: Qt.AlignTop Layout.fillWidth: true Layout.leftMargin: CallStyle.header.leftMargin - Layout.rightMargin: CallStyle.header.rightMargin Layout.preferredHeight: CallStyle.header.contactDescription.height + Layout.rightMargin: CallStyle.header.rightMargin Icon { id: callQuality diff --git a/linphone-desktop/ui/views/App/InviteFriends.qml b/linphone-desktop/ui/views/App/InviteFriendsWindow.qml similarity index 73% rename from linphone-desktop/ui/views/App/InviteFriends.qml rename to linphone-desktop/ui/views/App/InviteFriendsWindow.qml index 0e1b91a79..17177b1c8 100644 --- a/linphone-desktop/ui/views/App/InviteFriends.qml +++ b/linphone-desktop/ui/views/App/InviteFriendsWindow.qml @@ -32,22 +32,22 @@ DialogPlus { centeredButtons: true title: qsTr('inviteFriendsTitle') - height: InviteFriendsStyle.height - width: InviteFriendsStyle.width + height: InviteFriendsWindowStyle.height + width: InviteFriendsWindowStyle.width - maximumHeight: InviteFriendsStyle.height - maximumWidth: InviteFriendsStyle.width + maximumHeight: InviteFriendsWindowStyle.height + maximumWidth: InviteFriendsWindowStyle.width - minimumHeight: InviteFriendsStyle.height - minimumWidth: InviteFriendsStyle.width + minimumHeight: InviteFriendsWindowStyle.height + minimumWidth: InviteFriendsWindowStyle.width // --------------------------------------------------------------------------- Form { anchors { fill: parent - leftMargin: InviteFriendsStyle.leftMargin - rightMargin: InviteFriendsStyle.rightMargin + leftMargin: InviteFriendsWindowStyle.leftMargin + rightMargin: InviteFriendsWindowStyle.rightMargin } orientation: Qt.Vertical @@ -72,7 +72,7 @@ DialogPlus { TextAreaField { id: message - height: InviteFriendsStyle.message.height + height: InviteFriendsWindowStyle.message.height text: qsTr('defaultMessage') } } diff --git a/linphone-desktop/ui/views/App/Main/Home.qml b/linphone-desktop/ui/views/App/Main/Home.qml index 44e8996dd..ff39bf5a6 100644 --- a/linphone-desktop/ui/views/App/Main/Home.qml +++ b/linphone-desktop/ui/views/App/Main/Home.qml @@ -36,7 +36,7 @@ Rectangle { $component: 'button' $componentText: qsTr('inviteButton') $description: qsTr('inviteDescription') - $window: 'InviteFriends' + $window: 'InviteFriendsWindow' $icon: 'home_invite_friends' $title: qsTr('inviteTitle') } @@ -47,7 +47,7 @@ Rectangle { $description: qsTr('accountAssistantDescription') $icon: 'home_account_assistant' $title: qsTr('accountAssistantTitle') - $window: 'Assistant' + $window: 'AssistantWindow' } } diff --git a/linphone-desktop/ui/views/App/Main/MainWindow.qml b/linphone-desktop/ui/views/App/Main/MainWindow.qml index 8e64b04bf..0ce421fff 100644 --- a/linphone-desktop/ui/views/App/Main/MainWindow.qml +++ b/linphone-desktop/ui/views/App/Main/MainWindow.qml @@ -165,7 +165,7 @@ Controls1.ApplicationWindow { text: AccountSettingsModel.sipAddress } - onClicked: Utils.openWindow('ManageAccounts', window) + onClicked: Utils.openWindow('ManageAccountsWindow', window) } Column { diff --git a/linphone-desktop/ui/views/App/ManageAccounts.qml b/linphone-desktop/ui/views/App/ManageAccountsWindow.qml similarity index 72% rename from linphone-desktop/ui/views/App/ManageAccounts.qml rename to linphone-desktop/ui/views/App/ManageAccountsWindow.qml index 506659bb5..94ebb9af9 100644 --- a/linphone-desktop/ui/views/App/ManageAccounts.qml +++ b/linphone-desktop/ui/views/App/ManageAccountsWindow.qml @@ -20,13 +20,13 @@ DialogPlus { centeredButtons: true title: qsTr('manageAccountsTitle') - height: ManageAccountsStyle.height - width: ManageAccountsStyle.width + height: ManageAccountsWindowStyle.height + width: ManageAccountsWindowStyle.width - minimumHeight: ManageAccountsStyle.height - minimumWidth: ManageAccountsStyle.width - maximumHeight: ManageAccountsStyle.height - maximumWidth: ManageAccountsStyle.width + minimumHeight: ManageAccountsWindowStyle.height + minimumWidth: ManageAccountsWindowStyle.width + maximumHeight: ManageAccountsWindowStyle.height + maximumWidth: ManageAccountsWindowStyle.width // --------------------------------------------------------------------------- @@ -35,9 +35,9 @@ DialogPlus { anchors { left: parent.left - leftMargin: ManageAccountsStyle.leftMargin + leftMargin: ManageAccountsWindowStyle.leftMargin right: parent.right - rightMargin: ManageAccountsStyle.rightMargin + rightMargin: ManageAccountsWindowStyle.rightMargin } FormLine { diff --git a/linphone-desktop/ui/views/App/Styles/Assistant/AssistantHomeStyle.qml b/linphone-desktop/ui/views/App/Styles/Assistant/AssistantHomeStyle.qml new file mode 100644 index 000000000..e04e73436 --- /dev/null +++ b/linphone-desktop/ui/views/App/Styles/Assistant/AssistantHomeStyle.qml @@ -0,0 +1,29 @@ +pragma Singleton +import QtQuick 2.7 + +import Common 1.0 + +// ============================================================================= + +QtObject { + property QtObject info: QtObject { + property int iconSize: 150 + + property QtObject description: QtObject { + property color color: Colors.g + property int height: 40 + property int fontSize: 10 + } + + property QtObject title: QtObject { + property color color: Colors.g + property int height: 40 + property int fontSize: 11 + } + } + + property QtObject buttons: QtObject { + property int height: 90 + property int spacing: 5 + } +} diff --git a/linphone-desktop/ui/views/App/Styles/AssistantWindowStyle.qml b/linphone-desktop/ui/views/App/Styles/AssistantWindowStyle.qml new file mode 100644 index 000000000..fa7a21bdd --- /dev/null +++ b/linphone-desktop/ui/views/App/Styles/AssistantWindowStyle.qml @@ -0,0 +1,16 @@ +pragma Singleton +import QtQuick 2.7 + +import Common 1.0 + +// ============================================================================= + +QtObject { + property color color: Colors.k + property int bottomMargin: 35 + property int leftMargin: 90 + property int rightMargin: 90 + property int topMargin: 35 + property int height: 480 + property int width: 700 +} diff --git a/linphone-desktop/ui/views/App/Styles/InviteFriendsStyle.qml b/linphone-desktop/ui/views/App/Styles/InviteFriendsWindowStyle.qml similarity index 100% rename from linphone-desktop/ui/views/App/Styles/InviteFriendsStyle.qml rename to linphone-desktop/ui/views/App/Styles/InviteFriendsWindowStyle.qml diff --git a/linphone-desktop/ui/views/App/Styles/ManageAccountsStyle.qml b/linphone-desktop/ui/views/App/Styles/ManageAccountsWindowStyle.qml similarity index 100% rename from linphone-desktop/ui/views/App/Styles/ManageAccountsStyle.qml rename to linphone-desktop/ui/views/App/Styles/ManageAccountsWindowStyle.qml diff --git a/linphone-desktop/ui/views/App/Styles/qmldir b/linphone-desktop/ui/views/App/Styles/qmldir index 9c70701e7..2a194851c 100644 --- a/linphone-desktop/ui/views/App/Styles/qmldir +++ b/linphone-desktop/ui/views/App/Styles/qmldir @@ -4,17 +4,20 @@ module App.Styles # Views styles ----------------------------------------------------------------- -singleton InviteFriendsStyle 1.0 InviteFriendsStyle.qml -singleton ManageAccountsStyle 1.0 ManageAccountsStyle.qml +singleton AssistantWindowStyle 1.0 AssistantWindowStyle.qml +singleton InviteFriendsWindowStyle 1.0 InviteFriendsWindowStyle.qml +singleton ManageAccountsWindowStyle 1.0 ManageAccountsWindowStyle.qml -singleton CallStyle 1.0 Calls/CallStyle.qml -singleton CallsWindowStyle 1.0 Calls/CallsWindowStyle.qml +singleton AssistantHomeStyle 1.0 Assistant/AssistantHomeStyle.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 CallStyle 1.0 Calls/CallStyle.qml +singleton CallsWindowStyle 1.0 Calls/CallsWindowStyle.qml -singleton SettingsWindowStyle 1.0 Settings/SettingsWindowStyle.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 diff --git a/linphone-desktop/ui/views/App/qmldir b/linphone-desktop/ui/views/App/qmldir index 497e9cf06..bef2b0541 100644 --- a/linphone-desktop/ui/views/App/qmldir +++ b/linphone-desktop/ui/views/App/qmldir @@ -6,6 +6,7 @@ module App # Views ------------------------------------------------------------------------ -IncallFullscreen 1.0 IncallFullscreen.qml -InviteFriends 1.0 InviteFriends.qml -ManageAccounts 1.0 ManageAccounts.qml +Assistant 1.0 AssistantWindow.qml +IncallFullscreenWindow 1.0 IncallFullscreenWindow.qml +InviteFriendsWindow 1.0 InviteFriendsWindow.qml +ManageAccountsWindow 1.0 ManageAccountsWindow.qml