diff --git a/builtin/fstk/tabview.lua b/builtin/fstk/tabview.lua index 13a96abffa..aa4cfc2afd 100644 --- a/builtin/fstk/tabview.lua +++ b/builtin/fstk/tabview.lua @@ -222,10 +222,18 @@ local function set_tab_by_name(self, name) end -------------------------------------------------------------------------------- -local function hide_tabview(self) +local function hide_tabview(self, hide_header) self.hidden=true + self.hide_header = hide_header - --call on_change as we're not gonna show self tab any longer + if hide_header == nil then hide_header = true end + + -- hide the menu header image as well + if hide_header and mm_game_theme and mm_game_theme.clear_single then + mm_game_theme.clear_single("header") + end + + -- call on_change as we're not gonna show self tab any longer if self.tablist[self.last_tab_index].on_change ~= nil then self.tablist[self.last_tab_index].on_change("LEAVE", self.current_tab, nil) @@ -289,6 +297,7 @@ function tabview_create(name, size, tabheaderpos) self.tablist = {} self.autosave_tab = false + self.hide_header = false ui.add(self) return self diff --git a/builtin/mainmenu/game_theme.lua b/builtin/mainmenu/game_theme.lua index 7291100255..1a3d29c56b 100644 --- a/builtin/mainmenu/game_theme.lua +++ b/builtin/mainmenu/game_theme.lua @@ -51,6 +51,8 @@ function mm_game_theme.set_game(gamedetails) assert(gamedetails ~= nil) if mm_game_theme.gameid == gamedetails.id then + -- still restore header in case it was cleared + mm_game_theme.set_game_single("header", gamedetails) return end mm_game_theme.gameid = gamedetails.id diff --git a/builtin/mainmenu/tab_local.lua b/builtin/mainmenu/tab_local.lua index 2953c3a50a..894cf198ac 100644 --- a/builtin/mainmenu/tab_local.lua +++ b/builtin/mainmenu/tab_local.lua @@ -402,7 +402,7 @@ local function main_button_handler(this, fields, name, tabdata) this.dlg_create_world_closed_at = 0 local create_world_dlg = create_create_world_dlg() create_world_dlg:set_parent(this) - this:hide() + this:hide(false) create_world_dlg:show() return true end @@ -418,7 +418,7 @@ local function main_button_handler(this, fields, name, tabdata) local index = menudata.worldlist:get_raw_index(selected) local delete_world_dlg = create_delete_world_dlg(world.name,index) delete_world_dlg:set_parent(this) - this:hide() + this:hide(false) delete_world_dlg:show() end end @@ -435,7 +435,7 @@ local function main_button_handler(this, fields, name, tabdata) if (configdialog ~= nil) then configdialog:set_parent(this) - this:hide() + this:hide(false) configdialog:show() end end