You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
314 lines
10 KiB
314 lines
10 KiB
local SLE, T, E, L, V, P, G = unpack(ElvUI_SLE)
|
|
local LP = SLE.LocationPanel
|
|
|
|
-- GLOBALS: AceGUIWidgetLSMlists
|
|
local DEFAULT, CUSTOM, CLASS = DEFAULT, CUSTOM, CLASS
|
|
local ceil = ceil
|
|
|
|
local function configTable()
|
|
if not SLE.initialized then return end
|
|
-- E.Options.args.sle.args.modules.args.minimap = {
|
|
-- type = "group",
|
|
-- name = MINIMAP_LABEL,
|
|
-- order = 1,
|
|
-- childGroups = 'tab',
|
|
-- args = {
|
|
-- header = ACH:Header(L["Minimap Options"], 1),
|
|
-- desc = ACH:Description(L["MINIMAP_DESC"], 2),
|
|
|
|
local screenWidth = ceil(E.screenWidth)
|
|
E.Options.args.sle.args.modules.args.locPanel = {
|
|
type = "group",
|
|
name = L["Location Panel"],
|
|
order = 1,
|
|
childGroups = 'tab',
|
|
get = function(info) return E.db.sle.minimap.locPanel[ info[#info] ] end,
|
|
args = {
|
|
enable = {
|
|
type = "toggle",
|
|
name = L["Enable"],
|
|
order = 1,
|
|
set = function(info, value) E.db.sle.minimap.locPanel[ info[#info] ] = value; LP:Toggle() end,
|
|
},
|
|
linkcoords = {
|
|
type = "toggle",
|
|
name = L["Link Position"],
|
|
desc = L["Allow pasting of your coordinates in chat editbox via holding shift and clicking on the location name."],
|
|
order = 2,
|
|
set = function(info, value) E.db.sle.minimap.locPanel[ info[#info] ] = value end,
|
|
},
|
|
template = {
|
|
order = 3,
|
|
name = L["Template"],
|
|
type = "select",
|
|
disabled = function() return not E.db.sle.minimap.locPanel.enable end,
|
|
set = function(info, value) E.db.sle.minimap.locPanel[ info[#info] ] = value; LP:Template() end,
|
|
values = {
|
|
["Default"] = DEFAULT,
|
|
["Transparent"] = L["Transparent"],
|
|
["NoBackdrop"] = L["NoBackdrop"],
|
|
},
|
|
},
|
|
autowidth = {
|
|
type = "toggle",
|
|
name = L["Automatic Width"],
|
|
desc = L["Change width based on the zone name length."],
|
|
order = 4,
|
|
set = function(info, value) E.db.sle.minimap.locPanel[ info[#info] ] = value; LP:Resize() end,
|
|
},
|
|
width = {
|
|
order = 5,
|
|
type = 'range',
|
|
name = L["Width"],
|
|
min = 100, max = screenWidth/2, step = 1,
|
|
disabled = function() return not E.db.sle.minimap.locPanel.enable or E.db.sle.minimap.locPanel.autowidth end,
|
|
set = function(info, value) E.db.sle.minimap.locPanel[ info[#info] ] = value; LP:Resize() end,
|
|
},
|
|
height = {
|
|
order = 6,
|
|
type = 'range',
|
|
name = L["Height"],
|
|
min = 10, max = 50, step = 1,
|
|
disabled = function() return not E.db.sle.minimap.locPanel.enable end,
|
|
set = function(info, value) E.db.sle.minimap.locPanel[ info[#info] ] = value; LP:Resize() end,
|
|
},
|
|
throttle = {
|
|
order = 7,
|
|
type = 'range',
|
|
name = L["Update Throttle"],
|
|
desc = L["The frequency of coordinates and zonetext updates. Check will be done more often with lower values."],
|
|
min = 0.1, max = 2, step = 0.1,
|
|
disabled = function() return not E.db.sle.minimap.locPanel.enable end,
|
|
set = function(info, value) E.db.sle.minimap.locPanel[ info[#info] ] = value end,
|
|
},
|
|
combathide = {
|
|
order = 8,
|
|
type = "toggle",
|
|
name = L["Hide In Combat"],
|
|
set = function(info, value) E.db.sle.minimap.locPanel[ info[#info] ] = value end,
|
|
},
|
|
orderhallhide = {
|
|
order = 9,
|
|
type = "toggle",
|
|
name = L["Hide In Class Hall"],
|
|
set = function(info, value) E.db.sle.minimap.locPanel[ info[#info] ] = value; LP:Toggle() end,
|
|
},
|
|
location = {
|
|
order = 20,
|
|
type = "group",
|
|
name = L["Location"],
|
|
guiInline = true,
|
|
args = {
|
|
zoneText = {
|
|
type = "toggle",
|
|
name = L["Full Location"],
|
|
order = 1,
|
|
disabled = function() return not E.db.sle.minimap.locPanel.enable end,
|
|
set = function(info, value) E.db.sle.minimap.locPanel[ info[#info] ] = value end,
|
|
},
|
|
colorType = {
|
|
order = 2,
|
|
name = L["Color Type"],
|
|
type = "select",
|
|
disabled = function() return not E.db.sle.minimap.locPanel.enable end,
|
|
set = function(info, value) E.db.sle.minimap.locPanel[ info[#info] ] = value end,
|
|
values = {
|
|
["REACTION"] = L["Reaction"],
|
|
["DEFAULT"] = DEFAULT,
|
|
["CLASS"] = CLASS,
|
|
["CUSTOM"] = CUSTOM,
|
|
},
|
|
},
|
|
customColor = {
|
|
type = 'color',
|
|
order = 3,
|
|
name = L["Custom Color"],
|
|
disabled = function() return not E.db.sle.minimap.locPanel.enable or E.db.sle.minimap.locPanel.colorType ~= "CUSTOM" end,
|
|
get = function(info)
|
|
local t = E.db.sle.minimap.locPanel[ info[#info] ]
|
|
local d = P.sle.minimap.locPanel[info[#info]]
|
|
return t.r, t.g, t.b, d.r, d.g, d.b
|
|
end,
|
|
set = function(info, r, g, b)
|
|
E.db.sle.minimap.locPanel[ info[#info] ] = {}
|
|
local t = E.db.sle.minimap.locPanel[ info[#info] ]
|
|
t.r, t.g, t.b = r, g, b
|
|
end,
|
|
},
|
|
},
|
|
},
|
|
coordinates = {
|
|
order = 21,
|
|
type = "group",
|
|
name = L["Coordinates"],
|
|
guiInline = true,
|
|
args = {
|
|
format = {
|
|
order = 1,
|
|
name = L["Format"],
|
|
type = "select",
|
|
disabled = function() return not E.db.sle.minimap.locPanel.enable end,
|
|
set = function(info, value) E.db.sle.minimap.locPanel[ info[#info] ] = value end,
|
|
values = {
|
|
["%.0f"] = DEFAULT,
|
|
["%.1f"] = "45.3",
|
|
["%.2f"] = "45.34",
|
|
},
|
|
},
|
|
colorType_Coords = {
|
|
order = 2,
|
|
name = L["Color Type"],
|
|
type = "select",
|
|
disabled = function() return not E.db.sle.minimap.locPanel.enable end,
|
|
set = function(info, value) E.db.sle.minimap.locPanel[ info[#info] ] = value end,
|
|
values = {
|
|
["REACTION"] = L["Reaction"],
|
|
["DEFAULT"] = DEFAULT,
|
|
["CLASS"] = CLASS,
|
|
["CUSTOM"] = CUSTOM,
|
|
},
|
|
},
|
|
customColor_Coords = {
|
|
type = 'color',
|
|
order = 3,
|
|
name = L["Custom Color"],
|
|
disabled = function() return not E.db.sle.minimap.locPanel.enable or E.db.sle.minimap.locPanel.colorType_Coords ~= "CUSTOM" end,
|
|
get = function(info)
|
|
local t = E.db.sle.minimap.locPanel[ info[#info] ]
|
|
local d = P.sle.minimap.locPanel[info[#info]]
|
|
return t.r, t.g, t.b, d.r, d.g, d.b
|
|
end,
|
|
set = function(info, r, g, b)
|
|
E.db.sle.minimap.locPanel[ info[#info] ] = {}
|
|
local t = E.db.sle.minimap.locPanel[ info[#info] ]
|
|
t.r, t.g, t.b = r, g, b
|
|
end,
|
|
},
|
|
},
|
|
},
|
|
portals = {
|
|
order = 22,
|
|
type = "group",
|
|
name = L["Relocation Menu"],
|
|
guiInline = true,
|
|
disabled = function() return not E.db.sle.minimap.locPanel.enable end,
|
|
get = function(info) return E.db.sle.minimap.locPanel.portals[ info[#info] ] end,
|
|
set = function(info, value) E.db.sle.minimap.locPanel.portals[ info[#info] ] = value end,
|
|
args = {
|
|
enable = {
|
|
type = "toggle",
|
|
name = L["Enable"],
|
|
desc = L["Right click on the location panel will bring up a menu with available options for relocating your character (e.g. Hearthstones, Portals, etc)."],
|
|
order = 1,
|
|
},
|
|
customWidth = {
|
|
type = "toggle",
|
|
name = L["Custom Width"],
|
|
desc = L["By default menu's width will be equal to the location panel width. Checking this option will allow you to set own width."],
|
|
order = 2,
|
|
},
|
|
customWidthValue = {
|
|
order = 3,
|
|
name = L["Width"],
|
|
type = "range",
|
|
min = 100, max = screenWidth, step = 1,
|
|
disabled = function() return not E.db.sle.minimap.locPanel.portals.customWidth or not E.db.sle.minimap.locPanel.enable end,
|
|
},
|
|
justify = {
|
|
order = 4,
|
|
name = L["Justify Text"],
|
|
type = "select",
|
|
values = {
|
|
["LEFT"] = L["Left"],
|
|
["CENTER"] = L["Middle"],
|
|
["RIGHT"] = L["Right"],
|
|
},
|
|
},
|
|
cdFormat = {
|
|
order = 5,
|
|
name = L["CD format"],
|
|
type = "select",
|
|
values = {
|
|
["DEFAULT"] = [[(10m |TInterface\FriendsFrame\StatusIcon-Away:16|t)]],
|
|
["DEFAULT_ICONFIRST"] = [[( |TInterface\FriendsFrame\StatusIcon-Away:16|t10m)]],
|
|
},
|
|
},
|
|
HSplace = {
|
|
type = "toggle",
|
|
order = 10,
|
|
name = L["Hearthstone Location"],
|
|
desc = L["Show the name on location your Hearthstone is bound to."],
|
|
},
|
|
showHearthstones = {
|
|
type = "toggle",
|
|
order = 11,
|
|
name = L["Show hearthstones"],
|
|
desc = L["Show hearthstone type items in the list."],
|
|
},
|
|
hsProprity = SLE:CreateMovableButtons(22, L["HS Toys Order"], false, E.db.sle.minimap.locPanel.portals, "hsPrio"),
|
|
showToys = {
|
|
type = "toggle",
|
|
order = 20,
|
|
name = L["Show Toys"],
|
|
desc = L["Show toys in the list. This option will affect all other display options as well."],
|
|
},
|
|
showSpells = {
|
|
type = "toggle",
|
|
order = 30,
|
|
name = L["Show spells"],
|
|
desc = L["Show relocation spells in the list."],
|
|
},
|
|
showEngineer = {
|
|
type = "toggle",
|
|
order = 40,
|
|
name = L["Show engineer gadgets"],
|
|
desc = L["Show items used only by engineers when the profession is learned."],
|
|
},
|
|
ignoreMissingInfo = {
|
|
type = "toggle",
|
|
order = 100,
|
|
name = L["Ignore missing info"],
|
|
desc = L["SLE_LOCPANEL_IGNOREMISSINGINFO"],
|
|
},
|
|
},
|
|
},
|
|
fontGroup = {
|
|
order = 23,
|
|
type = "group",
|
|
name = L["Fonts"],
|
|
guiInline = true,
|
|
disabled = function() return not E.db.sle.minimap.locPanel.enable end,
|
|
get = function(info) return E.db.sle.minimap.locPanel[ info[#info] ] end,
|
|
set = function(info, value) E.db.sle.minimap.locPanel[ info[#info] ] = value; LP:Fonts() end,
|
|
args = {
|
|
font = {
|
|
type = "select", dialogControl = 'LSM30_Font',
|
|
order = 1,
|
|
name = L["Font"],
|
|
values = AceGUIWidgetLSMlists.font,
|
|
},
|
|
fontSize = {
|
|
order = 2,
|
|
name = L["Font Size"],
|
|
type = "range",
|
|
min = 6, max = 22, step = 1,
|
|
set = function(info, value) E.db.sle.minimap.locPanel[ info[#info] ] = value; LP:Fonts(); LP:Resize() end,
|
|
},
|
|
fontOutline = {
|
|
order = 3,
|
|
name = L["Font Outline"],
|
|
type = "select",
|
|
values = {
|
|
["NONE"] = L["None"],
|
|
["OUTLINE"] = 'OUTLINE',
|
|
["MONOCHROMEOUTLINE"] = 'MONOCROMEOUTLINE',
|
|
["THICKOUTLINE"] = 'THICKOUTLINE',
|
|
},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
}
|
|
end
|
|
|
|
tinsert(SLE.Configs, configTable)
|
|
|