diff --git a/Linphone/core/setting/SettingsCore.cpp b/Linphone/core/setting/SettingsCore.cpp index 1044387d2..21eb515e6 100644 --- a/Linphone/core/setting/SettingsCore.cpp +++ b/Linphone/core/setting/SettingsCore.cpp @@ -304,7 +304,7 @@ void SettingsCore::setSelf(QSharedPointer me) { }); }); mSettingsModelConnection->makeConnectToModel(&SettingsModel::playbackGainChanged, [this](const float value) { - mSettingsModelConnection->invokeToCore([this, value]() { setPlaybackGain(value); }); + mSettingsModelConnection->invokeToCore([this, value]() { setPlaybackGainFromModel(value); }); }); mSettingsModelConnection->makeConnectToCore(&SettingsCore::lSetCaptureGain, [this](const float value) { @@ -314,7 +314,7 @@ void SettingsCore::setSelf(QSharedPointer me) { }); }); mSettingsModelConnection->makeConnectToModel(&SettingsModel::captureGainChanged, [this](const float value) { - mSettingsModelConnection->invokeToCore([this, value]() { setCaptureGain(value); }); + mSettingsModelConnection->invokeToCore([this, value]() { setCaptureGainFromModel(value); }); }); mSettingsModelConnection->makeConnectToModel(&SettingsModel::micVolumeChanged, [this](const float value) { @@ -767,6 +767,13 @@ void SettingsCore::setCaptureGain(float gain) { } } +void SettingsCore::setCaptureGainFromModel(float gain) { + if (mCaptureGain != gain) { + mCaptureGain = gain; + emit captureGainChanged(gain); + } +} + QVariantMap SettingsCore::getConferenceLayout() const { return mConferenceLayout; } @@ -811,6 +818,13 @@ void SettingsCore::setPlaybackGain(float gain) { } } +void SettingsCore::setPlaybackGainFromModel(float gain) { + if (mPlaybackGain != gain) { + mPlaybackGain = gain; + emit playbackGainChanged(gain); + } +} + QVariantMap SettingsCore::getCaptureDevice() const { return mCaptureDevice; } diff --git a/Linphone/core/setting/SettingsCore.hpp b/Linphone/core/setting/SettingsCore.hpp index ec8851b1d..b7f8d1a82 100644 --- a/Linphone/core/setting/SettingsCore.hpp +++ b/Linphone/core/setting/SettingsCore.hpp @@ -144,9 +144,11 @@ public: float getPlaybackGain() const; void setPlaybackGain(float gain); + void setPlaybackGainFromModel(float gain); float getCaptureGain() const; void setCaptureGain(float gain); + void setCaptureGainFromModel(float gain); QVariantList getCaptureDevices() const; void setCaptureDevices(QVariantList devices); diff --git a/Linphone/view/Page/Form/Settings/SettingsPage.qml b/Linphone/view/Page/Form/Settings/SettingsPage.qml index 8ad2444b3..ac3f6b5c6 100644 --- a/Linphone/view/Page/Form/Settings/SettingsPage.qml +++ b/Linphone/view/Page/Form/Settings/SettingsPage.qml @@ -50,4 +50,8 @@ AbstractSettingsMenu { qsTr("contact_editor_dialog_abort_confirmation_save") ) } else {mainItem.goBack()} + + Component.onCompleted: { + SettingsCpp.isSaved = true + } }