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