From 1ac342b4e7b0158d9be69c046105cb240bde4576 Mon Sep 17 00:00:00 2001 From: "Erik L. Vonderscheer" Date: Thu, 30 Jul 2009 05:47:29 +0000 Subject: [PATCH] Sorting should work now --- TradeFilter3.lua | 21 +++------------------ TradeFilter3Options.lua | 41 ++++++++++++++++++++++++++++++++++++----- 2 files changed, 39 insertions(+), 23 deletions(-) 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 -- 1.7.9.5