diff --git a/Linphone/core/setting/SettingsCore.cpp b/Linphone/core/setting/SettingsCore.cpp index a2bf5f81..f8bcb5a1 100644 --- a/Linphone/core/setting/SettingsCore.cpp +++ b/Linphone/core/setting/SettingsCore.cpp @@ -109,11 +109,8 @@ SettingsCore::SettingsCore(QObject *parent) : QObject(parent) { mStorePlainTextPassword = settingsModel->getStorePlainTextPassword(); mDefaultDomain = settingsModel->getDefaultDomain(); - auto currentAccount = CoreModel::getInstance()->getCore()->getDefaultAccount(); - if (currentAccount) { - auto accountDomain = Utils::coreStringToAppString(currentAccount->getParams()->getDomain()); - mShowAccountDevices = (accountDomain == mDefaultDomain); - } + // Disable account devices feature to prevent API errors + mShowAccountDevices = false; // Chat mEmojiFont = settingsModel->getEmojiFont(); @@ -1252,9 +1249,8 @@ bool SettingsCore::getStorePlainTextPassword() const { void SettingsCore::setStorePlainTextPassword(bool enabled) { if (mStorePlainTextPassword != enabled) { mStorePlainTextPassword = enabled; - mSettingsModelConnection->invokeToModel([enabled]() { - SettingsModel::getInstance()->setStorePlainTextPassword(enabled); - }); + mSettingsModelConnection->invokeToModel( + [enabled]() { SettingsModel::getInstance()->setStorePlainTextPassword(enabled); }); emit storePlainTextPasswordChanged(enabled); } } diff --git a/Linphone/data/image/logo.svg b/Linphone/data/image/logo.svg old mode 100644 new mode 100755 index 1693e311..8883d5bb --- a/Linphone/data/image/logo.svg +++ b/Linphone/data/image/logo.svg @@ -1,49 +1,22 @@ - - - - - - - + + + + + + + + + + + + + + + + + + + + + diff --git a/Linphone/model/setting/SettingsModel.cpp b/Linphone/model/setting/SettingsModel.cpp old mode 100644 new mode 100755 index ef19aa41..0f82070c --- a/Linphone/model/setting/SettingsModel.cpp +++ b/Linphone/model/setting/SettingsModel.cpp @@ -472,6 +472,15 @@ void SettingsModel::setRingtone(QString ringtonePath) { mustBeInLinphoneThread(log().arg(Q_FUNC_INFO)); QFileInfo ringtone(ringtonePath); if (ringtonePath.isEmpty() || !ringtone.exists()) { + // Fallback to default ringtone if file not found + auto factory = linphone::Factory::get(); + auto defaultRing = factory->getRingResourcesDir() + "/rings/oldphone-mono.wav"; + QFileInfo defaultRingtone(QString::fromStdString(defaultRing)); + if (defaultRingtone.exists()) { + lInfo() << "Custom ringtone not found, using default: " << defaultRing; + CoreModel::getInstance()->getCore()->setRing(defaultRing); + emit ringtoneChanged(QString::fromStdString(defaultRing)); + } } else { CoreModel::getInstance()->getCore()->setRing(Utils::appStringToCoreString(ringtonePath)); emit ringtoneChanged(ringtonePath); @@ -954,7 +963,8 @@ bool SettingsModel::isCheckForUpdateAvailable() const { } bool SettingsModel::isCheckForUpdateEnabled() const { - return !!mConfig->getInt(UiSection, "check_for_update_enabled", isCheckForUpdateAvailable()); + // Default to false to disable automatic update checks + return !!mConfig->getInt(UiSection, "check_for_update_enabled", 0); } void SettingsModel::setCheckForUpdateEnabled(bool enable) { diff --git a/Linphone/view/Control/Button/Settings/ComboSetting.qml b/Linphone/view/Control/Button/Settings/ComboSetting.qml old mode 100644 new mode 100755 index 83926ea4..f3991ca1 --- a/Linphone/view/Control/Button/Settings/ComboSetting.qml +++ b/Linphone/view/Control/Button/Settings/ComboSetting.qml @@ -64,6 +64,9 @@ RowLayout { } else if (entry.value !== undefined) { // Simple entries (language, color): compare by value return entry.value === currentVal + } else if (entry.flag !== undefined && entry.text !== undefined) { + // DialPlan entries: compare by text (stored as full object) + return currentVal && entry.text === currentVal.text } return false }) @@ -84,6 +87,9 @@ RowLayout { } else if (entry.value !== undefined) { // Simple entries: compare by value binding.when = entry.value !== storedVal + } else if (entry.flag !== undefined && entry.text !== undefined) { + // DialPlan entries: compare by text + binding.when = !storedVal || entry.text !== storedVal.text } } Binding { @@ -98,6 +104,7 @@ RowLayout { if (typeof entry === 'string') return entry // QStringList if (entry.id !== undefined) return entry // Audio devices if (entry.value !== undefined) return entry.value // Simple entries + if (entry.flag !== undefined) return entry // DialPlan (return full object) return entry } when: false diff --git a/Linphone/view/Page/Layout/Settings/AccountSettingsGeneralLayout.qml b/Linphone/view/Page/Layout/Settings/AccountSettingsGeneralLayout.qml old mode 100644 new mode 100755 index 7e36fddd..6efa757b --- a/Linphone/view/Page/Layout/Settings/AccountSettingsGeneralLayout.qml +++ b/Linphone/view/Page/Layout/Settings/AccountSettingsGeneralLayout.qml @@ -21,14 +21,6 @@ AbstractSettingsLayout { //: Éditer les informations de votre compte. subTitle: qsTr("manage_account_details_subtitle"), contentComponent: accountParametersComponent - }, - { - visible: SettingsCpp.showAccountDevices, - //: "Vos appareils" - title: qsTr("manage_account_devices_title"), - //: "La liste des appareils connectés à votre compte. Vous pouvez retirer les appareils que vous n’utilisez plus." - subTitle: qsTr("manage_account_devices_subtitle"), - contentComponent: accountDevicesComponent } ]