Quantcast

Some Minimap changes for azil to test

Repooc [03-01-14 - 00:33]
Some Minimap changes for azil to test
Filename
ElvUI_SLE/modules/minimap/minimapicons.lua
diff --git a/ElvUI_SLE/modules/minimap/minimapicons.lua b/ElvUI_SLE/modules/minimap/minimapicons.lua
index f2ad0d1..ba5535b 100755
--- a/ElvUI_SLE/modules/minimap/minimapicons.lua
+++ b/ElvUI_SLE/modules/minimap/minimapicons.lua
@@ -5,6 +5,7 @@ local AddOnName, NS = ...
 local strsub, strlen, strfind, ceil = strsub, strlen, strfind, ceil
 local tinsert, pairs, unpack = tinsert, pairs, unpack

+local SkinnedMinimapButtons = {}
 local BorderColor
 local TexCoords = { 0.1, 0.9, 0.1, 0.9 }

@@ -19,8 +20,10 @@ if E.db.sle.minimap.mapicons.iconmouseover == nil then E.db.sle.minimap.mapicons
 if E.db.sle.minimap.mapicons.iconsize == nil then E.db.sle.minimap.mapicons.iconsize = 27 end
 if E.db.sle.minimap.mapicons.iconperrow == nil then E.db.sle.minimap.mapicons.iconperrow = 12 end
 if E.db.sle.minimap.mapicons.skindungeon == nil then E.db.sle.minimap.mapicons.skindungeon = false end
+if E.db.sle.minimap.mapicons.skinmail == nil then E.db.sle.minimap.mapicons.skinmail = false end

 QueueStatusMinimapButton:SetParent(Minimap)
+--MiniMapTrackingButton:SetParent(Minimap)

 local function OnEnter(self)
 	UIFrameFadeIn(SquareMinimapButtonBar, 0.2, SquareMinimapButtonBar:GetAlpha(), 1)
@@ -46,7 +49,6 @@ function SMB:ChangeMouseOverSetting()
 	end
 end

-local SkinnedMinimapButtons = {}

 local ignoreButtons = {
 	'AsphyxiaUIMinimapHelpButton',
@@ -93,13 +95,14 @@ local AcceptedFrames = {
 local AddButtonsToBar = {
 	'SmartBuff_MiniMapButton',
 	'QueueStatusMinimapButton',
+	'MiniMapMailFrame',
 }

 local function SkinButton(Button)
 	if not Button.isSkinned then
 		local Name = Button:GetName()

-		if Button:GetObjectType() == 'Button' then
+		if Button:IsObjectType('Button') then
 			local ValidIcon = false

 			for i = 1, #WhiteList do
@@ -136,12 +139,17 @@ local function SkinButton(Button)
 					if Name == 'BagSync_MinimapButton' then Region:SetTexture('Interface\\AddOns\\BagSync\\media\\icon') end
 					if Name == 'DBMMinimapButton' then Region:SetTexture('Interface\\Icons\\INV_Helmet_87') end
 					if Name == 'SmartBuff_MiniMapButton' then Region:SetTexture(select(3, GetSpellInfo(12051))) end
-					Region:ClearAllPoints()
-					Region:SetInside()
-					Region:SetTexCoord(unpack(TexCoords))
+					if not Name == 'MiniMapMailFrame' then
+						Region:ClearAllPoints()
+						Region:SetInside()
+						Region:SetTexCoord(unpack(TexCoords))
+						Button:HookScript('OnLeave', function(self) Region:SetTexCoord(unpack(TexCoords)) end)
+					else
+						Region:ClearAllPoints()
+						Region:SetPoint('CENTER', Button)
+					end
 					Region:SetDrawLayer('ARTWORK')
 					Region.SetPoint = function() return end
-					Button:HookScript('OnLeave', function(self) Region:SetTexCoord(unpack(TexCoords)) end)
 				end
 			end
 		end
@@ -160,8 +168,8 @@ local function SkinButton(Button)
 			QueueStatusMinimapButton:HookScript('OnUpdate', function(self)
 				QueueStatusMinimapButtonIcon:SetFrameLevel(QueueStatusMinimapButton:GetFrameLevel() + 1)
 			end)
-			local Frame = CreateFrame('Frame', nil, SquareMinimapButtonBar)
-			Frame:Hide()
+			local Frame = CreateFrame('Frame', QueueDummyFrame, SquareMinimapButtonBar)
+			--Frame:Hide()
 			Frame:SetTemplate()
 			Frame.Icon = Frame:CreateTexture(nil, 'ARTWORK')
 			Frame.Icon:SetInside()
@@ -202,6 +210,26 @@ local function SkinButton(Button)
 				self:SetFrameLevel(QueueStatusMinimapButton:GetFrameLevel())
 				self:SetPoint(QueueStatusMinimapButton:GetPoint())
 			end)
+		elseif Name == 'MiniMapMailFrame' then
+			local Frame = CreateFrame('Frame', 'MailDummyFrame', SquareMinimapButtonBar)
+			Frame:Size(E.db.sle.minimap.mapicons.iconsize)
+			Frame:SetTemplate()
+			Frame.Icon = Frame:CreateTexture(nil, 'ARTWORK')
+			Frame.Icon:SetPoint('CENTER')
+			Frame.Icon:Size(18)
+			Frame.Icon:SetTexture(MiniMapMailIcon:GetTexture())
+			Frame:SetScript('OnEnter', OnEnter)
+			Frame:SetScript('OnLeave', OnLeave)
+			Frame:SetScript('OnShow', function(self) self:SetPoint(MiniMapMailFrame:GetPoint()) end)
+			Frame:SetScript('OnUpdate', function(self)
+				if E.db.sle.minimap.mapicons.skinmail then
+					self:Show()
+				else
+					self:Hide()
+				end
+			end)
+			MiniMapMailFrame:HookScript('OnShow', function(self) MiniMapMailIcon:SetVertexColor(0, 1, 0) end)
+			MiniMapMailFrame:HookScript('OnHide', function(self) MiniMapMailIcon:SetVertexColor(1, 1, 1) end)
 		else
 			Button:SetTemplate()
 			Button:SetBackdropColor(0, 0, 0, 0)
@@ -218,11 +246,11 @@ SquareMinimapButtonBar:RegisterEvent('PLAYER_ENTERING_WORLD')
 SquareMinimapButtonBar.Skin = function()
 	for i = 1, Minimap:GetNumChildren() do
 		local object = select(i, Minimap:GetChildren())
-		if object:GetObjectType() == 'Button' and object:GetName() then
+		if object:IsObjectType('Button') and object:GetName() then
 			SkinButton(object)
 		end
 		for _, frame in pairs(AcceptedFrames) do
-			if object:GetName() == frame then
+			if object:IsObjectType('Frame') and object:GetName() == frame then
 				SkinButton(object)
 			end
 		end
@@ -255,6 +283,9 @@ function SMB:Update(self)
 				if not E.db.sle.minimap.mapicons.skindungeon and Frame:GetName() == 'QueueStatusMinimapButton' then
 					Exception = false
 				end
+				if not E.db.sle.minimap.mapicons.skinmail and Frame:GetName() == 'MiniMapMailFrame' then
+					Exception = false
+				end
 			end
 		end
 		if Frame:IsVisible() or Exception then
@@ -281,15 +312,15 @@ function SMB:Update(self)
 			Frame:SetScript('OnDragStop', function(self) self:GetParent():StopMovingOrSizing() end)
 			Frame:HookScript('OnEnter', OnEnter)
 			Frame:HookScript('OnLeave', OnLeave)
-		end
-	end

-	if Maxed then ActualButtons = ButtonsPerRow end
+			if Maxed then ActualButtons = ButtonsPerRow end

-	local BarWidth = (Spacing + ((Size * (ActualButtons * Mult)) + ((Spacing * (ActualButtons - 1)) * Mult) + (Spacing * Mult)))
-	local BarHeight = (Spacing + ((Size * (AnchorY * Mult)) + ((Spacing * (AnchorY - 1)) * Mult) + (Spacing * Mult)))
+			local BarWidth = (Spacing + ((Size * (ActualButtons * Mult)) + ((Spacing * (ActualButtons - 1)) * Mult) + (Spacing * Mult)))
+			local BarHeight = (Spacing + ((Size * (AnchorY * Mult)) + ((Spacing * (AnchorY - 1)) * Mult) + (Spacing * Mult)))

-	self:SetSize(BarWidth, BarHeight)
+			self:SetSize(BarWidth, BarHeight)
+		end
+	end
 	self:Show()
 end