diff --git a/resources/qml/voip/CallDevices.qml b/resources/qml/voip/CallDevices.qml
new file mode 100644
index 00000000..ee3503ca
--- /dev/null
+++ b/resources/qml/voip/CallDevices.qml
@@ -0,0 +1,91 @@
+import QtQuick 2.3
+import QtQuick.Controls 2.3
+import QtQuick.Dialogs 1.3
+import QtQuick.Layouts 1.2
+import im.nheko 1.0
+import "../"
+
+ApplicationWindow {
+
+ flags: Qt.Dialog
+ modality: Qt.ApplicationModal
+ palette: colors
+ width: columnLayout.implicitWidth
+ height: columnLayout.implicitHeight
+
+ ColumnLayout {
+ id: columnLayout
+
+ spacing: 16
+
+ ColumnLayout {
+ spacing: 8
+
+ RowLayout {
+
+ Layout.topMargin: 8
+ Layout.leftMargin: 8
+ Layout.rightMargin: 8
+
+ Image {
+ Layout.preferredWidth: 22
+ Layout.preferredHeight: 22
+ source: "qrc:/icons/icons/ui/microphone-unmute.png"
+ }
+
+ ComboBox {
+ id: micCombo
+ Layout.fillWidth: true
+ model: CallManager.mics
+ }
+ }
+
+ RowLayout {
+
+ visible: CallManager.cameras.length > 0
+ Layout.leftMargin: 8
+ Layout.rightMargin: 8
+
+ Image {
+ Layout.preferredWidth: 22
+ Layout.preferredHeight: 22
+ source: "qrc:/icons/icons/ui/video-call.png"
+ }
+
+ ComboBox {
+ id: cameraCombo
+ Layout.fillWidth: true
+ model: CallManager.cameras
+ }
+ }
+ }
+
+ RowLayout {
+
+ Layout.rightMargin: 8
+ Layout.bottomMargin: 8
+
+ Item {
+ implicitWidth: 128
+ }
+
+ Button {
+ text: qsTr("Ok")
+ onClicked: {
+ Settings.microphone = micCombo.currentText
+ if (cameraCombo.visible) {
+ Settings.camera = cameraCombo.currentText
+ }
+ close();
+ }
+ }
+
+ Button {
+ text: qsTr("Cancel")
+ onClicked: {
+ close();
+ }
+ }
+ }
+ }
+}
diff --git a/resources/qml/voip/CallInviteBar.qml b/resources/qml/voip/CallInviteBar.qml
index 61a3f0ec..e22ee645 100644
--- a/resources/qml/voip/CallInviteBar.qml
+++ b/resources/qml/voip/CallInviteBar.qml
@@ -16,6 +16,13 @@ Rectangle {
icon: StandardIcon.Warning
}
+ Component {
+ id: devicesDialog
+
+ CallDevices {
+ }
+ }
+
RowLayout {
id: rowLayout
@@ -53,6 +60,24 @@ Rectangle {
Layout.fillWidth: true
}
+ ImageButton {
+ width: 24
+ height: 24
+ buttonTextColor: "#000000"
+ image: ":/icons/icons/ui/settings.png"
+ hoverEnabled: true
+ ToolTip.visible: hovered
+ ToolTip.text: "Devices"
+ onClicked: {
+ var dialog = devicesDialog.createObject(timelineRoot);
+ dialog.show();
+ }
+ }
+
+ Item {
+ implicitWidth: 8
+ }
+
Button {
icon.source: CallManager.isVideo ? "qrc:/icons/icons/ui/video-call.png" : "qrc:/icons/icons/ui/place-call.png"
palette: colors
@@ -78,7 +103,7 @@ Rectangle {
}
Item {
- implicitWidth: 8
+ implicitWidth: 4
}
Button {
diff --git a/resources/res.qrc b/resources/res.qrc
index 52157df0..ca333978 100644
--- a/resources/res.qrc
+++ b/resources/res.qrc
@@ -158,6 +158,7 @@
qml/device-verification/Failed.qml
qml/device-verification/Success.qml
qml/voip/ActiveCallBar.qml
+ qml/voip/CallDevices.qml
qml/voip/CallInviteBar.qml
qml/voip/PlaceCall.qml
qml/voip/VideoCall.qml