Quantcast

Ability to not filter self for testing purposes

Erik L. Vonderscheer [06-30-09 - 19:52]
Ability to not filter self for testing purposes
GUI cleanup
Locale update
Filename
TradeFilter3.lua
TradeFilter3Locale.lua
TradeFilter3Options.lua
diff --git a/TradeFilter3.lua b/TradeFilter3.lua
index 5191a62..b192e4e 100644
--- a/TradeFilter3.lua
+++ b/TradeFilter3.lua
@@ -61,6 +61,8 @@ defaults = {
 		redirect = false,
 		debug = false,
 		filterSAY = false,
+		filterYELL = false,
+		filterSELF = false,
 		filterLFG = false,
 		filterGeneral = false,
 		filterTrade = true,
@@ -89,16 +91,16 @@ defaults = {
 			"[bB][uU][yY][iI][nN][gG]",
 			"2[vV]2",
 			"3[vV]3",
-			"5[vV]5",
-		},
+			"5[vV]5"
+    }
 	}
 }

 function TF3:OnInitialize()
 	--[[ Libraries ]]--
-	local L =  LibStub("AceLocale-3.0"):GetLocale("TradeFilter3")
 	local ACD = LibStub("AceConfigDialog-3.0")
 	local LAP = LibStub("LibAboutPanel")
+	local L =  LibStub("AceLocale-3.0"):GetLocale("TradeFilter3")

 	self.db = LibStub("AceDB-3.0"):New("TradeFilter3DB", defaults);

@@ -115,8 +117,6 @@ function TF3:OnInitialize()

 	-- Set up options panels.
 	self.OptionsPanel = ACD:AddToBlizOptions(self.name, L["TFR"], nil, "generalGroup")
---~ 	self.OptionsPanel.channel = ACD:AddToBlizOptions(self.name, L["channelGroup"], self.name, "channelGroup")
---~ 	self.OptionsPanel.custom = ACD:AddToBlizOptions(self.name, L["addFilterGroup"], self.name, "addFilterGroup")
 	self.OptionsPanel.profiles = ACD:AddToBlizOptions("TradeFilter3P", L["Profiles"], self.name)
 	self.OptionsPanel.about = LAP.new(self.name, self.name)

@@ -227,8 +227,12 @@ Taken from SpamMeNot
 local function PreFilterFunc_Say(self, event, ...)
 	local filtered = false
 	local userID = arg2 or select(2, ...)
-	if (TF3.db.profile.filterSAY and userID ~= UnitName("Player") and TF3:IsFriend(userID) == false) then
-		filtered = TF3:FilterFunc(...)
+	if (TF3.db.profile.filterSAY and TF3:IsFriend(userID) == false) then
+		if (userID == UnitName("Player") and TF3.db.profile.filterSELF == false) then
+			filtered = false
+		else
+			filtered = TF3:FilterFunc(...)
+		end
 	elseif (event == "CHAT_MSG_SAY" and not TF3.db.profile.filterSAY) then
 		filtered = false
 	end
@@ -239,8 +243,12 @@ end
 local function PreFilterFunc_Yell(self, event, ...)
 	local filtered = false
 	local userID = arg2 or select(2, ...)
-	if (TF3.db.profile.filterYELL and userID ~= UnitName("Player") and TF3:IsFriend(userID) == false) then
-		filtered = TF3:FilterFunc(...)
+	if (TF3.db.profile.filterYELL and TF3:IsFriend(userID) == false) then
+		if (userID == UnitName("Player") and TF3.db.profile.filterSELF == false) then
+			filtered = false
+		else
+			filtered = TF3:FilterFunc(...)
+		end
 	elseif (event == "CHAT_MSG_YELL" and not TF3.db.profile.filterYELL) then
 		filtered = false
 	end
@@ -253,20 +261,32 @@ local function PreFilterFunc(self, event, ...)
 	local zoneID = arg7 or select(7, ...)
 	local chanID = arg8 or select(8, ...)
 	--[[ Check for Trade Channel and User setting ]]--
-	if (zoneID == 2 and TF3.db.profile.filtertrade and userID ~= UnitName("Player") and TF3:IsFriend(userID) == false) then
-		filtered = TF3:FilterFunc(...)
+	if (zoneID == 2 and TF3.db.profile.filtertrade and TF3:IsFriend(userID) == false) then
+		if (userID == UnitName("Player") and TF3.db.profile.filterSELF == false) then
+			filtered = false
+		else
+			filtered = TF3:FilterFunc(...)
+		end
 	elseif (zoneID == 2 and not TF3.db.profile.filtertrade) then
 		filtered = false
 	end
 	--[[ Check for General Channel and User setting ]]--
-	if (chanID == 1 and TF3.db.profile.filtergeneral and userID ~= UnitName("Player") and TF3:IsFriend(userID) == false) then
-		filtered = TF3:FilterFunc(...)
+	if (chanID == 1 and TF3.db.profile.filtergeneral and TF3:IsFriend(userID) == false) then
+		if (userID == UnitName("Player") and TF3.db.profile.filterSELF == false) then
+			filtered = false
+		else
+			filtered = TF3:FilterFunc(...)
+		end
 	elseif (chanID == 1 and not TF3.db.profile.filtergeneral) then
 		filtered = false
 	end
 	--[[ Check for LFG Channel and User setting ]]--
-	if (zoneID == 26 and TF3.db.profile.filterLFG and userID ~= UnitName("Player") and TF3:IsFriend(userID) == false) then
-		filtered = TF3:FilterFunc(...)
+	if (zoneID == 26 and TF3.db.profile.filterLFG and TF3:IsFriend(userID) == false) then
+		if (userID == UnitName("Player") and TF3.db.profile.filterSELF == false) then
+			filtered = false
+		else
+			filtered = TF3:FilterFunc(...)
+		end
 	elseif (chanID == 26 and not TF3.db.profile.filterLFG) then
 		filtered = false
 	end
diff --git a/TradeFilter3Locale.lua b/TradeFilter3Locale.lua
index 5d2fd27..ec9f7ee 100644
--- a/TradeFilter3Locale.lua
+++ b/TradeFilter3Locale.lua
@@ -31,3 +31,9 @@ if L then
 --@localization(locale="zhTW", format="lua_additive_table", same-key-is-true=true, handle-subnamespaces="concat")@
 if GetLocale() == "zhTW" then return end
 end
+
+local L =  LibStub("AceLocale-3.0"):NewLocale("TradeFilter3", "frFR", true, debug)
+if L then
+--@localization(locale="frFR", format="lua_additive_table", same-key-is-true=true, handle-subnamespaces="concat")@
+if GetLocale() == "frFR" then return end
+end
diff --git a/TradeFilter3Options.lua b/TradeFilter3Options.lua
index 31aabb9..019ac23 100644
--- a/TradeFilter3Options.lua
+++ b/TradeFilter3Options.lua
@@ -35,49 +35,13 @@ options = {
 						end
 					end,
 				},
-				redirect = {
-					type = 'toggle',
-					order = 2,
-					width = "full",
-					name = L["Redir"],
-					desc = L["RedirDesc"],
-					get = function() return TF3.db.profile.redirect end,
-					set = function() TF3.db.profile.redirect = not TF3.db.profile.redirect end,
-				},
-				--@alpha@
-				debug = {
-					type = 'toggle',
-					order = 3,
-					width = "full",
-					disabled = false,
-					hidden = false,
-					name = L["Debug"],
-					desc = L["DebugDesc"],
-					get = function() return TF3.db.profile.debug end,
-					set = function() TF3.db.profile.debug = not TF3.db.profile.debug end,
-				},
-				--@end-alpha@
-				reload = {
-					type = 'execute',
-					name = L["RUI"],
-					desc = L["RUID"],
-					func = function()
-						_G.ReloadUI()
-					end,
-					--disabled = function()
-					--	if not TF3:IsRedirect() or not TF3:IsDebug() then
-					--		return false
-					--	end
-					--	return true
-					--end,
-					order = -1,
-				},
 				channelGroup = {
 					type = "group",
 					handler = TF3,
 					order = 1,
-					width = "double",
-					disabled = false,
+					disabled = function()
+						return not TF3.db.profile.turnOn
+					end,
 					name = "Channel Selection",
 					desc = "Channel Selection",
 					args = {
@@ -140,7 +104,11 @@ options = {
 				},
 				addFilterGroup = {
 					type = "group",
-					disabled = false,
+					handler = TF3,
+					order = 2,
+					disabled = function()
+						return not TF3.db.profile.turnOn
+					end,
 					name = L["addFilterGroup"],
 					desc = L["AddFilterGD"],
 					args = {
@@ -172,7 +140,7 @@ options = {
 							end,
 							set = function(info, value)
 								TF3.db.profile.filter[1] = value
-								print("The " .. TF3.db.profile.filter[1] .. " was set to: " .. tostring(value))
+								print(format("%s added to filter expression list.", value))
 							end,
 							usage = L["AddFilterUsage"],
 						},
@@ -190,7 +158,7 @@ options = {
 							end,
 							set = function(info, value)
 								TF3.db.profile.filter[2] = value
-								print("The " .. TF3.db.profile.filter[2] .. " was set to: " .. tostring(value))
+								print(format("%s added to filter expression list.", value))
 							end,
 							usage = L["AddFilterUsage"],
 						},
@@ -208,12 +176,68 @@ options = {
 							end,
 							set = function(info, value)
 								TF3.db.profile.filter[3] = value
-								print("The " .. TF3.db.profile.filter[3] .. " was set to: " .. tostring(value))
+								print(format("%s added to filter expression list.", value))
 							end,
 							usage = L["AddFilterUsage"],
 						},
 					},
 				},
+				outputGroup = {
+					type = "group",
+					handler = TF3,
+					order = 3,
+					disabled = function()
+						return not TF3.db.profile.turnOn
+					end,
+					name = L["OUTPUT"],
+					desc = L["OUTPUT"],
+					args = {
+							optionsHeader3 = {
+							type	= "header",
+							order	= 1,
+							name	= L["OUTPUT"],
+							desc = L["OUTPUT"],
+						},
+							redirect = {
+							type = 'toggle',
+							order = 2,
+							width = "full",
+							name = L["Redir"],
+							desc = L["RedirDesc"],
+							get = function() return TF3.db.profile.redirect end,
+							set = function() TF3.db.profile.redirect = not TF3.db.profile.redirect end,
+						},
+						--@alpha@
+						debug = {
+							type = 'toggle',
+							order = 3,
+							width = "full",
+							disabled = false,
+							hidden = false,
+							name = L["Debug"],
+							desc = L["DebugDesc"],
+							get = function() return TF3.db.profile.debug end,
+							set = function() TF3.db.profile.debug = not TF3.db.profile.debug end,
+						},
+						--@end-alpha@
+						optionsHeader4 = {
+							type	= "header",
+							order	= 4,
+							name	= L["FSELF"],
+							desc = L["FSELFD"],
+						},
+						filterSELF = {
+							type = 'toggle',
+							order = 5,
+							width = "double",
+							disabled = false,
+							name = L["FSELF"],
+							desc = L["FSELFD"],
+							get = function() return TF3.db.profile.filterSELF end,
+							set = function() TF3.db.profile.filterSELF = not TF3.db.profile.filterSELF end,
+						},
+					},
+				},
 			},
 		},
 	},