-
-
Notifications
You must be signed in to change notification settings - Fork 13
/
Config.lua
104 lines (88 loc) · 3.59 KB
/
Config.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
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
---@class DragonflightUI
---@diagnostic disable-next-line: assign-type-mismatch
local DF = LibStub('AceAddon-3.0'):GetAddon('DragonflightUI')
local moduleOptions = {}
local options = {
type = 'group',
args = {
info = {
type = 'description',
name = "Type '/df' or '/dragonflight' to open the (new) config window - or use the game menu button",
fontSize = 'large',
order = 420
},
unlock = {
type = 'execute',
name = 'Open config window',
desc = 'Opens the Dragonflight UI config window',
func = function()
-- DF:Print('Dont press me, i do nothing!')
---@diagnostic disable-next-line: undefined-field
local ConfigModule = DF:GetModule('Config')
if ConfigModule then ConfigModule:ToggleConfigFrame() end
end,
order = 69
}
}
}
function DF:SetupOptions()
self.optFrames = {}
LibStub('AceConfigRegistry-3.0'):RegisterOptionsTable('DragonflightUI', options)
self.optFrames['DragonflightUI'] = LibStub('AceConfigDialog-3.0'):AddToBlizOptions('DragonflightUI',
'DragonflightUI')
local profiles = LibStub('AceDBOptions-3.0'):GetOptionsTable(self.db)
profiles.order = 666
DF.OptionTableProfiles = profiles
LibStub('AceConfig-3.0'):RegisterOptionsTable('DragonflightUI_Profiles', profiles)
local frame, name = LibStub('AceConfigDialog-3.0'):AddToBlizOptions('DragonflightUI_Profiles', 'Profiles',
'DragonflightUI')
DF.db.RegisterCallback(self, "OnProfileChanged", "OnProfileChanged")
DF.db.RegisterCallback(self, "OnProfileCopied", "OnProfileCopied")
DF.db.RegisterCallback(self, "OnProfileReset", "OnProfileReset")
end
function DF:OnProfileChanged(name)
-- print("OnProfileChanged!", name)
DF:RefreshConfig()
end
function DF:OnProfileCopied(name)
-- print("OnProfileCopied!", name)
DF:RefreshConfig()
end
function DF:OnProfileReset()
-- print("OnProfileReset!")
DF:RefreshConfig()
end
function DF:RefreshConfig()
-- would do some stuff here
-- print("RefreshConfig!")
---@diagnostic disable-next-line: undefined-field
local configFrame = DF.ConfigModule.ConfigFrame
local refreshCat = function(name)
-- local subCat = configFrame:GetSubCategory('General', name)
-- subCat.displayFrame:CallRefresh()
configFrame:RefreshCatSub('General', name)
end
refreshCat('Profiles')
end
function DF:RegisterModuleOptions(name, options)
-- self:Print('RegisterModuleOptions()', name, options)
moduleOptions[name] = options
-- function AceConfigDialog:AddToBlizOptions(appName, name, parent, ...)
LibStub('AceConfigRegistry-3.0'):RegisterOptionsTable('DragonflightUI_' .. name, options)
-- self.optFrames[name] = LibStub('AceConfigDialog-3.0'):AddToBlizOptions('DragonflightUI_' .. name, name,
-- 'DragonflightUI')
end
function DF:RegisterSlashCommands()
-- self:RegisterChatCommand('df', 'SlashCommand')
-- self:RegisterChatCommand('dragonflight', 'SlashCommand')
-- "default" quick reload command
self:RegisterChatCommand('rl', 'ReloadCommand')
end
function DF:SlashCommand(msg)
-- self:Print('Slash: ' .. msg)
InterfaceOptionsFrame_OpenToCategory('DragonflightUI')
InterfaceOptionsFrame_OpenToCategory('DragonflightUI')
end
function DF:ReloadCommand()
ReloadUI()
end