Files
ElvUIModernized/ElvUI_Config/Maps.lua
T
2018-06-21 15:50:45 -05:00

501 lines
15 KiB
Lua

local E, L, V, P, G, _ = unpack(ElvUI);
local WM = E:GetModule("WorldMap");
local MM = E:GetModule("Minimap");
E.Options.args.maps = {
type = "group",
name = L["Maps"],
childGroups = "tab",
args = {
worldMap = {
order = 1,
type = "group",
name = WORLD_MAP,
args = {
header = {
order = 0,
type = "header",
name = WORLD_MAP
},
generalGroup = {
order = 1,
type = "group",
name = L["General"],
guiInline = true,
args = {
smallerWorldMap = {
order = 1,
type = "toggle",
name = L["Smaller World Map"],
desc = L["Make the world map smaller."],
get = function(info) return E.global.general.smallerWorldMap end,
set = function(info, value) E.global.general.smallerWorldMap = value; E:StaticPopup_Show("GLOBAL_RL") end,
}
},
},
spacer = {
order = 3,
type = "description",
name = "\n"
},
coordinatesGroup = {
order = 3,
type = "group",
name = L["World Map Coordinates"],
guiInline = true,
args = {
enable = {
order = 1,
type = "toggle",
name = L["Enable"],
desc = L["Puts coordinates on the world map."],
get = function(info) return E.global.general.WorldMapCoordinates.enable; end,
set = function(info, value) E.global.general.WorldMapCoordinates.enable = value; E:StaticPopup_Show("GLOBAL_RL"); end
},
spacer = {
order = 2,
type = "description",
name = " "
},
position = {
order = 3,
type = "select",
name = L["Position"],
get = function(info) return E.global.general.WorldMapCoordinates.position; end,
set = function(info, value) E.global.general.WorldMapCoordinates.position = value; WM:PositionCoords(); end,
disabled = function() return not E.global.general.WorldMapCoordinates.enable; end,
values = {
["TOP"] = "TOP",
["TOPLEFT"] = "TOPLEFT",
["TOPRIGHT"] = "TOPRIGHT",
["BOTTOM"] = "BOTTOM",
["BOTTOMLEFT"] = "BOTTOMLEFT",
["BOTTOMRIGHT"] = "BOTTOMRIGHT"
}
},
xOffset = {
order = 4,
type = "range",
name = L["X-Offset"],
get = function(info) return E.global.general.WorldMapCoordinates.xOffset; end,
set = function(info, value) E.global.general.WorldMapCoordinates.xOffset = value; WM:PositionCoords(); end,
disabled = function() return not E.global.general.WorldMapCoordinates.enable end,
min = -200, max = 200, step = 1
},
yOffset = {
order = 5,
type = "range",
name = L["Y-Offset"],
get = function(info) return E.global.general.WorldMapCoordinates.yOffset; end,
set = function(info, value) E.global.general.WorldMapCoordinates.yOffset = value; WM:PositionCoords(); end,
disabled = function() return not E.global.general.WorldMapCoordinates.enable end,
min = -200, max = 200, step = 1
}
}
}
}
},
minimap = {
order = 2,
type = "group",
name = MINIMAP_LABEL,
get = function(info) return E.db.general.minimap[ info[getn(info)] ]; end,
childGroups = "tab",
args = {
header = {
order = 0,
type = "header",
name = MINIMAP_LABEL
},
generalGroup = {
order = 1,
type = "group",
name = L["General"],
guiInline = true,
args = {
enable = {
order = 1,
type = "toggle",
name = L["Enable"],
desc = L["Enable/Disable the minimap. |cffFF0000Warning: This will prevent you from seeing the minimap datatexts.|r"],
get = function(info) return E.private.general.minimap[ info[getn(info)] ]; end,
set = function(info, value) E.private.general.minimap[ info[getn(info)] ] = value; E:StaticPopup_Show("PRIVATE_RL"); end,
},
size = {
order = 2,
type = "range",
name = L["Size"],
desc = L["Adjust the size of the minimap."],
min = 120, max = 250, step = 1,
get = function(info) return E.db.general.minimap[ info[getn(info)] ]; end,
set = function(info, value) E.db.general.minimap[ info[getn(info)] ] = value; MM:UpdateSettings(); end,
disabled = function() return not E.private.general.minimap.enable; end
}
}
},
locationTextGroup = {
order = 2,
type = "group",
name = L["Location Text"],
args = {
locationText = {
order = 1,
type = "select",
name = L["Location Text"],
desc = L["Change settings for the display of the location text that is on the minimap."],
get = function(info) return E.db.general.minimap.locationText; end,
set = function(info, value) E.db.general.minimap.locationText = value; MM:UpdateSettings(); MM:Update_ZoneText(); end,
values = {
["MOUSEOVER"] = L["Minimap Mouseover"],
["SHOW"] = L["Always Display"],
["HIDE"] = HIDE
},
disabled = function() return not E.private.general.minimap.enable; end
},
locationFont = {
order = 2,
type = "select",
dialogControl = "LSM30_Font",
name = L["Font"],
values = AceGUIWidgetLSMlists.font,
set = function(info, value) E.db.general.minimap.locationFont = value; MM:Update_ZoneText(); end,
disabled = function() return not E.private.general.minimap.enable; end,
},
locationFontSize = {
order = 3,
type = "range",
name = FONT_SIZE,
min = 6, max = 36, step = 1,
set = function(info, value) E.db.general.minimap.locationFontSize = value; MM:Update_ZoneText(); end,
disabled = function() return not E.private.general.minimap.enable end,
},
locationFontOutline = {
order = 4,
type = "select",
name = L["Font Outline"],
set = function(info, value) E.db.general.minimap.locationFontOutline = value; MM:Update_ZoneText(); end,
disabled = function() return not E.private.general.minimap.enable; end,
values = {
["NONE"] = NONE,
["OUTLINE"] = "OUTLINE",
["MONOCHROMEOUTLINE"] = "MONOCROMEOUTLINE",
["THICKOUTLINE"] = "THICKOUTLINE"
}
}
}
},
zoomResetGroup = {
order = 3,
type = "group",
name = L["Reset Zoom"],
args = {
enableZoomReset = {
order = 1,
type = "toggle",
name = L["Reset Zoom"],
get = function(info) return E.db.general.minimap.resetZoom.enable; end,
set = function(info, value) E.db.general.minimap.resetZoom.enable = value; MM:UpdateSettings(); end,
disabled = function() return not E.private.general.minimap.enable; end
},
zoomResetTime = {
order = 2,
type = "range",
name = L["Seconds"],
min = 1, max = 15, step = 1,
get = function(info) return E.db.general.minimap.resetZoom.time; end,
set = function(info, value) E.db.general.minimap.resetZoom.time = value; MM:UpdateSettings(); end,
disabled = function() return (not E.db.general.minimap.resetZoom.enable or not E.private.general.minimap.enable); end
}
}
},
icons = {
order = 4,
type = "group",
name = L["Minimap Buttons"],
args = {
calendar = {
order = 1,
type = "group",
name = L["Calendar"],
get = function(info) return E.db.general.minimap.icons.calendar[ info[getn(info)] ]; end,
set = function(info, value) E.db.general.minimap.icons.calendar[ info[getn(info)] ] = value; MM:UpdateSettings(); end,
args = {
hideCalendar = {
order = 1,
type = "toggle",
name = HIDE,
get = function(info) return E.private.general.minimap.hideCalendar; end,
set = function(info, value) E.private.general.minimap.hideCalendar = value; MM:UpdateSettings(); end,
width = "full"
},
spacer = {
order = 2,
type = "description",
name = "",
width = "full"
},
position = {
order = 3,
type = "select",
name = L["Position"],
disabled = function() return E.private.general.minimap.hideCalendar; end,
values = {
["LEFT"] = L["Left"],
["RIGHT"] = L["Right"],
["TOP"] = L["Top"],
["BOTTOM"] = L["Bottom"],
["TOPLEFT"] = L["Top Left"],
["TOPRIGHT"] = L["Top Right"],
["BOTTOMLEFT"] = L["Bottom Left"],
["BOTTOMRIGHT"] = L["Bottom Right"]
}
},
scale = {
order = 4,
type = "range",
name = L["Scale"],
min = 0.5, max = 2, step = 0.05
},
xOffset = {
order = 5,
type = "range",
name = L["xOffset"],
min = -50, max = 50, step = 1,
disabled = function() return E.private.general.minimap.hideCalendar; end
},
yOffset = {
order = 6,
type = "range",
name = L["yOffset"],
min = -50, max = 50, step = 1,
disabled = function() return E.private.general.minimap.hideCalendar; end
}
}
},
mail = {
order = 2,
type = "group",
name = "MAIL_LABEL",
get = function(info) return E.db.general.minimap.icons.mail[ info[getn(info)] ]; end,
set = function(info, value) E.db.general.minimap.icons.mail[ info[getn(info)] ] = value; MM:UpdateSettings(); end,
args = {
position = {
order = 1,
type = "select",
name = L["Position"],
values = {
["LEFT"] = L["Left"],
["RIGHT"] = L["Right"],
["TOP"] = L["Top"],
["BOTTOM"] = L["Bottom"],
["TOPLEFT"] = L["Top Left"],
["TOPRIGHT"] = L["Top Right"],
["BOTTOMLEFT"] = L["Bottom Left"],
["BOTTOMRIGHT"] = L["Bottom Right"]
}
},
scale = {
order = 2,
type = "range",
name = L["Scale"],
min = 0.5, max = 2, step = 0.05
},
xOffset = {
order = 3,
type = "range",
name = L["xOffset"],
min = -50, max = 50, step = 1
},
yOffset = {
order = 4,
type = "range",
name = L["yOffset"],
min = -50, max = 50, step = 1
}
}
},
lfgEye = {
order = 3,
type = "group",
name = L["LFG Queue"],
get = function(info) return E.db.general.minimap.icons.lfgEye[ info[getn(info)] ]; end,
set = function(info, value) E.db.general.minimap.icons.lfgEye[ info[getn(info)] ] = value; MM:UpdateSettings(); end,
args = {
position = {
order = 1,
type = "select",
name = L["Position"],
values = {
["LEFT"] = L["Left"],
["RIGHT"] = L["Right"],
["TOP"] = L["Top"],
["BOTTOM"] = L["Bottom"],
["TOPLEFT"] = L["Top Left"],
["TOPRIGHT"] = L["Top Right"],
["BOTTOMLEFT"] = L["Bottom Left"],
["BOTTOMRIGHT"] = L["Bottom Right"]
}
},
scale = {
order = 2,
type = "range",
name = L["Scale"],
min = 0.5, max = 2, step = 0.05
},
xOffset = {
order = 3,
type = "range",
name = L["xOffset"],
min = -50, max = 50, step = 1
},
yOffset = {
order = 4,
type = "range",
name = L["yOffset"],
min = -50, max = 50, step = 1
}
}
},
battlefield = {
order = 4,
type = "group",
name = L["PvP Queue"],
get = function(info) return E.db.general.minimap.icons.battlefield[ info[getn(info)] ]; end,
set = function(info, value) E.db.general.minimap.icons.battlefield[ info[getn(info)] ] = value; MM:UpdateSettings(); end,
args = {
position = {
order = 1,
type = "select",
name = L["Position"],
values = {
["LEFT"] = L["Left"],
["RIGHT"] = L["Right"],
["TOP"] = L["Top"],
["BOTTOM"] = L["Bottom"],
["TOPLEFT"] = L["Top Left"],
["TOPRIGHT"] = L["Top Right"],
["BOTTOMLEFT"] = L["Bottom Left"],
["BOTTOMRIGHT"] = L["Bottom Right"]
}
},
scale = {
order = 2,
type = "range",
name = L["Scale"],
min = 0.5, max = 2, step = 0.05
},
xOffset = {
order = 3,
type = "range",
name = L["xOffset"],
min = -50, max = 50, step = 1
},
yOffset = {
order = 4,
type = "range",
name = L["yOffset"],
min = -50, max = 50, step = 1
}
}
},
difficulty = {
order = 5,
type = "group",
name = L["Instance Difficulty"],
get = function(info) return E.db.general.minimap.icons.difficulty[ info[getn(info)] ]; end,
set = function(info, value) E.db.general.minimap.icons.difficulty[ info[getn(info)] ] = value; MM:UpdateSettings(); end,
args = {
position = {
order = 1,
type = "select",
name = L["Position"],
values = {
["LEFT"] = L["Left"],
["RIGHT"] = L["Right"],
["TOP"] = L["Top"],
["BOTTOM"] = L["Bottom"],
["TOPLEFT"] = L["Top Left"],
["TOPRIGHT"] = L["Top Right"],
["BOTTOMLEFT"] = L["Bottom Left"],
["BOTTOMRIGHT"] = L["Bottom Right"]
}
},
scale = {
order = 2,
type = "range",
name = L["Scale"],
min = 0.5, max = 2, step = 0.05
},
xOffset = {
order = 3,
type = "range",
name = L["xOffset"],
min = -50, max = 50, step = 1
},
yOffset = {
order = 4,
type = "range",
name = L["yOffset"],
min = -50, max = 50, step = 1
}
}
},
vehicleLeave = {
order = 6,
type = "group",
name = "LEAVE_VEHICLE",
get = function(info) return E.db.general.minimap.icons.vehicleLeave[ info[getn(info)] ]; end,
set = function(info, value) E.db.general.minimap.icons.vehicleLeave[ info[getn(info)] ] = value; E:GetModule("ActionBars"):UpdateVehicleLeave(); end,
args = {
hide = {
order = 1,
type = "toggle",
name = HIDE
},
spacer = {
order = 2,
type = "description",
name = "",
width = "full"
},
position = {
order = 3,
type = "select",
name = L["Position"],
values = {
["LEFT"] = L["Left"],
["RIGHT"] = L["Right"],
["TOP"] = L["Top"],
["BOTTOM"] = L["Bottom"],
["TOPLEFT"] = L["Top Left"],
["TOPRIGHT"] = L["Top Right"],
["BOTTOMLEFT"] = L["Bottom Left"],
["BOTTOMRIGHT"] = L["Bottom Right"]
}
},
scale = {
order = 4,
type = "range",
name = L["Scale"],
min = 0.5, max = 2, step = 0.05,
},
xOffset = {
order = 5,
type = "range",
name = L["xOffset"],
min = -50, max = 50, step = 1
},
yOffset = {
order = 6,
type = "range",
name = L["yOffset"],
min = -50, max = 50, step = 1
}
}
}
}
}
}
}
}
};