forked from rilgamon/zz_Money
74 lines
3.1 KiB
Lua
74 lines
3.1 KiB
Lua
local addonName, addonTable = ...
|
|
local db, dbr, faction
|
|
addonTable['bankHandler'] = {
|
|
SetDB = function(self, db) self.db = db end,
|
|
GetPref = function(self, pref)
|
|
return self['db'][pref[#pref]]
|
|
end,
|
|
SetPref = function (self, pref, value)
|
|
self['db'][pref[#pref]] = value
|
|
addonTable['events']['MAIL_SHOW'](addonTable)
|
|
end,
|
|
}
|
|
local function buildSelect()
|
|
local sel = {}
|
|
local n,m,_
|
|
if(addonTable['db']['sv']['profileKeys']) then
|
|
for k,v in pairs(addonTable['db']['sv']['profileKeys']) do
|
|
n,_,m = strsplit(' ',k,3)
|
|
if(addonTable:IsTwink(n)) then
|
|
if(dbr[n] and faction == dbr[n]['faction']) then
|
|
sel[n] = n
|
|
end
|
|
end
|
|
end
|
|
end
|
|
return sel
|
|
end
|
|
local function buildSelectAll()
|
|
local sel = {}
|
|
local n,m,_
|
|
if(addonTable['db']['sv']['profileKeys']) then
|
|
for k,v in pairs(addonTable['db']['sv']['profileKeys']) do
|
|
n,_,m = strsplit(' ',k,3)
|
|
sel[format("%s-%s",n,m)] = format("%s-%s",n,m)
|
|
end
|
|
end
|
|
return sel
|
|
end
|
|
local function deleteChar()
|
|
if(db['deleteCharOk']) then
|
|
local charName, charRealm = strsplit('-', db['deleteChar'],2)
|
|
if(db[charRealm] and db[charRealm][charName]) then
|
|
db[charRealm][charName] = nil
|
|
addonTable['db']['sv']['profileKeys'][format("%s - %s", charName, charRealm)] = nil
|
|
end
|
|
end
|
|
db['deleteCharOk'] = nil
|
|
end
|
|
function addonTable:SetupPrefs(childName)
|
|
local L = addonTable['storage']['L']
|
|
dbr = addonTable['storage']['dbr']
|
|
db = addonTable['storage']['db']
|
|
faction = addonTable['storage']['faction']
|
|
local config = LibStub:GetLibrary("zzConfig")
|
|
local main = addonTable['options']['args'][childName]
|
|
local menu = config:AddConfigMenu(addonTable['options'], L['Bankier'], addonTable['bankHandler'] , 2, { disabled = function() return db['disableBanker']
|
|
end})
|
|
config:AddConfigEntry(menu, "minLimit", "range", L['Minimum Limit'],L['Desc MinL'],1,10,150000,5, false)
|
|
config:AddConfigEntry(menu, "maxLimit", "range", L['Maximum Limit'],L['Desc MaxL'],2,10,150000,5,false)
|
|
config:AddConfigEntry(menu, "banker","select",L['Bankier'],nil,3,buildSelect)
|
|
config:AddConfigEntry(main, "disableBanker", "toggle", L['nobanker'], nil, 3)
|
|
config:AddConfigEntry(main, "deleteCharHeader", "header", L['DeleteChar'], nil, 9)
|
|
config:AddConfigEntry(main, "deleteChar", "select", L['DeleteChar'], L['DeleteCharDesc'], 10, buildSelectAll)
|
|
config:AddConfigEntry(main, "deleteCharOk", "toggle", L['DeleteCharOk'], nil , 11)
|
|
config:AddConfigEntry(main, "deleteCharExec", "execute", L['DeleteChar'], L['DeleteCharDesc'], 12, deleteChar)
|
|
config:AddConfigEntry(main, "sortDir", "toggle", L['sortDir'], nil, 2)
|
|
config:AddConfigEntry(main, "connectedRealms", "toggle", L['connectedRealms'], nil, 2)
|
|
config:AddConfigEntry(main, "accountMoney", "toggle", L['accountMoney'], L['accountMoneyDesc'], 4)
|
|
config:AddConfigEntry(main, "shortMoney", "toggle", L['shortMoney'], nil, 5)
|
|
config:AddConfigEntry(main, "shortMoneyTip", "toggle", L['shortMoneyTip'], nil, 5)
|
|
config:AddConfigEntry(main, "abrevK", "toggle", L['abrevK'], nil, 6)
|
|
config:AddConfigEntry(main, "abrevM", "toggle", L['abrevM'], nil, 6)
|
|
config:AddConfigEntry(main, "showLog", "toggle", L['showLog'], nil, 7)
|
|
end |