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.

122 lines
4.2 KiB

5 years ago
local SLE, _, E, L, V = unpack(select(2, ...))
local A = SLE.Actionbars
local AB = E.ActionBars
local EVB = SLE.EnhancedVehicleBar
--GLOBALS: unpack, select, tinsert, DEFAULT, NONE, LibStub
local tinsert = tinsert
local DEFAULT, NONE = DEFAULT, NONE
local function configTable()
if not SLE.initialized then return end
local ACH = E.Libs.ACH
E.Options.args.sle.args.modules.args.actionbars = {
type = 'group',
name = L["ActionBars"],
order = 1,
disabled = function() return not E.private.actionbar.enable end,
args = {
elvuibars = {
type = 'group',
name = L["ActionBars"],
order = 10,
guiInline = true,
args = {
checkedtexture = {
order = 2,
type = 'toggle',
name = L["Checked Texture"],
desc = L["Highlight the button of the spell with areal effect until the area is selected."],
disabled = function() return not E.private.actionbar.enable or (LibStub('Masque', true) and E.private.actionbar.masque.actionbars) end,
get = function(info) return E.private.sle.actionbars[info[#info]] end,
set = function(info, value) E.private.sle.actionbars[info[#info]] = value; E:StaticPopup_Show('PRIVATE_RL') end,
},
checkedColor = {
type = 'color',
order = 3,
name = L["Checked Texture Color"],
hasAlpha = true,
disabled = function() return not E.private.actionbar.enable or not E.private.sle.actionbars.checkedtexture or LibStub('Masque', true) end,
get = function(info)
local t = E.private.sle.actionbars[info[#info]]
local d = V.sle.actionbars[info[#info]]
return t.r, t.g, t.b, t.a, d.r, d.g, d.b, d.a
end,
set = function(info, r, g, b, a)
E.private.sle.actionbars[info[#info]] = {}
local t = E.private.sle.actionbars[info[#info]]
t.r, t.g, t.b, t.a = r, g, b, a
for i = 1, 10 do
AB:PositionAndSizeBar('bar'..i)
end
end,
},
},
},
vehicle = {
type = 'group',
name = L["Enhanced Vehicle Bar"],
order = 10,
guiInline = true,
args = {
enable = {
order = 1,
type = 'toggle',
name = L["Enable"],
desc = L["Enables a different look/feel vehicle bar."],
get = function() return E.private.sle.vehicle.enable end,
set = function(_, value) E.private.sle.vehicle.enable = value; E:StaticPopup_Show('PRIVATE_RL') end,
},
template = {
order = 2,
type = 'select',
name = L["Template"],
disabled = function() return not E.private.sle.vehicle.enable end,
get = function(info) return E.db.sle.actionbars.vehicle[info[#info]] end,
set = function(info, value) E.db.sle.actionbars.vehicle[info[#info]] = value; EVB:PositionAndSizeBar(); EVB:BarBackdrop() end,
values = {
Default = DEFAULT,
Transparent = L["Transparent"],
NoBackdrop = NONE,
},
},
spacer1 = ACH:Spacer(3, 'full'),
numButtons = {
order = 4,
type = 'range',
name = L["Buttons"],
desc = L["The amount of buttons to display."],
min = 5, max = 7, step = 1,
disabled = function() return not E.private.sle.vehicle.enable end,
get = function(info) return E.private.sle.vehicle[info[#info]] end,
set = function(info, value) E.private.sle.vehicle[info[#info]] = value; E:StaticPopup_Show('PRIVATE_RL') end,
},
buttonsize = {
order = 5,
type = 'range',
name = L["Button Size"],
desc = L["The size of the action buttons."],
min = 15, max = 60, step = 1,
disabled = function() return not E.private.sle.vehicle.enable end,
get = function(info) return E.db.sle.actionbars.vehicle[info[#info]] end,
set = function(info, value) E.db.sle.actionbars.vehicle[info[#info]] = value; EVB:PositionAndSizeBar() end,
},
buttonspacing = {
order = 5,
type = 'range',
name = L["Button Spacing"],
desc = L["The spacing between buttons."],
min = -4, max = 20, step = 1,
disabled = function() return not E.private.sle.vehicle.enable end,
get = function(info) return E.db.sle.actionbars.vehicle[info[#info]] end,
set = function(info, value) E.db.sle.actionbars.vehicle[info[#info]] = value; EVB:PositionAndSizeBar() end,
},
},
},
},
}
end
tinsert(SLE.Configs, configTable)