use plugins to merge options together

This commit is contained in:
Hendrik Leppkes
2007-12-08 13:47:19 +00:00
parent caa746668c
commit cf182cdd74
3 changed files with 179 additions and 41 deletions
+13
View File
@@ -13,6 +13,7 @@ function Bartender4:OnInitialize()
self.db = LibStub("AceDB-3.0"):New("Bartender4DB")
self.db.RegisterCallback(self, "OnProfileChanged", "UpdateModuleConfigs")
self.db.RegisterCallback(self, "OnProfileCopied", "UpdateModuleConfigs")
self.db.RegisterCallback(self, "OnProfileReset", "UpdateModuleConfigs")
self:SetupOptions()
end
@@ -38,3 +39,15 @@ function Bartender4:Update()
end
end
end
function Bartender4:Merge(target, source)
if not target then target = {} end
for k,v in pairs(source) do
if type(v) == "table" then
target[k] = self:Merge(target[k], v)
elseif not target[k] then
target[k] = v
end
end
return target
end