diff --git a/linphone-desktop/assets/languages/en.ts b/linphone-desktop/assets/languages/en.ts
index 964a9ac40..4b2a6ab18 100644
--- a/linphone-desktop/assets/languages/en.ts
+++ b/linphone-desktop/assets/languages/en.ts
@@ -357,6 +357,13 @@ Server url not configured.
Status
+
+ ConferenceManager
+
+ conferenceManagerDescription
+ Manage participants to your conference.
+
+
ConfirmDialog
diff --git a/linphone-desktop/assets/languages/fr.ts b/linphone-desktop/assets/languages/fr.ts
index f6e0c4f47..61ca489a7 100644
--- a/linphone-desktop/assets/languages/fr.ts
+++ b/linphone-desktop/assets/languages/fr.ts
@@ -357,6 +357,13 @@ Url du serveur non configurée.
Status
+
+ ConferenceManager
+
+ conferenceManagerDescription
+ Gérer les participants de votre conférence.
+
+
ConfirmDialog
diff --git a/linphone-desktop/resources.qrc b/linphone-desktop/resources.qrc
index 0640cb3c6..22e67ca50 100644
--- a/linphone-desktop/resources.qrc
+++ b/linphone-desktop/resources.qrc
@@ -339,6 +339,8 @@
ui/views/App/Calls/AbstractStartingCall.qml
ui/views/App/Calls/CallsWindow.js
ui/views/App/Calls/CallsWindow.qml
+ ui/views/App/Calls/ConferenceManager.js
+ ui/views/App/Calls/ConferenceManager.qml
ui/views/App/Calls/EndedCall.qml
ui/views/App/Calls/IncallFullscreenWindow.qml
ui/views/App/Calls/Incall.js
@@ -387,6 +389,7 @@
ui/views/App/SplashScreen/SplashScreen.qml
ui/views/App/Styles/Calls/CallStyle.qml
ui/views/App/Styles/Calls/CallsWindowStyle.qml
+ ui/views/App/Styles/Calls/ConferenceManagerStyle.qml
ui/views/App/Styles/Main/AboutStyle.qml
ui/views/App/Styles/Main/Assistant/ActivateLinphoneSipAccountWithEmailStyle.qml
ui/views/App/Styles/Main/Assistant/AssistantAbstractViewStyle.qml
diff --git a/linphone-desktop/src/components/smart-search-bar/SmartSearchBarModel.hpp b/linphone-desktop/src/components/smart-search-bar/SmartSearchBarModel.hpp
index f0914d98f..681d958b5 100644
--- a/linphone-desktop/src/components/smart-search-bar/SmartSearchBarModel.hpp
+++ b/linphone-desktop/src/components/smart-search-bar/SmartSearchBarModel.hpp
@@ -47,6 +47,7 @@ private:
int computeStringWeight (const QString &string) const;
QString mFilter;
+
static const QRegExp mSearchSeparators;
};
diff --git a/linphone-desktop/ui/modules/Common/Tooltip/Tooltip.qml b/linphone-desktop/ui/modules/Common/Tooltip/Tooltip.qml
index 2d0a95544..cca8426b0 100644
--- a/linphone-desktop/ui/modules/Common/Tooltip/Tooltip.qml
+++ b/linphone-desktop/ui/modules/Common/Tooltip/Tooltip.qml
@@ -51,8 +51,8 @@ ToolTip {
} else if (a.y > b.y + b.height) {
_edge = 'bottom'
} else {
+ // Unable to get the tooltip arrow position.
_edge = null
- console.warn('Unable to get the tooltip arrow position.')
}
}
diff --git a/linphone-desktop/ui/views/App/Calls/CallsWindow.js b/linphone-desktop/ui/views/App/Calls/CallsWindow.js
index 7c63f9e67..dc59eb6e1 100644
--- a/linphone-desktop/ui/views/App/Calls/CallsWindow.js
+++ b/linphone-desktop/ui/views/App/Calls/CallsWindow.js
@@ -17,6 +17,7 @@ function handleClosing (close) {
return
}
+ window.detachVirtualWindow()
window.attachVirtualWindow(Utils.buildDialogUri('ConfirmDialog'), {
descriptionText: qsTr('acceptClosingDescription'),
}, function (status) {
@@ -28,3 +29,7 @@ function handleClosing (close) {
close.accepted = false
}
+
+function openConferenceManager () {
+ window.attachVirtualWindow(Qt.resolvedUrl('ConferenceManager.qml'))
+}
diff --git a/linphone-desktop/ui/views/App/Calls/CallsWindow.qml b/linphone-desktop/ui/views/App/Calls/CallsWindow.qml
index 8377e1ec2..4374e63cd 100644
--- a/linphone-desktop/ui/views/App/Calls/CallsWindow.qml
+++ b/linphone-desktop/ui/views/App/Calls/CallsWindow.qml
@@ -94,7 +94,8 @@ Window {
ActionButton {
icon: 'new_conference'
- // TODO: launch new conference
+
+ onClicked: Logic.openConferenceManager()
}
}
}
diff --git a/linphone-desktop/ui/views/App/Calls/ConferenceManager.js b/linphone-desktop/ui/views/App/Calls/ConferenceManager.js
new file mode 100644
index 000000000..55ec1fc06
--- /dev/null
+++ b/linphone-desktop/ui/views/App/Calls/ConferenceManager.js
@@ -0,0 +1,7 @@
+// =============================================================================
+// `ConferenceManager.qml` Logic.
+// =============================================================================
+
+function updateFilter (text) {
+ console.log('TODO')
+}
diff --git a/linphone-desktop/ui/views/App/Calls/ConferenceManager.qml b/linphone-desktop/ui/views/App/Calls/ConferenceManager.qml
new file mode 100644
index 000000000..d6975a011
--- /dev/null
+++ b/linphone-desktop/ui/views/App/Calls/ConferenceManager.qml
@@ -0,0 +1,70 @@
+import QtQuick 2.7
+import QtQuick.Layouts 1.3
+
+import Common 1.0
+import Linphone 1.0
+
+import App.Styles 1.0
+
+import 'ConferenceManager.js' as Logic
+
+// =============================================================================
+
+ConfirmDialog {
+ descriptionText: qsTr('conferenceManagerDescription')
+
+ height: ConferenceManagerStyle.height
+ width: ConferenceManagerStyle.width
+
+ // ---------------------------------------------------------------------------
+
+ RowLayout {
+ anchors {
+ fill: parent
+ leftMargin: ConferenceManagerStyle.leftMargin
+ rightMargin: ConferenceManagerStyle.rightMargin
+ }
+
+ spacing: 0
+
+ // -------------------------------------------------------------------------
+ // Address selector.
+ // -------------------------------------------------------------------------
+
+ Column {
+ Layout.alignment: Qt.AlignTop
+ Layout.fillWidth: true
+
+ spacing: ConferenceManagerStyle.columns.selector.spacing
+
+ TextField {
+ icon: 'search'
+ width: parent.width
+
+ onTextChanged: Logic.updateFilter(text)
+ }
+ }
+
+ // -------------------------------------------------------------------------
+ // Separator.
+ // -------------------------------------------------------------------------
+
+ Rectangle {
+ Layout.fillHeight: true
+ Layout.leftMargin: ConferenceManagerStyle.leftMargin
+ Layout.preferredWidth: ConferenceManagerStyle.columns.separator.width
+ Layout.rightMargin: ConferenceManagerStyle.rightMargin
+
+ color: ConferenceManagerStyle.columns.separator.color
+ }
+
+ // -------------------------------------------------------------------------
+ // See and remove selected addresses.
+ // -------------------------------------------------------------------------
+
+ Column {
+ Layout.alignment: Qt.AlignTop
+ Layout.fillWidth: true
+ }
+ }
+}
diff --git a/linphone-desktop/ui/views/App/Styles/Calls/ConferenceManagerStyle.qml b/linphone-desktop/ui/views/App/Styles/Calls/ConferenceManagerStyle.qml
new file mode 100644
index 000000000..6c7b1c360
--- /dev/null
+++ b/linphone-desktop/ui/views/App/Styles/Calls/ConferenceManagerStyle.qml
@@ -0,0 +1,24 @@
+pragma Singleton
+import QtQuick 2.7
+
+import Common 1.0
+
+// =============================================================================
+
+QtObject {
+ property int height: 420
+ property int leftMargin: 35
+ property int rightMargin: 35
+ property int width: 680
+
+ property QtObject columns: QtObject {
+ property QtObject selector: QtObject {
+ property int spacing: 10
+ }
+
+ property QtObject separator: QtObject {
+ property color color: Colors.c
+ property int width: 1
+ }
+ }
+}
diff --git a/linphone-desktop/ui/views/App/Styles/qmldir b/linphone-desktop/ui/views/App/Styles/qmldir
index f098125ef..b75008bcf 100644
--- a/linphone-desktop/ui/views/App/Styles/qmldir
+++ b/linphone-desktop/ui/views/App/Styles/qmldir
@@ -6,6 +6,7 @@ module App.Styles
singleton CallStyle 1.0 Calls/CallStyle.qml
singleton CallsWindowStyle 1.0 Calls/CallsWindowStyle.qml
+singleton ConferenceManagerStyle 1.0 Calls/ConferenceManagerStyle.qml
singleton ActivateLinphoneSipAccountWithEmailStyle 1.0 Main/Assistant/ActivateLinphoneSipAccountWithEmailStyle.qml
singleton AssistantAbstractViewStyle 1.0 Main/Assistant/AssistantAbstractViewStyle.qml