From dbf0a2563b59155850a4d1963a834a012ade2aba Mon Sep 17 00:00:00 2001 From: "Erik L. Vonderscheer" Date: Tue, 7 Jul 2009 04:44:29 +0000 Subject: [PATCH] Option: Reset to default filters Main update --- Docs/main.txt | 2 ++ TradeFilter3Options.lua | 50 +++++++++++++++++++++++++++++++++++++++++------ 2 files changed, 46 insertions(+), 6 deletions(-) diff --git a/Docs/main.txt b/Docs/main.txt index 8332ab8..6102479 100644 --- a/Docs/main.txt +++ b/Docs/main.txt @@ -40,6 +40,8 @@ Adding a set, ie [xXyY], will attempt to find a match for any character given in Nothing planned ==== ChangeLog +*r126 +**++Option: Reset to default filters++\\ *r122 **++Distinguish between Trade channel and LFG/General for the ability to have differant filter tables for pattern matching.++\\ **++Ability to edit entire filter tables rather than having static lists.++\\ diff --git a/TradeFilter3Options.lua b/TradeFilter3Options.lua index a96d112..3e89c83 100644 --- a/TradeFilter3Options.lua +++ b/TradeFilter3Options.lua @@ -7,6 +7,7 @@ local TradeFilter3 = LibStub("AceAddon-3.0"):GetAddon("TradeFilter3") local L = LibStub("AceLocale-3.0"):GetLocale("TradeFilter3") local TF3 = TradeFilter3 +--[[ DB Functions ]]-- function TF3:Del(t) wipe(t) setmetatable(t, nil) @@ -14,9 +15,9 @@ function TF3:Del(t) return nil end -function TF3:ClearTable(t, recursively) +function TF3:ClearTable(t, recursive) if t ~= nil and type(t) == 'table' then - if not recursively then + if not recursive then wipe(t) else for k, v in pairs(t) do @@ -34,6 +35,18 @@ function TF3:ClearTable(t, recursively) end end +function TF3:CopyTable(t, recursive) + local ret = {} + for k, v in pairs(t) do + if (type(v) == "table") and recursive and not v.GetObjectType then + ret[k] = copyTable(v) + else + ret[k] = v + end + end + return ret +end + --[[ Options Table ]]-- options = { type="group", @@ -153,13 +166,21 @@ options = { get = function() return TF3.db.profile.addfilter_enable end, set = function() TF3.db.profile.addfilter_enable = not TF3.db.profile.addfilter_enable end, }, + reset_tradefilters = { + type = 'execute', + order = 3, + width = "double", + name = "Reset Trade Filter", + desc = "Reset Trade Filter", + func = function() TF3.db.profile.filters.TRADE = TF3:CopyTable(L.FILTER.TRADE, true); end, + }, tradefilters = { type = 'input', disabled = function() return not TF3.db.profile.addfilter_enable end, multiline = 8, - order = 7, + order = 4, width = "double", name = L["BTF"], --~ desc = L["BTF"], @@ -186,13 +207,22 @@ options = { end end, }, + reset_basefilters = { + type = 'execute', + order = 5, + width = "double", + name = "Reset Base Filter", + desc = "Reset Base Filter", + func = function() TF3.db.profile.filters.BASE = TF3:CopyTable(L.FILTER.BASE, true); end, + }, + basefilters = { type = 'input', disabled = function() return not TF3.db.profile.addfilter_enable end, multiline = 8, - order = 8, + order = 6, width = "double", name = L["BCF"], --~ desc = L["BCF"], @@ -245,13 +275,21 @@ options = { get = function() return TF3.db.profile.editlists_enable end, set = function() TF3.db.profile.editlists_enable = not TF3.db.profile.editlists_enable end, }, + reset_lists = { + type = 'execute', + order = 3, + width = "double", + name = "Reset Lists", + desc = "Reset Lists", + func = function() TF3.db.profile.blacklist = TF3:CopyTable(L.BLACKLIST, true); TF3.db.profile.whitelist = TF3:CopyTable(L.WHITELIST, true) end, + }, blist = { type = 'input', disabled = function() return not TF3.db.profile.editlists_enable end, multiline = 8, - order = 3, + order = 4, width = "double", name = L["bLists"], --~ desc = L["bLists"], @@ -284,7 +322,7 @@ options = { return not TF3.db.profile.editlists_enable end, multiline = 8, - order = 4, + order = 5, width = "double", name = L["wLists"], --~ desc = L["wLists"], -- 1.7.9.5