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.

129 lines
4.3 KiB

local SLE, T, E, L, V, P, G = unpack(ElvUI_SLE)
local RM = SLE.RaidMarkers
local SHIFT_KEY, CTRL_KEY, ALT_KEY = SHIFT_KEY, CTRL_KEY, ALT_KEY
local AGGRO_WARNING_IN_PARTY = AGGRO_WARNING_IN_PARTY
local CUSTOM = CUSTOM
local function configTable()
if not SLE.initialized then return end
local ACH = E.Libs.ACH
E.Options.args.sle.args.modules.args.raidmarkerbars = {
order = 1,
type = 'group',
name = L["Raid Markers"],
get = function(info) return E.db.sle.raidmarkers[info[#info]] end,
args = {
marksheader = ACH:Header(L["Raid Markers"], 1),
desc = ACH:Description(L["Options for panels providing fast access to raid markers and flares."], 2),
enable = {
order = 3,
type = 'toggle',
name = L["Enable"],
desc = L["Show/Hide raid marks."],
set = function(info, value) E.db.sle.raidmarkers[info[#info]] = value; RM:Visibility() end,
},
reset = {
order = 4,
type = 'execute',
name = L["Restore Defaults"],
disabled = function() return not E.db.sle.raidmarkers.enable end,
func = function() SLE:Reset('marks') end,
},
spacer1 = ACH:Spacer(5),
backdrop = {
type = 'toggle',
order = 6,
name = L["Backdrop"],
disabled = function() return not E.db.sle.raidmarkers.enable end,
set = function(info, value) E.db.sle.raidmarkers[info[#info]] = value; RM:Backdrop() end,
},
buttonSize = {
order = 7,
type = 'range',
name = L["Button Size"],
min = 16, max = 40, step = 1,
disabled = function() return not E.db.sle.raidmarkers.enable end,
set = function(info, value) E.db.sle.raidmarkers[info[#info]] = value; RM:UpdateBar() end,
},
spacing = {
order = 8,
type = 'range',
name = L["Button Spacing"],
min = -4, max = 10, step = 1,
disabled = function() return not E.db.sle.raidmarkers.enable end,
set = function(info, value) E.db.sle.raidmarkers[info[#info]] = value; RM:UpdateBar() end,
},
orientation = {
order = 9,
type = 'select',
name = L["Orientation"],
disabled = function() return not E.db.sle.raidmarkers.enable end,
set = function(info, value) E.db.sle.raidmarkers[info[#info]] = value; RM:UpdateBar() end,
values = {
HORIZONTAL = L["Horizontal"],
VERTICAL = L["Vertical"],
},
},
reverse = {
type = 'toggle',
order = 10,
name = L["Reverse"],
disabled = function() return not E.db.sle.raidmarkers.enable end,
set = function(info, value) E.db.sle.raidmarkers[info[#info]] = value; RM:UpdateBar() end,
},
modifier = {
order = 11,
type = 'select',
name = L["Modifier Key"],
desc = L["Set the modifier key for placing world markers."],
disabled = function() return not E.db.sle.raidmarkers.enable end,
set = function(info, value) E.db.sle.raidmarkers[info[#info]] = value; RM:UpdateWorldMarkersAndTooltips() end,
values = {
['shift-'] = SHIFT_KEY,
['ctrl-'] = CTRL_KEY,
['alt-'] = ALT_KEY,
},
},
visibility = {
type = 'select',
order = 12,
name = L["Visibility"],
disabled = function() return not E.db.sle.raidmarkers.enable end,
set = function(info, value) E.db.sle.raidmarkers[info[#info]] = value; RM:Visibility() end,
values = {
DEFAULT = DEFAULT,
INPARTY = AGGRO_WARNING_IN_PARTY,
ALWAYS = L["Always Display"],
CUSTOM = CUSTOM,
},
},
customVisibility = {
order = 13,
type = 'input',
width = 'full',
name = L["Visibility State"],
disabled = function() return E.db.sle.raidmarkers.visibility ~= 'CUSTOM' or not E.db.sle.raidmarkers.enable end,
set = function(info, value) E.db.sle.raidmarkers[info[#info]] = value; RM:Visibility() end,
},
mouseover = {
order = 14,
type = 'toggle',
name = L["Mouseover"],
disabled = function() return not E.db.sle.raidmarkers.enable end,
set = function(info, value) E.db.sle.raidmarkers[info[#info]] = value; RM:UpdateMouseover() end,
},
notooltip = {
order = 15,
type = 'toggle',
name = L["No tooltips"],
disabled = function() return not E.db.sle.raidmarkers.enable end,
set = function(info, value) E.db.sle.raidmarkers[info[#info]] = value end,
},
},
}
end
tinsert(SLE.Configs, configTable)