Quantcast

5.3.2

Munglunch [12-03-14 - 17:16]
5.3.2
Filename
Interface/ACHIEVEMENTFRAME/Thumbs.db
Interface/AUCTIONFRAME/Thumbs.db
Interface/AddOns/SVUI/assets/artwork/Minimap/Thumbs.db
Interface/AddOns/SVUI/assets/artwork/Template/Alert/Thumbs.db
Interface/AddOns/SVUI/assets/artwork/Template/Thumbs.db
Interface/AddOns/SVUI/packages/unit/elements/auras.lua
Interface/AddOns/SVUI_ConfigOMatic/components/units/core.lua
Interface/Archeology/Thumbs.db
Interface/BUTTONS/Thumbs.db
Interface/BankFrame/Thumbs.db
Interface/BattlefieldFrame/Thumbs.db
Interface/CHATFRAME/Thumbs.db
Interface/COMMON/Thumbs.db
Interface/Characterframe/Thumbs.db
Interface/ContainerFrame/Thumbs.db
Interface/DialogFrame/Thumbs.db
Interface/EncounterJournal/Thumbs.db
Interface/FrameGeneral/Thumbs.db
Interface/FriendsFrame/Thumbs.db
Interface/GLUES/COMMON/Thumbs.db
Interface/Glues/CHARACTERCREATE/Thumbs.db
Interface/Glues/CharacterSelect/Thumbs.db
Interface/Glues/LoadingBar/Thumbs.db
Interface/Glues/Login/Thumbs.db
Interface/GuildBankFrame/Thumbs.db
Interface/HelpFrame/Thumbs.db
Interface/LFGFRAME/Thumbs.db
Interface/MERCHANTFRAME/Thumbs.db
Interface/MINIMAP/TRACKING/Thumbs.db
Interface/MINIMAP/Thumbs.db
Interface/MONEYFRAME/Thumbs.db
Interface/MainMenuBar/Thumbs.db
Interface/OPTIONSFRAME/Thumbs.db
Interface/PVPFrame/Thumbs.db
Interface/PaperDoll/Thumbs.db
Interface/PaperDollInfoFrame/Thumbs.db
Interface/PetBattles/Thumbs.db
Interface/QUESTFRAME/Thumbs.db
Interface/SPELLBOOK/Thumbs.db
Interface/Stationary/Thumbs.db
Interface/Store/Thumbs.db
Interface/TARGETINGFRAME/Thumbs.db
Interface/TAXIFRAME/Thumbs.db
Interface/TIMEMANAGER/Thumbs.db
Interface/Tooltips/Thumbs.db
Interface/TradeFrame/Thumbs.db
Interface/TradeSkillFrame/Thumbs.db
Interface/WorldMap/Thumbs.db
Interface/WorldStateFrame/Thumbs.db
diff --git a/Interface/ACHIEVEMENTFRAME/Thumbs.db b/Interface/ACHIEVEMENTFRAME/Thumbs.db
deleted file mode 100644
index 726e0e8..0000000
Binary files a/Interface/ACHIEVEMENTFRAME/Thumbs.db and /dev/null differ
diff --git a/Interface/AUCTIONFRAME/Thumbs.db b/Interface/AUCTIONFRAME/Thumbs.db
deleted file mode 100644
index 456b0b7..0000000
Binary files a/Interface/AUCTIONFRAME/Thumbs.db and /dev/null differ
diff --git a/Interface/AddOns/SVUI/assets/artwork/Minimap/Thumbs.db b/Interface/AddOns/SVUI/assets/artwork/Minimap/Thumbs.db
deleted file mode 100644
index ee8cc61..0000000
Binary files a/Interface/AddOns/SVUI/assets/artwork/Minimap/Thumbs.db and /dev/null differ
diff --git a/Interface/AddOns/SVUI/assets/artwork/Template/Alert/Thumbs.db b/Interface/AddOns/SVUI/assets/artwork/Template/Alert/Thumbs.db
deleted file mode 100644
index 01398a2..0000000
Binary files a/Interface/AddOns/SVUI/assets/artwork/Template/Alert/Thumbs.db and /dev/null differ
diff --git a/Interface/AddOns/SVUI/assets/artwork/Template/Thumbs.db b/Interface/AddOns/SVUI/assets/artwork/Template/Thumbs.db
deleted file mode 100644
index c87aa4e..0000000
Binary files a/Interface/AddOns/SVUI/assets/artwork/Template/Thumbs.db and /dev/null differ
diff --git a/Interface/AddOns/SVUI/packages/unit/elements/auras.lua b/Interface/AddOns/SVUI/packages/unit/elements/auras.lua
index 7a34233..6be2006 100644
--- a/Interface/AddOns/SVUI/packages/unit/elements/auras.lua
+++ b/Interface/AddOns/SVUI/packages/unit/elements/auras.lua
@@ -341,7 +341,7 @@ do
 			friend = setting.friendly;
 		  	enemy = setting.enemy
 		end
-		if (friend and helpful) or (enemy and not helpful) then
+		if((friend and helpful) or (enemy and (not helpful))) then
 		  return true;
 		end
 	  	return false
@@ -359,8 +359,11 @@ do
 		local filtered = true
 		local fromPlayer = true;
 		local pass = false;
-		local friendly = UnitIsFriend("player", unit) == 1 and true or false;
-		local isDefensive = false;
+		local friendly = false;
+
+		if(UnitIsFriend("player", unit) == 1) then
+			friendly = true
+		end

 		icon.isPlayer = isPlayer;
 		icon.owner = caster;
@@ -370,34 +373,27 @@ do
 		if(SV.filters.Blocked[name] and SV.filters.Blocked[name].enable) then
 			filtered = false;
 		else
-			if(_test(auraDB.filterAllowed, friendly)) then
-				local whiteListSpell = SV.filters.Allowed[name]
-				if(whiteListSpell and whiteListSpell.enable) then
-					filtered = true;
-					icon.priority = whiteListSpell.priority;
-				end
-				pass = true
+			if SV.filters.Defense[name] and SV.filters.Defense[name].enable then
+				icon.priority = SV.filters.Defense[name].priority;
 			end

 			if(_test(auraDB.filterPlayer, friendly)) then
-				if isPlayer then
-					filtered = true
-				else
-					filtered = false
-				end
-				fromPlayer = filtered;
+				filtered = isPlayer
+				fromPlayer = isPlayer;
 				pass = true
 			end

 			if(_test(auraDB.filterDispellable, friendly)) then
-				if (auraType == "buffs" and not isStealable) or (auraType == "debuffs" and debuffType and not MOD.Dispellable[debuffType]) or debuffType == nil then
+				if((auraType == "buffs" and not isStealable) or (auraType == "debuffs" and debuffType and not MOD.Dispellable[debuffType]) or debuffType == nil) then
 					filtered = false
 				end
 				pass = true
 			end

 			if(_test(auraDB.filterRaid, friendly)) then
-				if shouldConsolidate == 1 then filtered = false end
+				if(shouldConsolidate == 1) then
+					filtered = false
+				end
 				pass = true
 			end

@@ -408,6 +404,17 @@ do
 				pass = true
 			end

+			if(_test(auraDB.filterAllowed, friendly)) then
+				local whiteListSpell = SV.filters.Allowed[name]
+				if(whiteListSpell and whiteListSpell.enable) then
+					icon.priority = whiteListSpell.priority;
+					filtered = true
+				elseif(not pass) then
+					filtered = false
+				end
+				pass = true
+			end
+
 			local active = auraDB.useFilter

 			if(active and SV.filters[active]) then
@@ -415,16 +422,12 @@ do
 				if(spellDB[name] and spellDB[name].enable and fromPlayer) then
 					filtered = true;
 					icon.priority = spellDB[name].priority;
-				else
-					filtered = pass
-				end
+				elseif(not pass) then
+					filtered = false;
+				end
 			end
 		end

-		if SV.filters.Defense[name] and SV.filters.Defense[name].enable then
-			icon.priority = SV.filters.Defense[name].priority;
-		end
-
 		return filtered
 	end

@@ -438,38 +441,32 @@ do
 		local filtered = true
 		local fromPlayer = true
 		local pass = false;
-		local friendly = UnitIsFriend("player", unit) == 1 and true or false;
+		local friendly = false;
+
+		if(UnitIsFriend("player", unit) == 1) then
+			friendly = true
+		end

 		if(SV.filters.Blocked[name] and SV.filters.Blocked[name].enable) then
 			filtered = false;
 		else
-			if(_test(auraDB.filterAllowed, friendly)) then
-				local whiteListSpell = SV.filters.Allowed[name]
-				if(whiteListSpell and whiteListSpell.enable) then
-					filtered = true;
-				end
-				pass = true
-			end
-
 			if(_test(auraDB.filterPlayer, friendly)) then
-				if isPlayer then
-					filtered = true
-				else
-					filtered = false
-				end
-				fromPlayer = filtered;
+				filtered = isPlayer
+				fromPlayer = isPlayer;
 				pass = true
 			end

 			if(_test(auraDB.filterDispellable, friendly)) then
-				if (auraType == "buffs" and not isStealable) or (auraType == "debuffs" and debuffType and not MOD.Dispellable[debuffType]) or debuffType == nil then
+				if((auraType == "buffs" and not isStealable) or (auraType == "debuffs" and debuffType and not MOD.Dispellable[debuffType]) or debuffType == nil) then
 					filtered = false
 				end
 				pass = true
 			end

 			if(_test(auraDB.filterRaid, friendly)) then
-				if shouldConsolidate == 1 then filtered = false end
+				if(shouldConsolidate == 1) then
+					filtered = false
+				end
 				pass = true
 			end

@@ -480,14 +477,24 @@ do
 				pass = true
 			end

+			if(_test(auraDB.filterAllowed, friendly)) then
+				local whiteListSpell = SV.filters.Allowed[name]
+				if(whiteListSpell and whiteListSpell.enable) then
+					filtered = true
+				elseif(not pass) then
+					filtered = false
+				end
+				pass = true
+			end
+
 			local active = auraDB.useFilter

 			if(active and SV.filters[active]) then
 				local spellDB = SV.filters[active];
 				if(spellDB[name] and spellDB[name].enable and fromPlayer) then
 					filtered = true;
-				else
-					filtered = pass
+				elseif(not pass) then
+					filtered = false;
 				end
 			end
 		end
diff --git a/Interface/AddOns/SVUI_ConfigOMatic/components/units/core.lua b/Interface/AddOns/SVUI_ConfigOMatic/components/units/core.lua
index 0c2d8ca..a1824f1 100644
--- a/Interface/AddOns/SVUI_ConfigOMatic/components/units/core.lua
+++ b/Interface/AddOns/SVUI_ConfigOMatic/components/units/core.lua
@@ -960,55 +960,63 @@ function ns:SetIconConfigGroup(updateFunction, unitName, count)
 	return k
 end

-local function setAuraFilteringOptions(configTable, unitName, auraType, isPlayer)
+local function setAuraFilteringOptions(configTable, unitName, auraType, updateFunction, isPlayer)
+	local typeName = auraType == "buffs" and L["Buffs"] or L["Debuffs"]
+	local raidTypeName = "Raid " .. typeName;
+	local raidTypeDesc = "Don't display raid " .. auraType;
+
 	if isPlayer then
-		configTable.filterGroup1 = {
+		configTable.filterGroup = {
 			order = 10,
 			guiInline = true,
 			type = "group",
-			name = L["Filter Options"],
+			name = L["Filter Options"],
 			args = {
 				filterAllowed = {
 					order = 1,
 					type = "toggle",
-					name = L["Force Allowed List"],
+					name = L["Force Allowed"],
 					desc = L["Don't display any auras not found on the Allowed filter."],
-					get = function(key) return SV.db.SVUnit[unitName][auraType][key[#key]] end,
-					set = function(key, value) SV.db.SVUnit[unitName][auraType][key[#key]] = value; end,
+					get = function(key) return SV.db.SVUnit[unitName][auraType].filterAllowed end,
+					set = function(key, value) SV.db.SVUnit[unitName][auraType].filterAllowed = value; updateFunction(MOD, unitName) end,
 				},
 				filterPlayer = {
 					order = 2,
 					type = "toggle",
-					name = L["Only Show Your Auras"],
-					desc = L["Don't display auras that are not yours."],
-					get = function(key) return SV.db.SVUnit[unitName][auraType][key[#key]] end,
-					set = function(key, value) SV.db.SVUnit[unitName][auraType][key[#key]] = value; end,
+					name = L["From You"],
+					desc = L["Only show auras that were cast by you."],
+					get = function(key) return SV.db.SVUnit[unitName][auraType].filterPlayer end,
+					set = function(key, value) SV.db.SVUnit[unitName][auraType].filterPlayer = value; updateFunction(MOD, unitName) end,
 				},
 				filterDispellable = {
 					order = 3,
 					type = "toggle",
-					name = L["Block Non-Dispellable Auras"],
-					desc = L["Don't display auras that cannot be purged or dispelled by your class."],
-					get = function(key) return SV.db.SVUnit[unitName][auraType][key[#key]] end,
-					set = function(key, value) SV.db.SVUnit[unitName][auraType][key[#key]] = value; end,
+					name = L["You Can Remove"],
+					desc = L["Only show auras that can be removed by you. (example: Purge, Dispel)"],
+					get = function(key) return SV.db.SVUnit[unitName][auraType].filterDispellable end,
+					set = function(key, value) SV.db.SVUnit[unitName][auraType].filterDispellable = value; updateFunction(MOD, unitName) end,
 				},
 				filterInfinite = {
 					order = 4,
 					type = "toggle",
-					name = L["Block Auras Without Duration"],
-					desc = L["Don't display auras that have no duration."]
+					name = L["No Duration"],
+					desc = L["Don't display auras that have no duration."],
+					get = function(key) return SV.db.SVUnit[unitName][auraType].filterInfinite end,
+					set = function(key, value) SV.db.SVUnit[unitName][auraType].filterInfinite = value; updateFunction(MOD, unitName) end,
 				},
 				filterRaid = {
 					order = 5,
 					type = "toggle",
-					name = L["Block Raid Buffs"],
-					desc = L["Don't display raid buffs."]
+					name = raidTypeName,
+					desc = raidTypeDesc,
+					get = function(key) return SV.db.SVUnit[unitName][auraType].filterRaid end,
+					set = function(key, value) SV.db.SVUnit[unitName][auraType].filterRaid = value; updateFunction(MOD, unitName) end,
 				},
 				useFilter = {
 					order = 6,
+					type = "select",
 					name = L["Custom Filter"],
-					desc = L["Select a custom filter to include."],
-					type = "select",
+					desc = L["Select a custom filter to include."],
 					values = function()
 						filterList = {}
 						filterList[""] = NONE;
@@ -1016,136 +1024,120 @@ local function setAuraFilteringOptions(configTable, unitName, auraType, isPlayer
 							filterList[n] = n
 						end
 						return filterList
-					end
+					end,
+					get = function(key) return SV.db.SVUnit[unitName][auraType].useFilter end,
+					set = function(key, value) SV.db.SVUnit[unitName][auraType].useFilter = value; updateFunction(MOD, unitName) end,
 				}
 			}
 		}
 	else
-		configTable.filterGroup1 = {
+		configTable.filterGroup = {
 			order = 10,
 			guiInline = true,
 			type = "group",
 			name = L["Filter Options"],
 			args = {
-				filterAllowed = {
+				friendlyGroup = {
 					order = 1,
 					guiInline = true,
 					type = "group",
-					name = L["Force Allowed List"],
+					name = L["When the unit is friendly..."],
 					args = {
-						friendly = {
+						filterAllowed = {
 							order = 1,
 							type = "toggle",
-							name = L["Friendly"],
-							desc = L["If the unit is friendly to you."].." "..L["Don't display any auras not found on the Allowed filter."],
-							get = function(l)return SV.db.SVUnit[unitName][auraType].filterAllowed.friendly end,
-							set = function(l, m)SV.db.SVUnit[unitName][auraType].filterAllowed.friendly = m; updateFunction(MOD, unitName) end,
-						},
-						enemy = {
+							name = L["Force Allowed"],
+							desc = L["Don't display any auras not found on the Allowed filter."],
+							get = function(key) return SV.db.SVUnit[unitName][auraType].filterAllowed.friendly end,
+							set = function(key, value) SV.db.SVUnit[unitName][auraType].filterAllowed.friendly = value; updateFunction(MOD, unitName) end,
+						},
+						filterPlayer = {
 							order = 2,
 							type = "toggle",
-							name = L["Enemy"],
-							desc = L["If the unit is an enemy to you."].." "..L["Don't display any auras not found on the Allowed filter."],
-							get = function(l)return SV.db.SVUnit[unitName][auraType].filterAllowed.enemy end,
-							set = function(l, m)SV.db.SVUnit[unitName][auraType].filterAllowed.enemy = m; updateFunction(MOD, unitName) end,
-						}
-					},
-				},
-				filterPlayer = {
-					order = 2,
-					guiInline = true,
-					type = "group",
-					name = L["Only Show Your Auras"],
-					args = {
-						friendly = {
-							order = 1,
-							type = "toggle",
-							name = L["Friendly"],
-							desc = L["If the unit is friendly to you."].." "..L["Don't display auras that are not yours."],
-							get = function(l)return SV.db.SVUnit[unitName][auraType].filterPlayer.friendly end,
-							set = function(l, m)SV.db.SVUnit[unitName][auraType].filterPlayer.friendly = m; updateFunction(MOD, unitName) end,
-						},
-						enemy = {
-							order = 2,
+							name = L["From You"],
+							desc = L["Only show auras that were cast by you."],
+							get = function(key)return SV.db.SVUnit[unitName][auraType].filterPlayer.friendly end,
+							set = function(key, value)SV.db.SVUnit[unitName][auraType].filterPlayer.friendly = value; updateFunction(MOD, unitName) end,
+						},
+						filterDispellable = {
+							order = 3,
 							type = "toggle",
-							name = L["Enemy"], desc = L["If the unit is an enemy to you."].." "..L["Don't display auras that are not yours."],
-							get = function(l)return SV.db.SVUnit[unitName][auraType].filterPlayer.enemy end,
-							set = function(l, m)SV.db.SVUnit[unitName][auraType].filterPlayer.enemy = m; updateFunction(MOD, unitName) end,
-						}
-					},
-				},
-				filterDispellable = {
-					order = 3,
-					guiInline = true,
-					type = "group",
-					name = L["Block Non-Dispellable Auras"],
-					args = {
-						friendly = {
-							order = 1,
+							name = L["You Can Remove"],
+							desc = L["Only show auras that can be removed by you. (example: Purge, Dispel)"],
+							get = function(key)return SV.db.SVUnit[unitName][auraType].filterDispellable.friendly end,
+							set = function(key, value)SV.db.SVUnit[unitName][auraType].filterDispellable.friendly = value; updateFunction(MOD, unitName) end,
+						},
+						filterInfinite = {
+							order = 4,
 							type = "toggle",
-							name = L["Friendly"],
-							desc = L["If the unit is friendly to you."].." "..L["Don't display auras that cannot be purged or dispelled by your class."],
-							get = function(l)return SV.db.SVUnit[unitName][auraType].filterDispellable.friendly end,
-							set = function(l, m)SV.db.SVUnit[unitName][auraType].filterDispellable.friendly = m; updateFunction(MOD, unitName) end,
-						},
-						enemy = {
-							order = 2,
+							name = L["No Duration"],
+							desc = L["Don't display auras that have no duration."],
+							get = function(key)return SV.db.SVUnit[unitName][auraType].filterInfinite.friendly end,
+							set = function(key, value)SV.db.SVUnit[unitName][auraType].filterInfinite.friendly = value; updateFunction(MOD, unitName) end
+						},
+						filterRaid = {
+							order = 5,
 							type = "toggle",
-							name = L["Enemy"], desc = L["If the unit is an enemy to you."].." "..L["Don't display auras that cannot be purged or dispelled by your class."],
-							get = function(l)return SV.db.SVUnit[unitName][auraType].filterDispellable.enemy end,
-							set = function(l, m)SV.db.SVUnit[unitName][auraType].filterDispellable.enemy = m; updateFunction(MOD, unitName) end,
-						}
+							name = raidTypeName,
+							desc = raidTypeDesc,
+							get = function(key)return SV.db.SVUnit[unitName][auraType].filterRaid.friendly end,
+							set = function(key, value)SV.db.SVUnit[unitName][auraType].filterRaid.friendly = value; updateFunction(MOD, unitName) end
+						},
 					},
 				},
-				filterInfinite = {
-					order = 4,
+				enemyGroup = {
+					order = 2,
 					guiInline = true,
 					type = "group",
-					name = L["Block Auras Without Duration"],
+					name = L["When the unit is hostile..."],
 					args = {
-						friendly = {
+						filterAllowed = {
 							order = 1,
 							type = "toggle",
-							name = L["Friendly"], desc = L["If the unit is friendly to you."].." "..L["Don't display auras that have no duration."],
-							get = function(l)return SV.db.SVUnit[unitName][auraType].filterInfinite.friendly end,
-							set = function(l, m)SV.db.SVUnit[unitName][auraType].filterInfinite.friendly = m; updateFunction(MOD, unitName)end
-						},
-						enemy = {
+							name = L["Force Allowed"],
+							desc = L["Don't display any auras not found on the Allowed filter."],
+							get = function(key)return SV.db.SVUnit[unitName][auraType].filterAllowed.enemy end,
+							set = function(key, value)SV.db.SVUnit[unitName][auraType].filterAllowed.enemy = value; updateFunction(MOD, unitName) end,
+						},
+						filterPlayer = {
 							order = 2,
 							type = "toggle",
-							name = L["Enemy"], desc = L["If the unit is an enemy to you."].." "..L["Don't display auras that have no duration."],
-							get = function(l)return SV.db.SVUnit[unitName][auraType].filterInfinite.enemy end,
-							set = function(l, m)SV.db.SVUnit[unitName][auraType].filterInfinite.enemy = m; updateFunction(MOD, unitName)end
-						}
-					}
-				},
-				filterRaid = {
-					order = 5,
-					guiInline = true,
-					type = "group",
-					name = L["Block Raid Buffs"],
-					args = {
-						friendly = {
-							order = 1,
+							name = L["From You"],
+							desc = L["Only show auras that were cast by you."],
+							get = function(key)return SV.db.SVUnit[unitName][auraType].filterPlayer.enemy end,
+							set = function(key, value)SV.db.SVUnit[unitName][auraType].filterPlayer.enemy = value; updateFunction(MOD, unitName) end,
+						},
+						filterDispellable = {
+							order = 3,
 							type = "toggle",
-							name = L["Friendly"], desc = L["If the unit is friendly to you."].." "..L["Don't display raid buffs."],
-							get = function(l)return SV.db.SVUnit[unitName][auraType].filterRaid.friendly end,
-							set = function(l, m)SV.db.SVUnit[unitName][auraType].filterRaid.friendly = m;updateFunction(MOD, unitName)end
-						},
-						enemy = {
-							order = 2,
+							name = L["You Can Remove"],
+							desc = L["Only show auras that can be removed by you. (example: Purge, Dispel)"],
+							get = function(key)return SV.db.SVUnit[unitName][auraType].filterDispellable.enemy end,
+							set = function(key, value)SV.db.SVUnit[unitName][auraType].filterDispellable.enemy = value; updateFunction(MOD, unitName) end,
+						},
+						filterInfinite = {
+							order = 4,
 							type = "toggle",
-							name = L["Enemy"], desc = L["If the unit is an enemy to you."].." "..L["Don't display raid buffs."],
-							get = function(l)return SV.db.SVUnit[unitName][auraType].filterRaid.enemy end,
-							set = function(l, m)SV.db.SVUnit[unitName][auraType].filterRaid.enemy = m;updateFunction(MOD, unitName)end
-						}
-					}
+							name = L["No Duration"],
+							desc = L["Don't display auras that have no duration."],
+							get = function(key)return SV.db.SVUnit[unitName][auraType].filterInfinite.enemy end,
+							set = function(key, value)SV.db.SVUnit[unitName][auraType].filterInfinite.enemy = value; updateFunction(MOD, unitName) end
+						},
+						filterRaid = {
+							order = 5,
+							type = "toggle",
+							name = raidTypeName,
+							desc = raidTypeDesc,
+							get = function(key)return SV.db.SVUnit[unitName][auraType].filterRaid.enemy end,
+							set = function(key, value)SV.db.SVUnit[unitName][auraType].filterRaid.enemy = value; updateFunction(MOD, unitName) end
+						},
+					},
 				},
 				useFilter = {
-					order = 6,
+					order = 3,
+					type = "select",
 					name = L["Custom Filter"],
 					desc = L["Select a custom filter to include."],
-					type = "select",
 					values = function()
 						filterList = {}
 						filterList[""] = NONE;
@@ -1153,7 +1145,9 @@ local function setAuraFilteringOptions(configTable, unitName, auraType, isPlayer
 							filterList[n] = n
 						end
 						return filterList
-					end
+					end,
+					get = function(key) return SV.db.SVUnit[unitName][auraType].useFilter end,
+					set = function(key, value) SV.db.SVUnit[unitName][auraType].useFilter = value; updateFunction(MOD, unitName) end,
 				}
 			}
 		}
@@ -1161,10 +1155,13 @@ local function setAuraFilteringOptions(configTable, unitName, auraType, isPlayer
 end

 function ns:SetAuraConfigGroup(isPlayer, auraType, unused, updateFunction, unitName, count)
+	local groupOrder = auraType == "buffs" and 600 or 700
+	local groupName = auraType == "buffs" and L["Buffs"] or L["Debuffs"]
+
 	local configTable = {
-		order = auraType == "buffs" and 600 or 700,
+		order = groupOrder,
+		name = groupName,
 		type = "group",
-		name = auraType == "buffs" and L["Buffs"] or L["Debuffs"],
 		get = function(key)
 			return SV.db.SVUnit[unitName][auraType][key[#key]]
 		end,
@@ -1184,11 +1181,48 @@ function ns:SetAuraConfigGroup(isPlayer, auraType, unused, updateFunction, unitN
 				type = "group",
 				name = L["Base Settings"],
 				args = {
-					verticalGrowth = {type = "select", order = 1, name = L["Vertical Growth"], desc = L["The vertical direction that the auras will position themselves"], values = {UP = "UP", DOWN = "DOWN"}},
-					horizontalGrowth = {type = "select", order = 2, name = L["Horizontal Growth"], desc = L["The horizontal direction that the auras will position themselves"], values = {LEFT = "LEFT", RIGHT = "RIGHT"}},
-					perrow = {type = "range", order = 3, width = "full", name = L["Per Row"], min = 1, max = 20, step = 1},
-					numrows = {type = "range", order = 4, width = "full", name = L["Num Rows"], min = 1, max = 4, step = 1},
-					sizeOverride = {type = "range", order = 5, width = "full", name = L["Size Override"], desc = L["If not set to 0 then override the size of the aura icon to this."], min = 0, max = 60, step = 1},
+					verticalGrowth = {
+						type = "select",
+						order = 1,
+						name = L["Vertical Growth"],
+						desc = L["The vertical direction that the auras will position themselves"],
+						values = {UP = "UP", DOWN = "DOWN"}
+					},
+					horizontalGrowth = {
+						type = "select",
+						order = 2,
+						name = L["Horizontal Growth"],
+						desc = L["The horizontal direction that the auras will position themselves"],
+						values = {LEFT = "LEFT", RIGHT = "RIGHT"}
+					},
+					perrow = {
+						type = "range",
+						order = 3,
+						width = "full",
+						name = L["Per Row"],
+						min = 1,
+						max = 20,
+						step = 1
+					},
+					numrows = {
+						type = "range",
+						order = 4,
+						width = "full",
+						name = L["Num Rows"],
+						min = 1,
+						max = 4,
+						step = 1
+					},
+					sizeOverride = {
+						type = "range",
+						order = 5,
+						width = "full",
+						name = L["Size Override"],
+						desc = L["If not set to 0 then override the size of the aura icon to this."],
+						min = 0,
+						max = 60,
+						step = 1
+					},
 				}
 			},
 			positionGroup = {
@@ -1197,9 +1231,31 @@ function ns:SetAuraConfigGroup(isPlayer, auraType, unused, updateFunction, unitN
 				type = "group",
 				name = L["Position Settings"],
 				args = {
-					xOffset = {order = 1, type = "range", name = L["xOffset"], width = "full", min = -60, max = 60, step = 1},
-					yOffset = {order = 2, type = "range", name = L["yOffset"], width = "full", min = -60, max = 60, step = 1},
-					anchorPoint = {type = "select", order = 3, name = L["Anchor Point"], desc = L["What point to anchor to the frame you set to attach to."], values = SV.PointIndexes},
+					xOffset = {
+						order = 1,
+						type = "range",
+						name = L["xOffset"],
+						width = "full",
+						min = -60,
+						max = 60,
+						step = 1
+					},
+					yOffset = {
+						order = 2,
+						type = "range",
+						name = L["yOffset"],
+						width = "full",
+						min = -60,
+						max = 60,
+						step = 1
+					},
+					anchorPoint = {
+						type = "select",
+						order = 3,
+						name = L["Anchor Point"],
+						desc = L["What point to anchor to the frame you set to attach to."],
+						values = SV.PointIndexes
+					},
 				}
 			}
 		}
@@ -1223,7 +1279,7 @@ function ns:SetAuraConfigGroup(isPlayer, auraType, unused, updateFunction, unitN
 		}
 	end

-	setAuraFilteringOptions(configTable.args, unitName, auraType, isPlayer)
+	setAuraFilteringOptions(configTable.args, unitName, auraType, updateFunction, isPlayer)

 	return configTable
 end
@@ -1316,7 +1372,7 @@ function ns:SetAurabarConfigGroup(isPlayer, updateFunction, unitName)
 		}
 	};

-	setAuraFilteringOptions(configTable.args.filterGroup.args, unitName, "aurabar", isPlayer)
+	setAuraFilteringOptions(configTable.args.filterGroup.args, unitName, "aurabar", updateFunction, isPlayer)

 	return configTable
 end
diff --git a/Interface/Archeology/Thumbs.db b/Interface/Archeology/Thumbs.db
deleted file mode 100644
index 43ab767..0000000
Binary files a/Interface/Archeology/Thumbs.db and /dev/null differ
diff --git a/Interface/BUTTONS/Thumbs.db b/Interface/BUTTONS/Thumbs.db
deleted file mode 100644
index bee8c76..0000000
Binary files a/Interface/BUTTONS/Thumbs.db and /dev/null differ
diff --git a/Interface/BankFrame/Thumbs.db b/Interface/BankFrame/Thumbs.db
deleted file mode 100644
index 5bb01a2..0000000
Binary files a/Interface/BankFrame/Thumbs.db and /dev/null differ
diff --git a/Interface/BattlefieldFrame/Thumbs.db b/Interface/BattlefieldFrame/Thumbs.db
deleted file mode 100644
index 99be6c7..0000000
Binary files a/Interface/BattlefieldFrame/Thumbs.db and /dev/null differ
diff --git a/Interface/CHATFRAME/Thumbs.db b/Interface/CHATFRAME/Thumbs.db
deleted file mode 100644
index 3ca66c0..0000000
Binary files a/Interface/CHATFRAME/Thumbs.db and /dev/null differ
diff --git a/Interface/COMMON/Thumbs.db b/Interface/COMMON/Thumbs.db
deleted file mode 100644
index 66edf84..0000000
Binary files a/Interface/COMMON/Thumbs.db and /dev/null differ
diff --git a/Interface/Characterframe/Thumbs.db b/Interface/Characterframe/Thumbs.db
deleted file mode 100644
index 7394be5..0000000
Binary files a/Interface/Characterframe/Thumbs.db and /dev/null differ
diff --git a/Interface/ContainerFrame/Thumbs.db b/Interface/ContainerFrame/Thumbs.db
deleted file mode 100644
index 435a240..0000000
Binary files a/Interface/ContainerFrame/Thumbs.db and /dev/null differ
diff --git a/Interface/DialogFrame/Thumbs.db b/Interface/DialogFrame/Thumbs.db
deleted file mode 100644
index ca66ba4..0000000
Binary files a/Interface/DialogFrame/Thumbs.db and /dev/null differ
diff --git a/Interface/EncounterJournal/Thumbs.db b/Interface/EncounterJournal/Thumbs.db
deleted file mode 100644
index 4d5c413..0000000
Binary files a/Interface/EncounterJournal/Thumbs.db and /dev/null differ
diff --git a/Interface/FrameGeneral/Thumbs.db b/Interface/FrameGeneral/Thumbs.db
deleted file mode 100644
index 21f118c..0000000
Binary files a/Interface/FrameGeneral/Thumbs.db and /dev/null differ
diff --git a/Interface/FriendsFrame/Thumbs.db b/Interface/FriendsFrame/Thumbs.db
deleted file mode 100644
index 69d60a0..0000000
Binary files a/Interface/FriendsFrame/Thumbs.db and /dev/null differ
diff --git a/Interface/GLUES/COMMON/Thumbs.db b/Interface/GLUES/COMMON/Thumbs.db
deleted file mode 100644
index ef0abd3..0000000
Binary files a/Interface/GLUES/COMMON/Thumbs.db and /dev/null differ
diff --git a/Interface/Glues/CHARACTERCREATE/Thumbs.db b/Interface/Glues/CHARACTERCREATE/Thumbs.db
deleted file mode 100644
index 8af8f50..0000000
Binary files a/Interface/Glues/CHARACTERCREATE/Thumbs.db and /dev/null differ
diff --git a/Interface/Glues/CharacterSelect/Thumbs.db b/Interface/Glues/CharacterSelect/Thumbs.db
deleted file mode 100644
index 4220c4e..0000000
Binary files a/Interface/Glues/CharacterSelect/Thumbs.db and /dev/null differ
diff --git a/Interface/Glues/LoadingBar/Thumbs.db b/Interface/Glues/LoadingBar/Thumbs.db
deleted file mode 100644
index 41d896e..0000000
Binary files a/Interface/Glues/LoadingBar/Thumbs.db and /dev/null differ
diff --git a/Interface/Glues/Login/Thumbs.db b/Interface/Glues/Login/Thumbs.db
deleted file mode 100644
index c28eeb2..0000000
Binary files a/Interface/Glues/Login/Thumbs.db and /dev/null differ
diff --git a/Interface/GuildBankFrame/Thumbs.db b/Interface/GuildBankFrame/Thumbs.db
deleted file mode 100644
index b7d686b..0000000
Binary files a/Interface/GuildBankFrame/Thumbs.db and /dev/null differ
diff --git a/Interface/HelpFrame/Thumbs.db b/Interface/HelpFrame/Thumbs.db
deleted file mode 100644
index 1069e3b..0000000
Binary files a/Interface/HelpFrame/Thumbs.db and /dev/null differ
diff --git a/Interface/LFGFRAME/Thumbs.db b/Interface/LFGFRAME/Thumbs.db
deleted file mode 100644
index 9e5b7b5..0000000
Binary files a/Interface/LFGFRAME/Thumbs.db and /dev/null differ
diff --git a/Interface/MERCHANTFRAME/Thumbs.db b/Interface/MERCHANTFRAME/Thumbs.db
deleted file mode 100644
index b8083bc..0000000
Binary files a/Interface/MERCHANTFRAME/Thumbs.db and /dev/null differ
diff --git a/Interface/MINIMAP/TRACKING/Thumbs.db b/Interface/MINIMAP/TRACKING/Thumbs.db
deleted file mode 100644
index 52f46a6..0000000
Binary files a/Interface/MINIMAP/TRACKING/Thumbs.db and /dev/null differ
diff --git a/Interface/MINIMAP/Thumbs.db b/Interface/MINIMAP/Thumbs.db
deleted file mode 100644
index d99c540..0000000
Binary files a/Interface/MINIMAP/Thumbs.db and /dev/null differ
diff --git a/Interface/MONEYFRAME/Thumbs.db b/Interface/MONEYFRAME/Thumbs.db
deleted file mode 100644
index 2141650..0000000
Binary files a/Interface/MONEYFRAME/Thumbs.db and /dev/null differ
diff --git a/Interface/MainMenuBar/Thumbs.db b/Interface/MainMenuBar/Thumbs.db
deleted file mode 100644
index 9744e6f..0000000
Binary files a/Interface/MainMenuBar/Thumbs.db and /dev/null differ
diff --git a/Interface/OPTIONSFRAME/Thumbs.db b/Interface/OPTIONSFRAME/Thumbs.db
deleted file mode 100644
index ab8db4d..0000000
Binary files a/Interface/OPTIONSFRAME/Thumbs.db and /dev/null differ
diff --git a/Interface/PVPFrame/Thumbs.db b/Interface/PVPFrame/Thumbs.db
deleted file mode 100644
index 6469ef9..0000000
Binary files a/Interface/PVPFrame/Thumbs.db and /dev/null differ
diff --git a/Interface/PaperDoll/Thumbs.db b/Interface/PaperDoll/Thumbs.db
deleted file mode 100644
index 23dfc12..0000000
Binary files a/Interface/PaperDoll/Thumbs.db and /dev/null differ
diff --git a/Interface/PaperDollInfoFrame/Thumbs.db b/Interface/PaperDollInfoFrame/Thumbs.db
deleted file mode 100644
index 29d1edd..0000000
Binary files a/Interface/PaperDollInfoFrame/Thumbs.db and /dev/null differ
diff --git a/Interface/PetBattles/Thumbs.db b/Interface/PetBattles/Thumbs.db
deleted file mode 100644
index 4d6dbb2..0000000
Binary files a/Interface/PetBattles/Thumbs.db and /dev/null differ
diff --git a/Interface/QUESTFRAME/Thumbs.db b/Interface/QUESTFRAME/Thumbs.db
deleted file mode 100644
index b8f5380..0000000
Binary files a/Interface/QUESTFRAME/Thumbs.db and /dev/null differ
diff --git a/Interface/SPELLBOOK/Thumbs.db b/Interface/SPELLBOOK/Thumbs.db
deleted file mode 100644
index 3680be7..0000000
Binary files a/Interface/SPELLBOOK/Thumbs.db and /dev/null differ
diff --git a/Interface/Stationary/Thumbs.db b/Interface/Stationary/Thumbs.db
deleted file mode 100644
index b6d5606..0000000
Binary files a/Interface/Stationary/Thumbs.db and /dev/null differ
diff --git a/Interface/Store/Thumbs.db b/Interface/Store/Thumbs.db
deleted file mode 100644
index 44c64c9..0000000
Binary files a/Interface/Store/Thumbs.db and /dev/null differ
diff --git a/Interface/TARGETINGFRAME/Thumbs.db b/Interface/TARGETINGFRAME/Thumbs.db
deleted file mode 100644
index 37efc1a..0000000
Binary files a/Interface/TARGETINGFRAME/Thumbs.db and /dev/null differ
diff --git a/Interface/TAXIFRAME/Thumbs.db b/Interface/TAXIFRAME/Thumbs.db
deleted file mode 100644
index 6cd64c1..0000000
Binary files a/Interface/TAXIFRAME/Thumbs.db and /dev/null differ
diff --git a/Interface/TIMEMANAGER/Thumbs.db b/Interface/TIMEMANAGER/Thumbs.db
deleted file mode 100644
index 21f5e8f..0000000
Binary files a/Interface/TIMEMANAGER/Thumbs.db and /dev/null differ
diff --git a/Interface/Tooltips/Thumbs.db b/Interface/Tooltips/Thumbs.db
deleted file mode 100644
index e620d14..0000000
Binary files a/Interface/Tooltips/Thumbs.db and /dev/null differ
diff --git a/Interface/TradeFrame/Thumbs.db b/Interface/TradeFrame/Thumbs.db
deleted file mode 100644
index f4e6aac..0000000
Binary files a/Interface/TradeFrame/Thumbs.db and /dev/null differ
diff --git a/Interface/TradeSkillFrame/Thumbs.db b/Interface/TradeSkillFrame/Thumbs.db
deleted file mode 100644
index d632b2a..0000000
Binary files a/Interface/TradeSkillFrame/Thumbs.db and /dev/null differ
diff --git a/Interface/WorldMap/Thumbs.db b/Interface/WorldMap/Thumbs.db
deleted file mode 100644
index 4c8085a..0000000
Binary files a/Interface/WorldMap/Thumbs.db and /dev/null differ
diff --git a/Interface/WorldStateFrame/Thumbs.db b/Interface/WorldStateFrame/Thumbs.db
deleted file mode 100644
index 9017b10..0000000
Binary files a/Interface/WorldStateFrame/Thumbs.db and /dev/null differ