Add devices dialog to CallInviteBar

This commit is contained in:
trilene 2020-12-20 09:37:22 -05:00 committed by Nicolas Werner
parent 055c6f7248
commit 87d2074c81
3 changed files with 118 additions and 1 deletions

View File

@ -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();
}
}
}
}
}

View File

@ -16,6 +16,13 @@ Rectangle {
icon: StandardIcon.Warning icon: StandardIcon.Warning
} }
Component {
id: devicesDialog
CallDevices {
}
}
RowLayout { RowLayout {
id: rowLayout id: rowLayout
@ -53,6 +60,24 @@ Rectangle {
Layout.fillWidth: true 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 { Button {
icon.source: CallManager.isVideo ? "qrc:/icons/icons/ui/video-call.png" : "qrc:/icons/icons/ui/place-call.png" icon.source: CallManager.isVideo ? "qrc:/icons/icons/ui/video-call.png" : "qrc:/icons/icons/ui/place-call.png"
palette: colors palette: colors
@ -78,7 +103,7 @@ Rectangle {
} }
Item { Item {
implicitWidth: 8 implicitWidth: 4
} }
Button { Button {

View File

@ -158,6 +158,7 @@
<file>qml/device-verification/Failed.qml</file> <file>qml/device-verification/Failed.qml</file>
<file>qml/device-verification/Success.qml</file> <file>qml/device-verification/Success.qml</file>
<file>qml/voip/ActiveCallBar.qml</file> <file>qml/voip/ActiveCallBar.qml</file>
<file>qml/voip/CallDevices.qml</file>
<file>qml/voip/CallInviteBar.qml</file> <file>qml/voip/CallInviteBar.qml</file>
<file>qml/voip/PlaceCall.qml</file> <file>qml/voip/PlaceCall.qml</file>
<file>qml/voip/VideoCall.qml</file> <file>qml/voip/VideoCall.qml</file>