Quantcast

Raid marks mouseover

Darthpred [06-28-14 - 16:16]
Raid marks mouseover
Filename
ElvUI_SLE/config/profile.lua
ElvUI_SLE/modules/marks/marks.lua
ElvUI_SLE/modules/marks/options.lua
diff --git a/ElvUI_SLE/config/profile.lua b/ElvUI_SLE/config/profile.lua
index fd6dfa8..5e4b108 100755
--- a/ElvUI_SLE/config/profile.lua
+++ b/ElvUI_SLE/config/profile.lua
@@ -243,6 +243,7 @@ P['sle'] = {
 		['showinside'] = false,
 		['target'] = false,
 		['size'] = 18,
+		['mouseover'] = false,
 	},

 	['flares'] = {
diff --git a/ElvUI_SLE/modules/marks/marks.lua b/ElvUI_SLE/modules/marks/marks.lua
index 402c7c1..fa00ed5 100755
--- a/ElvUI_SLE/modules/marks/marks.lua
+++ b/ElvUI_SLE/modules/marks/marks.lua
@@ -5,6 +5,8 @@ local Mtemplate = "SecureActionButtonTemplate"
 local IsInInstance = IsInInstance
 local UnitExists = UnitExists
 local mark_menu, m1, m2, m3, m4, m5, m6, m7, m8, MarkB
+local UIFrameFadeIn = UIFrameFadeIn
+local UIFrameFadeOut = UIFrameFadeOut

 --Main frame
 function RM:CreateFrame()
@@ -118,10 +120,17 @@ function RM:UpdateVisibility()
 	if show then
 		E.FrameLocks['Mark_Menu'] = true
 		mark_menu:Show()
+		for i = 1, 8 do
+			MarkB[i]:Show()
+		end
 	else
 		E.FrameLocks['Mark_Menu'] = nil
 		mark_menu:Hide()
+		for i = 1, 8 do
+			MarkB[i]:Hide()
+		end
 	end
+	RM:Mouseover()
 end

 function RM:Target()
@@ -143,10 +152,30 @@ function RM:Backdrop()
 	end
 end

+function RM:Mouseover()
+	if not mark_menu then return end
+	local db = E.db.sle.marks
+	if db.mouseover then
+		mark_menu:SetScript("OnUpdate", function(self)
+			if MouseIsOver(self) then
+				UIFrameFadeIn(self, 0.2, self:GetAlpha(), 1)
+			else
+				UIFrameFadeOut(self, 0.2, self:GetAlpha(), 0)
+			end
+		end)
+	else
+		mark_menu:SetScript("OnUpdate", nil)
+		if mark_menu:IsShown() then
+			UIFrameFadeIn(mark_menu, 0.2, mark_menu:GetAlpha(), 1)
+		end
+	end
+end
+
 function RM:Update()
 	if not mark_menu then return end
 	RM:FrameButtonsSize()
 	RM:FrameButtonsGrowth()
+	RM:Target()
 	RM:UpdateVisibility()
 	RM:Backdrop()
 end
@@ -157,7 +186,6 @@ function RM:Initialize()
 	RM:Update()
 	RM:CreateButtons()
 	self:RegisterEvent("PLAYER_ENTERING_WORLD", "UpdateVisibility");
-	RM:Target()

 	E:CreateMover(mark_menu, "MarkMover", "RM", nil, nil, nil, "ALL,S&L,S&L MISC")
 end
diff --git a/ElvUI_SLE/modules/marks/options.lua b/ElvUI_SLE/modules/marks/options.lua
index e92d261..0a97a5b 100755
--- a/ElvUI_SLE/modules/marks/options.lua
+++ b/ElvUI_SLE/modules/marks/options.lua
@@ -71,8 +71,17 @@ E.Options.args.sle.args.options.args.marks = {
 					get = function(info) return E.db.sle.marks.target end,
 					set = function(info, value) E.db.sle.marks.target = value; RM:Target(); RM:UpdateVisibility() end
 				},
+				mouseover = {
+					order = 7,
+					type = "toggle",
+					name = L["Mouseover"],
+					desc = L["Show on mouse over."],
+					disabled = function() return not E.private.sle.marks.marks end,
+					get = function(info) return E.db.sle.marks.mouseover end,
+					set = function(info, value) E.db.sle.marks.mouseover = value; RM:UpdateVisibility() end --RM:Mouseover() end
+				},
 				size = {
-					order = 8,
+					order = 9,
 					type = "range",
 					name = L['Size'],
 					desc = L["Sets size of buttons"],
@@ -82,7 +91,7 @@ E.Options.args.sle.args.options.args.marks = {
 					set = function(info, value) E.db.sle.marks.size = value; RM:FrameButtonsGrowth(); RM:FrameButtonsSize() end,
 				},
 				growth = {
-					order = 9,
+					order = 10,
 					type = "select",
 					name = L["Direction"],
 					desc = L["Change the direction of buttons growth from the skull marker"],