vanilla-wow-addons – Rev 1
?pathlinks?
if not SimpleCombatLog then return end
local dewdrop = AceLibrary("Dewdrop-2.0")
local L = SimpleCombatLog.loc.event
function SimpleCombatLog:SetEvent(id, event, flag)
if flag == false then flag = nil end
if not self.settings[id] then
self.settings[id] = {}
self.settingDB[id] = self.settings[id]
else
if self.settings[id].theme then
self.settings[id] = SimpleCombatLog.CopyTable({}, self.settings[id])
self.settings[id].theme = nil
self.settingDB[id] = self.settings[id]
end
end
if not self.settings[id].events then
self.settings[id].events = {}
end
self.settings[id].events[event] = flag
end
local function LoadMenuChatTypeGroups(self, id, title, chatTypeGroups)
dewdrop:AddLine(
'text', title,
'isTitle', true
)
for i, v in pairs(chatTypeGroups) do
local eventName = ChatTypeGroup[v][1]
local eventDesc = getglobal(eventName)
dewdrop:AddLine(
'text', eventDesc,
'func', function(id, event)
self:SetEvent(id, event, not self:GetEvent(id, event) )
self:RefreshSettings()
end,
'arg1', id,
'arg2', eventName,
'checked', self:GetEvent(id, eventName)
)
end
end
local function UpdateEventOptionsTable(self, id, level, value)
if level == 1 then
dewdrop:AddLine(
'text', L["Events"],
'tooltipTitle', L["Events"],
'tooltipText', L.tooltip_Events,
'hasArrow', true,
'value', 'event',
'notCheckable', true
)
elseif level == 2 and value == 'event' then
self.currMenuType = 'event'
dewdrop:AddLine(
'text', L["Events"],
'isTitle', true,
'notCheckable', true
)
-- I decided not to bother messing with the event groups, just use Blizzard's groupings.
dewdrop:AddLine(
'text', COMBAT_MESSAGES,
'notCheckable', true,
'hasArrow', true,
'value', COMBAT_MESSAGES
)
dewdrop:AddLine(
'text', SPELL_MESSAGES,
'notCheckable', true,
'hasArrow', true,
'value', SPELL_MESSAGES
)
dewdrop:AddLine(
'text', SPELL_OTHER_MESSAGES,
'notCheckable', true,
'hasArrow', true,
'value', SPELL_OTHER_MESSAGES
)
dewdrop:AddLine(
'text', PERIODIC_MESSAGES,
'notCheckable', true,
'hasArrow', true,
'value', PERIODIC_MESSAGES
)
elseif level == 3 and self.currMenuType == 'event' then
if value == COMBAT_MESSAGES then
LoadMenuChatTypeGroups(self, id, COMBAT_MESSAGES, CombatLogMenuChatTypeGroups)
elseif value == SPELL_MESSAGES then
LoadMenuChatTypeGroups(self, id, SPELL_MESSAGES, SpellLogMenuChatTypeGroups)
elseif value == SPELL_OTHER_MESSAGES then
LoadMenuChatTypeGroups(self, id, SPELL_OTHER_MESSAGES, SpellLogOtherMenuChatTypeGroups)
elseif value == PERIODIC_MESSAGES then
LoadMenuChatTypeGroups(self, id, PERIODIC_MESSAGES, PeriodicLogMenuChatTypeGroups)
end
end
end
if SimpleCombatLog.menuFunc then
SimpleCombatLog.menuFunc[2] = UpdateEventOptionsTable
end