mirror of
https://gitlab.linphone.org/BC/public/linphone-desktop.git
synced 2026-05-03 22:56:49 +00:00
feat(Call): add a multimedia parameters dialog to select micro/speaker/camera device
This commit is contained in:
parent
fb3e244370
commit
773fd036c4
12 changed files with 184 additions and 29 deletions
3
assets/images/camera.svg
Normal file
3
assets/images/camera.svg
Normal file
|
|
@ -0,0 +1,3 @@
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="23" height="14" viewBox="0 0 23 14">
|
||||||
|
<path fill="none" fill-rule="evenodd" stroke="#6B7A86" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M16.494 13V8.314l5.756 4.363V1.323l-5.756 4.363V1H.75v11.853L.923 13z"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 292 B |
3
assets/images/micro.svg
Normal file
3
assets/images/micro.svg
Normal file
|
|
@ -0,0 +1,3 @@
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="26" viewBox="0 0 16 26">
|
||||||
|
<path fill="none" fill-rule="evenodd" stroke="#6B7A86" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M4.171 13.81c0 2.053 1.715 3.718 3.829 3.718 2.115 0 3.83-1.665 3.83-3.718V4.47C11.83 2.414 10.114.75 8 .75 5.886.75 4.17 2.415 4.17 4.47v9.34zM15.25 9.276v4.058c0 3.889-3.246 7.04-7.25 7.04m0 0v4.386-4.385zM5.744 25.25h4.513-4.513zM.75 9.276v4.058c0 3.889 3.246 7.04 7.25 7.04"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 500 B |
3
assets/images/speaker.svg
Normal file
3
assets/images/speaker.svg
Normal file
|
|
@ -0,0 +1,3 @@
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="21" height="20" viewBox="0 0 21 20">
|
||||||
|
<path fill="none" fill-rule="evenodd" stroke="#6B7A86" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M.906 13.774h5.728L13.086 19V1L6.634 6.226H.75v7.548h.156zm15.354-2.006a2.585 2.585 0 0 0 0-3.7m2.464 5.186a4.663 4.663 0 0 0 0-6.672"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 356 B |
|
|
@ -961,6 +961,13 @@ your friend's SIP address or username.</translation>
|
||||||
<translation>Play me!</translation>
|
<translation>Play me!</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>MultimediaParameters</name>
|
||||||
|
<message>
|
||||||
|
<source>ok</source>
|
||||||
|
<translation>OK</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>Notifier</name>
|
<name>Notifier</name>
|
||||||
<message>
|
<message>
|
||||||
|
|
|
||||||
|
|
@ -959,6 +959,13 @@ Cliquez ici : <a href="%1">%1</a>
|
||||||
<translation>Joue-moi !</translation>
|
<translation>Joue-moi !</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>MultimediaParameters</name>
|
||||||
|
<message>
|
||||||
|
<source>ok</source>
|
||||||
|
<translation>OK</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>Notifier</name>
|
<name>Notifier</name>
|
||||||
<message>
|
<message>
|
||||||
|
|
|
||||||
|
|
@ -52,6 +52,7 @@
|
||||||
<file>assets/images/camera_on_normal.svg</file>
|
<file>assets/images/camera_on_normal.svg</file>
|
||||||
<file>assets/images/camera_on_pressed.svg</file>
|
<file>assets/images/camera_on_pressed.svg</file>
|
||||||
<file>assets/images/camera_on_updating.svg</file>
|
<file>assets/images/camera_on_updating.svg</file>
|
||||||
|
<file>assets/images/camera.svg</file>
|
||||||
<file>assets/images/cancel_hovered.svg</file>
|
<file>assets/images/cancel_hovered.svg</file>
|
||||||
<file>assets/images/cancel_normal.svg</file>
|
<file>assets/images/cancel_normal.svg</file>
|
||||||
<file>assets/images/cancel_pressed.svg</file>
|
<file>assets/images/cancel_pressed.svg</file>
|
||||||
|
|
@ -132,6 +133,7 @@
|
||||||
<file>assets/images/micro_on_hovered.svg</file>
|
<file>assets/images/micro_on_hovered.svg</file>
|
||||||
<file>assets/images/micro_on_normal.svg</file>
|
<file>assets/images/micro_on_normal.svg</file>
|
||||||
<file>assets/images/micro_on_pressed.svg</file>
|
<file>assets/images/micro_on_pressed.svg</file>
|
||||||
|
<file>assets/images/micro.svg</file>
|
||||||
<file>assets/images/missed_incoming_call.svg</file>
|
<file>assets/images/missed_incoming_call.svg</file>
|
||||||
<file>assets/images/missed_outgoing_call.svg</file>
|
<file>assets/images/missed_outgoing_call.svg</file>
|
||||||
<file>assets/images/new_call_hovered.svg</file>
|
<file>assets/images/new_call_hovered.svg</file>
|
||||||
|
|
@ -178,6 +180,7 @@
|
||||||
<file>assets/images/speaker_on_hovered.svg</file>
|
<file>assets/images/speaker_on_hovered.svg</file>
|
||||||
<file>assets/images/speaker_on_normal.svg</file>
|
<file>assets/images/speaker_on_normal.svg</file>
|
||||||
<file>assets/images/speaker_on_pressed.svg</file>
|
<file>assets/images/speaker_on_pressed.svg</file>
|
||||||
|
<file>assets/images/speaker.svg</file>
|
||||||
<file>assets/images/splash_screen.svg</file>
|
<file>assets/images/splash_screen.svg</file>
|
||||||
<file>assets/images/tel_keypad_hovered.svg</file>
|
<file>assets/images/tel_keypad_hovered.svg</file>
|
||||||
<file>assets/images/tel_keypad_normal.svg</file>
|
<file>assets/images/tel_keypad_normal.svg</file>
|
||||||
|
|
@ -380,6 +383,7 @@
|
||||||
<file>ui/views/App/Calls/Dialogs/CallSipAddress.qml</file>
|
<file>ui/views/App/Calls/Dialogs/CallSipAddress.qml</file>
|
||||||
<file>ui/views/App/Calls/Dialogs/CallTransfer.qml</file>
|
<file>ui/views/App/Calls/Dialogs/CallTransfer.qml</file>
|
||||||
<file>ui/views/App/Calls/Dialogs/ConferenceManager.qml</file>
|
<file>ui/views/App/Calls/Dialogs/ConferenceManager.qml</file>
|
||||||
|
<file>ui/views/App/Calls/Dialogs/MultimediaParameters.qml</file>
|
||||||
<file>ui/views/App/Calls/EndedCall.qml</file>
|
<file>ui/views/App/Calls/EndedCall.qml</file>
|
||||||
<file>ui/views/App/Calls/IncallAvatar.qml</file>
|
<file>ui/views/App/Calls/IncallAvatar.qml</file>
|
||||||
<file>ui/views/App/Calls/IncallFullscreenWindow.qml</file>
|
<file>ui/views/App/Calls/IncallFullscreenWindow.qml</file>
|
||||||
|
|
@ -437,6 +441,7 @@
|
||||||
<file>ui/views/App/Styles/Calls/Dialogs/CallSipAddressStyle.qml</file>
|
<file>ui/views/App/Styles/Calls/Dialogs/CallSipAddressStyle.qml</file>
|
||||||
<file>ui/views/App/Styles/Calls/Dialogs/CallTransferStyle.qml</file>
|
<file>ui/views/App/Styles/Calls/Dialogs/CallTransferStyle.qml</file>
|
||||||
<file>ui/views/App/Styles/Calls/Dialogs/ConferenceManagerStyle.qml</file>
|
<file>ui/views/App/Styles/Calls/Dialogs/ConferenceManagerStyle.qml</file>
|
||||||
|
<file>ui/views/App/Styles/Calls/Dialogs/MultimediaParametersStyle.qml</file>
|
||||||
<file>ui/views/App/Styles/Main/Assistant/ActivateLinphoneSipAccountWithEmailStyle.qml</file>
|
<file>ui/views/App/Styles/Main/Assistant/ActivateLinphoneSipAccountWithEmailStyle.qml</file>
|
||||||
<file>ui/views/App/Styles/Main/Assistant/ActivateLinphoneSipAccountWithPhoneNumberStyle.qml</file>
|
<file>ui/views/App/Styles/Main/Assistant/ActivateLinphoneSipAccountWithPhoneNumberStyle.qml</file>
|
||||||
<file>ui/views/App/Styles/Main/Assistant/AssistantAbstractViewStyle.qml</file>
|
<file>ui/views/App/Styles/Main/Assistant/AssistantAbstractViewStyle.qml</file>
|
||||||
|
|
|
||||||
95
ui/views/App/Calls/Dialogs/MultimediaParameters.qml
Normal file
95
ui/views/App/Calls/Dialogs/MultimediaParameters.qml
Normal file
|
|
@ -0,0 +1,95 @@
|
||||||
|
import QtQuick 2.7
|
||||||
|
import QtQuick.Layouts 1.3
|
||||||
|
|
||||||
|
import Common 1.0
|
||||||
|
import Linphone 1.0
|
||||||
|
import Utils 1.0
|
||||||
|
|
||||||
|
import App.Styles 1.0
|
||||||
|
|
||||||
|
// =============================================================================
|
||||||
|
|
||||||
|
DialogPlus {
|
||||||
|
buttons: [
|
||||||
|
TextButtonB {
|
||||||
|
text: qsTr('ok')
|
||||||
|
|
||||||
|
onClicked: exit(0)
|
||||||
|
}
|
||||||
|
]
|
||||||
|
|
||||||
|
centeredButtons: true
|
||||||
|
|
||||||
|
height: MultimediaParametersStyle.height
|
||||||
|
width: MultimediaParametersStyle.width
|
||||||
|
|
||||||
|
// ---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
Column {
|
||||||
|
anchors.fill: parent
|
||||||
|
spacing: MultimediaParametersStyle.column.spacing
|
||||||
|
|
||||||
|
RowLayout {
|
||||||
|
spacing: MultimediaParametersStyle.column.entry.spacing
|
||||||
|
width: parent.width
|
||||||
|
|
||||||
|
Icon {
|
||||||
|
icon: 'speaker'
|
||||||
|
iconSize: MultimediaParametersStyle.column.entry.iconSize
|
||||||
|
}
|
||||||
|
|
||||||
|
ComboBox {
|
||||||
|
Layout.fillWidth: true
|
||||||
|
|
||||||
|
currentIndex: Utils.findIndex(model, function (device) {
|
||||||
|
return device === SettingsModel.playbackDevice
|
||||||
|
})
|
||||||
|
model: SettingsModel.playbackDevices
|
||||||
|
|
||||||
|
onActivated: SettingsModel.playbackDevice = model[index]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
RowLayout {
|
||||||
|
spacing: MultimediaParametersStyle.column.entry.spacing
|
||||||
|
width: parent.width
|
||||||
|
|
||||||
|
Icon {
|
||||||
|
icon: 'micro'
|
||||||
|
iconSize: MultimediaParametersStyle.column.entry.iconSize
|
||||||
|
}
|
||||||
|
|
||||||
|
ComboBox {
|
||||||
|
Layout.fillWidth: true
|
||||||
|
|
||||||
|
currentIndex: Utils.findIndex(model, function (device) {
|
||||||
|
return device === SettingsModel.captureDevice
|
||||||
|
})
|
||||||
|
model: SettingsModel.captureDevices
|
||||||
|
|
||||||
|
onActivated: SettingsModel.captureDevice = model[index]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
RowLayout {
|
||||||
|
spacing: MultimediaParametersStyle.column.entry.spacing
|
||||||
|
width: parent.width
|
||||||
|
|
||||||
|
Icon {
|
||||||
|
icon: 'camera'
|
||||||
|
iconSize: MultimediaParametersStyle.column.entry.iconSize
|
||||||
|
}
|
||||||
|
|
||||||
|
ComboBox {
|
||||||
|
Layout.fillWidth: true
|
||||||
|
|
||||||
|
currentIndex: Number(Utils.findIndex(model, function (device) {
|
||||||
|
return device === SettingsModel.videoDevice
|
||||||
|
}))
|
||||||
|
model: SettingsModel.videoDevices
|
||||||
|
|
||||||
|
onActivated: SettingsModel.videoDevice = model[index]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -52,6 +52,11 @@ function handleStatusChanged (status) {
|
||||||
}
|
}
|
||||||
|
|
||||||
function handleVideoRequested () {
|
function handleVideoRequested () {
|
||||||
|
if (window.virtualWindowVisible) {
|
||||||
|
call.rejectVideoRequest()
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
var call = incall.call
|
var call = incall.call
|
||||||
|
|
||||||
// Close dialog after 10s.
|
// Close dialog after 10s.
|
||||||
|
|
@ -100,6 +105,10 @@ function openCallStatistics () {
|
||||||
callStatistics.open()
|
callStatistics.open()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function openMediaParameters () {
|
||||||
|
window.attachVirtualWindow(Qt.resolvedUrl('Dialogs/MultimediaParameters.qml'))
|
||||||
|
}
|
||||||
|
|
||||||
function showFullscreen () {
|
function showFullscreen () {
|
||||||
if (incall._fullscreen) {
|
if (incall._fullscreen) {
|
||||||
return
|
return
|
||||||
|
|
|
||||||
|
|
@ -354,9 +354,10 @@ Rectangle {
|
||||||
Layout.preferredHeight: CallStyle.actionArea.iconSize
|
Layout.preferredHeight: CallStyle.actionArea.iconSize
|
||||||
Layout.preferredWidth: CallStyle.actionArea.iconSize
|
Layout.preferredWidth: CallStyle.actionArea.iconSize
|
||||||
|
|
||||||
icon: 'options' // TODO: display options.
|
icon: 'options'
|
||||||
iconSize: CallStyle.actionArea.iconSize
|
iconSize: CallStyle.actionArea.iconSize
|
||||||
visible: false // TODO: V2
|
|
||||||
|
onClicked: Logic.openMediaParameters()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -9,10 +9,12 @@ import Utils 1.0
|
||||||
|
|
||||||
import App.Styles 1.0
|
import App.Styles 1.0
|
||||||
|
|
||||||
|
import 'Incall.js' as Logic
|
||||||
|
|
||||||
// =============================================================================
|
// =============================================================================
|
||||||
|
|
||||||
Window {
|
Window {
|
||||||
id: incall
|
id: window
|
||||||
|
|
||||||
// ---------------------------------------------------------------------------
|
// ---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
@ -24,16 +26,16 @@ Window {
|
||||||
|
|
||||||
function exit (cb) {
|
function exit (cb) {
|
||||||
// `exit` is called by `Incall.qml`.
|
// `exit` is called by `Incall.qml`.
|
||||||
// The `incall` id can be null if the window was closed in this view.
|
// The `window` id can be null if the window was closed in this view.
|
||||||
if (!incall) {
|
if (!window) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
// It's necessary to call `showNormal` before close on MacOs
|
// It's necessary to call `showNormal` before close on MacOs
|
||||||
// because the dock will be hidden forever!
|
// because the dock will be hidden forever!
|
||||||
incall.visible = false
|
window.visible = false
|
||||||
incall.showNormal()
|
window.showNormal()
|
||||||
incall.close()
|
window.close()
|
||||||
|
|
||||||
if (cb) {
|
if (cb) {
|
||||||
cb()
|
cb()
|
||||||
|
|
@ -43,15 +45,15 @@ Window {
|
||||||
// ---------------------------------------------------------------------------
|
// ---------------------------------------------------------------------------
|
||||||
|
|
||||||
Component.onCompleted: {
|
Component.onCompleted: {
|
||||||
incall.call = caller.call
|
window.call = caller.call
|
||||||
var show = function (visibility) {
|
var show = function (visibility) {
|
||||||
if (visibility === Window.Windowed) {
|
if (visibility === Window.Windowed) {
|
||||||
incall.visibilityChanged.disconnect(show)
|
window.visibilityChanged.disconnect(show)
|
||||||
incall.showFullScreen()
|
window.showFullScreen()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
incall.visibilityChanged.connect(show)
|
window.visibilityChanged.connect(show)
|
||||||
}
|
}
|
||||||
|
|
||||||
visible: false
|
visible: false
|
||||||
|
|
@ -60,7 +62,7 @@ Window {
|
||||||
|
|
||||||
Shortcut {
|
Shortcut {
|
||||||
sequence: StandardKey.Close
|
sequence: StandardKey.Close
|
||||||
onActivated: incall.exit()
|
onActivated: window.exit()
|
||||||
}
|
}
|
||||||
|
|
||||||
// ---------------------------------------------------------------------------
|
// ---------------------------------------------------------------------------
|
||||||
|
|
@ -70,13 +72,13 @@ Window {
|
||||||
color: '#000000' // Not a style.
|
color: '#000000' // Not a style.
|
||||||
focus: true
|
focus: true
|
||||||
|
|
||||||
Keys.onEscapePressed: incall.exit()
|
Keys.onEscapePressed: window.exit()
|
||||||
|
|
||||||
Loader {
|
Loader {
|
||||||
anchors.fill: parent
|
anchors.fill: parent
|
||||||
|
|
||||||
active: {
|
active: {
|
||||||
var caller = incall.caller
|
var caller = window.caller
|
||||||
return caller && !caller.cameraActivated
|
return caller && !caller.cameraActivated
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -86,7 +88,7 @@ Window {
|
||||||
id: camera
|
id: camera
|
||||||
|
|
||||||
Camera {
|
Camera {
|
||||||
call: incall.call
|
call: window.call
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -191,7 +193,7 @@ Window {
|
||||||
horizontalAlignment: Text.AlignHCenter
|
horizontalAlignment: Text.AlignHCenter
|
||||||
verticalAlignment: Text.AlignVCenter
|
verticalAlignment: Text.AlignVCenter
|
||||||
|
|
||||||
visible: !incall.hideButtons
|
visible: !window.hideButtons
|
||||||
|
|
||||||
// Not a customizable style.
|
// Not a customizable style.
|
||||||
color: 'white'
|
color: 'white'
|
||||||
|
|
@ -200,7 +202,7 @@ Window {
|
||||||
|
|
||||||
Component.onCompleted: {
|
Component.onCompleted: {
|
||||||
var updateDuration = function () {
|
var updateDuration = function () {
|
||||||
var call = incall.caller.call
|
var call = window.caller.call
|
||||||
text = Utils.formatElapsedTime(call.duration)
|
text = Utils.formatElapsedTime(call.duration)
|
||||||
Utils.setTimeout(elapsedTime, 1000, updateDuration)
|
Utils.setTimeout(elapsedTime, 1000, updateDuration)
|
||||||
}
|
}
|
||||||
|
|
@ -249,7 +251,7 @@ Window {
|
||||||
ActionButton {
|
ActionButton {
|
||||||
icon: 'fullscreen'
|
icon: 'fullscreen'
|
||||||
|
|
||||||
onClicked: incall.exit()
|
onClicked: window.exit()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -331,16 +333,17 @@ Window {
|
||||||
iconSize: CallStyle.actionArea.iconSize
|
iconSize: CallStyle.actionArea.iconSize
|
||||||
updating: call.updating
|
updating: call.updating
|
||||||
|
|
||||||
onClicked: incall.exit(function () { call.videoEnabled = false })
|
onClicked: window.exit(function () { call.videoEnabled = false })
|
||||||
}
|
}
|
||||||
|
|
||||||
ActionButton {
|
ActionButton {
|
||||||
Layout.preferredHeight: CallStyle.actionArea.iconSize
|
Layout.preferredHeight: CallStyle.actionArea.iconSize
|
||||||
Layout.preferredWidth: CallStyle.actionArea.iconSize
|
Layout.preferredWidth: CallStyle.actionArea.iconSize
|
||||||
|
|
||||||
icon: 'options'
|
icon: 'options'
|
||||||
iconSize: CallStyle.actionArea.iconSize
|
iconSize: CallStyle.actionArea.iconSize
|
||||||
|
|
||||||
visible: false // TODO: V2
|
onClicked: Logic.openMediaParameters()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -357,13 +360,13 @@ Window {
|
||||||
icon: 'pause'
|
icon: 'pause'
|
||||||
updating: call.updating
|
updating: call.updating
|
||||||
|
|
||||||
onClicked: incall.exit(function () { call.pausedByUser = enabled })
|
onClicked: window.exit(function () { call.pausedByUser = enabled })
|
||||||
}
|
}
|
||||||
|
|
||||||
ActionButton {
|
ActionButton {
|
||||||
icon: 'hangup'
|
icon: 'hangup'
|
||||||
|
|
||||||
onClicked: incall.exit(call.terminate)
|
onClicked: window.exit(call.terminate)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -376,7 +379,7 @@ Window {
|
||||||
|
|
||||||
Loader {
|
Loader {
|
||||||
active: {
|
active: {
|
||||||
var caller = incall.caller
|
var caller = window.caller
|
||||||
return caller && !caller.cameraActivated
|
return caller && !caller.cameraActivated
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -389,21 +392,21 @@ Window {
|
||||||
property bool scale: false
|
property bool scale: false
|
||||||
|
|
||||||
function xPosition () {
|
function xPosition () {
|
||||||
return incall.width / 2 - width / 2
|
return window.width / 2 - width / 2
|
||||||
}
|
}
|
||||||
|
|
||||||
function yPosition () {
|
function yPosition () {
|
||||||
return incall.height - height
|
return window.height - height
|
||||||
}
|
}
|
||||||
|
|
||||||
call: incall.call
|
call: window.call
|
||||||
isPreview: true
|
isPreview: true
|
||||||
|
|
||||||
height: CallStyle.actionArea.userVideo.height * (scale ? 2 : 1)
|
height: CallStyle.actionArea.userVideo.height * (scale ? 2 : 1)
|
||||||
width: CallStyle.actionArea.userVideo.width * (scale ? 2 : 1)
|
width: CallStyle.actionArea.userVideo.width * (scale ? 2 : 1)
|
||||||
|
|
||||||
DragBox {
|
DragBox {
|
||||||
container: incall
|
container: window
|
||||||
draggable: parent
|
draggable: parent
|
||||||
|
|
||||||
xPosition: parent.xPosition
|
xPosition: parent.xPosition
|
||||||
|
|
@ -422,7 +425,7 @@ Window {
|
||||||
TelKeypad {
|
TelKeypad {
|
||||||
id: telKeypad
|
id: telKeypad
|
||||||
|
|
||||||
call: incall.call
|
call: window.call
|
||||||
visible: false
|
visible: false
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,18 @@
|
||||||
|
pragma Singleton
|
||||||
|
import QtQml 2.2
|
||||||
|
|
||||||
|
// =============================================================================
|
||||||
|
|
||||||
|
QtObject {
|
||||||
|
property int height: 262
|
||||||
|
property int width: 450
|
||||||
|
|
||||||
|
property QtObject column: QtObject {
|
||||||
|
property int spacing: 24
|
||||||
|
|
||||||
|
property QtObject entry: QtObject {
|
||||||
|
property int iconSize: 24
|
||||||
|
property int spacing: 10
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -13,6 +13,7 @@ singleton ConferenceStyle 1.0 Calls/ConferenceSty
|
||||||
singleton CallSipAddressStyle 1.0 Calls/Dialogs/CallSipAddressStyle.qml
|
singleton CallSipAddressStyle 1.0 Calls/Dialogs/CallSipAddressStyle.qml
|
||||||
singleton CallTransferStyle 1.0 Calls/Dialogs/CallTransferStyle.qml
|
singleton CallTransferStyle 1.0 Calls/Dialogs/CallTransferStyle.qml
|
||||||
singleton ConferenceManagerStyle 1.0 Calls/Dialogs/ConferenceManagerStyle.qml
|
singleton ConferenceManagerStyle 1.0 Calls/Dialogs/ConferenceManagerStyle.qml
|
||||||
|
singleton MultimediaParametersStyle 1.0 Calls/Dialogs/MultimediaParametersStyle.qml
|
||||||
|
|
||||||
# Main Window ------------------------------------------------------------------
|
# Main Window ------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue