From 18c583ee0b7548d5ea5d5ccd3085008d94620e5c Mon Sep 17 00:00:00 2001
From: Wuzzy <almikes@aol.com>
Date: Sun, 12 Oct 2014 19:50:33 +0200
Subject: [PATCH] Add tooltips to main menu subgames button bar

---
 builtin/fstk/buttonbar.lua            | 9 +++++----
 builtin/mainmenu/tab_singleplayer.lua | 3 ++-
 2 files changed, 7 insertions(+), 5 deletions(-)

diff --git a/builtin/fstk/buttonbar.lua b/builtin/fstk/buttonbar.lua
index 769bfb0be..9a9ec999b 100644
--- a/builtin/fstk/buttonbar.lua
+++ b/builtin/fstk/buttonbar.lua
@@ -57,10 +57,10 @@ local function buttonbar_formspec(self)
 		end
 			
 		formspec = formspec ..
-			string.format("image_button[%f,%f;%f,%f;%s;%s;%s;true;%s]",
+			string.format("image_button[%f,%f;%f,%f;%s;%s;%s;true;%s]tooltip[%s;%s]",
 					btn_pos.x, btn_pos.y, self.btn_size, self.btn_size,
 					self.buttons[i].image, btn_name, self.buttons[i].caption,
-					borders)
+					borders, btn_name, self.buttons[i].tooltip)
 		else
 			--print("end of displayable buttons: orientation: " .. self.orientation)
 			--print( "button_end: " .. (btn_pos.y + self.btn_size - (self.btn_size * 0.05)))
@@ -140,11 +140,12 @@ local buttonbar_metatable = {
 
 	delete = function(self) ui.delete(self) end,
 	
-	add_button = function(self, name, caption, image)
+	add_button = function(self, name, caption, image, tooltip)
 			if caption == nil then caption = "" end
 			if image == nil then image = "" end
+			if tooltip == nil then tooltip = "" end
 			
-			table.insert(self.buttons,{ name=name, caption=caption, image=image})
+			table.insert(self.buttons,{ name=name, caption=caption, image=image, tooltip=tooltip})
 			if self.orientation == "horizontal" then
 				if ( (self.btn_size * #self.buttons) + (self.btn_size * 0.05 *2)
 					> self.size.x ) then
diff --git a/builtin/mainmenu/tab_singleplayer.lua b/builtin/mainmenu/tab_singleplayer.lua
index 8c6ab91bb..1f96a85db 100644
--- a/builtin/mainmenu/tab_singleplayer.lua
+++ b/builtin/mainmenu/tab_singleplayer.lua
@@ -53,6 +53,7 @@ local function singleplayer_refresh_gamebar()
 		
 		local image = nil
 		local text = nil
+		local tooltip = core.formspec_escape(gamemgr.games[i].name)
 		
 		if gamemgr.games[i].menuicon_path ~= nil and
 			gamemgr.games[i].menuicon_path ~= "" then
@@ -69,7 +70,7 @@ local function singleplayer_refresh_gamebar()
 				text = text .. "\n" .. part3
 			end
 		end
-		btnbar:add_button(btn_name, text, image)
+		btnbar:add_button(btn_name, text, image, tooltip)
 	end
 end
 
-- 
GitLab