Mouseover in Char Mode only

His Dad [08-14-18 - 05:24]
Mouseover in Char Mode only

Signed-off-by: His Dad <John@hisdad.org>
Filename
Doc/Changelog.txt
HistOffline.lua
data/Public.lua
data/de/de.lua
data/en/en.lua
data/fr/fr.lua
data/utility.lua
diff --git a/Doc/Changelog.txt b/Doc/Changelog.txt
index f2efb0d..34b4b7b 100644
--- a/Doc/Changelog.txt
+++ b/Doc/Changelog.txt
@@ -1,3 +1,6 @@
+2018-08-08 version 51
+	Removed the Mouseover from Dungeon Mode (didn't work anyway)
+
 2018-08-08 version 50
 	The Toggle to hide characters that have completed all dungeons (Dungeon Mode) would crash the program if you had no vet characters.

diff --git a/HistOffline.lua b/HistOffline.lua
index 18968a4..b143644 100644
--- a/HistOffline.lua
+++ b/HistOffline.lua
@@ -16,7 +16,7 @@ local dname, key, count, ccount, colour, bgcolour
 --force_lang = "fr"  --	or "de" or "en"  for debugging

 -- ========================
-version= "50"
+version= "51"
 require( "iuplua" )
 require( "iupluacontrols" )
 iup.SetGlobal("UTF8MODE","YES")
@@ -62,7 +62,7 @@ for _,i in ipairs(Trials_Order) do
 	Trials_Dat[i].reverse_id = reverse_id(Trials_Dat[i].id)
 end

-Pub_Dat.reverse_id = reverse_id(Pub_Dat.id)
+Pub_Dat_Char.reverse_id = reverse_id(Pub_Dat_Char.id)
 DLC_Dat.reverse_id = reverse_id(DLC_Dat.id)

 lingua= {}		-- Translated data
@@ -214,6 +214,8 @@ for acc,_ in pairs(History_SV["Default"]) do
 			me.world = thischar.world		-- server
 		end

+		-- a quick link to my Achievements
+		me.Ach = thischar.Ach
 	end

 	table.sort(accounts[acc].playerIDs,function(a,b)  return (playerNames[a] < playerNames[b]) end)
@@ -387,8 +389,8 @@ end

 -- Mouseover
 	dung.Grp[i].box.dat = Grp_Dat[i]
-	dung.Grp[i].box.mousemove_cb = box_mousemove_cb
-	dung.Grp[i].box.leavewindow_cb = box_leavewindow_cb
+--	dung.Grp[i].box.mousemove_cb = box_mousemove_cb
+--	dung.Grp[i].box.leavewindow_cb = box_leavewindow_cb

 	--set lines Heading
 	dung.Grp[i].box:setcell(0,0, L.Location)
@@ -437,9 +439,8 @@ end
 							dung.Trials[i].box,
 							iup.fill{},
 						}
-
 		dung.Trials[i].box.dat = Trials_Dat[i]
-		dung.Trials[i].box.mousemove_cb = box_mousemove_cb
+	--	dung.Trials[i].box.mousemove_cb = box_mousemove_cb
 		dung.Trials[i].box.leavewindow_cb = box_leavewindow_cb


@@ -470,7 +471,7 @@ end



---  for _,i in ipairs(Pub_Dat.key) do
+--  for _,i in ipairs(Pub_Dat_Char.key) do
 --	  dung.pub.key[i] = {}
 --  end

@@ -531,6 +532,7 @@ end
 			me.Grp[i].box = iup.matrix {numcol=4, numcol_visible=4,  numlin=Grp_Dat[i].lines, widthdef=100}
 			iup.SetAttribute(me.Grp[i].box, "READONLY", "YES")

+			me.Grp[i].box.ach = thischar.ach		-- Put the Achievements here so the mouseover can get the users details
 			me.Grp[i].box.dat = Grp_Dat[i]		-- for mouseover
 			me.Grp[i].box.mousemove_cb = box_mousemove_cb
 			me.Grp[i].box.leavewindow_cb = box_leavewindow_cb
@@ -599,7 +601,8 @@ end
 			me.Trials[i] = {}						-- Dungeon data storage
 			me.Trials[i].vet = Trials_Dat[i].vet
 			me.Trials[i].box = iup.matrix {numcol=1, numcol_visible=1, numlin=_size(Trials_Dat[i].id), widthdef=120}
-			iup.SetAttribute(me.Trials[i].box, "READONLY", "YES")
+
+			me.Trials[i].box.ach = thischar.ach		-- Put the Achievements here so the mouseover can get the users details
 			me.Trials[i].box.dat = Trials_Dat[i]		-- for mouseover
 			me.Trials[i].box.mousemove_cb = box_mousemove_cb
 			me.Trials[i].box.leavewindow_cb = box_leavewindow_cb
@@ -639,7 +642,7 @@ end
 		-- Create Pub Dungeon Achievements Box==========================
 		me.Pub_box = iup.matrix {numcol=4, numcol_visible=4,  numlin=5, widthdef=100}
 		iup.SetAttribute(me.Pub_box, "READONLY", "YES")
-		me.Pub_box.dat = Pub_Dat
+		me.Pub_box.dat = Pub_Dat_Char
 		me.Pub_box.mousemove_cb = box_mousemove_cb
 		me.Pub_box.leavewindow_cb = box_leavewindow_cb

@@ -649,12 +652,12 @@ end

 		iup.SetAttribute(me.Pub_box,  "BGCOLOR" , BG_Colour_Not_Complete)

-		for id,_ in pairs (Pub_Dat.id) do
-			local bgcolour = "BGCOLOR" .. Pub_Dat.id[id].L .. ":" .. Pub_Dat.id[id].C
+		for id,_ in pairs (Pub_Dat_Char.id) do
+			local bgcolour = "BGCOLOR" .. Pub_Dat_Char.id[id].L .. ":" .. Pub_Dat_Char.id[id].C
 			if thischar.ach[id] ~= nil then
 				iup.SetAttribute(me.Pub_box, bgcolour, BG_Colour_Complete)
 				-- Add char to dungeon
-				local key = tostring(Pub_Dat.id[id].L .. Pub_Dat.id[id].C)
+				local key = tostring(Pub_Dat_Char.id[id].L .. Pub_Dat_Char.id[id].C)
 				if dung.pub.key[key] == nil then	-- Add if needed
 					dung.pub.key[key]  = {}
 				end
@@ -676,7 +679,7 @@ end
 				iup.SetAttribute(me.Pub_box,  "BGCOLOR0:3", Colour_Heading_Complete)
 		end

-		for id,dat in pairs (Pub_Dat.id) do  -- Load text
+		for id,dat in pairs (Pub_Dat_Char.id) do  -- Load text
 				local key = tostring(tostring(dat.L) .. tostring(dat.C))	-- make name key
 				local dname = pub_names[key]
 					if dname == nil then
@@ -1157,13 +1160,14 @@ iup.Append(accounts[acc].char_tabs, accounts[acc].log_tab)

 	-- Create Pub Dungeon Character Box=========================

-	dung.pub.box = iup.matrix {numcol=#accounts[acc].playerIDs,  numlin=#Pub_Dat.key, widthdef=100}
-	dung.pub.box.dat = Pub_Dat
-	dung.pub.box.mousemove_cb = box_mousemove_cb
+	dung.pub.box = iup.matrix {numcol=#accounts[acc].playerIDs,  numlin=#Pub_Dat_Char.key, widthdef=100}
+
+		dung.pub.box.dat = Pub_Dat_Char
+--	dung.pub.box.mousemove_cb = box_mousemove_cb
 	dung.pub.box.leavewindow_cb = box_leavewindow_cb

 	--Set Line titles
-	for line,key in ipairs(Pub_Dat.key) do
+	for line,key in ipairs(Pub_Dat_Char.key) do
 		dung.pub.box:setcell(line, 0, pub_names[key])
 	end
 	--set lines
@@ -1178,7 +1182,7 @@ iup.Append(accounts[acc].char_tabs, accounts[acc].log_tab)

 	-- Populate with character data ============================
 	-- print ("Populating Pub")
-	populate(dung.pub,Pub_Dat.key)
+	populate(dung.pub,Pub_Dat_Char.key)

 	-- Create Pub Dungeon Tab ==================================

@@ -1204,7 +1208,7 @@ iup.Append(accounts[acc].char_tabs, accounts[acc].log_tab)
 	dung.DLC.box = iup.matrix {numcol=#accounts[acc].playerIDs ,  numlin=#DLC2key, widthdef=100}

 	dung.DLC.box.dat = DLC_Dat
-	dung.DLC.box.mousemove_cb = box_mousemove_cb
+--	dung.DLC.box.mousemove_cb = box_mousemove_cb
 	dung.DLC.box.leavewindow_cb = box_leavewindow_cb

 	--Set Line titles
@@ -1232,7 +1236,7 @@ iup.Append(accounts[acc].char_tabs, accounts[acc].log_tab)
 	iup.Append(accounts[acc].dung_tabs, dung.DLC.tab)


--- Commented out becase we expect all dung to be populated
+-- Commented out because we expect all dung to be populated
 -- if #accounts[acc].playerIDs_vet > 0  then  -- skip vet and trials if no eligible chars

 		-- Create Trials  Tab ============================================
diff --git a/data/Public.lua b/data/Public.lua
index ba59492..72bc6d8 100644
--- a/data/Public.lua
+++ b/data/Public.lua
@@ -1,7 +1,9 @@

 -- key is Achievement ID, L,C are Line Column in Grid
-Pub_Dat= {}
-Pub_Dat.id = {
+
+--For char Mode
+Pub_Dat_Char= {}
+Pub_Dat_Char.id = {
 [368]= {L=1, C=1 },		-- Crows Wood
 [370]= {L=2, C=1 },		-- Forgotten Crypts Conqueror",
 [300]= {L=3, C=1 },		-- Sanguine's Demesne Conqueror",
@@ -29,7 +31,7 @@ Pub_Dat.id = {
 [2093] = {L=5, C=4},	-- "Sunhold Conqueror""Defeat all of the champions in Sunhold.",

 }
-Pub_Dat.vet = false
-Pub_Dat.key=pubtokey	-- from keys.lua file
-Pub_Dat.name="Pub_Dat"
+Pub_Dat_Char.vet = false
+Pub_Dat_Char.key=pubtokey	-- from keys.lua file
+Pub_Dat_Char.name="Pub_Dat_Char"

diff --git a/data/de/de.lua b/data/de/de.lua
index 9a59e42..05aebaa 100644
--- a/data/de/de.lua
+++ b/data/de/de.lua
@@ -109,6 +109,7 @@ L = {
 		NoLabel = "N",
 		Version = "Version",
 		View_Toggle = "verberge Abgeschlossene",
+		Completed = "Completed on: ",		-- Mouseover achievement detail
 }
 L.Grp_TabName["1N"] = "Mode 1N"
 L.Grp_TabName["1V"] = "Mode 1V"
diff --git a/data/en/en.lua b/data/en/en.lua
index 0c42393..a5833be 100644
--- a/data/en/en.lua
+++ b/data/en/en.lua
@@ -107,6 +107,7 @@ Area_names = {
 		NoLabel = "N",
 		Version = "Version",
 		View_Toggle = "Hide Complete",
+		Completed = "Completed on: ",		-- Mouseover achievement detail
 	}
 L.Grp_TabName["1N"] = "Mode 1N"
 L.Grp_TabName["1V"] = "Mode 1V"
diff --git a/data/fr/fr.lua b/data/fr/fr.lua
index 42e92f2..acc1bb9 100644
--- a/data/fr/fr.lua
+++ b/data/fr/fr.lua
@@ -109,6 +109,7 @@ Area_names = {
 		NoLabel = "N",
 		Version = "Version",
 		View_Toggle = "Hide Complete",
+		Completed = "Completed on: ",		-- Mouseover achievement detail
 	}
 L.Grp_TabName["1N"] = "Mode 1N"
 L.Grp_TabName["1V"] = "Mode 1V"
diff --git a/data/utility.lua b/data/utility.lua
index a830706..a9b3fbd 100644
--- a/data/utility.lua
+++ b/data/utility.lua
@@ -86,7 +86,7 @@ blank_detail = function()
 			detail_desc.title = ""
 end

-box_mousemove_cb = 	function (self, l, c)
+box_mousemove_cb = 	function (self, l, c)	-- For Char Mode Only
 -- we have previously added .dat to the box
 		if self.dat == nil then
 			detail_name.title = "box.dat is nil"
@@ -104,7 +104,7 @@ box_mousemove_cb = 	function (self, l, c)

 		if ach == nil then
 			blank_detail()
-		-- detail_name.title = "No reverse lookup on " .. key	-- Normal on Group 2 and Pub panel with enpty spaces
+		    detail_name.title = "No reverse lookup on " .. key	-- Normal on Group 2 and Pub panel with empty spaces
 			return
 		end

@@ -112,7 +112,12 @@ box_mousemove_cb = 	function (self, l, c)
 			detail_name.title = "No Achievement for " .. ach
 			return
 		end
-		detail_name.title = "(" .. ach .. ")  " .. Ach_Detail[ach].name
+		if (self.ach ~= nil and self.ach[ach] ~= nil) then  -- completed (not on dungeon modes) This Mouseover shouldn't be on Dungeon Modes
+
+			detail_name.title = "(ID: " .. ach .. ")  "  .. L.Completed .. os.date(dateformat,self.ach[ach].time) .. "   " .. Ach_Detail[ach].name
+		else
+			detail_name.title = "(ID: " .. ach .. ")  "  ..  Ach_Detail[ach].name
+		end
 		detail_desc.title = Ach_Detail[ach].description

 	end