feat: add Database options tab with import/export/cleanup
New files:
- Modules/QuestieLearnerExport.lua: serialize/compress/encode pipeline using
AceSerializer + LibDeflate:CompressDeflate(level=9) + EncodeForPrint.
QxLD:<version>!<encoded> string format. Export(), ExportAll(), ValidateImport(),
MergeImport(), DryRunPrune(), Prune().
- Modules/Options/DatabaseTab/QuestieOptionsDatabase.lua: new Database tab with:
- Live learned data stats (per server)
- Per-type learner toggles (NPCs/Quests/Objects/Items/Broadcast)
- Export current server / Export all servers buttons (opens scrollable dialog)
- Import window (paste -> Validate -> Import with diff summary)
- Dry-run preview and Prune Now cleanup buttons
- Full reset button (confirm-gated)
- Contribute section with step-by-step GitHub submission instructions
Wiring:
- QuestieOptions.lua: database_tab initialized and registered in args
- All TOC files: QuestieLearnerExport.lua added before options, DatabaseTab lua added
This commit is contained in:
@@ -137,6 +137,8 @@ _CreateOptionsTable = function()
|
||||
coroutine.yield()
|
||||
local advanced_tab = QuestieOptions.tabs.advanced:Initialize()
|
||||
coroutine.yield()
|
||||
local database_tab = QuestieOptions.tabs.database:Initialize()
|
||||
coroutine.yield()
|
||||
local credits_tab = QuestieOptions.tabs.credits:Initialize()
|
||||
coroutine.yield()
|
||||
return {
|
||||
@@ -157,6 +159,7 @@ _CreateOptionsTable = function()
|
||||
nameplate_tab = nameplate_tab,
|
||||
dbm_hud_tab = dbm_hud_tab,
|
||||
advanced_tab = advanced_tab,
|
||||
database_tab = database_tab,
|
||||
credits_tab = credits_tab,
|
||||
profiles_tab = LibStub("AceDBOptions-3.0"):GetOptionsTable(Questie.db)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user