diff --git a/Locales/ja.qm b/Locales/ja.qm index b2e8e7c..4d94940 100644 Binary files a/Locales/ja.qm and b/Locales/ja.qm differ diff --git a/Locales/zh.qm b/Locales/zh.qm index 44a7983..751b0f0 100644 Binary files a/Locales/zh.qm and b/Locales/zh.qm differ diff --git a/Locales/zh_TW.qm b/Locales/zh_TW.qm index 70e39f2..f43bac1 100644 Binary files a/Locales/zh_TW.qm and b/Locales/zh_TW.qm differ diff --git a/qml/Common.qml b/qml/Common.qml index d7d5587..326c519 100644 --- a/qml/Common.qml +++ b/qml/Common.qml @@ -123,6 +123,20 @@ Item { return objClone; } + //支持二级嵌套对象的更新操作 + function updateObject(targetObj, sourceObj) { + for (let prop in sourceObj) { + if (sourceObj.hasOwnProperty(prop) && sourceObj[prop] !== undefined) { + if (typeof sourceObj[prop] === 'object') { + Object.assign(targetObj[prop], sourceObj[prop]); + } else { + targetObj[prop] = sourceObj[prop]; + } + } + } + return targetObj; + } + function isObjectValueEqual(a, b) { if (a === b) return true; @@ -175,6 +189,9 @@ Item { onRebootFlagChanged: { rebootServer(); + if (rebootFlag && debug) { + NVG.SystemCall.execute("explorer", NVG.Url.toLocalFile(Qt.resolvedUrl("../bin/ADV_Log.log")).replace(/\//g, '\\')); + } } function parse_resource(resource_list, sort) { @@ -211,7 +228,7 @@ Item { if (ini_data) { ini_data = ini_data.toLowerCase(); let cfg = parseINIString(ini_data); - serverCFG = Object.assign(defaultServerCFG, cfg); + serverCFG = Object.assign(deepClone(defaultServerCFG), cfg); } else { let ini_text = convertINIString(defaultServerCFG); writeFile(iniFile, ini_text); diff --git a/qml/Main.qml b/qml/Main.qml index e347a57..a55db76 100644 --- a/qml/Main.qml +++ b/qml/Main.qml @@ -41,7 +41,7 @@ T.Widget { widget.settings[widget.settings.current_style] = defaultValues; }else if(widget.settings[widget.settings.current_style]["Version"] !== defaultValues["Version"]) { delete widget.settings[widget.settings.current_style]["Version"]; - widget.settings[widget.settings.current_style] = Object.assign(defaultValues, widget.settings[widget.settings.current_style]); + widget.settings[widget.settings.current_style] = Common.updateObject(Common.deepClone(defaultValues), widget.settings[widget.settings.current_style]); } } } diff --git a/qml/ServerPreferences.qml b/qml/ServerPreferences.qml index e7e581d..fe1932c 100644 --- a/qml/ServerPreferences.qml +++ b/qml/ServerPreferences.qml @@ -141,21 +141,23 @@ NVG.Window { P.SpinPreference { name: "attack" - label: qsTr("Increase Speed") + label: qsTr("Increase Factor") + message: qsTr("The larger the value, the slower the data increase.") display: P.TextFieldPreference.ExpandLabel editable: true from: 1 - to: 200 + to: 20000 defaultValue: Common.defaultServerCFG["fft"]["attack"] } P.SpinPreference { name: "decay" - label: qsTr("Reduction Speed") + label: qsTr("Reduction Factor") + message: qsTr("The larger the value, the slower the data reduction.") display: P.TextFieldPreference.ExpandLabel editable: true from: 1 - to: 200 + to: 20000 defaultValue: Common.defaultServerCFG["fft"]["decay"] } diff --git a/readme.md b/readme.md index b1050b1..ac9a2ec 100644 --- a/readme.md +++ b/readme.md @@ -1,5 +1,5 @@