From 10a53c77826cae44ed9f4bd347db5490532b3419 Mon Sep 17 00:00:00 2001 From: Cruzix Date: Mon, 16 Jan 2017 18:24:33 +0100 Subject: [PATCH] minimap: option to show zone text on mouseover --- modules/config.lua | 1 + modules/gui.lua | 3 +++ modules/minimap.lua | 51 ++++++++++++++++++++++++++++++++++----------- 3 files changed, 43 insertions(+), 12 deletions(-) diff --git a/modules/config.lua b/modules/config.lua index b8990bc5..c0d25ea4 100644 --- a/modules/config.lua +++ b/modules/config.lua @@ -39,6 +39,7 @@ function pfUI:LoadConfig() pfUI:UpdateConfig("appearance", "infight", "group", "0") pfUI:UpdateConfig("appearance", "bags", "borderlimit", "1") pfUI:UpdateConfig("appearance", "bags", "borderonlygear", "0") + pfUI:UpdateConfig("appearance", "minimap", "mouseoverzone", "0") pfUI:UpdateConfig("unitframes", nil, "disable", "0") pfUI:UpdateConfig("unitframes", nil, "pastel", "1") diff --git a/modules/gui.lua b/modules/gui.lua index 95f74c61..4c1659fb 100644 --- a/modules/gui.lua +++ b/modules/gui.lua @@ -846,6 +846,9 @@ pfUI:RegisterModule("gui", function () pfUI.gui:CreateConfig(pfUI.gui.appearance, "Loot", nil, nil, "header") pfUI.gui:CreateConfig(pfUI.gui.appearance, "Auto-resize Lootframe", pfUI_config.appearance.loot, "autoresize", "checkbox") + pfUI.gui:CreateConfig(pfUI.gui.appearance, "Minimap", nil, nil, "header") + pfUI.gui:CreateConfig(pfUI.gui.appearance, "Show zone name on mouseover", pfUI_config.appearance.minimap, "mouseoverzone", "checkbox") + -- modules pfUI.gui.modules = pfUI.gui:CreateConfigTab("Modules") for i,m in pairs(pfUI.modules) do diff --git a/modules/minimap.lua b/modules/minimap.lua index d805b0a9..0441dce0 100644 --- a/modules/minimap.lua +++ b/modules/minimap.lua @@ -66,23 +66,33 @@ pfUI:RegisterModule("minimap", function () MiniMapTrackingFrame:SetFrameStrata("LOW") - -- Coordinates in minimap - -- Create location text frame in bottom left corner of minimap - pfUI.minimapCoordinates = CreateFrame("Frame", nil, pfUI.minimap) + -- Create coordinates text frame in bottom left corner of minimap + pfUI.minimapCoordinates = CreateFrame("Frame", "pfMinimapCoord", pfUI.minimap) pfUI.minimapCoordinates:SetPoint("BOTTOMLEFT", 3, 3) - pfUI.minimapCoordinates:SetHeight(20) - pfUI.minimapCoordinates:SetWidth(40) + pfUI.minimapCoordinates:SetHeight(pfUI_config.global.font_size) + pfUI.minimapCoordinates:SetWidth(Minimap:GetWidth()) pfUI.minimapCoordinates:SetFrameStrata("BACKGROUND") - -- Create text pfUI.minimapCoordinates.text = pfUI.minimapCoordinates:CreateFontString("MinimapCoordinatesText", "LOW", "GameFontNormal") pfUI.minimapCoordinates.text:SetFont(pfUI.font_default, pfUI_config.global.font_size, "OUTLINE") - pfUI.minimapCoordinates.text:SetPoint("LEFT", 4, 0) - pfUI.minimapCoordinates.text:SetFontObject(GameFontWhite) - pfUI.minimapCoordinates.text:SetText("X, Y") + pfUI.minimapCoordinates.text:SetTextColor(1,1,1,1) + pfUI.minimapCoordinates.text:SetAllPoints(pfUI.minimapCoordinates) + pfUI.minimapCoordinates.text:SetJustifyH("LEFT") pfUI.minimapCoordinates:Hide() + -- Create zone text frame in top center of minimap + pfUI.minimapZone = CreateFrame("Frame", "pfMinimapZone", pfUI.minimap) + pfUI.minimapZone:SetPoint("TOP", 0, -3) + pfUI.minimapZone:SetHeight(pfUI_config.global.font_size + 2) + pfUI.minimapZone:SetWidth(Minimap:GetWidth()) + pfUI.minimapZone:SetFrameStrata("BACKGROUND") + pfUI.minimapZone.text = pfUI.minimapZone:CreateFontString("minimapZoneText", "LOW", "GameFontNormal") + pfUI.minimapZone.text:SetFont(pfUI.font_default, pfUI_config.global.font_size + 2, "OUTLINE") + pfUI.minimapZone.text:SetAllPoints(pfUI.minimapZone) + pfUI.minimapZone.text:SetJustifyH("CENTER") + pfUI.minimapZone:Hide() + -- Minimap hover event - -- Update and toggle showing of coordinates on mouse enter/leave + -- Update and toggle showing of coordinates and zone text on mouse enter/leave Minimap:SetScript("OnEnter", function() SetMapToCurrentZone() local posX, posY = GetPlayerMapPosition("player") @@ -93,11 +103,28 @@ pfUI:RegisterModule("minimap", function () else pfUI.minimapCoordinates.text:SetText("|cffffaaaaN/A") end - pfUI.minimapCoordinates:Show() + + if pfUI_config.appearance.minimap.mouseoverzone == "1" then + local pvp, _, arena = GetZonePVPInfo() + if arena then + pfUI.minimapZone.text:SetTextColor(1.0, 0.1, 0.1) + elseif pvp == "friendly" then + pfUI.minimapZone.text:SetTextColor(0.1, 1.0, 0.1) + elseif pvp == "hostile" then + pfUI.minimapZone.text:SetTextColor(1.0, 0.1, 0.1) + elseif pvp == "contested" then + pfUI.minimapZone.text:SetTextColor(1.0, 0.7, 0) + else + pfUI.minimapZone.text:SetTextColor(1, 1, 1, 1) + end + + pfUI.minimapZone.text:SetText(GetMinimapZoneText()) + pfUI.minimapZone:Show() + end end) Minimap:SetScript("OnLeave", function() pfUI.minimapCoordinates:Hide() + pfUI.minimapZone:Hide() end) - end)