Asa@3
|
1 local addonName, addonTable = ...;
|
Asa@3
|
2 local addon = _G[addonName]
|
Asa@3
|
3
|
Asa@3
|
4 local utils = addonTable.utils
|
Asa@3
|
5
|
Asa@3
|
6 local options = {
|
Asa@3
|
7 name = "ItemAuditor",
|
Asa@3
|
8 handler = addon,
|
Asa@3
|
9 type = 'group',
|
Asa@3
|
10 args = {
|
Asa@12
|
11 dbg = {
|
Asa@3
|
12 type = "toggle",
|
Asa@3
|
13 name = "Debug",
|
Asa@3
|
14 desc = "Toggles debug messages in chat",
|
Asa@3
|
15 get = "GetDebug",
|
Asa@3
|
16 set = "SetDebug"
|
Asa@3
|
17 },
|
Asa@3
|
18 dump = {
|
Asa@3
|
19 type = "execute",
|
Asa@3
|
20 name = "dump",
|
Asa@3
|
21 desc = "dumps IA database",
|
Asa@3
|
22 func = "DumpInfo",
|
Asa@3
|
23 },
|
Asa@12
|
24 refresh_qa = {
|
Asa@12
|
25 type = "execute",
|
Asa@12
|
26 name = "Refresh QA Thresholds",
|
Asa@12
|
27 desc = "Resets all Quick Auctions thresholds",
|
Asa@12
|
28 func = "RefreshQAGroups",
|
Asa@12
|
29 },
|
Asa@3
|
30 options = {
|
Asa@3
|
31 type = "execute",
|
Asa@3
|
32 name = "options",
|
Asa@3
|
33 desc = "Show Blizzard's options GUI",
|
Asa@3
|
34 func = "ShowOptionsGUI",
|
Asa@3
|
35 guiHidden = true,
|
Asa@3
|
36 },
|
Asa@3
|
37 },
|
Asa@3
|
38 }
|
Asa@3
|
39
|
Asa@3
|
40 function addon:RegisterOptions()
|
Asa@3
|
41 self.optionsFrame = LibStub("AceConfigDialog-3.0"):AddToBlizOptions("ItemAuditor", "ItemAuditor")
|
Asa@3
|
42 LibStub("AceConfig-3.0"):RegisterOptionsTable("ItemAuditor", options, {"ia"})
|
Asa@3
|
43 end
|
Asa@3
|
44
|
Asa@7
|
45 local function pairsByKeys (t, f)
|
Asa@7
|
46 local a = {}
|
Asa@7
|
47 for n in pairs(t) do table.insert(a, n) end
|
Asa@7
|
48 table.sort(a, f)
|
Asa@7
|
49 local i = 0 -- iterator variable
|
Asa@7
|
50 local iter = function () -- iterator function
|
Asa@7
|
51 i = i + 1
|
Asa@7
|
52 if a[i] == nil then return nil
|
Asa@7
|
53 else return a[i], t[a[i]]
|
Asa@7
|
54 end
|
Asa@7
|
55 end
|
Asa@7
|
56 return iter
|
Asa@7
|
57 end
|
Asa@7
|
58
|
Asa@3
|
59 function addon:DumpInfo()
|
Asa@7
|
60 for itemName, value in pairsByKeys(self.db.factionrealm.item_account) do
|
Asa@7
|
61 self:Print(itemName .. ": " .. utils:FormatMoney(value))
|
Asa@7
|
62 end
|
Asa@3
|
63 end
|
Asa@3
|
64
|
Asa@7
|
65
|
Asa@3
|
66 function addon:ShowOptionsGUI()
|
Asa@3
|
67 InterfaceOptionsFrame_OpenToCategory(self.optionsFrame)
|
Asa@3
|
68 end
|
Asa@3
|
69
|
Asa@3
|
70 function addon:GetDebug(info)
|
Asa@3
|
71 return self.db.char.debug
|
Asa@3
|
72 end
|
Asa@3
|
73
|
Asa@3
|
74 function addon:SetDebug(info, input)
|
Asa@3
|
75 self.db.char.debug = input
|
Asa@3
|
76 local value = "off"
|
Asa@3
|
77 if input then
|
Asa@3
|
78 value = "on"
|
Asa@3
|
79 end
|
Asa@3
|
80 self:Print("Debugging is now: " .. value)
|
Asa@3
|
81 end
|