diff --git a/frontend/apps/filemanager/filemanagersetdefaults.lua b/frontend/apps/filemanager/filemanagersetdefaults.lua index 531092cf3..cfdc12d76 100644 --- a/frontend/apps/filemanager/filemanagersetdefaults.lua +++ b/frontend/apps/filemanager/filemanagersetdefaults.lua @@ -14,7 +14,8 @@ local SetDefaults = InputContainer:new{ defaults_value = {}, results = {}, defaults_menu = {}, - already_read = false + already_read = false, + changed = {} } local function settype(b,t) @@ -111,6 +112,7 @@ function SetDefaults:init() end for i=1,#self.defaults_name do + self.changed[i] = false local settings_type = type(_G[self.defaults_name[i]]) if settings_type == "boolean" then table.insert(self.results, { @@ -134,10 +136,9 @@ function SetDefaults:init() enabled = true, callback = function() self.defaults_value[i] = true - if not _G[self.defaults_name[i]] then - _G[self.defaults_name[i]] = true - settings_changed = true - end + _G[self.defaults_name[i]] = true + settings_changed = true + self.changed[i] = true self.results[i].text = self:build_setting(i) self:close() self.defaults_menu:swithItemTable("Defaults", self.results, i) @@ -149,10 +150,9 @@ function SetDefaults:init() enabled = true, callback = function() self.defaults_value[i] = false - if _G[self.defaults_name[i]] then - _G[self.defaults_name[i]] = false - settings_changed = true - end + _G[self.defaults_name[i]] = false + settings_changed = true + self.changed[i] = true self.results[i].text = self:build_setting(i) self.defaults_menu:swithItemTable("Defaults", self.results, i) self:close() @@ -192,14 +192,13 @@ function SetDefaults:init() enabled = true, callback = function() if type(_G[self.defaults_name[i]]) == "table" then - settings_changed = true self.defaults_value[i] = self.set_dialog:getInputText() elseif _G[self.defaults_name[i]] ~= settype(self.set_dialog:getInputText(),settings_type) then _G[self.defaults_name[i]] = settype(self.set_dialog:getInputText(),settings_type) - settings_changed = true self.defaults_value[i] = _G[self.defaults_name[i]] end - + settings_changed = true + self.changed[i] = true self.results[i].text = self:build_setting(i) self:close() self.defaults_menu:swithItemTable("Defaults", self.results, i) @@ -315,10 +314,14 @@ function SetDefaults:SaveSettings() self.filldefaults() local done = {} + for j=1,#SetDefaults.defaults_name do + if not self.changed[j] then done[j] = true end + end + -- handle case "found in persistent", replace it for i = 1,#dpl do for j=1,#SetDefaults.defaults_name do - if string.find(dpl[i],SetDefaults.defaults_name[j] .. " ") == 1 then + if not done[j] and string.find(dpl[i],SetDefaults.defaults_name[j] .. " ") == 1 then dpl[i] = self:build_setting(j) done[j] = true end @@ -328,7 +331,7 @@ function SetDefaults:SaveSettings() -- handle case "exists identical in non-persistent", ignore it for i = 1,#dl do for j=1,#SetDefaults.defaults_name do - if dl[i]:gsub("1/4","0.25"):gsub("2/4","0.5"):gsub("3/4","0.75"):gsub("4/4","1"):gsub("1/8","0.125"):gsub("2/8","0.25"):gsub("3/8","0.375"):gsub("4/8","0.5"):gsub("5/8","0.625"):gsub("6/8","0.75"):gsub("7/8","0.875"):gsub("8/8","1"):gsub("1/16","0.0625"):gsub("15/16","0.9375"):gsub("1024[*]1024[*]10","10485760"):gsub("1024[*]1024[*]30","31457280"):gsub("[.]0$",""):gsub("([.][0-9]+)0","%1") == self:build_setting(j) then + if not done[j] and dl[i]:gsub("1/4","0.25"):gsub("2/4","0.5"):gsub("3/4","0.75"):gsub("4/4","1"):gsub("1/8","0.125"):gsub("2/8","0.25"):gsub("3/8","0.375"):gsub("4/8","0.5"):gsub("5/8","0.625"):gsub("6/8","0.75"):gsub("7/8","0.875"):gsub("8/8","1"):gsub("1/16","0.0625"):gsub("15/16","0.9375"):gsub("1024[*]1024[*]10","10485760"):gsub("1024[*]1024[*]30","31457280"):gsub("[.]0$",""):gsub("([.][0-9]+)0","%1") == self:build_setting(j) then done[j] = true end end diff --git a/frontend/ui/widget/virtualkeyboard.lua b/frontend/ui/widget/virtualkeyboard.lua index 617eedf12..f082e4a86 100644 --- a/frontend/ui/widget/virtualkeyboard.lua +++ b/frontend/ui/widget/virtualkeyboard.lua @@ -156,11 +156,11 @@ function VirtualKeyboard:init() }, { "Z", "z", "(", "$", "З", "з", "Щ", "щ", "Á", "á", "Ű", "ű", }, { "X", "x", ")", "€", "Х", "х", "№", "@", "É", "é", "Ø", "ø", }, - { "C", "c", "&", "¥", "Ц", "ц", "Џ", "џ", "Í", "í", "Þ", "þ", }, - { "V", "v", ":", "£", "В", "в", "Ў", "ў", "Ñ", "ñ", "Ý", "ý", }, - { "B", "b", "π", "‚", "Б", "б", "Ћ", "ћ", "Ó", "ó", "†", "‡", }, - { "N", "n", "е", "‘", "Н", "н", "Њ", "њ", "Ú", "ú", "–", "—", }, - { "M", "m", "~", "’", "М", "м", "Ї", "ї", "Ç", "ç", "…", "¨", }, + { "C", "c", "{", "¥", "Ц", "ц", "Џ", "џ", "Í", "í", "Þ", "þ", }, + { "V", "v", "}", "£", "В", "в", "Ў", "ў", "Ñ", "ñ", "Ý", "ý", }, + { "B", "b", "[", "‚", "Б", "б", "Ћ", "ћ", "Ó", "ó", "†", "‡", }, + { "N", "n", "]", "‘", "Н", "н", "Њ", "њ", "Ú", "ú", "–", "—", }, + { "M", "m", "&", "’", "М", "м", "Ї", "ї", "Ç", "ç", "…", "¨", }, { label = "Backspace", icon = "resources/icons/appbar.clear.reflect.horizontal.png", width = 1.5