From 592df568a9f8b355fe15d49b9667e1c3105ce120 Mon Sep 17 00:00:00 2001 From: Julien Wadel Date: Mon, 5 Sep 2022 18:19:09 +0200 Subject: [PATCH] Fix auto changing volumes when calling or in waiting room. Update Settings view with the current audio volumes. --- .../src/components/settings/SettingsModel.cpp | 2 ++ .../Dialog/MultimediaParametersDialog.qml | 28 +++++++++++++------ 2 files changed, 21 insertions(+), 9 deletions(-) diff --git a/linphone-app/src/components/settings/SettingsModel.cpp b/linphone-app/src/components/settings/SettingsModel.cpp index f0c91d73e..eba0e30a1 100644 --- a/linphone-app/src/components/settings/SettingsModel.cpp +++ b/linphone-app/src/components/settings/SettingsModel.cpp @@ -295,6 +295,8 @@ void SettingsModel::accessAudioSettings() { emit playbackDeviceChanged(getPlaybackDevice()); emit captureDeviceChanged(getCaptureDevice()); emit ringerDeviceChanged(getRingerDevice()); + emit playbackGainChanged(getPlaybackGain()); + emit captureGainChanged(getCaptureGain()); //if (!getIsInCall()) { startCaptureGraph(); diff --git a/linphone-app/ui/modules/Linphone/Dialog/MultimediaParametersDialog.qml b/linphone-app/ui/modules/Linphone/Dialog/MultimediaParametersDialog.qml index 11e1cee4f..61d6a76dc 100644 --- a/linphone-app/ui/modules/Linphone/Dialog/MultimediaParametersDialog.qml +++ b/linphone-app/ui/modules/Linphone/Dialog/MultimediaParametersDialog.qml @@ -86,12 +86,18 @@ DialogPlus { Slider { id: playbackSlider width: parent.width + property bool initialized: false - value: call ? value = call.speakerVolumeGain : value = SettingsModel.playbackGain - onPositionChanged: if(call) - call.speakerVolumeGain = position - else - SettingsModel.playbackGain = position + value: call ? call.speakerVolumeGain : SettingsModel.playbackGain + onPositionChanged: { + if( initialized){ + if(call) + call.speakerVolumeGain = position + else + SettingsModel.playbackGain = position + } + } + Component.onCompleted: initialized = true ToolTip { parent: playbackSlider.handle @@ -134,11 +140,15 @@ DialogPlus { id: captureSlider width: parent.width value: call ? call.microVolumeGain : SettingsModel.captureGain + property bool initialized: false - onPositionChanged: if(call) - call.microVolumeGain = position - else - SettingsModel.captureGain = position + onPositionChanged: if(initialized){ + if(call) + call.microVolumeGain = position + else + SettingsModel.captureGain = position + } + Component.onCompleted: initialized = true ToolTip { parent: captureSlider.handle