Hey, I made an addon that uses
Ace3:
It stores options, adds it to Blizzard Addon options page, saves beetween sessions etc.
However, when I click Interface → Options → AddOns → Defaults → These Settings, nothing happens.
Lua Code:
-- libs
-- external /libs as ADDON_NAME.libs objects
ADDON_NAME.libs = {};
ADDON_NAME.libs.Config = LibStub("AceConfig-3.0");
ADDON_NAME.libs.ConfigDialog = LibStub("AceConfigDialog-3.0");
ADDON_NAME.libs.DB = LibStub("AceDB-3.0");
ADDON_NAME.libs.Timer = LibStub("AceTimer-3.0");
Lua Code:
-- options
-- ADDON_NAME.default.global.MODULE_NAME
-- ADDON_NAME.options.args.MODULE_NAME
ADDON_NAME.default = {global = {}};
ADDON_NAME.options = {
name = "ADDON_FULL_NAME",
type = "group",
args = {},
};
Lua Code:
ADDON_NAME.db = ADDON_NAME.libs.DB:New("ADDON_NAMEDB", ADDON_NAME.default, true);
ADDON_NAME.libs.Config:RegisterOptionsTable("ADDON_NAME", ADDON_NAME.options);
ADDON_NAME.frames = {options = ADDON_NAME.libs.ConfigDialog:AddToBlizOptions("ADDON_NAME")};
I tried to implement it according to some comments I saw, using:
Lua Code:
ADDON_NAME.libs.ConfigRegistry = LibStub("AceConfigRegistry-3.0");
Lua Code:
ADDON_NAME.frames.options.default = function(...)
ADDON_NAME.db = ADDON_NAME.default;
ADDON_NAME.libs.ConfigRegistry:NotifyChange("ADDON_NAME");
end;
It changes
ADDON_NAME.db, and corresponding GUI in options panel at will.
However, it works only first time after (re)loading GUI and changes are not saved.
Problem: How to handle Defaults → "These Settings" to default it's settings and save them correctly?
Any manual page, tutorial, examples or direct solution would be appreciated.