-
Notifications
You must be signed in to change notification settings - Fork 0
/
Init.lua
71 lines (64 loc) · 2.19 KB
/
Init.lua
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
local AIA = LibStub('AceAddon-3.0'):NewAddon('AIA', 'AceConsole-3.0', 'AceEvent-3.0')
local L = LibStub('AceLocale-3.0'):GetLocale('AIA')
local AceConfigDialog = LibStub('AceConfigDialog-3.0')
local LDB = LibStub('LibDataBroker-1.1'):NewDataObject('AIA', {type = 'data source', text = 'AIA'})
function AIA:TempOptions()
local Options = {
type = 'group',
name = function(info)
return 'AIA - |cFFFF2C5A'..L['Accept Invites Automatically'].. '|r r|cFFFF2C5A' .. string.match(GetAddOnMetadata('AIA','Version'),'%d+') ..'|r'
end,
order = 0,
args = {
Open = {
name = L['Open Configuration Panel'],
type = 'execute',
order = 0,
func = function()
if not InCombatLockdown() then
-- HideUIPanel protected in 8.2 Prevent UI taint.
HideUIPanel(InterfaceOptionsFrame)
HideUIPanel(GameMenuFrame)
AIA:ChatCommand('Open')
end
end,
},
},
}
LibStub('AceConfig-3.0'):RegisterOptionsTable('AIA_Blizz', Options) -- Register Options
self.optionsFrame = AceConfigDialog:AddToBlizOptions('AIA_Blizz', 'AIA')
end
function AIA:ChatCommand(input)
if string.match(string.lower(input),'check') then
AIA:CheckAgain()
else
if not InCombatLockdown() then
self:EnableModule('Options')
if AceConfigDialog.OpenFrames['AIA'] then
AceConfigDialog:Close('AIA')
else
AceConfigDialog:Open('AIA')
end
else
print('|cFFFF2C5AAIA: |r'..L['Cannot configure while in combat.'])
end
end
end
function AIA:OnInitialize()
self.db = LibStub('AceDB-3.0'):New('AIADB', AIA.Defaults) -- Setup Saved Variables
self:RegisterChatCommand('AIA', 'ChatCommand') -- Register /AIA command
-- Profile Management
self.db.RegisterCallback(self, 'OnProfileChanged', 'RefreshConfig')
self.db.RegisterCallback(self, 'OnProfileCopied', 'RefreshConfig')
self.db.RegisterCallback(self, 'OnProfileReset', 'RefreshConfig')
-- Add Button to Open AIA's Options panel.
AIA:TempOptions()
LDB.text = AIA.db.profile.LDB.DisplayName
LDB.icon = 'Interface\\Addons\\AIA\\Media\\AIA-Icon.tga'
LibStub('LibDBIcon-1.0'):Register('AIA', LDB, AIA.db.profile.Minimap)
end
function AIA:RefreshConfig()
AIA.db.profile = self.db.profile
AIA:LDBDisplayState()
AIA:LDBLockState()
end