]> git.lizzy.rs Git - minetest.git/commitdiff
MainMenu: Add clear button and icon for search input (#10363)
authorAndrey <AndreyT2203@gmail.com>
Sat, 19 Dec 2020 21:00:20 +0000 (00:00 +0300)
committerGitHub <noreply@github.com>
Sat, 19 Dec 2020 21:00:20 +0000 (22:00 +0100)
LICENSE.txt
builtin/mainmenu/dlg_contentstore.lua
builtin/mainmenu/tab_online.lua
textures/base/pack/clear.png [new file with mode: 0644]
textures/base/pack/search.png [new file with mode: 0644]

index f5c51833b22d04c22baf55aec1349c0e503c836e..9fbd237231c37973c1f7873a8c82c967b51aadc2 100644 (file)
@@ -23,6 +23,8 @@ paramat:
   textures/base/pack/menu_header.png
   textures/base/pack/next_icon.png
   textures/base/pack/prev_icon.png
+  textures/base/pack/clear.png
+  textures/base/pack/search.png
 
 rubenwardy, paramat:
   textures/base/pack/start_icon.png
index 6525f60137fc61b67c14aa80e28fea65e0afbe4f..7a96df2a59a9843f60342b0f62658f7a1661e421 100644 (file)
@@ -340,7 +340,6 @@ function store.get_formspec(dlgdata)
 
        local W = 15.75
        local H = 9.5
-
        local formspec
        if #store.packages_full > 0 then
                formspec = {
@@ -353,7 +352,8 @@ function store.get_formspec(dlgdata)
                        "container[0.375,0.375]",
                        "field[0,0;7.225,0.8;search_string;;", core.formspec_escape(search_string), "]",
                        "field_close_on_enter[search_string;false]",
-                       "button[7.225,0;2,0.8;search;", fgettext("Search"), "]",
+                       "image_button[7.3,0;0.8,0.8;", core.formspec_escape(defaulttexturedir .. "search.png"), ";search;]",
+                       "image_button[8.125,0;0.8,0.8;", core.formspec_escape(defaulttexturedir .. "clear.png"), ";clear;]",
                        "dropdown[9.6,0;2.4,0.8;type;", table.concat(filter_types_titles, ","), ";", filter_type, "]",
                        "container_end[]",
 
@@ -504,6 +504,13 @@ function store.handle_submit(this, fields)
                return true
        end
 
+       if fields.clear then
+               search_string = ""
+               cur_page = 1
+               store.filter_packages("")
+               return true
+       end
+
        if fields.back then
                this:delete()
                return true
index 7985fd84a02dc915ca49f9dbf528119880670c8a..8f1341161cd671baf79f53d0165044616c69566c 100644 (file)
@@ -34,7 +34,8 @@ local function get_formspec(tabview, name, tabdata)
        local retval =
                -- Search
                "field[0.15,0.075;5.91,1;te_search;;" .. core.formspec_escape(tabdata.search_for) .. "]" ..
-               "button[5.62,-0.25;1.5,1;btn_mp_search;" .. fgettext("Search") .. "]" ..
+               "image_button[5.63,-.165;.83,.83;" .. core.formspec_escape(defaulttexturedir .. "search.png") .. ";btn_mp_search;]" ..
+               "image_button[6.3,-.165;.83,.83;" .. core.formspec_escape(defaulttexturedir .. "clear.png") .. ";btn_mp_clear;]" ..
                "image_button[6.97,-.165;.83,.83;" .. core.formspec_escape(defaulttexturedir .. "refresh.png")
                        .. ";btn_mp_refresh;]" ..
 
@@ -243,6 +244,12 @@ local function main_button_handler(tabview, fields, name, tabdata)
                return true
        end
 
+       if fields.btn_mp_clear then
+               tabdata.search_for = ""
+               menudata.search_result = nil
+               return true
+       end
+
        if fields.btn_mp_search or fields.key_enter_field == "te_search" then
                tabdata.fav_selected = 1
                local input = fields.te_search:lower()
diff --git a/textures/base/pack/clear.png b/textures/base/pack/clear.png
new file mode 100644 (file)
index 0000000..9244264
Binary files /dev/null and b/textures/base/pack/clear.png differ
diff --git a/textures/base/pack/search.png b/textures/base/pack/search.png
new file mode 100644 (file)
index 0000000..aace804
Binary files /dev/null and b/textures/base/pack/search.png differ