Erik L. Vonderscheer [07-30-09 - 05:47]
diff --git a/TradeFilter3.lua b/TradeFilter3.lua
index d22843f..c0f8c2e 100644
--- a/TradeFilter3.lua
+++ b/TradeFilter3.lua
@@ -45,10 +45,13 @@ TF3.date = string.sub("$Date: @file-date-iso@ $", 8, 17)
--[[ Locals ]]--
local ipairs = ipairs
+local pairs = pairs
local find = string.find
local sub = string.gsub
local lower = string.lower
local formatIt = string.format
+local insert = table.insert
+local sort = table.sort
local timerCount = 0
local repeatdata = {}
local currentFriend
@@ -238,24 +241,6 @@ function TF3:RecycleTables(t, state)
end
end
-function TF3:pairsByKeys(t, f)
- local a = {}
- for n in pairs(t) do
- table.insert(a, n)
- end
- table.sort(a, f)
- local i = 0 -- iterator variable
- local iter = function() -- iterator function
- i = i + 1
- if a[i] == nil then
- return nil
- else
- return a[i], t[a[i]]
- end
- end
- return iter
-end
-
--[[ Friends Functions ]]--
function TF3:GetFriends()
local friends = TF3.db.profile.friendslist
diff --git a/TradeFilter3Options.lua b/TradeFilter3Options.lua
index 5f83b11..99f9ccd 100644
--- a/TradeFilter3Options.lua
+++ b/TradeFilter3Options.lua
@@ -7,6 +7,12 @@ local TradeFilter3 = LibStub("AceAddon-3.0"):GetAddon("TradeFilter3")
local L = LibStub("AceLocale-3.0"):GetLocale("TradeFilter3")
local TF3 = TradeFilter3
+--[[ Locals ]]--
+local ipairs = ipairs
+local pairs = pairs
+local insert = table.insert
+local sort = table.sort
+
--[[ Options Table ]]--
options = {
type="group",
@@ -144,11 +150,16 @@ options = {
desc = L["SPCSTD"],
usage = L["INPUSAGE"],
get = function(info)
+ local a = {}
local ret = ""
if (TF3.db.profile.filters.SPECIAL == nil) then
TF3.db.profile.filters.SPECIAL = L.FILTERS.SPECIAL
end
- for k,v in TF3:pairsByKeys(TF3.db.profile.filters.SPECIAL) do
+ for _,v in pairs(TF3.db.profile.filters.SPECIAL) do
+ insert(a, v)
+ end
+ sort(a)
+ for _,v in ipairs(a) do
if ret == "" then
ret = v
else
@@ -209,11 +220,16 @@ options = {
desc = L["BTFD"],
usage = L["INPUSAGE"],
get = function(info)
+ local a = {}
local ret = ""
if (TF3.db.profile.filters.TRADE == nil) then
TF3.db.profile.filters.TRADE = L.FILTERS.TRADE
end
- for k,v in TF3:pairsByKeys(TF3.db.profile.filters.TRADE) do
+ for _,v in pairs(TF3.db.profile.filters.TRADE) do
+ table.insert(a, v)
+ end
+ sort(a)
+ for _,v in ipairs(a) do
if ret == "" then
ret = v
else
@@ -258,11 +274,16 @@ options = {
desc = L["BCFD"],
usage = L["INPUSAGE"],
get = function(info)
+ local a = {}
local ret = ""
if (TF3.db.profile.filters.BASE == nil) then
TF3.db.profile.filters.BASE = L.FILTERS.BASE
end
- for k,v in TF3:pairsByKeys(TF3.db.profile.filters.BASE) do
+ for _,v in pairs(TF3.db.profile.filters.BASE) do
+ table.insert(a, v)
+ end
+ sort(a)
+ for _,v in ipairs(a) do
if ret == "" then
ret = v
else
@@ -336,11 +357,16 @@ options = {
name = L["bLists"],
usage = L["INPUSAGE"],
get = function(info)
+ local a = {}
local ret = ""
if (TF3.db.profile.blacklist == nil) then
TF3.db.profile.blacklist = L.BLACKLIST
end
- for k,v in TF3:pairsByKeys(TF3.db.profile.blacklist) do
+ for _,v in pairs(TF3.db.profile.blacklist) do
+ table.insert(a, v)
+ end
+ sort(a)
+ for _,v in ipairs(a) do
if ret == "" then
ret = v
else
@@ -411,11 +437,16 @@ options = {
name = L["wLists"],
usage = L["INPUSAGE"],
get = function(info)
+ local a = {}
local ret = ""
if (TF3.db.profile.whitelist == nil) then
TF3.db.profile.whitelist = L.WHITELIST
end
- for k,v in TF3:pairsByKeys(TF3.db.profile.whitelist) do
+ for _,v in pairs(TF3.db.profile.whitelist) do
+ table.insert(a, v)
+ end
+ sort(a)
+ for _,v in ipairs(a) do
if ret == "" then
ret = v
else