From b69f2fd27a64b92bdf23ff25da69830f0f682278 Mon Sep 17 00:00:00 2001 From: torhal Date: Tue, 8 Sep 2009 04:54:34 +0000 Subject: [PATCH] Removed addon.setFlyawayState() (all 118 lines of it) and replaced it with a 9-line OnShow for addon.Flyaway, thanks to the re-structuring of FilterValueMap. --- ARLFrame.lua | 145 ++++++---------------------------------------------------- 1 file changed, 13 insertions(+), 132 deletions(-) diff --git a/ARLFrame.lua b/ARLFrame.lua index 9b7abca..50743fe 100644 --- a/ARLFrame.lua +++ b/ARLFrame.lua @@ -2798,146 +2798,15 @@ function addon.RepFilterSwitch(whichrep) end - -function addon.setFlyawayState() - - -- This function sets all the current options in the flyaway panel to make - -- sure they are consistent with the SV options. This is run every time the - -- Flyaway panel "OnShow" triggers - local filterdb = addon.db.profile.filters - local armordb = filterdb.item.armor - local weapondb = filterdb.item.weapon - -- General Options - ARL_SpecialtyCB:SetChecked(filterdb.general.specialty) - ARL_LevelCB:SetChecked(filterdb.general.skill) - ARL_FactionCB:SetChecked(filterdb.general.faction) - ARL_KnownCB:SetChecked(filterdb.general.known) - ARL_UnknownCB:SetChecked(filterdb.general.unknown) - -- Classes - ARL_DeathKnightCB:SetChecked(filterdb.classes.deathknight) - ARL_DruidCB:SetChecked(filterdb.classes.druid) - ARL_HunterCB:SetChecked(filterdb.classes.hunter) - ARL_MageCB:SetChecked(filterdb.classes.mage) - ARL_PaladinCB:SetChecked(filterdb.classes.paladin) - ARL_PriestCB:SetChecked(filterdb.classes.priest) - ARL_RogueCB:SetChecked(filterdb.classes.rogue) - ARL_ShamanCB:SetChecked(filterdb.classes.shaman) - ARL_WarlockCB:SetChecked(filterdb.classes.warlock) - ARL_WarriorCB:SetChecked(filterdb.classes.warrior) - -- Obtain Options - ARL_InstanceCB:SetChecked(filterdb.obtain.instance) - ARL_RaidCB:SetChecked(filterdb.obtain.raid) - ARL_QuestCB:SetChecked(filterdb.obtain.quest) - ARL_SeasonalCB:SetChecked(filterdb.obtain.seasonal) - ARL_TrainerCB:SetChecked(filterdb.obtain.trainer) - ARL_VendorCB:SetChecked(filterdb.obtain.vendor) - ARL_PVPCB:SetChecked(filterdb.obtain.pvp) - ARL_DiscoveryCB:SetChecked(filterdb.obtain.discovery) - ARL_WorldDropCB:SetChecked(filterdb.obtain.worlddrop) - ARL_MobDropCB:SetChecked(filterdb.obtain.mobdrop) - ARL_OriginalWoWCB:SetChecked(filterdb.obtain.originalwow) - ARL_BCCB:SetChecked(filterdb.obtain.bc) - ARL_WrathCB:SetChecked(filterdb.obtain.wrath) - -- Binding Options - ARL_iBoECB:SetChecked(filterdb.binding.itemboe) - ARL_iBoPCB:SetChecked(filterdb.binding.itembop) - ARL_rBoECB:SetChecked(filterdb.binding.recipeboe) - ARL_rBoPCB:SetChecked(filterdb.binding.recipebop) - -- Armor Options - ARL_ArmorClothCB:SetChecked(armordb.cloth) - ARL_ArmorLeatherCB:SetChecked(armordb.leather) - ARL_ArmorMailCB:SetChecked(armordb.mail) - ARL_ArmorPlateCB:SetChecked(armordb.plate) - ARL_ArmorCloakCB:SetChecked(armordb.cloak) - ARL_ArmorNecklaceCB:SetChecked(armordb.necklace) - ARL_ArmorRingCB:SetChecked(armordb.ring) - ARL_ArmorTrinketCB:SetChecked(armordb.trinket) - ARL_ArmorShieldCB:SetChecked(armordb.shield) - -- Weapon Options - ARL_Weapon1HCB:SetChecked(weapondb.onehand) - ARL_Weapon2HCB:SetChecked(weapondb.twohand) - ARL_WeaponDaggerCB:SetChecked(weapondb.dagger) - ARL_WeaponAxeCB:SetChecked(weapondb.axe) - ARL_WeaponMaceCB:SetChecked(weapondb.mace) - ARL_WeaponSwordCB:SetChecked(weapondb.sword) - ARL_WeaponPolearmCB:SetChecked(weapondb.polearm) - ARL_WeaponWandCB:SetChecked(weapondb.wand) - ARL_WeaponThrownCB:SetChecked(weapondb.thrown) - ARL_WeaponAmmoCB:SetChecked(weapondb.ammo) - ARL_WeaponFistCB:SetChecked(weapondb.fist) - ARL_WeaponGunCB:SetChecked(weapondb.gun) ---[[ - --Disable weapon options. Probably don't need to touch these... - ARL_WeaponStaffCB - ARL_WeaponBowCB - ARL_WeaponCrossbowCB -]]-- - -- Player Type Options - ARL_PlayerTankCB:SetChecked(filterdb.player.tank) - ARL_PlayerMeleeCB:SetChecked(filterdb.player.melee) - ARL_PlayerHealerCB:SetChecked(filterdb.player.healer) - ARL_PlayerCasterCB:SetChecked(filterdb.player.caster) - -- Old World Rep Options - ARL_RepArgentDawnCB:SetChecked(filterdb.rep.argentdawn) - ARL_RepCenarionCircleCB:SetChecked(filterdb.rep.cenarioncircle) - ARL_RepThoriumCB:SetChecked(filterdb.rep.thoriumbrotherhood) - ARL_RepTimbermawCB:SetChecked(filterdb.rep.timbermaw) - ARL_RepZandalarCB:SetChecked(filterdb.rep.zandalar) - -- BC Rep Options - ARL_RepAldorCB:SetChecked(filterdb.rep.aldor) - ARL_RepAshtongueCB:SetChecked(filterdb.rep.ashtonguedeathsworn) - ARL_RepCenarionExpeditionCB:SetChecked(filterdb.rep.cenarionexpedition) - ARL_RepConsortiumCB:SetChecked(filterdb.rep.consortium) - ARL_RepHonorHoldCB:SetChecked(filterdb.rep.hellfire) - ARL_RepKeepersOfTimeCB:SetChecked(filterdb.rep.keepersoftime) - ARL_RepKurenaiCB:SetChecked(filterdb.rep.nagrand) - ARL_RepLowerCityCB:SetChecked(filterdb.rep.lowercity) - ARL_RepScaleSandsCB:SetChecked(filterdb.rep.scaleofthesands) - ARL_RepScryersCB:SetChecked(filterdb.rep.scryer) - ARL_RepShatarCB:SetChecked(filterdb.rep.shatar) - ARL_RepShatteredSunCB:SetChecked(filterdb.rep.shatteredsun) - ARL_RepSporeggarCB:SetChecked(filterdb.rep.sporeggar) - ARL_RepVioletEyeCB:SetChecked(filterdb.rep.violeteye) - -- WotLK Rep Options - ARL_RepArgentCrusadeCB:SetChecked(filterdb.rep.argentcrusade) - ARL_RepFrenzyheartCB:SetChecked(filterdb.rep.frenzyheart) - ARL_RepEbonBladeCB:SetChecked(filterdb.rep.ebonblade) - ARL_RepKirinTorCB:SetChecked(filterdb.rep.kirintor) - ARL_RepSonsOfHodirCB:SetChecked(filterdb.rep.sonsofhodir) - ARL_RepKaluakCB:SetChecked(filterdb.rep.kaluak) - ARL_RepOraclesCB:SetChecked(filterdb.rep.oracles) - ARL_RepWyrmrestCB:SetChecked(filterdb.rep.wyrmrest) - ARL_WrathCommon1CB:SetChecked(filterdb.rep.wrathcommon1) ---[[ - --Disable unused Rep Options - ARL_WrathCommon2CB:SetChecked(filterdb.rep.wrathcommon2) - ARL_WrathCommon3CB:SetChecked(filterdb.rep.wrathcommon3) - ARL_WrathCommon4CB:SetChecked(filterdb.rep.wrathcommon4) - ARL_WrathCommon5CB:SetChecked(filterdb.rep.wrathcommon5) -]]-- - -- Miscellaneous Options - ARL_IgnoreCB:SetChecked(addon.db.profile.ignoreexclusionlist) -end - - 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 function addon.DoFlyaway(panel) @@ -3918,7 +3787,19 @@ local function InitializeFrame() addon.Flyaway:ClearAllPoints() addon.Flyaway:SetPoint("TOPLEFT", addon.Frame, "TOPRIGHT", -6, -102) - addon.Flyaway:SetScript("OnShow", addon.setFlyawayState) + ------------------------------------------------------------------------------- + -- Set all the current options in the flyaway panel to make sure they are + -- consistent with the SV options. + ------------------------------------------------------------------------------- + addon.Flyaway:SetScript("OnShow", function() + for filter, info in pairs(FilterValueMap) do + if info.svroot then + info.cb:SetChecked(info.svroot[filter]) + end + end + -- Miscellaneous Options + ARL_IgnoreCB:SetChecked(addon.db.profile.ignoreexclusionlist) + end) addon.Flyaway:Hide() ------------------------------------------------------------------------------- -- 1.7.9.5