Quantcast

4.9.99

Steven Jackson [10-13-14 - 00:12]
4.9.99
Filename
Interface/AddOns/SVUI/assets/artwork/Icons/BAGS-CLEANUP.blp
Interface/AddOns/SVUI/assets/artwork/Icons/BAGS-DEPOSIT.blp
Interface/AddOns/SVUI/assets/artwork/Icons/BAGS-PURCHASE.blp
Interface/AddOns/SVUI/assets/artwork/Icons/BAGS-REAGENTS.blp
Interface/AddOns/SVUI/assets/artwork/Icons/GENERIC-STAR.blp
Interface/AddOns/SVUI/assets/artwork/Icons/MICROMENU.blp
Interface/AddOns/SVUI/assets/artwork/Icons/PROFESSIONS.blp
Interface/AddOns/SVUI/assets/artwork/Icons/Thumbs.db
Interface/AddOns/SVUI/assets/artwork/Template/DIALOG-1.blp
Interface/AddOns/SVUI/assets/artwork/Template/DIALOG-2.blp
Interface/AddOns/SVUI/packages/bag/SVBag.lua
Interface/AddOns/SVUI/packages/bag/tools/sorting.lua
Interface/AddOns/SVUI/system/alerts.lua
Interface/AddOns/SVUI_StyleOMatic/components/blizzard/barbershop.lua
Interface/AddOns/SVUI_StyleOMatic/components/blizzard/petjournal.lua
diff --git a/Interface/AddOns/SVUI/assets/artwork/Icons/BAGS-CLEANUP.blp b/Interface/AddOns/SVUI/assets/artwork/Icons/BAGS-CLEANUP.blp
new file mode 100644
index 0000000..514d5e0
Binary files /dev/null and b/Interface/AddOns/SVUI/assets/artwork/Icons/BAGS-CLEANUP.blp differ
diff --git a/Interface/AddOns/SVUI/assets/artwork/Icons/BAGS-DEPOSIT.blp b/Interface/AddOns/SVUI/assets/artwork/Icons/BAGS-DEPOSIT.blp
new file mode 100644
index 0000000..683d6a5
Binary files /dev/null and b/Interface/AddOns/SVUI/assets/artwork/Icons/BAGS-DEPOSIT.blp differ
diff --git a/Interface/AddOns/SVUI/assets/artwork/Icons/BAGS-PURCHASE.blp b/Interface/AddOns/SVUI/assets/artwork/Icons/BAGS-PURCHASE.blp
index 1ac9ca8..49f4726 100644
Binary files a/Interface/AddOns/SVUI/assets/artwork/Icons/BAGS-PURCHASE.blp and b/Interface/AddOns/SVUI/assets/artwork/Icons/BAGS-PURCHASE.blp differ
diff --git a/Interface/AddOns/SVUI/assets/artwork/Icons/BAGS-REAGENTS.blp b/Interface/AddOns/SVUI/assets/artwork/Icons/BAGS-REAGENTS.blp
new file mode 100644
index 0000000..d77f134
Binary files /dev/null and b/Interface/AddOns/SVUI/assets/artwork/Icons/BAGS-REAGENTS.blp differ
diff --git a/Interface/AddOns/SVUI/assets/artwork/Icons/GENERIC-STAR.blp b/Interface/AddOns/SVUI/assets/artwork/Icons/GENERIC-STAR.blp
new file mode 100644
index 0000000..8c89657
Binary files /dev/null and b/Interface/AddOns/SVUI/assets/artwork/Icons/GENERIC-STAR.blp differ
diff --git a/Interface/AddOns/SVUI/assets/artwork/Icons/MICROMENU.blp b/Interface/AddOns/SVUI/assets/artwork/Icons/MICROMENU.blp
index c9928f0..088fe01 100644
Binary files a/Interface/AddOns/SVUI/assets/artwork/Icons/MICROMENU.blp and b/Interface/AddOns/SVUI/assets/artwork/Icons/MICROMENU.blp differ
diff --git a/Interface/AddOns/SVUI/assets/artwork/Icons/PROFESSIONS.blp b/Interface/AddOns/SVUI/assets/artwork/Icons/PROFESSIONS.blp
index e4c7c84..c1f8518 100644
Binary files a/Interface/AddOns/SVUI/assets/artwork/Icons/PROFESSIONS.blp and b/Interface/AddOns/SVUI/assets/artwork/Icons/PROFESSIONS.blp differ
diff --git a/Interface/AddOns/SVUI/assets/artwork/Icons/Thumbs.db b/Interface/AddOns/SVUI/assets/artwork/Icons/Thumbs.db
new file mode 100644
index 0000000..15d6ea3
Binary files /dev/null and b/Interface/AddOns/SVUI/assets/artwork/Icons/Thumbs.db differ
diff --git a/Interface/AddOns/SVUI/assets/artwork/Template/DIALOG-1.blp b/Interface/AddOns/SVUI/assets/artwork/Template/DIALOG-1.blp
new file mode 100644
index 0000000..3adc6a3
Binary files /dev/null and b/Interface/AddOns/SVUI/assets/artwork/Template/DIALOG-1.blp differ
diff --git a/Interface/AddOns/SVUI/assets/artwork/Template/DIALOG-2.blp b/Interface/AddOns/SVUI/assets/artwork/Template/DIALOG-2.blp
new file mode 100644
index 0000000..b06e5f4
Binary files /dev/null and b/Interface/AddOns/SVUI/assets/artwork/Template/DIALOG-2.blp differ
diff --git a/Interface/AddOns/SVUI/packages/bag/SVBag.lua b/Interface/AddOns/SVUI/packages/bag/SVBag.lua
index c77d095..940ea11 100644
--- a/Interface/AddOns/SVUI/packages/bag/SVBag.lua
+++ b/Interface/AddOns/SVUI/packages/bag/SVBag.lua
@@ -58,7 +58,10 @@ local ICON_SORT = [[Interface\AddOns\SVUI\assets\artwork\Icons\BAGS-SORT]]
 local ICON_STACK = [[Interface\AddOns\SVUI\assets\artwork\Icons\BAGS-STACK]]
 local ICON_TRANSFER = [[Interface\AddOns\SVUI\assets\artwork\Icons\BAGS-TRANSFER]]
 local ICON_PURCHASE = [[Interface\AddOns\SVUI\assets\artwork\Icons\BAGS-PURCHASE]]
+local ICON_CLEANUP = [[Interface\AddOns\SVUI\assets\artwork\Icons\BAGS-CLEANUP]]
+local ICON_DEPOSIT = [[Interface\AddOns\SVUI\assets\artwork\Icons\BAGS-DEPOSIT]]
 local ICON_VENDOR = [[Interface\AddOns\SVUI\assets\artwork\Icons\BAGS-VENDOR]]
+local ICON_REAGENTS = [[Interface\AddOns\SVUI\assets\artwork\Icons\BAGS-REAGENTS]]
 local numBagFrame = NUM_BAG_FRAMES + 1;
 local gearSet, gearList = {}, {};
 local internalTimer;
@@ -287,7 +290,7 @@ local SlotUpdate = function(self, slotID)

 	if(bagType) then
 		local r, g, b = bagType[1], bagType[2], bagType[3];
-		slot:SetBackdropColor(r, g, b, 0.5)
+		slot:SetBackdropColor(r, g, b, 0.6)
 		slot:SetBackdropBorderColor(r, g, b, 1)
 	elseif(itemLink) then
 		local rarity = select(3, GetItemInfo(itemLink))
@@ -346,13 +349,6 @@ local BagMenu_OnEnter = function(self)
 		end
 	end

-	local numSlots = GetContainerNumSlots(parent.BaseID)
-	for slotID = 1, numSlots do
-		if parent.Bags[parent.BaseID][slotID] then
-			parent.Bags[parent.BaseID][slotID]:SetAlpha(0.1)
-		end
-	end
-
 	if(select(4, GetBuildInfo()) >= 60000) then GameTooltip:AppendText(" |cff00FF11[SHIFT-CLICK] To Set Filters|r") end
 end

@@ -367,13 +363,6 @@ local BagMenu_OnLeave = function(self)
 			end
 		end
 	end
-
-	local numSlots = GetContainerNumSlots(parent.BaseID)
-	for slotID = 1, numSlots do
-		if parent.Bags[parent.BaseID][slotID] then
-			parent.Bags[parent.BaseID][slotID]:SetAlpha(1)
-		end
-	end
 end

 local BAG_FILTER_LABELS = _G.BAG_FILTER_LABELS;
@@ -460,22 +449,23 @@ local ContainerFrame_UpdateLayout = function(self)
 	local menu = self.BagMenu

 	for i, bagID in ipairs(self.BagIDs) do
-		if((not isBank and bagID <= 3) or (isBank and bagID ~= -1 and numContainerSlots >= 1 and not ((i - 1) > numContainerSlots))) then
+		if((not isBank and bagID <= 3) or (isBank and (bagID ~= -1 and numContainerSlots >= 1))) then
 			menu:Size(((buttonSize + buttonSpacing) * (isBank and i - 1 or i)) + buttonSpacing, buttonSize + (buttonSpacing * 2))

-			local bagSlot;
+			local bagSlot, globalName, bagTemplate;

-			if(not menu[i]) then
-				if isBank then
-					globalName = ("SVUI_BankBag%d"):format(bagID);
-					bagSlot = CreateFrame("CheckButton", globalName, menu, "BankItemButtonBagTemplate")
-				else
-					globalName = ("SVUI_MainBag%dSlot"):format(bagID);
-					bagSlot = CreateFrame("CheckButton", globalName, menu, "BagSlotButtonTemplate")
-				end
+			if isBank then
+				globalName = ("SVUI_BankBag%d"):format(bagID - 4);
+				bagTemplate = "BankItemButtonBagTemplate"
+			else
+				globalName = ("SVUI_MainBag%dSlot"):format(bagID);
+				bagTemplate = "BagSlotButtonTemplate"
+			end

+			if(not menu[i]) then
+				bagSlot = CreateFrame("CheckButton", globalName, menu, bagTemplate)
 				bagSlot.parent = self;
-
+
 				bagSlot:SetNormalTexture("")
 				bagSlot:SetCheckedTexture("")
 				bagSlot:SetPushedTexture("")
@@ -489,7 +479,6 @@ local ContainerFrame_UpdateLayout = function(self)
 				bagSlot.iconTexture:SetTexCoord(0.1, 0.9, 0.1, 0.9)

 				hooksecurefunc(bagSlot, "UpdateTooltip", BagMenu_OnEnter)
-				--bagSlot:HookScript("OnEnter", BagMenu_OnEnter)
 				bagSlot:HookScript("OnLeave", BagMenu_OnLeave)

 				if(not bagSlot.tooltipText) then
@@ -497,7 +486,7 @@ local ContainerFrame_UpdateLayout = function(self)
 				end

 				if(isBank) then
-					bagSlot:SetID(bagID)
+					if(select(4, GetBuildInfo()) >= 60000) then bagSlot:SetID(bagID - 4) else bagSlot:SetID(bagID) end
 					bagSlot.id = bagID;
 				else
 					if(select(4, GetBuildInfo()) >= 60000) then bagSlot:HookScript("OnClick", BagMenu_OnClick) end
@@ -519,7 +508,7 @@ local ContainerFrame_UpdateLayout = function(self)
 					bagSlot:SetPoint("LEFT", menu[i - 1], "RIGHT", buttonSpacing, 0)
 				end

-				if(bagSlot.GetInventorySlot) then
+				if(bagSlot.GetInventorySlot) then
 					BankFrameItemButton_Update(bagSlot)
 					BankFrameItemButton_UpdateLocked(bagSlot)
 				end
@@ -534,15 +523,14 @@ local ContainerFrame_UpdateLayout = function(self)

 		local numSlots = GetContainerNumSlots(bagID);

-		if numSlots > 0 then
-			local bagName = ("%sBag%d"):format(containerName, bagID)
-			local template = (bagID == -1) and "BankItemButtonGenericTemplate" or "ContainerFrameItemButtonTemplate"
-			local bag;
+		local bagName = ("%sBag%d"):format(containerName, bagID)
+		local template = (bagID == -1) and "BankItemButtonGenericTemplate" or "ContainerFrameItemButtonTemplate"
+		local bag;

+		if numSlots > 0 then
 			if not self.Bags[bagID] then
 				bag = CreateFrame("Frame", bagName, self);
 				bag:SetID(bagID);
-				bag.numSlots = numSlots;
 				bag.SlotUpdate = SlotUpdate;
 				bag.RefreshSlots = RefreshSlots;
 				self.Bags[bagID] = bag
@@ -551,12 +539,12 @@ local ContainerFrame_UpdateLayout = function(self)
 			end

 			local btype = select(2, GetContainerNumFreeSlots(bagID));
+			local r, g, b;
 			if RefProfessionColors[btype] then
-				local r, g, b = unpack(RefProfessionColors[btype]);
+				r, g, b = unpack(RefProfessionColors[btype]);
 				bag.bagFamily = {r, g, b};
-				bag:SetBackdropColor(r, g, b, 0.25)
-				bag:SetBackdropBorderColor(r, g, b, 1)
 			else
+				r, g, b = 0,0,0
 				bag.bagFamily = false;
 			end

@@ -600,6 +588,10 @@ local ContainerFrame_UpdateLayout = function(self)

 				slot:SetID(slotID);
 				slot:Size(buttonSize);
+
+				slot:SetBackdropColor(r, g, b, 0.6)
+				slot:SetBackdropBorderColor(r, g, b, 1)
+
 				bag:SlotUpdate(slotID);

 				if slot:GetPoint() then
@@ -633,6 +625,8 @@ local ContainerFrame_UpdateLayout = function(self)
 				end
 			end
 		end
+
+		self.Bags[bagID].numSlots = numSlots;
 	end

 	self:Size(containerWidth, containerHeight);
@@ -666,7 +660,6 @@ local ReagentFrame_UpdateLayout = function(self)
 	if not self.Bags[bagID] then
 		bag = CreateFrame("Frame", bagName, self);
 		bag:SetID(bagID);
-		bag.numSlots = maxCount;
 		bag.SlotUpdate = SlotUpdate;
 		bag.RefreshSlots = RefreshReagentSlots;
 		self.Bags[bagID] = bag
@@ -674,6 +667,7 @@ local ReagentFrame_UpdateLayout = function(self)
 		bag = self.Bags[bagID]
 	end

+	bag.numSlots = maxCount;
 	bag.bagFamily = false;

 	for slotID = 1, maxCount do
@@ -1041,15 +1035,15 @@ do
 	end

 	local Container_OnEvent = function(self, event, ...)
-		if(event == "BAG_UPDATE" or event == "ITEM_LOCK_CHANGED") then
+		if(event == "ITEM_LOCK_CHANGED") then
 			local bagID, slotID = ...
 			if(bagID and slotID and self.Bags[bagID]) then
 				self.Bags[bagID]:SlotUpdate(slotID)
 			end
 			self:RefreshBags()
-		elseif(event == "EQUIPMENT_SETS_CHANGED") then
+		elseif(event == "BAG_UPDATE" or event == "EQUIPMENT_SETS_CHANGED") then
 			BuildEquipmentMap()
-			for id, bag in ipairs(self.Bags) do
+			for id, bag in pairs(self.Bags) do
 				local numSlots = GetContainerNumSlots(id)
 				if(numSlots ~= bag.numSlots) then
 					self:UpdateLayout()
@@ -1101,11 +1095,18 @@ do
 	local Tooltip_Show = function(self)
 		GameTooltip:SetOwner(self:GetParent(),"ANCHOR_TOP",0,4)
 		GameTooltip:ClearLines()
-		GameTooltip:AddLine(self.ttText)
+
+		if(self.altText and IsShiftKeyDown()) then
+			GameTooltip:AddLine(self.altText)
+		else
+			GameTooltip:AddLine(self.ttText)
+		end
+
 		if self.ttText2 then
 			GameTooltip:AddLine(' ')
 			GameTooltip:AddDoubleLine(self.ttText2,self.ttText2desc,1,1,1)
-		end
+		end
+
 		self:GetNormalTexture():SetGradient(unpack(SV.Media.gradient.highlight))
 		GameTooltip:Show()
 	end
@@ -1223,8 +1224,9 @@ do
 		frame:Hide()
 		frame.bottomOffset = 32;
 		frame.topOffset = 65;
+
 		frame.BagIDs = {0, 1, 2, 3, 4}
-		frame.BaseID = 0
+
 		frame.Bags = {}
 		frame.closeButton = CreateFrame("Button", "SVUI_ContainerFrameCloseButton", frame, "UIPanelCloseButton")
 		frame.closeButton:Point("TOPRIGHT", -4, -4)
@@ -1284,12 +1286,13 @@ do
 		frame.sortButton = CreateFrame("Button", nil, frame)
 		frame.sortButton:Point("TOP", frame, "TOP", 0, -10)
 		frame.sortButton:Size(25, 25)
-		frame.sortButton:SetNormalTexture(ICON_SORT)
+		frame.sortButton:SetNormalTexture(ICON_CLEANUP)
 		StyleBagToolButton(frame.sortButton)
 		frame.sortButton.ttText = L["Sort Bags"]
+		frame.sortButton.altText = L["Filtered Cleanup"]
 		frame.sortButton:SetScript("OnEnter", Tooltip_Show)
 		frame.sortButton:SetScript("OnLeave", Tooltip_Hide)
-		local Sort_OnClick = (SV.GameVersion >= 60000) and SortBags or MOD:RunSortingProcess(MOD.Sort, "bags")
+		local Sort_OnClick = MOD:RunSortingProcess(MOD.Sort, "bags", SortBags)
 		frame.sortButton:SetScript("OnClick", Sort_OnClick)

 		frame.stackButton = CreateFrame("Button", nil, frame)
@@ -1412,7 +1415,6 @@ do
 			frame.BagIDs = {}
 		else
 			frame.BagIDs = {-1, 5, 6, 7, 8, 9, 10, 11}
-			frame.BaseID = -1
 		end

 		frame.Bags = {}
@@ -1433,12 +1435,13 @@ do
 		frame.sortButton = CreateFrame("Button", nil, frame)
 		frame.sortButton:Point("TOPRIGHT", frame, "TOP", 0, -10)
 		frame.sortButton:Size(25, 25)
-		frame.sortButton:SetNormalTexture(ICON_SORT)
+		frame.sortButton:SetNormalTexture(ICON_CLEANUP)
 		StyleBagToolButton(frame.sortButton)
-		frame.sortButton.ttText = L["Sort Bags"]
+		frame.sortButton.ttText = L["Sort Bank"]
+		frame.sortButton.altText = L["Filtered Cleanup"]
 		frame.sortButton:SetScript("OnEnter", Tooltip_Show)
 		frame.sortButton:SetScript("OnLeave", Tooltip_Hide)
-		local Sort_OnClick = (SV.GameVersion >= 60000) and SortBankBags or MOD:RunSortingProcess(MOD.Sort, "bank")
+		local Sort_OnClick = MOD:RunSortingProcess(MOD.Sort, "bank", SortBankBags)
 		frame.sortButton:SetScript("OnClick", Sort_OnClick)

 		frame.stackButton = CreateFrame("Button", nil, frame)
@@ -1515,10 +1518,11 @@ do
 			frame.purchaseBagButton:SetScript("OnClick", PurchaseBtn_OnClick)

 			if(SV.GameVersion >= 60000) then
+				local active_icon = IsReagentBankUnlocked() and ICON_REAGENTS or ICON_PURCHASE
 				frame.swapButton = CreateFrame("Button", nil, frame)
 				frame.swapButton:Point("TOPRIGHT", frame, "TOPRIGHT", -40, -10)
 				frame.swapButton:Size(25, 25)
-				frame.swapButton:SetNormalTexture(ICON_BAGS)
+				frame.swapButton:SetNormalTexture(active_icon)
 				StyleBagToolButton(frame.swapButton)
 				frame.swapButton.ttText = L["Toggle Reagents Bank"]
 				frame.swapButton:SetScript("OnEnter", function(self)
@@ -1553,7 +1557,7 @@ do
 			frame.transferButton = CreateFrame("Button", nil, frame)
 			frame.transferButton:Point("LEFT", frame.stackButton, "RIGHT", 10, 0)
 			frame.transferButton:Size(25, 25)
-			frame.transferButton:SetNormalTexture(ICON_TRANSFER)
+			frame.transferButton:SetNormalTexture(ICON_DEPOSIT)
 			StyleBagToolButton(frame.transferButton)
 			frame.transferButton.ttText = L["Deposit All Reagents"]
 			frame.transferButton:SetScript("OnEnter", Tooltip_Show)
diff --git a/Interface/AddOns/SVUI/packages/bag/tools/sorting.lua b/Interface/AddOns/SVUI/packages/bag/tools/sorting.lua
index 56c243f..a51f67a 100644
--- a/Interface/AddOns/SVUI/packages/bag/tools/sorting.lua
+++ b/Interface/AddOns/SVUI/packages/bag/tools/sorting.lua
@@ -520,15 +520,15 @@ do
 			end
 			for bagType, sortedBags in pairs(sortingCache[1]) do
 				if bagType ~= 'Normal' then
-					MOD.Stack(sortedBags, sortedBags, IsPartial)
-					MOD.Stack(sortingCache[1]['Normal'], sortedBags)
+					MOD.Stack(sortedBags, IsPartial)
 					SortFiller(sortingCache[1]['Normal'], sortedBags, SV.db.SVBag.sortInverted)
+					MOD.Stack(sortingCache[1]['Normal'], IsPartial)
 					Sorter(sortedBags, nil, SV.db.SVBag.sortInverted)
 					twipe(sortedBags)
 				end
 			end
 			if sortingCache[1]['Normal'] then
-				MOD.Stack(sortingCache[1]['Normal'], sortingCache[1]['Normal'], IsPartial)
+				MOD.Stack(sortingCache[1]['Normal'], IsPartial)
 				Sorter(sortingCache[1]['Normal'], nil, SV.db.SVBag.sortInverted)
 				twipe(sortingCache[1]['Normal'])
 			end
@@ -802,49 +802,53 @@ do
 	end
 end

-function MOD:RunSortingProcess(func, groupsDefaults)
+function MOD:RunSortingProcess(func, groupsDefaults, altFunc)
 	local bagGroups = {}
 	return function(groups)
-		if SortUpdateTimer:IsShown() then
-			SortUpdateTimer:StopStacking(L['Already Running.. Bailing Out!'])
-			return;
-		end
-		twipe(bagGroups)
-		if not groups or #groups == 0 then
-			groups = groupsDefaults
-		end
-		for bags in (groups or ""):gmatch("[^%s]+") do
-			if bags == "guild" then
-				bags = GetSortingGroup(bags)
-				if bags then
-					tinsert(bagGroups, {bags[GetCurrentGuildBankTab()]})
-				end
-			else
-				bags = GetSortingGroup(bags)
-				if bags then
-					tinsert(bagGroups, bags)
-				end
+		if(altFunc and IsShiftKeyDown()) then
+			altFunc()
+		else
+			if SortUpdateTimer:IsShown() then
+				SortUpdateTimer:StopStacking(L['Already Running.. Bailing Out!'])
+				return;
 			end
-		end
-		for _, bag, slot in IterateBagsForSorting(scanningCache.all) do
-			local bagSlot = (bag*100) + slot
-			local itemID, isBattlePet = ConvertLinkToID(GetSortingItemLink(bag, slot))
-			if itemID then
-				if isBattlePet then
-					sortingCache[3][bagSlot] = itemID
-					sortingCache[5][bagSlot] = 1
+			twipe(bagGroups)
+			if not groups or #groups == 0 then
+				groups = groupsDefaults
+			end
+			for bags in (groups or ""):gmatch("[^%s]+") do
+				if bags == "guild" then
+					bags = GetSortingGroup(bags)
+					if bags then
+						tinsert(bagGroups, {bags[GetCurrentGuildBankTab()]})
+					end
 				else
-					sortingCache[5][bagSlot] = select(8, GetItemInfo(itemID))
+					bags = GetSortingGroup(bags)
+					if bags then
+						tinsert(bagGroups, bags)
+					end
 				end
-				sortingCache[2][bagSlot] = itemID
-				sortingCache[4][bagSlot] = select(2, GetSortingInfo(bag, slot))
 			end
+			for _, bag, slot in IterateBagsForSorting(scanningCache.all) do
+				local bagSlot = (bag*100) + slot
+				local itemID, isBattlePet = ConvertLinkToID(GetSortingItemLink(bag, slot))
+				if itemID then
+					if isBattlePet then
+						sortingCache[3][bagSlot] = itemID
+						sortingCache[5][bagSlot] = 1
+					else
+						sortingCache[5][bagSlot] = select(8, GetItemInfo(itemID))
+					end
+					sortingCache[2][bagSlot] = itemID
+					sortingCache[4][bagSlot] = select(2, GetSortingInfo(bag, slot))
+				end
+			end
+			if func(unpack(bagGroups)) == false then
+				return
+			end
+			twipe(bagGroups)
+			SortUpdateTimer:StartStacking()
 		end
-		if func(unpack(bagGroups)) == false then
-			return
-		end
-		twipe(bagGroups)
-		SortUpdateTimer:StartStacking()
 		collectgarbage("collect")
 	end
 end
\ No newline at end of file
diff --git a/Interface/AddOns/SVUI/system/alerts.lua b/Interface/AddOns/SVUI/system/alerts.lua
index 559852d..a1228e1 100644
--- a/Interface/AddOns/SVUI/system/alerts.lua
+++ b/Interface/AddOns/SVUI/system/alerts.lua
@@ -126,7 +126,7 @@ SV.SystemAlert["DELETE_GRAYS"] = {
 	button1 = YES,
 	button2 = NO,
 	OnAccept = function()SV.SVBag:VendorGrays(true) end,
-	OnShow = function(a)MoneyFrame_Update(a.moneyFrame, SV.SystemAlert["DELETE_GRAYS"].Money)end,
+	OnShow = function(self)MoneyFrame_Update(self.moneyFrame, SV.SystemAlert["DELETE_GRAYS"].Money)end,
 	timeout = 0,
 	whileDead = 1,
 	hideOnEscape = false,
@@ -136,8 +136,8 @@ SV.SystemAlert["BUY_BANK_SLOT"] = {
 	text = CONFIRM_BUY_BANK_SLOT,
 	button1 = YES,
 	button2 = NO,
-	OnAccept = function(a)PurchaseSlot()end,
-	OnShow = function(a)MoneyFrame_Update(a.moneyFrame, GetBankSlotCost())end,
+	OnAccept = function(self)PurchaseSlot()end,
+	OnShow = function(self)MoneyFrame_Update(self.moneyFrame, GetBankSlotCost())end,
 	hasMoneyFrame = 1,
 	timeout = 0,
 	hideOnEscape = 1
@@ -149,8 +149,10 @@ SV.SystemAlert["CONFIRM_BUY_REAGENTBANK_TAB"] = {
 	OnAccept = function(self)BuyReagentBank()end,
 	OnShow = function(self)
 		MoneyFrame_Update(self.moneyFrame, GetReagentBankCost());
-		if(SV.SVBag.ReagentFrame) then
-			SV.SVBag.ReagentFrame:UpdateLayout()
+		if(_G["SVUI_ReagentContainerFrame"]) then
+			_G["SVUI_ReagentContainerFrame"].swapButton:SetNormalTexture([[Interface\AddOns\SVUI\assets\artwork\Icons\BAGS-REAGENTS]])
+			_G["SVUI_ReagentContainerFrame"]:UpdateLayout()
+			_G["SVUI_ReagentContainerFrame"]:Show()
 		end
 	end,
 	hasMoneyFrame = 1,
diff --git a/Interface/AddOns/SVUI_StyleOMatic/components/blizzard/barbershop.lua b/Interface/AddOns/SVUI_StyleOMatic/components/blizzard/barbershop.lua
index 0fdde1f..fd5bae3 100644
--- a/Interface/AddOns/SVUI_StyleOMatic/components/blizzard/barbershop.lua
+++ b/Interface/AddOns/SVUI_StyleOMatic/components/blizzard/barbershop.lua
@@ -28,41 +28,57 @@ BARBERSHOP STYLER
 ##########################################################
 ]]--
 local function BarberShopStyle()
-	if SV.db[Schema].blizzard.enable~=true or SV.db[Schema].blizzard.barber~=true then return end
+	if SV.db[Schema].blizzard.enable~=true or SV.db[Schema].blizzard.barber~=true then return end
+
 	local buttons = {"BarberShopFrameOkayButton", "BarberShopFrameCancelButton", "BarberShopFrameResetButton"}
+
 	BarberShopFrameOkayButton:Point("RIGHT", BarberShopFrameSelector4, "BOTTOM", 2, -50)
+
 	for b = 1, #buttons do
 		_G[buttons[b]]:RemoveTextures()
 		_G[buttons[b]]:SetButtonTemplate()
-	end
-	for b = 1, 4 do
-		local c = _G["BarberShopFrameSelector"..b]
-		local d = _G["BarberShopFrameSelector"..b-1]
-		STYLE:ApplyPaginationStyle(_G["BarberShopFrameSelector"..b.."Prev"])
-		STYLE:ApplyPaginationStyle(_G["BarberShopFrameSelector"..b.."Next"])
-		if b ~= 1 then
-			c:ClearAllPoints()c:Point("TOP", d, "BOTTOM", 0, -3)
-		end
-		if c then
-			c:RemoveTextures()
-		end
-	end
-	BarberShopFrameSelector1:ClearAllPoints()
-	BarberShopFrameSelector1:Point("TOP", 0, -12)
-	BarberShopFrameResetButton:ClearAllPoints()
-	BarberShopFrameResetButton:Point("BOTTOM", 0, 12)
+	end
+
 	BarberShopFrame:RemoveTextures()
 	BarberShopFrame:SetPanelTemplate("Halftone")
 	BarberShopFrame:Size(BarberShopFrame:GetWidth()-30, BarberShopFrame:GetHeight()-56)
+
+	local lastframe;
+	for i = 1, 5 do
+		local selector = _G["BarberShopFrameSelector"..i]
+		if selector then
+			STYLE:ApplyPaginationStyle(_G["BarberShopFrameSelector"..i.."Prev"])
+			STYLE:ApplyPaginationStyle(_G["BarberShopFrameSelector"..i.."Next"])
+			selector:ClearAllPoints()
+
+			if lastframe then
+				selector:Point("TOP", lastframe, "BOTTOM", 0, -3)
+			else
+				selector:Point("TOP", BarberShopFrame, "TOP", 0, -12)
+			end
+
+			selector:RemoveTextures()
+			if(selector:IsShown()) then
+				lastframe = selector
+			end
+		end
+	end
+
 	BarberShopFrameMoneyFrame:RemoveTextures()
-	BarberShopFrameMoneyFrame:SetPanelTemplate()
+	BarberShopFrameMoneyFrame:SetPanelTemplate("Inset")
+	BarberShopFrameMoneyFrame:Point("TOP", lastframe, "BOTTOM", 0, -10)
+
 	BarberShopFrameBackground:Die()
 	BarberShopBannerFrameBGTexture:Die()
 	BarberShopBannerFrame:Die()
+
 	BarberShopAltFormFrameBorder:RemoveTextures()
 	BarberShopAltFormFrame:Point("BOTTOM", BarberShopFrame, "TOP", 0, 5)
 	BarberShopAltFormFrame:RemoveTextures()
-	BarberShopAltFormFrame:SetBasicPanel()
+	BarberShopAltFormFrame:SetPanelTemplate("Action")
+
+	BarberShopFrameResetButton:ClearAllPoints()
+	BarberShopFrameResetButton:Point("BOTTOM", BarberShopFrame.Panel, "BOTTOM", 0, 4)
 end
 --[[
 ##########################################################
diff --git a/Interface/AddOns/SVUI_StyleOMatic/components/blizzard/petjournal.lua b/Interface/AddOns/SVUI_StyleOMatic/components/blizzard/petjournal.lua
index c6c28cf..7b1b302 100644
--- a/Interface/AddOns/SVUI_StyleOMatic/components/blizzard/petjournal.lua
+++ b/Interface/AddOns/SVUI_StyleOMatic/components/blizzard/petjournal.lua
@@ -27,6 +27,8 @@ local Schema = STYLE.Schema;
 HELPERS
 ##########################################################
 ]]--
+local FAV_ICON = [[Interface\Addons\SVUI\assets\artwork\Icons\GENERIC-STAR]]
+
 local function PetJournal_UpdateMounts()
 	for b = 1, #MountJournal.ListScrollFrame.buttons do
 		local d = _G["MountJournalListScrollFrameButton"..b]
@@ -126,14 +128,12 @@ local function PetJournalStyle()
 			local bar = _G["SVUI_MountSelectBar"..i]
 			if(bar) then bar:SetParent(button.Panel) end
 			if(SV.GameVersion >= 60000) then
-				--print(("WoD Button %d"):format(i))
 				if(button.favorite) then
-					--print(("Favorite %d Texture: %s"):format(i, button.favorite:GetTexture()))
 					local fg = CreateFrame("Frame", nil, button)
-					fg:SetSize(40,40)
-					fg:SetPoint("TOPLEFT", button, "TOPLEFT", -1, 1)
+					fg:SetAllPoints(favorite)
 					fg:SetFrameLevel(button:GetFrameLevel() + 30)
 					button.favorite:SetParent(fg)
+					button.favorite:SetTexture([[Interface\Addons\SVUI\assets\artwork\Icons\GENERIC-STAR]])
 				end
 			end
 		end
@@ -168,11 +168,12 @@ local function PetJournalStyle()
 		STYLE:ApplyItemButtonStyle(button, false, true)
 		if(favorite) then
 			local fg = CreateFrame("Frame", nil, button)
-			fg:SetSize(40,40)
-			fg:SetPoint("TOPLEFT", button, "TOPLEFT", -1, 1)
+			fg:SetAllPoints(favorite)
 			fg:SetFrameLevel(button:GetFrameLevel() + 30)
 			favorite:SetParent(fg)
 			button.dragButton.favorite:SetParent(fg)
+			favorite:SetTexture([[Interface\Addons\SVUI\assets\artwork\Icons\GENERIC-STAR]])
+			favorite:SetTexCoord(0,1,0,1)
 		end

 		button.dragButton.levelBG:SetAlpha(0)