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.
156 lines
5.9 KiB
156 lines
5.9 KiB
local SLE, T, E, L, V, P, G = unpack(ElvUI_SLE)
|
|
local M = E.Misc
|
|
local Armory = SLE.Armory_Core
|
|
|
|
local EnchantStringName = ''
|
|
local SelectedEnchantString
|
|
|
|
local function configTable()
|
|
if not SLE.initialized then return end
|
|
local ACH = E.Libs.ACH
|
|
|
|
E.Options.args.sle.args.modules.args.armory.args.enchantString = {
|
|
order = 40,
|
|
type = 'group',
|
|
name = L["Enchant String"],
|
|
disabled = function() return not (E.db.sle.armory.character.enable and E.db.sle.armory.inspect.enable) end,
|
|
hidden = function() return not E.private.skins.blizzard.enable or (not E.private.skins.blizzard.character and not E.private.skins.blizzard.inspect) end,
|
|
args = {
|
|
enable = {
|
|
order = 1,
|
|
type = 'toggle',
|
|
name = L["Enable"],
|
|
get = function(info) return E.db.sle.armory.enchantString[(info[#info])] end,
|
|
set = function(info, value) E.db.sle.armory.enchantString[(info[#info])] = value; M:UpdateCharacterInfo(); M:UpdateInspectInfo() end,
|
|
},
|
|
replacement = {
|
|
order = 2,
|
|
type = 'toggle',
|
|
name = L["String Replacement"],
|
|
get = function(info) return E.db.sle.armory.enchantString[(info[#info])] end,
|
|
set = function(info, value) E.db.sle.armory.enchantString[(info[#info])] = value; M:UpdateCharacterInfo(); M:UpdateInspectInfo() end,
|
|
},
|
|
strict = {
|
|
order = 3,
|
|
type = 'toggle',
|
|
name = L["Strict String Replacement"],
|
|
desc = L["This will make it so that the \"Original String\" needs to match the whole enchant string you want to replace."],
|
|
get = function(info) return E.db.sle.armory.enchantString[(info[#info])] end,
|
|
set = function(info, value)
|
|
E.db.sle.armory.enchantString[(info[#info])] = value
|
|
Armory:UpdateInspectInfo()
|
|
Armory:UpdateCharacterInfo()
|
|
end,
|
|
},
|
|
spacer1 = ACH:Spacer(9),
|
|
ConfigSpace = {
|
|
order = 10,
|
|
type = 'group',
|
|
name = L["String Replacement"],
|
|
guiInline = true,
|
|
args = {
|
|
createString = {
|
|
order = 1,
|
|
type = 'input',
|
|
name = L["Create Filter"],
|
|
width = 'full',
|
|
get = function() return EnchantStringName end,
|
|
set = function(_, value)
|
|
EnchantStringName = value
|
|
end,
|
|
disabled = function() return (E.db.sle.armory.enchantString.enable == false or E.db.sle.armory.enchantString.replacement == false) or (E.db.sle.armory.character.enable == false and E.db.sle.armory.inspect.enable == false) end
|
|
},
|
|
AddButton = {
|
|
type = 'execute',
|
|
name = ADD,
|
|
order = 3,
|
|
desc = '',
|
|
func = function()
|
|
if EnchantStringName ~= '' and not SLE_ArmoryDB.EnchantString[EnchantStringName] then
|
|
SLE_ArmoryDB.EnchantString[EnchantStringName] = {}
|
|
SelectedEnchantString = EnchantStringName
|
|
E.Options.args.sle.args.modules.args.armory.args.enchantString.args.ConfigSpace.args.StringGroup.name = L["List of Strings"]..': '..SelectedEnchantString
|
|
EnchantStringName = ''
|
|
end
|
|
end,
|
|
disabled = function()
|
|
return (E.db.sle.armory.enchantString.enable == false or E.db.sle.armory.enchantString.replacement == false) or (E.db.sle.armory.character.enable == false and E.db.sle.armory.inspect.enable == false) or EnchantStringName == ''
|
|
end
|
|
},
|
|
List = {
|
|
type = 'select',
|
|
name = L["List of Strings"],
|
|
order = 4,
|
|
get = function() return SelectedEnchantString end,
|
|
set = function(_, value)
|
|
SelectedEnchantString = value
|
|
E.Options.args.sle.args.modules.args.armory.args.enchantString.args.ConfigSpace.args.StringGroup.name = L["List of Strings"]..': '..value
|
|
end,
|
|
values = function()
|
|
local List = {}
|
|
List[''] = NONE
|
|
for Name, _ in pairs(SLE_ArmoryDB.EnchantString) do
|
|
List[Name] = Name
|
|
end
|
|
if not SelectedEnchantString then
|
|
SelectedEnchantString = ''
|
|
end
|
|
return List
|
|
end,
|
|
disabled = function() return (E.db.sle.armory.enchantString.enable == false or E.db.sle.armory.enchantString.replacement == false) or (E.db.sle.armory.character.enable == false and E.db.sle.armory.inspect.enable == false) end
|
|
},
|
|
spacer1 = ACH:Spacer(5, 'half'),
|
|
StringGroup = {
|
|
type = 'group',
|
|
name = '',
|
|
order = 8,
|
|
guiInline = true,
|
|
hidden = function()
|
|
return SelectedEnchantString == ''
|
|
end,
|
|
disabled = function() return (E.db.sle.armory.enchantString.enable == false or E.db.sle.armory.enchantString.replacement == false) or (E.db.sle.armory.character.enable == false and E.db.sle.armory.inspect.enable == false) end,
|
|
get = function(info) return SLE_ArmoryDB.EnchantString[SelectedEnchantString][(info[#info])] end,
|
|
set = function(info, value)
|
|
SLE_ArmoryDB.EnchantString[SelectedEnchantString][(info[#info])] = value
|
|
Armory:UpdateInspectInfo()
|
|
Armory:UpdateCharacterInfo()
|
|
end,
|
|
args = {
|
|
original = {
|
|
type = 'input',
|
|
name = L["Original String"],
|
|
order = 1,
|
|
desc = '',
|
|
width = 'full',
|
|
},
|
|
new = {
|
|
type = 'input',
|
|
name = L["New String"],
|
|
order = 2,
|
|
desc = '',
|
|
width = 'full',
|
|
},
|
|
DeleteButton = {
|
|
type = 'execute',
|
|
name = DELETE,
|
|
order = 8,
|
|
desc = '',
|
|
func = function()
|
|
if SLE_ArmoryDB.EnchantString[SelectedEnchantString] then
|
|
SLE_ArmoryDB.EnchantString[SelectedEnchantString] = nil
|
|
SelectedEnchantString = ''
|
|
Armory:UpdateInspectInfo()
|
|
Armory:UpdateCharacterInfo()
|
|
end
|
|
end,
|
|
disabled = function() return (E.db.sle.armory.enchantString.enable == false or E.db.sle.armory.enchantString.replacement == false) or (E.db.sle.armory.character.enable == false and E.db.sle.armory.inspect.enable == false) end,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
}
|
|
end
|
|
|
|
tinsert(SLE.Configs, configTable)
|
|
|