diff --git a/linphone-desktop/assets/languages/en.ts b/linphone-desktop/assets/languages/en.ts
index 2d8c6ff62..eeeeb3bc9 100644
--- a/linphone-desktop/assets/languages/en.ts
+++ b/linphone-desktop/assets/languages/en.ts
@@ -428,6 +428,22 @@ Server url not configured.
about
About
+
+ checkForUpdates
+ Check for updates
+
+
+ quit
+ Quit
+
+
+ importContacts
+ Import contacts from vCards
+
+
+ exportContacts
+ Export contacts as vCards
+
ManageAccounts
diff --git a/linphone-desktop/assets/languages/fr.ts b/linphone-desktop/assets/languages/fr.ts
index 4cf413f16..825277264 100644
--- a/linphone-desktop/assets/languages/fr.ts
+++ b/linphone-desktop/assets/languages/fr.ts
@@ -427,6 +427,22 @@ Url du serveur non configurée.
about
À propos
+
+ checkForUpdates
+ Vérifier les mises à jour
+
+
+ quit
+ Quitter
+
+
+ importContacts
+ Importer des contacts depuis des vCards
+
+
+ exportContacts
+ Exporter des contacts sous forme de vCards
+
ManageAccounts
diff --git a/linphone-desktop/resources.qrc b/linphone-desktop/resources.qrc
index cbc418946..ea83a7bbc 100644
--- a/linphone-desktop/resources.qrc
+++ b/linphone-desktop/resources.qrc
@@ -319,6 +319,7 @@
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/MainWindowMenuBarStyle.qml
ui/views/App/Styles/Main/MainWindowStyle.qml
ui/views/App/Styles/qmldir
ui/views/App/Styles/Settings/SettingsWindowStyle.qml
diff --git a/linphone-desktop/ui/views/App/Main/MainWindowMenuBar.qml b/linphone-desktop/ui/views/App/Main/MainWindowMenuBar.qml
index 20c39e090..9ba0098c2 100644
--- a/linphone-desktop/ui/views/App/Main/MainWindowMenuBar.qml
+++ b/linphone-desktop/ui/views/App/Main/MainWindowMenuBar.qml
@@ -2,27 +2,80 @@ import QtQuick 2.7
import QtQuick.Controls 1.4
import QtQuick.Controls.Styles 1.4
+import Common 1.0 as Common
+
+import App.Styles 1.0
+
// ============================================================================
MenuBar {
style: MenuBarStyle {
background: Rectangle {
- anchors.fill: parent
- color: '#E8E8E7'
+ color: MainWindowMenuBarStyle.color
+
+ Rectangle {
+ anchors.bottom: parent.bottom
+ color: MainWindowMenuBarStyle.separator.color
+ height: MainWindowMenuBarStyle.separator.height
+ width: parent.width
+ }
}
- itemDelegate: Rectangle {
- implicitHeight: text.height + 8
- implicitWidth: text.width + 18
- color: 'transparent'
+ menuStyle: MenuStyle {
+ frame: Item {}
- Text {
- id: text
+ itemDelegate {
+ background: Rectangle {
+ color: (styleData.selected || styleData.open)
+ ? MainWindowMenuBarStyle.subMenu.color.selected
+ : MainWindowMenuBarStyle.subMenu.color.normal
+ }
- anchors.centerIn: parent
- font: root.font
- text: formatMnemonic(styleData.text, styleData.underlineMnemonic)
- color: styleData.open ? '#FE5E00' : '#515557'
+ label: Label {
+ color: styleData.selected
+ ? MainWindowMenuBarStyle.subMenu.text.color.selected
+ : MainWindowMenuBarStyle.subMenu.text.color.normal
+ text: styleData.text
+ }
+
+ shortcut: Label {
+ color: styleData.selected
+ ? MainWindowMenuBarStyle.subMenu.text.color.selected
+ : MainWindowMenuBarStyle.subMenu.text.color.normal
+ text: styleData.shortcut
+ }
+ }
+ }
+
+ itemDelegate: Item {
+ implicitHeight: menuItem.height + MainWindowMenuBarStyle.separator.spacing
+ implicitWidth: menuItem.width
+
+ Item {
+ id: menuItem
+
+ implicitHeight: text.height + MainWindowMenuBarStyle.menu.text.verticalMargins * 2
+ implicitWidth: text.width + MainWindowMenuBarStyle.menu.text.horizontalMargins * 2
+
+ Text {
+ id: text
+
+ anchors.centerIn: parent
+ color: styleData.open
+ ? MainWindowMenuBarStyle.menu.text.color.selected
+ : MainWindowMenuBarStyle.menu.text.color.normal
+
+ text: formatMnemonic(styleData.text, styleData.underlineMnemonic)
+ }
+
+ Rectangle {
+ anchors.bottom: parent.bottom
+ color: MainWindowMenuBarStyle.menu.indicator.color
+ visible: styleData.open
+
+ height: MainWindowMenuBarStyle.menu.indicator.height
+ width: parent.width
+ }
}
}
}
@@ -33,8 +86,16 @@ import QtQuick.Controls.Styles 1.4
title: qsTr('options')
MenuItem {
+ shortcut: 'Ctrl+P'
text: qsTr('settings')
}
+
+ MenuSeparator {}
+
+ MenuItem {
+ shortcut: StandardKey.Quit
+ text: qsTr('quit')
+ }
}
Menu {
@@ -51,6 +112,17 @@ import QtQuick.Controls.Styles 1.4
MenuSeparator {}
MenuItem {
+ text: qsTr('importContacts')
+ }
+
+ MenuItem {
+ text: qsTr('exportContacts')
+ }
+
+ MenuSeparator {}
+
+ MenuItem {
+ shortcut: 'Ctrl+D'
text: qsTr('debugWindow')
}
}
@@ -59,8 +131,14 @@ import QtQuick.Controls.Styles 1.4
title: qsTr('help')
MenuItem {
+ shortcut: StandardKey.HelpContents
text: qsTr('about')
}
- }
+ MenuSeparator {}
+
+ MenuItem {
+ text: qsTr('checkForUpdates')
+ }
+ }
}
diff --git a/linphone-desktop/ui/views/App/Styles/Main/MainWindowMenuBarStyle.qml b/linphone-desktop/ui/views/App/Styles/Main/MainWindowMenuBarStyle.qml
new file mode 100644
index 000000000..e3a8e2557
--- /dev/null
+++ b/linphone-desktop/ui/views/App/Styles/Main/MainWindowMenuBarStyle.qml
@@ -0,0 +1,47 @@
+pragma Singleton
+import QtQuick 2.7
+
+import Common 1.0
+
+// =============================================================================
+
+QtObject {
+ property color color: Colors.v
+
+ property QtObject menu: QtObject {
+ property QtObject text: QtObject {
+ property int horizontalMargins: 9
+ property int verticalMargins: 4
+
+ property QtObject color: QtObject {
+ property color selected: Colors.i
+ property color normal: Colors.b
+ }
+ }
+
+ property QtObject indicator: QtObject {
+ property color color: Colors.i
+ property int height: 2
+ }
+ }
+
+ property QtObject separator: QtObject {
+ property color color: Colors.u
+ property int height: 1
+ property int spacing: 4
+ }
+
+ property QtObject subMenu: QtObject {
+ property QtObject color: QtObject {
+ property color selected: Colors.i
+ property color normal: Colors.k
+ }
+
+ property QtObject text: QtObject {
+ property QtObject color: QtObject {
+ property color selected: Colors.k
+ property color normal: Colors.b
+ }
+ }
+ }
+}
diff --git a/linphone-desktop/ui/views/App/Styles/qmldir b/linphone-desktop/ui/views/App/Styles/qmldir
index 620fd346b..e8c599ec4 100644
--- a/linphone-desktop/ui/views/App/Styles/qmldir
+++ b/linphone-desktop/ui/views/App/Styles/qmldir
@@ -7,9 +7,10 @@ module App.Styles
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 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 MainWindowMenuBarStyle 1.0 Main/MainWindowMenuBarStyle.qml
+singleton MainWindowStyle 1.0 Main/MainWindowStyle.qml
singleton SettingsWindowStyle 1.0 Settings/SettingsWindowStyle.qml