From 15e0de5c32cf00dc35d65375d1115603c08a4de2 Mon Sep 17 00:00:00 2001 From: Ackis Date: Wed, 29 Oct 2008 17:10:58 +0000 Subject: [PATCH] Ackis Recipe List: - Make filter reset code more manageable (ty Antiarc/nev/zypher) - FIRE ALARM AHHH RUN IMMA BURNING - Dry-coded (Compiles with luac -p) --- ARLFrame.lua | 118 ++++++++++++++++------------------------------------------ 1 file changed, 32 insertions(+), 86 deletions(-) diff --git a/ARLFrame.lua b/ARLFrame.lua index 621f695..3f7f70e 100644 --- a/ARLFrame.lua +++ b/ARLFrame.lua @@ -2537,102 +2537,48 @@ end -- Description: -- Expected result: -- Input: +-- Output: + +local function recursiveReset(t) + + -- Thanks to Antiarc for this code + + for k, v in pairs(t) do + + if type(v) == "table" then + + recursiveReset(v) + + else + + t[k] = true + + end + + end + +end + +-- Description: +-- Expected result: +-- Input: -- Output: function addon.resetFilters() + local filterdb = addon.db.profile.filters - -- reset all filters to their default values - filterdb.general.faction = true + + -- Reset all filters to true + recursiveReset(addon.db.profile.filters) + + -- Reset specific filters to false filterdb.general.class = false filterdb.general.specialty = false - filterdb.general.skill = true filterdb.general.known = false - filterdb.general.unknown = true - - filterdb.obtain.trainer = true - filterdb.obtain.vendor = true - filterdb.obtain.instance = true - filterdb.obtain.raid = true - filterdb.obtain.seasonal = true - filterdb.obtain.quest = true - filterdb.obtain.pvp = true - filterdb.obtain.discovery = true - filterdb.obtain.worlddrop = true - filterdb.obtain.mobdrop = true - - filterdb.binding.itemboe = true - filterdb.binding.itembop = true - filterdb.binding.recipebop = true - filterdb.binding.recipeboe = true - - filterdb.item.armor.cloth = true - filterdb.item.armor.leather = true - filterdb.item.armor.mail = true - filterdb.item.armor.plate = true - filterdb.item.armor.trinket = true - filterdb.item.armor.shield = true - filterdb.item.armor.cloak = true - filterdb.item.armor.ring = true - filterdb.item.armor.necklace = true - - filterdb.item.weapon.onehand = true - filterdb.item.weapon.twohand = true - filterdb.item.weapon.axe = true - filterdb.item.weapon.sword = true - filterdb.item.weapon.mace = true - filterdb.item.weapon.polearm = true - filterdb.item.weapon.dagger = true - filterdb.item.weapon.fist = true - filterdb.item.weapon.staff = true - filterdb.item.weapon.wand = true - filterdb.item.weapon.thrown = true - filterdb.item.weapon.bow = true - filterdb.item.weapon.crossbow = true - filterdb.item.weapon.ammo = true - - filterdb.player.melee = true - filterdb.player.tank = true - filterdb.player.healer = true - filterdb.player.caster = true - - filterdb.rep.aldor = true - filterdb.rep.scryer = true - filterdb.rep.argentdawn = true - filterdb.rep.ashtonguedeathsworn = true - filterdb.rep.cenarioncircle = true - filterdb.rep.cenarionexpedition = true - filterdb.rep.consortium = true - filterdb.rep.hellfire = true - filterdb.rep.keepersoftime = true - filterdb.rep.nagrand = true - filterdb.rep.lowercity = true - filterdb.rep.scaleofthesands = true - filterdb.rep.shatar = true - filterdb.rep.shatteredsun = true - filterdb.rep.sporeggar = true - filterdb.rep.thoriumbrotherhood = true - filterdb.rep.timbermaw = true - filterdb.rep.violeteye = true - filterdb.rep.zandalar = true --- Below this is WotLK stuff. May need to be changed post beta. - filterdb.rep.argentcrusade = true - filterdb.rep.frenzyheart = true - filterdb.rep.ebonblade = true - filterdb.rep.kirintor = true - filterdb.rep.sonsofhodir = true - filterdb.rep.kaluak = true - filterdb.rep.oracles = true - filterdb.rep.wyrmrest = true - filterdb.rep.silvercovenant = true - filterdb.rep.sunreavers = true - filterdb.rep.explorersleague = true - filterdb.rep.valiance = true - filterdb.rep.handofvengeance = true - filterdb.rep.taunka = true - filterdb.rep.warsongoffensive = true addon.resetTitle() addon.Flyaway:Hide() + end -- Description: -- 1.7.9.5