diff --git a/.luacheckrc b/.luacheckrc index ef77deb..997c012 100644 --- a/.luacheckrc +++ b/.luacheckrc @@ -126,5 +126,6 @@ globals = { "PowerBarColor", "GetCVar", "BackdropTemplateMixin", - "UnitReaction" + "UnitReaction", + "Settings", } diff --git a/NugEnergy.lua b/NugEnergy.lua index e26e170..d6bdb8a 100644 --- a/NugEnergy.lua +++ b/NugEnergy.lua @@ -1177,6 +1177,35 @@ local ParseOpts = function(str) return fields end +local function InterfaceOptions_AddCategory(frame, addOn, position) + -- cancel is no longer a default option. May add menu extension for this. + frame.OnCommit = frame.okay; + frame.OnDefault = frame.default; + frame.OnRefresh = frame.refresh; + + if frame.parent then + local category = Settings.GetCategory(frame.parent); + local subcategory, layout = Settings.RegisterCanvasLayoutSubcategory(category, frame, frame.name, frame.name); + subcategory.ID = frame.name; + return subcategory, category; + else + local category, layout = Settings.RegisterCanvasLayoutCategory(frame, frame.name, frame.name); + category.ID = frame.name; + Settings.RegisterAddOnCategory(category); + return category; + end +end + +-- Deprecated. Use Settings.OpenToCategory(). +local function InterfaceOptionsFrame_OpenToCategory(categoryIDOrFrame) + if type(categoryIDOrFrame) == "table" then + local categoryID = categoryIDOrFrame.name; + return Settings.OpenToCategory(categoryID); + else + return Settings.OpenToCategory(categoryIDOrFrame); + end +end + NugEnergy.Commands = { ["gui"] = function(v) if not NugEnergy.optionsPanel then