diff --git a/Common/SettingsData.qml b/Common/SettingsData.qml index 5ea9476a..b5aa08ae 100644 --- a/Common/SettingsData.qml +++ b/Common/SettingsData.qml @@ -803,10 +803,12 @@ rm -rf '${home}'/.cache/icon-cache '${home}'/.cache/thumbnails 2>/dev/null || tr } function setPluginSetting(pluginId, key, value) { - if (!pluginSettings[pluginId]) { - pluginSettings[pluginId] = {} + const updated = JSON.parse(JSON.stringify(pluginSettings)) + if (!updated[pluginId]) { + updated[pluginId] = {} } - pluginSettings[pluginId][key] = value + updated[pluginId][key] = value + pluginSettings = updated savePluginSettings() } @@ -818,7 +820,8 @@ rm -rf '${home}'/.cache/icon-cache '${home}'/.cache/thumbnails 2>/dev/null || tr } function getPluginSettingsForPlugin(pluginId) { - return pluginSettings[pluginId] || {} + const settings = pluginSettings[pluginId] + return settings ? JSON.parse(JSON.stringify(settings)) : {} } diff --git a/Modules/Plugins/StringSetting.qml b/Modules/Plugins/StringSetting.qml index c2c7e906..16041ba7 100644 --- a/Modules/Plugins/StringSetting.qml +++ b/Modules/Plugins/StringSetting.qml @@ -27,6 +27,10 @@ Column { } } + Component.onCompleted: { + Qt.callLater(loadValue) + } + onValueChanged: { if (!isInitialized) return const settings = findSettings() diff --git a/Modules/Plugins/ToggleSetting.qml b/Modules/Plugins/ToggleSetting.qml index e0f2e412..3a6eae5f 100644 --- a/Modules/Plugins/ToggleSetting.qml +++ b/Modules/Plugins/ToggleSetting.qml @@ -26,7 +26,7 @@ Row { } Component.onCompleted: { - loadValue() + Qt.callLater(loadValue) } onValueChanged: {