ElvUI_OptionsUI/Skins.lua

142 lines
5.4 KiB
Lua

local E, _, V, P, G = unpack(ElvUI); --Import: Engine, Locales, PrivateDB, ProfileDB, GlobalDB
local C, L = unpack(select(2, ...))
local B = E:GetModule('Blizzard')
local ACH = E.Libs.ACH
local pairs = pairs
E.Options.args.skins = ACH:Group(L["Skins"], nil, 2, 'tab')
E.Options.args.skins.args.intro = ACH:Description(L["SKINS_DESC"], 0)
E.Options.args.skins.args.general = ACH:MultiSelect(L["General"], nil, 1, nil, nil, nil,
function(_, key)
if key == 'blizzardEnable' then
return E.private.skins.blizzard.enable
else
return E.private.skins[key] end
end,
function(_, key, value)
if key == 'blizzardEnable' then
E.private.skins.blizzard.enable = value
else
E.private.skins[key] = value
end
E:StaticPopup_Show('PRIVATE_RL')
end)
E.Options.args.skins.args.general.sortByValue = true
E.Options.args.skins.args.general.values = {
ace3Enable = 'Ace3',
blizzardEnable = L["Blizzard"],
checkBoxSkin = L["CheckBox Skin"],
parchmentRemoverEnable = L["Parchment Remover"],
}
E.Options.args.skins.args.talkingHead = ACH:Group(L["TalkingHead"], nil, 2, nil, function(info) return E.db.general[info[#info]] end)
E.Options.args.skins.args.talkingHead.inline = true
E.Options.args.skins.args.talkingHead.args.talkingHeadFrameScale = ACH:Range(L["Talking Head Scale"], nil, 1, { min = .5, max = 2, step = .01, isPercent = true }, nil, nil, function(_, value) E.db.general.talkingHeadFrameScale = value; B:ScaleTalkingHeadFrame() end)
E.Options.args.skins.args.talkingHead.args.talkingHeadFrameBackdrop = ACH:Toggle(L["Talking Head Backdrop"], nil, 2, nil, nil, nil, nil, function(_, value) E.db.general.talkingHeadFrameBackdrop = value; E:StaticPopup_Show('CONFIG_RL') end)
local function ToggleSkins(value)
for key in pairs(E.private.skins.blizzard) do
if key ~= 'enable' then
E.private.skins.blizzard[key] = value
end
end
end
E.Options.args.skins.args.disableBlizzardSkins = ACH:Execute(L["Disable Blizzard Skins"], nil, 3, function() ToggleSkins(false); E:StaticPopup_Show('PRIVATE_RL') end)
E.Options.args.skins.args.enableBlizzardSkins = ACH:Execute(L["Enable Blizzard Skins"], nil, 4, function() ToggleSkins(true); E:StaticPopup_Show('PRIVATE_RL') end)
E.Options.args.skins.args.blizzard = ACH:MultiSelect(L["Blizzard"], nil, -1, nil, nil, nil, function(_, key) return E.private.skins.blizzard[key] end, function(_, key, value) E.private.skins.blizzard[key] = value; E:StaticPopup_Show('PRIVATE_RL') end, function() return not E.private.skins.blizzard.enable end)
E.Options.args.skins.args.blizzard.sortByValue = true
E.Options.args.skins.args.blizzard.values = {
achievement = L["ACHIEVEMENTS"],
addonManager = L["AddOn Manager"],
adventureMap = L["ADVENTURE_MAP_TITLE"],
alertframes = L["Alert Frames"],
alliedRaces = L["Allied Races"],
animaDiversion = L["Anima Diversion"],
archaeology = L["Archaeology Frame"],
artifact = L["ITEM_QUALITY6_DESC"],
auctionhouse = L["AUCTIONS"],
azeriteEssence = L["Azerite Essence"],
azeriteRespec = L["AZERITE_RESPEC_TITLE"],
azerite = L["Azerite"],
bags = L["Bags"],
barber = L["BARBERSHOP"],
bgmap = L["BG Map"],
bgscore = L["BG Score"],
binding = L["KEY_BINDINGS"],
blizzardOptions = L["INTERFACE_OPTIONS"],
bmah = L["BLACK_MARKET_AUCTION_HOUSE"],
calendar = L["Calendar Frame"],
channels = L["CHANNELS"],
character = L["Character Frame"],
chromieTime = L["Chromie Time Frame"],
collections = L["COLLECTIONS"],
communities = L["COMMUNITIES"],
contribution = L["Contribution"],
covenantPreview = L["Covenant Preview"],
covenantSanctum = L["Covenant Sanctum"],
deathRecap = L["DEATH_RECAP_TITLE"],
debug = L["Debug Tools"],
dressingroom = L["DRESSUP_FRAME"],
encounterjournal = L["ENCOUNTER_JOURNAL"],
friends = L["FRIENDS"],
garrison = L["GARRISON_LOCATION_TOOLTIP"],
gbank = L["GUILD_BANK"],
gmChat = L["GM Chat"],
gossip = L["Gossip Frame"],
guide = L["Guide Frame"],
guild = L["GUILD"],
guildcontrol = L["Guild Control Frame"],
guildregistrar = L["Guild Registrar"],
help = L["Help Frame"],
inspect = L["INSPECT"],
islandQueue = L["ISLANDS_HEADER"],
islandsPartyPose = L["Island Party Pose"],
itemInteraction = L["Item Interaction"],
itemUpgrade = L["Item Upgrade"],
lfg = L["LFG_TITLE"],
lfguild = L["LF Guild Frame"],
loot = L["Loot Frames"],
losscontrol = L["LOSS_OF_CONTROL"],
macro = L["MACROS"],
mail = L["Mail Frame"],
merchant = L["Merchant Frame"],
mirrorTimers = L["Mirror Timers"],
misc = L["Misc Frames"],
nonraid = L["Non-Raid Frame"],
objectiveTracker = L["OBJECTIVES_TRACKER_LABEL"],
obliterum = L["OBLITERUM_FORGE_TITLE"],
orderhall = L["Orderhall"],
petbattleui = L["Pet Battle"],
petition = L["Petition Frame"],
playerChoice = L["Player Choice Frame"],
pvp = L["PvP Frames"],
quest = L["Quest Frames"],
questChoice = L["Quest Choice"],
raid = L["Raid Frame"],
runeforge = L["Runeforge"],
scrapping = L["SCRAP_BUTTON"],
socket = L["Socket Frame"],
spellbook = L["SPELLBOOK"],
stable = L["Stable"],
soulbinds = L["Soulbinds"],
tabard = L["Tabard Frame"],
talent = L["TALENTS"],
talkinghead = L["TalkingHead"],
taxi = L["FLIGHT_MAP"],
timemanager = L["TIMEMANAGER_TITLE"],
tooltip = L["Tooltip"],
torghastLevelPicker = L["Torghast Level Picker"],
trade = L["TRADE"],
tradeskill = L["TRADESKILLS"],
trainer = L["Trainer Frame"],
transmogrify = L["TRANSMOGRIFY"],
tutorials = L["Tutorials"],
voidstorage = L["VOID_STORAGE"],
warboard = L["Warboard"],
weeklyRewards = L["Weekly Rewards"],
worldmap = L["WORLD_MAP"],
}