Files
2019-01-12 14:33:27 -06:00

405 lines
12 KiB
Lua

local E, L, V, P, G = unpack(ElvUI); --Import: Engine, Locales, PrivateDB, ProfileDB, GlobalDB
local WM = E:GetModule("WorldMap");
local MM = E:GetModule("Minimap");
--Cache global variables
--Lua functions
local getn = table.getn
E.Options.args.maps = {
type = "group",
name = L["Maps"],
childGroups = "tab",
args = {
worldMap = {
order = 1,
type = "group",
name = L["World Map"],
args = {
header = {
order = 0,
type = "header",
name = L["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 = L["Minimap"],
get = function(info) return E.db.general.minimap[ info[getn(info)] ] end,
childGroups = "tab",
args = {
header = {
order = 0,
type = "header",
name = L["Minimap"]
},
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 = {
header = {
order = 0,
type = "header",
name = L["Location Text"]
},
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"] = L["Hide"]
},
disabled = function() return not E.private.general.minimap.enable end
},
spacer = {
order = 2,
type = "description",
name = ""
},
locationFont = {
order = 3,
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 = 4,
type = "range",
name = L["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 = 5,
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"] = L["None"],
["OUTLINE"] = "OUTLINE",
["MONOCHROMEOUTLINE"] = "MONOCROMEOUTLINE",
["THICKOUTLINE"] = "THICKOUTLINE"
}
}
}
},
zoomResetGroup = {
order = 3,
type = "group",
name = L["Reset Zoom"],
args = {
header = {
order = 0,
type = "header",
name = L["Reset Zoom"]
},
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 = {
header = {
order = 0,
type = "header",
name = L["Minimap Buttons"]
},
calendar = {
order = 1,
type = "group",
name = L["Time Info"],
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 = {
header = {
order = 0,
type = "header",
name = L["Time Info"]
},
hideCalendar = {
order = 1,
type = "toggle",
name = L["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,
disabled = function() return E.private.general.minimap.hideCalendar end
},
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 = L["Mail"],
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 = {
header = {
order = 0,
type = "header",
name = L["Mail"]
},
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 = 3,
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 = {
header = {
order = 0,
type = "header",
name = L["PvP Queue"]
},
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
}
}
}
}
}
}
}
}
}