From e15da789c6e19d7bb0840af34bf36903334cc5c5 Mon Sep 17 00:00:00 2001 From: "Erik L. Vonderscheer" Date: Mon, 1 Nov 2010 21:28:06 -0700 Subject: [PATCH] Add allow friends/party to be filtered even if on exempt list [Ticket #5] --- TradeFilter3.lua | 16 ++++--- TradeFilter3.toc | 19 ++------ TradeFilter3Options.lua | 122 +++++++++++++++++++++++++++-------------------- 3 files changed, 83 insertions(+), 74 deletions(-) diff --git a/TradeFilter3.lua b/TradeFilter3.lua index fab7c5f..848cd29 100644 --- a/TradeFilter3.lua +++ b/TradeFilter3.lua @@ -91,6 +91,8 @@ defaults = { editfilterTRADE_enable = false, editfilterBASE_enable = false, editfilterBG_enable = false, + exmptfriendslist = true, + exmptparty = true, ebl = false, ewl = false, blacklist_enable = true, @@ -124,7 +126,7 @@ function TF3:OnInitialize() local AC = LibStub("AceConsole-3.0") AC:RegisterChatCommand("tf", function() TF3:OpenOptions() end) AC:RegisterChatCommand("filter", function() TF3:OpenOptions() end) - AC:Print(L.TOC.Title .. " " .. TF3.version .. " " .. L["ENABLED"]) + AC:Print(L.TOC.Title .. ": " .. TF3.version .. " " .. L["ENABLED"]) local ACR = LibStub("AceConfigRegistry-3.0") ACR:RegisterOptionsTable("TradeFilter3", options) @@ -271,12 +273,12 @@ function TF3:GetColoredName(userID, cName) if (englishClass) then local classColorTable = RAID_CLASS_COLORS[englishClass] if (not classColorTable) then - return userID; + return userID end return string.format("\124cff%.2x%.2x%.2x", classColorTable.r*255, classColorTable.g*255, classColorTable.b*255)..userID.."\124r" end end - return userID; + return userID end --[[ Party Functions ]]-- @@ -302,7 +304,7 @@ function TF3:GetParty() for i=1, numPartyMembers do local partymember = UnitName("party"..i) if partymember then - currentParty[i] = partymember + TF3.currentParty[i] = partymember end end if (TF3.db.profile.debug) then @@ -319,6 +321,7 @@ function TF3:GetParty() end function TF3:IsParty(userID) + if not(TF3.db.profile.exmptparty) then return false end local currentParty = TF3.currentPartyMembers for _,partymember in ipairs(currentParty) do if find(userID,partymember) then @@ -380,6 +383,7 @@ function TF3:Removed(event, name) end function TF3:IsFriend(userID) + if not(TF3.db.profile.exmptfriendslist) then return false end local friends = TF3.db.profile.friendslist for _,name in ipairs(friends) do if find(userID,name) then @@ -519,9 +523,7 @@ function TF3:FindFrame(toFrame, msg) return end end - if (toFrame ~= name) then - TF3:CreateFrame(toFrame, msg) - end + TF3:CreateFrame(toFrame, msg) end function TF3:CreateFrame(newFrame, msg) diff --git a/TradeFilter3.toc b/TradeFilter3.toc index de718b2..c57c413 100644 --- a/TradeFilter3.toc +++ b/TradeFilter3.toc @@ -1,24 +1,18 @@ ## Interface: 40000 -#@alpha@ -## Title: @localization(locale="enUS", key="Title", namespace="ToC")@ DEV: @project-version@ -#@end-alpha@ -#@non-alpha@ +## Version: @project-version@ +## X-WoWI-ID: 13784 + ## Title: @localization(locale="enUS", key="Title", namespace="ToC")@ -#@end-non-alpha@ ## Title-deDE: @localization(locale="deDE", key="Title", namespace="TOC")@ ## Title-zhCN: @localization(locale="zhCN", key="Title", namespace="TOC")@ ## Title-zhTW: @localization(locale="zhTW", key="Title", namespace="TOC")@ ## Title-frFR: @localization(locale="frFR", key="Title", namespace="TOC")@ -#@alpha@ -## Notes: @localization(locale="enUS", key="Notes", namespace="TOC")@ DEV: @project-version@ -#@end-alpha@ -#@non-alpha@ ## Notes: @localization(locale="enUS", key="Notes", namespace="TOC")@ -#@end-non-alpha@ ## Notes-deDE: @localization(locale="deDE", key="Notes", namespace="TOC")@ ## Notes-zhCN: @localization(locale="zhCN", key="Notes", namespace="TOC")@ ## Notes-zhTW: @localization(locale="zhTW", key="Notes", namespace="TOC")@ ## Notes-frFR: @localization(locale="frFR", key="Notes", namespace="TOC")@ + ## Author: @project-author@ ## X-Date: @project-date-iso@ ## X-Credits: Inspiration: crashmstr Translations: Contiki @@ -27,15 +21,10 @@ ## X-Category: Chat & Communication ## X-Localizations: enUS, deDE ## X-License: BSD -## Version: @project-version@ -## X-WoWI-ID: 13784 - ## SavedVariables: TradeFilter3DB ## OptionalDeps: Ace3, LibAboutPanel, LibDataBroker-1.1, LibFriends-1.0 -#@no-lib-strip@ ## X-Embeds: Ace3, LibAboutPanel, LibDataBroker-1.1, LibFriends-1.0 -#@end-no-lib-strip@ ## LoadManagers: AddonLoader ## X-LoadOn-Always: delayed diff --git a/TradeFilter3Options.lua b/TradeFilter3Options.lua index 3c82a8c..f219e28 100644 --- a/TradeFilter3Options.lua +++ b/TradeFilter3Options.lua @@ -235,8 +235,7 @@ options = { disabled = function() return not TF3.db.profile.turnOn end, - name = "TRADE Filters", - desc = "TRADE Filters", + name = L["TRADE Filters"], args = { optionsHeader1 = { type = "header", @@ -315,8 +314,7 @@ options = { disabled = function() return not TF3.db.profile.turnOn end, - name = "BASE Filters", - desc = "BASE Filters", + name = L["BASE Filters"], args = { optionsHeader1 = { type = "header", @@ -395,8 +393,7 @@ options = { disabled = function() return not TF3.db.profile.turnOn end, - name = "BG Filters", - desc = "BG Filters", + name = L["BG Filters"], args = { optionsHeader1 = { type = "header", @@ -930,9 +927,10 @@ options = { }, }, }, - tableGroup = { + exemptGroupMain = { type = "group", handler = TF3, + childGroups = "tab", order = 6, disabled = function() return not TF3.db.profile.turnOn @@ -940,59 +938,79 @@ options = { name = L["Exempt List"], desc = L["Current Exempt List"], args = { - optionsHeader7 = { - type = 'header', + enable_exempt_party = { + type = 'toggle', order = 1, - name = L["Exempt Party Members"], + disabled = false, + name = "Party Members", + desc = "If enabled party members will be exempt from filtration.", + get = function() return TF3.db.profile.exmptparty end, + set = function() TF3.db.profile.exmptparty = not TF3.db.profile.exmptparty end, }, - currentPartyMembers_table_content = { - type = 'description', - fontSize = "medium", - disabled = true, + enable_exempt_friends = { + type = 'toggle', order = 2, - name = function() - local ret = "" - for k,v in pairs(TF3.currentPartyMembers) do - if ret == "" then - ret = v - else - ret = ret .. "\n" .. v - end - end - return ret - end, + disabled = false, + name = "Friends", + desc = "If enabled your friends list will be exempt from filtration.", + get = function() return TF3.db.profile.exmptfriendslist end, + set = function() TF3.db.profile.exmptfriendslist = not TF3.db.profile.exmptfriendslist end, }, - blank_space3 = { - type = 'description', + exemptGroupParty = { + type = "group", + handler = TF3, order = 3, - name = "\n", + disabled = function() + return not TF3.db.profile.turnOn + end, + name = L["Exempt Party Members"], + args = { + currentPartyMembers_table_content = { + type = 'description', + fontSize = "medium", + disabled = true, + order = 1, + name = function() + local ret = "" + for k,v in pairs(TF3.currentPartyMembers) do + if ret == "" then + ret = v + else + ret = ret .. "\n" .. v + end + end + return ret + end, + }, + }, }, - optionsHeader8 = { - type = 'header', + exemptGroupFriends = { + type = "group", + handler = TF3, order = 4, - name = L["Exempt Friend List"], - }, - currentFriends_table_content = { - type = 'description', - fontSize = "medium", - disabled = true, - order = 5, - name = function() - local ret = "" - for k,v in pairs(TF3.db.profile.friendslist) do - if ret == "" then - ret = v - else - ret = ret .. "\n" .. v - end - end - return ret + disabled = function() + return not TF3.db.profile.turnOn end, - }, - blank_space4 = { - type = 'description', - order = 6, - name = "\n", + name = L["Exempt Friend List"], + args = { + currentFriends_table_content = { + type = 'description', + fontSize = "medium", + disabled = true, + order = 1, + name = function() + local ret = "" + for k,v in pairs(TF3.db.profile.friendslist) do + if ret == "" then + ret = v + else + ret = ret .. "\n" .. v + end + end + return ret + end, + }, + }, }, }, }, -- 1.7.9.5