From 657a3d1e0527a12a6e22e1f7eda0f5271cbeb917 Mon Sep 17 00:00:00 2001 From: ClobberXD Date: Tue, 13 Nov 2018 07:56:59 +0530 Subject: [PATCH] dlg_contentstore.lua: Various fixes and improvements (#7612) Add missing 'core.formspec_escape' to 'get_screenshot'. Add warning label when no packages fetched. Internal name of the "Update" button was the same as "Install". Rename to 'update_'. --- builtin/mainmenu/dlg_contentstore.lua | 42 ++++++++++++++++----------- 1 file changed, 25 insertions(+), 17 deletions(-) diff --git a/builtin/mainmenu/dlg_contentstore.lua b/builtin/mainmenu/dlg_contentstore.lua index 34bf61578..c5b4731b8 100644 --- a/builtin/mainmenu/dlg_contentstore.lua +++ b/builtin/mainmenu/dlg_contentstore.lua @@ -356,21 +356,29 @@ function store.get_formspec() cur_page = 1 end - local formspec = { - "size[12,7;true]", - "position[0.5,0.55]", - "field[0.2,0.1;7.8,1;search_string;;", core.formspec_escape(search_string), "]", - "field_close_on_enter[search_string;false]", - "button[7.7,-0.2;2,1;search;", fgettext("Search"), "]", - "dropdown[9.7,-0.1;2.4;type;", - table.concat(filter_types_titles, ","), - ";", - filter_type, - "]", - -- "textlist[0,1;2.4,5.6;a;", - -- table.concat(taglist, ","), - -- "]" - } + local formspec + if #store.packages ~= 0 then + formspec = { + "size[12,7;true]", + "position[0.5,0.55]", + "field[0.2,0.1;7.8,1;search_string;;", + core.formspec_escape(search_string), "]", + "field_close_on_enter[search_string;false]", + "button[7.7,-0.2;2,1;search;", + fgettext("Search"), "]", + "dropdown[9.7,-0.1;2.4;type;", + table.concat(filter_types_titles, ","), + ";", filter_type, "]", + -- "textlist[0,1;2.4,5.6;a;", + -- table.concat(taglist, ","), "]", + } + else + formspec = { + "size[12,7;true]", + "position[0.5,0.55]", + "label[4,3;No packages could be retrieved]", + } + end local start_idx = (cur_page - 1) * num_per_page + 1 for i=start_idx, math.min(#store.packages, start_idx+num_per_page-1) do @@ -381,7 +389,7 @@ function store.get_formspec() -- image formspec[#formspec + 1] = "image[-0.4,0;1.5,1;" - formspec[#formspec + 1] = get_screenshot(package) + formspec[#formspec + 1] = core.formspec_escape(get_screenshot(package)) formspec[#formspec + 1] = "]" -- title @@ -404,7 +412,7 @@ function store.get_formspec() formspec[#formspec + 1] = fgettext("Install") formspec[#formspec + 1] = "]" elseif package.installed_release < package.release then - formspec[#formspec + 1] = "button[8.4,0;1.5,1;install_" + formspec[#formspec + 1] = "button[8.4,0;1.5,1;update_" formspec[#formspec + 1] = tostring(i) formspec[#formspec + 1] = ";" formspec[#formspec + 1] = fgettext("Update")