Quantcast

- Some skin fixes for many blizz frames

failcoder [10-18-16 - 22:17]
- Some skin fixes for many blizz frames

- Fixed guild bank background issue
Filename
SVUI_!Core/SVUI_!Core.toc
SVUI_!Core/system/_docklets/garrison.lua
SVUI_!Core/system/api.lua
SVUI_!Core/system/core.lua
SVUI_!Core/xml/styles.xml
SVUI_!Core/xml/templates.xml
SVUI_!Options/SVUI_!Options.toc
SVUI_ActionBars/SVUI_ActionBars.toc
SVUI_Auras/SVUI_Auras.toc
SVUI_Chat/SVUI_Chat.toc
SVUI_Inventory/SVUI_Inventory.lua
SVUI_Inventory/SVUI_Inventory.toc
SVUI_Maps/SVUI_Maps.toc
SVUI_NamePlates/SVUI_NamePlates.toc
SVUI_QuestTracker/SVUI_QuestTracker.toc
SVUI_Skins/Loader.lua
SVUI_Skins/SVUI_Skins.toc
SVUI_Skins/components/blizzard/_load.xml
SVUI_Skins/components/blizzard/alert.lua
SVUI_Skins/components/blizzard/auctionhouse.lua
SVUI_Skins/components/blizzard/blackmarket.lua
SVUI_Skins/components/blizzard/calendar.lua
SVUI_Skins/components/blizzard/character.lua
SVUI_Skins/components/blizzard/collections.lua
SVUI_Skins/components/blizzard/friends.lua
SVUI_Skins/components/blizzard/guild.lua
SVUI_Skins/components/blizzard/help.lua
SVUI_Skins/components/blizzard/itemsocketing.lua
SVUI_Skins/components/blizzard/keybinding.lua
SVUI_Skins/components/blizzard/lfd.lua
SVUI_Skins/components/blizzard/macro.lua
SVUI_Skins/components/blizzard/misc.lua
SVUI_Skins/components/blizzard/petjournal.lua
SVUI_Skins/components/blizzard/pvp.lua
SVUI_Skins/components/blizzard/quest.lua
SVUI_Skins/components/blizzard/raid.lua
SVUI_Skins/components/blizzard/system.lua
SVUI_Skins/components/blizzard/talents.lua
SVUI_Skins/components/blizzard/tradeskill.lua
SVUI_Skins/components/blizzard/trainer.lua
SVUI_Skins/components/blizzard/worldmap.lua
SVUI_Tooltip/SVUI_Tooltip.toc
SVUI_UnitFrames/SVUI_UnitFrames.toc
SVUI_UnitFrames/libs/Plugins/oUF_AuraWatch/oUF_AuraWatch.toc
diff --git a/SVUI_!Core/SVUI_!Core.toc b/SVUI_!Core/SVUI_!Core.toc
index 33bf354..6fdaaa5 100644
--- a/SVUI_!Core/SVUI_!Core.toc
+++ b/SVUI_!Core/SVUI_!Core.toc
@@ -1,6 +1,6 @@
 ## Interface: 70000
 ## Author: Munglunch
-## Version: 1.3.3
+## Version: 1.3.5
 ## Title: |cffFF9900SuperVillain UI: |r|cff00FF00!Core|r
 ## Notes: SVUI [|cff9911FFCore Framework|r].
 ## SavedVariables: SVUI_Global, SVUI_Errors, SVUI_Filters, SVUI_Media, SVUI_Shared
diff --git a/SVUI_!Core/system/_docklets/garrison.lua b/SVUI_!Core/system/_docklets/garrison.lua
index a03dc38..19faec5 100644
--- a/SVUI_!Core/system/_docklets/garrison.lua
+++ b/SVUI_!Core/system/_docklets/garrison.lua
@@ -142,6 +142,14 @@ local function getColoredString(text, color)
 	return ("|cff%s%s|r"):format(hex, text)
 end

+local function GetSafeData(fn)
+	local t = fn(1) or {}
+	for k,v in pairs(fn(2) or {}) do
+		t[#t+1] = v
+	end
+	return t
+end
+
 local function GetActiveMissions()
 	wipe(GarrisonData)
 	local hasMission = false
@@ -149,7 +157,7 @@ local function GetActiveMissions()
 	GameTooltip:AddLine(" ", 1, 1, 1)
 	GameTooltip:AddLine("Active Missions", 1, 0.7, 0)

-	for key,data in pairs(C_Garrison.GetInProgressMissions()) do
+	for key,data in pairs(GetSafeData(C_Garrison.GetInProgressMissions)) do
 		GarrisonData[data.missionID] = {
 			name = data.name,
 			level = data.level,
@@ -162,7 +170,7 @@ local function GetActiveMissions()
 		hasMission = true
 	end

-	for key,data in pairs(C_Garrison.GetCompleteMissions()) do
+	for key,data in pairs(GetSafeData(C_Garrison.GetCompleteMissions)) do
 		if(GarrisonData[data.missionID]) then
 			GarrisonData[data.missionID].completed = true
 		end
@@ -192,7 +200,7 @@ local function GetBuildingData()
 	local now = time();
 	local prefixed = false;

-	local buildings = C_Garrison.GetBuildings()
+	local buildings = GetSafeData(C_Garrison.GetBuildings)
 	for i = 1, #buildings do
 		local buildingID = buildings[i].buildingID
 		local plotID = buildings[i].plotID
diff --git a/SVUI_!Core/system/api.lua b/SVUI_!Core/system/api.lua
index fd687f9..512f645 100644
--- a/SVUI_!Core/system/api.lua
+++ b/SVUI_!Core/system/api.lua
@@ -1196,6 +1196,29 @@ MOD.Methods["DockButton"] = function(self, frame, inverse, template)
     end
 end;

+MOD.Methods["ShadowBox"] = function(self, frame, inverse, styleName, noupdate, overridePadding, xOffset, yOffset, defaultColor)
+    if(not frame or (frame and frame.Panel)) then return end
+    local padding = false;
+    if(overridePadding and type(overridePadding) == "number") then
+        padding = overridePadding
+    end
+    styleName = styleName or "Default";
+    local underlay = (not inverse)
+    if(noupdate) then
+        frame.noStyleUpdate = true
+    end
+    xOffset = xOffset or 2
+    yOffset = yOffset or 2
+    self:APPLY(frame, styleName, underlay, padding, xOffset, yOffset, defaultColor)
+    local shadowbox = CreateFrame('Frame', nil, frame, "SVUI_ShadowBoxTemplate")
+    shadowbox:SetPoint("TOPLEFT", frame, "TOPLEFT", -xOffset, yOffset)
+    shadowbox:SetPoint("BOTTOMRIGHT", frame, "BOTTOMRIGHT", xOffset, -yOffset)
+    if(not noupdate) then
+      local count = #LIVE_UPDATE_FRAMES+1;
+      LIVE_UPDATE_FRAMES[count] = frame;
+    end
+end;
+
 MOD.Methods["Frame"] = function(self, frame, inverse, styleName, noupdate, overridePadding, xOffset, yOffset, defaultColor)
     if(not frame or (frame and frame.Panel)) then return end
     local padding = false;
@@ -1609,6 +1632,19 @@ MOD.Concepts["Button"] = function(self, adjustable, frame)
     self.Methods["Button"](self, frame, adjustable)
 end

+MOD.Concepts["IconButton"] = function(self, adjustable, frame, texture)
+    if(not frame or (frame and frame.Panel)) then return end
+    iconTexture = texture or frame:GetNormalTexture()
+    RemoveTextures(frame)
+    self.Methods["Button"](self, frame, adjustable, -1, -1)
+    if not frame.icon then
+        frame.icon = frame:CreateTexture(nil,'ARTWORK')
+        InsetPoints(frame.icon, frame, 3, 3);
+        frame.icon:SetTexture(iconTexture)
+        frame.icon:SetTexCoord(unpack(_G.SVUI_ICON_COORDS))
+    end
+end
+
 MOD.Concepts["CheckButton"] = function(self, adjustable, frame)
     if(not frame or (frame and frame.Panel)) then return end
     --RemoveTextures(frame)
@@ -1767,13 +1803,13 @@ MOD.Concepts["PageButton"] = function(self, adjustable, frame, isVertical, isLef
         frame.icon:SetTexture(SV.media.button.radio)
         frame.icon:SetTexCoord(0.02, 0.2, 0.02, 0.2)

-        frame:SetScript('OnMouseDown',function(self)
+        frame:HookScript('OnMouseDown',function(self)
             if self:IsEnabled() then
                 self.icon:SetPoint("CENTER",-1,-1)
             end
         end)

-        frame:SetScript('OnMouseUp',function(self)
+        frame:HookScript('OnMouseUp',function(self)
             self.icon:SetPoint("CENTER",0,0)
         end)

@@ -1799,97 +1835,6 @@ MOD.Concepts["PageButton"] = function(self, adjustable, frame, isVertical, isLef
     end
 end

-MOD.Concepts["ScrollBar"] = function(self, adjustable, frame, scale, yOffset)
-    if(not frame or (frame and frame.Panel)) then return end
-
-    scale = scale or 5
-    local scrollName = frame:GetName()
-    local testForBar = _G[("%sScrollBar"):format(scrollName)]
-    if(testForBar) then
-        scrollName = testForBar:GetName()
-        RemoveTextures(frame)
-        frame = testForBar
-    end
-    local bg, track, top, bottom, mid, upButton, downButton
-    bg = _G[("%sBG"):format(scrollName)]
-    if(bg) then bg:SetTexture("") end
-    track = _G[("%sTrack"):format(scrollName)]
-    if(track) then track:SetTexture("") end
-    top = _G[("%sTop"):format(scrollName)]
-    if(top) then top:SetTexture("") end
-    bottom = _G[("%sBottom"):format(scrollName)]
-    if(bottom) then bottom:SetTexture("") end
-    mid = _G[("%sMiddle"):format(scrollName)]
-    if(mid) then mid:SetTexture("") end
-    upButton = _G[("%sScrollUpButton"):format(scrollName)]
-    downButton = _G[("%sScrollDownButton"):format(scrollName)]
-
-    if(upButton and downButton) then
-        RemoveTextures(upButton)
-        if(not upButton.icon) then
-            local upW, upH = upButton:GetSize()
-            self.Concepts["PageButton"](self, false, upButton)
-            SquareButton_SetIcon(upButton, "UP")
-            upButton:SetSize(upW + scale, upH + scale)
-            if(yOffset) then
-                local anchor, parent, relative, xBase, yBase = upButton:GetPoint()
-                local yAdjust = (yOffset or 0) + yBase
-                upButton:ClearAllPoints()
-                upButton:SetPoint(anchor, parent, relative, xBase, yAdjust)
-            end
-        end
-        RemoveTextures(downButton)
-        if(not downButton.icon) then
-            local dnW, dnH = downButton:GetSize()
-            self.Concepts["PageButton"](self, false, downButton)
-            SquareButton_SetIcon(downButton, "DOWN")
-            downButton:SetSize(dnW + scale, dnH + scale)
-            if(yOffset) then
-                local anchor, parent, relative, xBase, yBase = downButton:GetPoint()
-                local yAdjust = ((yOffset or 0) * -1) + yBase
-                downButton:ClearAllPoints()
-                downButton:SetPoint(anchor, parent, relative, xBase, yAdjust)
-            end
-        end
-        if(not frame.BG) then
-            frame.BG = frame:CreateTexture(nil, "BACKGROUND")
-            frame.BG:SetPoint("TOPLEFT", upButton, "TOPLEFT", 1, -1)
-            frame.BG:SetPoint("BOTTOMRIGHT", downButton, "BOTTOMRIGHT", -1, 1)
-            frame.BG:SetTexture(SV.media.background.transparent)
-
-            -- local fg = CreateFrame("Frame", nil, frame)
-            -- fg:SetPoint("TOPLEFT", frame, "TOPLEFT", 18, -2)
-            -- fg:SetPoint("BOTTOMRIGHT", frame, "BOTTOMRIGHT", -10, 6)
-            -- fg:SetBackdrop(SV.media.backdrop.outline)
-            -- frame.Brdr = fg
-        end
-        if(frame.SetThumbTexture) then
-            frame:SetThumbTexture(SV.media.button.knob)
-        end
-    elseif(frame.GetOrientation) then
-        if(frame:GetOrientation() == "VERTICAL") then
-            frame:SetWidth(12)
-        else
-            frame:SetHeight(12)
-            for i=1, frame:GetNumRegions() do
-                local child = select(i, frame:GetRegions())
-                if(child and child:GetObjectType() == "FontString") then
-                    local anchor, parent, relative, x, y = child:GetPoint()
-                    if relative:find("BOTTOM") then
-                        child:SetPoint(anchor, parent, relative, x, y - 4)
-                    end
-                end
-            end
-        end
-
-        RemoveTextures(frame)
-        frame:SetBackdrop(nil)
-        self.Methods["Frame"](self, frame, (not adjustable), "Transparent", true)
-        frame:SetBackdropBorderColor(0.2,0.2,0.2)
-        frame:SetThumbTexture(SV.media.button.knob)
-    end
-end
-
 MOD.Concepts["Tab"] = function(self, adjustable, frame, addBackground, xOffset, yOffset)
     if(not frame or (frame and frame.Panel)) then return end

@@ -2168,7 +2113,7 @@ MOD.Concepts["Alert"] = function(self, defaultStyle, frame, arg)
         alertpanel.icon = alertpanel:CreateTexture(nil, "BACKGROUND", nil, -2)
         alertpanel.icon:SetTexture([[Interface\AddOns\SVUI_!Core\assets\textures\Alert\ALERT-ICON-BORDER]])
         alertpanel.icon:SetGradient('VERTICAL', 1, 0.35, 0, 1, 1, 0)
-        alertpanel.icon:SetPoint("LEFT", alertpanel, "LEFT", -45, 20)
+        alertpanel.icon:SetPoint("LEFT", alertpanel, "LEFT", -10, 30)
         alertpanel.icon:SetSize(size, size)

         frame.AlertPanel = alertpanel
@@ -2229,6 +2174,157 @@ MOD.Concepts["Alert"] = function(self, defaultStyle, frame, arg)
     end
 end

+--[[
+##########################################################
+SCROLL FRAME (COMPLEX) HANDLER
+##########################################################
+]]--
+local ModifyScrollType1 = function(self, adjustable, frame, scale, yOffset, upButton, downButton)
+    RemoveTextures(upButton)
+    if(not upButton.icon) then
+        local upW, upH = upButton:GetSize()
+        self.Concepts["PageButton"](self, false, upButton)
+        SquareButton_SetIcon(upButton, "UP")
+        upButton:SetSize(upW + scale, upH + scale)
+        if(yOffset) then
+            local anchor, parent, relative, xBase, yBase = upButton:GetPoint()
+            local yAdjust = (yOffset or 0) + yBase
+            upButton:ClearAllPoints()
+            upButton:SetPoint(anchor, parent, relative, xBase, yAdjust)
+        end
+    end
+    RemoveTextures(downButton)
+    if(not downButton.icon) then
+        local dnW, dnH = downButton:GetSize()
+        self.Concepts["PageButton"](self, false, downButton)
+        SquareButton_SetIcon(downButton, "DOWN")
+        downButton:SetSize(dnW + scale, dnH + scale)
+        if(yOffset) then
+            local anchor, parent, relative, xBase, yBase = downButton:GetPoint()
+            local yAdjust = ((yOffset or 0) * -1) + yBase
+            downButton:ClearAllPoints()
+            downButton:SetPoint(anchor, parent, relative, xBase, yAdjust)
+        end
+    end
+    if(not frame.BG) then
+        frame.BG = frame:CreateTexture(nil, "BACKGROUND")
+        frame.BG:SetPoint("TOPLEFT", upButton, "TOPLEFT", 1, -1)
+        frame.BG:SetPoint("BOTTOMRIGHT", downButton, "BOTTOMRIGHT", -1, 1)
+        frame.BG:SetTexture(SV.media.background.transparent)
+
+        -- local fg = CreateFrame("Frame", nil, frame)
+        -- fg:SetPoint("TOPLEFT", frame, "TOPLEFT", 18, -2)
+        -- fg:SetPoint("BOTTOMRIGHT", frame, "BOTTOMRIGHT", -10, 6)
+        -- fg:SetBackdrop(SV.media.backdrop.outline)
+        -- frame.Brdr = fg
+    end
+    if(frame.SetThumbTexture) then
+        frame:SetThumbTexture(SV.media.button.knob)
+    end
+end
+
+local ModifyScrollType2 = function(self, adjustable, frame, scale)
+    if(frame:GetOrientation() == "VERTICAL") then
+        frame:SetWidth(12)
+    else
+        frame:SetHeight(12)
+        for i=1, frame:GetNumRegions() do
+            local child = select(i, frame:GetRegions())
+            if(child and child:GetObjectType() == "FontString") then
+                local anchor, parent, relative, x, y = child:GetPoint()
+                if relative:find("BOTTOM") then
+                    child:SetPoint(anchor, parent, relative, x, y - 4)
+                end
+            end
+        end
+    end
+
+    RemoveTextures(frame)
+    frame:SetBackdrop(nil)
+    self.Methods["Frame"](self, frame, (not adjustable), "Transparent", true)
+    frame:SetBackdropBorderColor(0.2,0.2,0.2)
+    frame:SetThumbTexture(SV.media.button.knob)
+    frame:DisableDrawLayer("BACKGROUND")
+end
+
+local ModifyBasicScroll = function(self, adjustable, frame, scale, yOffset, scrollName)
+    local bg, track, top, bottom, mid, upButton, downButton
+    bg = _G[("%sBG"):format(scrollName)] or frame.BG;
+    if(bg) then bg:SetTexture("") end
+    track = _G[("%sTrack"):format(scrollName)] or frame.Track;
+    if(track) then track:SetTexture("") end
+    top = _G[("%sTop"):format(scrollName)] or frame.Top;
+    if(top) then top:SetTexture("") end
+    bottom = _G[("%sBottom"):format(scrollName)] or frame.Bottom;
+    if(bottom) then bottom:SetTexture("") end
+    mid = _G[("%sMiddle"):format(scrollName)] or frame.Middle;
+    if(mid) then mid:SetTexture("") end
+    upButton = _G[("%sScrollUpButton"):format(scrollName)] or frame.ScrollUpButton;
+    downButton = _G[("%sScrollDownButton"):format(scrollName)] or frame.ScrollDownButton;
+
+    if(upButton and downButton) then
+        ModifyScrollType1(self, adjustable, frame, scale, yOffset, upButton, downButton)
+    elseif(frame.GetOrientation) then
+        ModifyScrollType2(self, adjustable, frame, scale)
+    end
+end
+
+local ModifyHybridScroll = function(self, adjustable, frame, scale, yOffset)
+    local bg, track, top, bottom, mid, upButton, downButton
+    bg = frame.BG;
+    if(bg) then bg:SetTexture("") end
+    track = frame.trackBG or frame.Track;
+    if(track) then track:SetTexture("") end
+    top = frame.ScrollBarTop or frame.Top;
+    if(top) then top:SetTexture("") end
+    bottom = frame.ScrollBarBottom or frame.Bottom;
+    if(bottom) then bottom:SetTexture("") end
+    mid = frame.ScrollBarMiddle or frame.Middle;
+    if(mid) then mid:SetTexture("") end
+    upButton = frame.GetParent().scrollUp or frame.ScrollUpButton;
+    downButton = frame.GetParent().scrollDown or frame.ScrollDownButton;
+
+    if(upButton and downButton) then
+        ModifyScrollType1(self, adjustable, frame, scale, yOffset, upButton, downButton)
+    elseif(frame.GetOrientation) then
+        ModifyScrollType2(self, adjustable, frame, scale)
+    end
+end
+
+MOD.Concepts["ScrollBar"] = function(self, adjustable, frame, scale, yOffset)
+    if(not frame or (frame and frame.Panel)) then return end
+    scale = scale or 5
+    local scrollName = frame:GetName()
+    if(scrollName) then
+        local testForBasic = _G[("%sScrollBar"):format(scrollName)];
+        if(testForBasic) then
+            RemoveTextures(frame)
+            scrollName = testForBasic:GetName()
+            frame = testForBasic
+            ModifyBasicScroll(self, adjustable, frame, scale, yOffset, scrollName)
+        else
+            local testForBar = frame.ScrollBar or frame.scrollBar;
+            if(testForBar) then
+                RemoveTextures(frame)
+                frame = testForBar
+                ModifyHybridScroll(self, adjustable, frame, scale, yOffset)
+            end
+        end
+    else
+        local testForBar = frame.ScrollBar or frame.scrollBar;
+        if(testForBar) then
+            RemoveTextures(frame)
+            frame = testForBar
+            ModifyHybridScroll(self, adjustable, frame, scale, yOffset)
+        end
+    end
+end
+
+--[[
+##########################################################
+SET METHOD
+##########################################################
+]]--
 function MOD:Set(concept, ...)
     if(not concept) then return end

diff --git a/SVUI_!Core/system/core.lua b/SVUI_!Core/system/core.lua
index 54d8be8..00fdd41 100644
--- a/SVUI_!Core/system/core.lua
+++ b/SVUI_!Core/system/core.lua
@@ -203,6 +203,14 @@ if(not CUSTOM_CLASS_COLORS) then
     classes = nil
 end

+-- SQUARE_BUTTON_TEXCOORDS = {
+--     ["UP"] = {     0.45312500,    0.64062500,     0.01562500,     0.20312500};
+--     ["DOWN"] = {   0.45312500,    0.64062500,     0.20312500,     0.01562500};
+--     ["LEFT"] = {   0.23437500,    0.42187500,     0.01562500,     0.20312500};
+--     ["RIGHT"] = {  0.42187500,    0.23437500,     0.01562500,     0.20312500};
+--     ["DELETE"] = { 0.01562500,    0.20312500,     0.01562500,     0.20312500};
+-- };
+
 ---- Global SVUI Object. We have to send the names ----
 ---- of our three SavedVariables files since the ----
 ---- WoW API has no method for parsing them in LUA. ----
diff --git a/SVUI_!Core/xml/styles.xml b/SVUI_!Core/xml/styles.xml
index 1dcf00d..4262ff2 100644
--- a/SVUI_!Core/xml/styles.xml
+++ b/SVUI_!Core/xml/styles.xml
@@ -406,17 +406,15 @@
             <Attribute name="panelGradient" type="string" value="special" />
             <Attribute name="panelTexUpdate" type="boolean" value="true" />
             <Attribute name="panelSkipUpdate" type="boolean" value="false" />
+            <Attribute name="panelOffset" type="number" value="4" />
         </Attributes>
         <Backdrop bgFile="Interface\AddOns\SVUI_!Core\assets\backgrounds\art\ART1" edgeFile="Interface\BUTTONS\WHITE8X8" tile="false">
-            <EdgeSize val="1" />
+            <EdgeSize val="2" />
             <TileSize val="0" />
             <BackgroundInsets left="0" right="0" top="0" bottom="0" />
             <Color r="0.37" g="0.32" b="0.29" a="1" />
             <BorderColor r="0" g="0" b="0" a="1" />
         </Backdrop>
-        <Frames>
-            <Frame parentKey="Shadow" inherits="SVUI_ShadowTemplate" />
-        </Frames>
     </Frame>

     <Frame name="SVUI_CoreStyle_Model" virtual="true">
@@ -436,9 +434,6 @@
             <Color r="0.37" g="0.32" b="0.29" a="1" />
             <BorderColor r="0" g="0" b="0" a="1" />
         </Backdrop>
-        <Frames>
-            <Frame parentKey="Shadow" inherits="SVUI_ShadowTemplate" />
-        </Frames>
     </Frame>

     <Frame name="SVUI_CoreStyle_Window" virtual="true">
diff --git a/SVUI_!Core/xml/templates.xml b/SVUI_!Core/xml/templates.xml
index bf33ca9..b1dbac5 100644
--- a/SVUI_!Core/xml/templates.xml
+++ b/SVUI_!Core/xml/templates.xml
@@ -191,6 +191,53 @@
         </Backdrop>
     </Frame>

+    <Frame name="SVUI_ShadowBoxTemplate" virtual="true">
+        <Layers>
+            <Layer level="BACKGROUND" textureSubLevel="2">
+                <Texture parentKey="Left" nonBlocking="true" file="Interface\BUTTONS\WHITE8X8">
+                    <Anchors>
+                        <Anchor point="BOTTOMLEFT" relativePoint="BOTTOMLEFT" x="0" y="0" />
+                        <Anchor point="TOPLEFT" relativePoint="TOPLEFT" x="0" y="0" />
+                    </Anchors>
+                    <Size>
+                      <AbsDimension x="2"/>
+                    </Size>
+                    <Color r="0" g="0" b="0" a="1" />
+                </Texture>
+                <Texture parentKey="Top" nonBlocking="true" file="Interface\BUTTONS\WHITE8X8">
+                    <Anchors>
+                        <Anchor point="TOPLEFT" relativePoint="TOPLEFT" x="0" y="0" />
+                        <Anchor point="TOPRIGHT" relativePoint="TOPRIGHT" x="0" y="0" />
+                    </Anchors>
+                    <Size>
+                      <AbsDimension y="2"/>
+                    </Size>
+                    <Color r="0" g="0" b="0" a="1" />
+                </Texture>
+                <Texture parentKey="Right" nonBlocking="true" file="Interface\BUTTONS\WHITE8X8">
+                    <Anchors>
+                        <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" x="0" y="0" />
+                        <Anchor point="TOPRIGHT" relativePoint="TOPRIGHT" x="0" y="0" />
+                    </Anchors>
+                    <Size>
+                      <AbsDimension x="2"/>
+                    </Size>
+                    <Color r="0" g="0" b="0" a="1" />
+                </Texture>
+                <Texture parentKey="Bottom" nonBlocking="true" file="Interface\BUTTONS\WHITE8X8">
+                    <Anchors>
+                        <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" x="0" y="0" />
+                        <Anchor point="BOTTOMLEFT" relativePoint="BOTTOMLEFT" x="0" y="0" />
+                    </Anchors>
+                    <Size>
+                      <AbsDimension y="2"/>
+                    </Size>
+                    <Color r="0" g="0" b="0" a="1" />
+                </Texture>
+            </Layer>
+        </Layers>
+    </Frame>
+
     <Button name="SVUI_DockletButtonTemplate" virtual="true" hidden="true">
         <Size x="22" y="22"/>
         <Attributes>
diff --git a/SVUI_!Options/SVUI_!Options.toc b/SVUI_!Options/SVUI_!Options.toc
index c89454f..084df4f 100644
--- a/SVUI_!Options/SVUI_!Options.toc
+++ b/SVUI_!Options/SVUI_!Options.toc
@@ -1,6 +1,6 @@
 ## Interface: 70000
 ## Author: Munglunch
-## Version: 1.3.3
+## Version: 1.3.5
 ## Title: |cffFF9900SuperVillain UI: |r|cff00FF00!Options|r
 ## Notes: SVUI [|cff9911FFConfig Options|r]
 ## RequiredDeps: SVUI_!Core
diff --git a/SVUI_ActionBars/SVUI_ActionBars.toc b/SVUI_ActionBars/SVUI_ActionBars.toc
index 0031285..a4a2e36 100644
--- a/SVUI_ActionBars/SVUI_ActionBars.toc
+++ b/SVUI_ActionBars/SVUI_ActionBars.toc
@@ -1,6 +1,6 @@
 ## Interface: 70000
 ## Author: Munglunch
-## Version: 1.3.3
+## Version: 1.3.5
 ## Title: |cffFF9900SuperVillain UI: |r|cffFFEF00Action Bars|r
 ## Notes: Action Bar Plugin for [|cff9911FFSVUI|r].
 ## OptionalDeps: LibSharedMedia-3.0, LibActionButton-1.0
diff --git a/SVUI_Auras/SVUI_Auras.toc b/SVUI_Auras/SVUI_Auras.toc
index 6b06d91..18ac898 100644
--- a/SVUI_Auras/SVUI_Auras.toc
+++ b/SVUI_Auras/SVUI_Auras.toc
@@ -1,6 +1,6 @@
 ## Interface: 70000
 ## Author: Munglunch
-## Version: 1.3.3
+## Version: 1.3.5
 ## Title: |cffFF9900SuperVillain UI: |r|cffFFEF00Auras|r
 ## Notes: Aura Plugin for [|cff9911FFSVUI|r].
 ## OptionalDeps: LibSharedMedia-3.0
diff --git a/SVUI_Chat/SVUI_Chat.toc b/SVUI_Chat/SVUI_Chat.toc
index a36f216..bf103d6 100644
--- a/SVUI_Chat/SVUI_Chat.toc
+++ b/SVUI_Chat/SVUI_Chat.toc
@@ -1,6 +1,6 @@
 ## Interface: 70000
 ## Author: Munglunch
-## Version: 1.3.3
+## Version: 1.3.5
 ## Title: |cffFF9900SuperVillain UI: |r|cffFFEF00Chat|r
 ## Notes: Chat Plugin for [|cff9911FFSVUI|r].
 ## SavedVariables: SVUI_Global_ChatCache
diff --git a/SVUI_Inventory/SVUI_Inventory.lua b/SVUI_Inventory/SVUI_Inventory.lua
index 32b8d9e..c66f837 100644
--- a/SVUI_Inventory/SVUI_Inventory.lua
+++ b/SVUI_Inventory/SVUI_Inventory.lua
@@ -493,6 +493,10 @@ local ContainerFrame_UpdateLayout = function(self)
 					self.Bags[bagID][slotID]:RemoveTextures();
 					self.Bags[bagID][slotID]:SetStyle("!_ActionSlot");

+					if(self.Bags[bagID][slotID].IconBorder) then
+						self.Bags[bagID][slotID].IconBorder:Die()
+					end
+
 					-- if(self.Bags[bagID][slotID].flashAnim) then
 					-- 	self.Bags[bagID][slotID].flashAnim.Play = SV.fubar
 					-- end
@@ -657,6 +661,10 @@ local ReagentFrame_UpdateLayout = function(self)
 			slot:RemoveTextures()
 			slot:SetStyle("!_ActionSlot");

+			if(slot.IconBorder) then
+				slot.IconBorder:Die()
+			end
+
 			slot.NewItemTexture = slot:CreateTexture(nil, "OVERLAY", 1);
 			slot.NewItemTexture:InsetPoints(slot);
 			slot.NewItemTexture:SetTexture("");
diff --git a/SVUI_Inventory/SVUI_Inventory.toc b/SVUI_Inventory/SVUI_Inventory.toc
index 0935329..ec4bb3d 100644
--- a/SVUI_Inventory/SVUI_Inventory.toc
+++ b/SVUI_Inventory/SVUI_Inventory.toc
@@ -1,6 +1,6 @@
 ## Interface: 70000
 ## Author: Munglunch
-## Version: 1.3.3
+## Version: 1.3.5
 ## Title: |cffFF9900SuperVillain UI: |r|cffFFEF00Inventory|r
 ## Notes: Inventory Plugin for [|cff9911FFSVUI|r].
 ## SavedVariables: SVUI_LootCache
diff --git a/SVUI_Maps/SVUI_Maps.toc b/SVUI_Maps/SVUI_Maps.toc
index 5c5b45f..9f3f756 100644
--- a/SVUI_Maps/SVUI_Maps.toc
+++ b/SVUI_Maps/SVUI_Maps.toc
@@ -1,6 +1,6 @@
 ## Interface: 70000
 ## Author: Munglunch
-## Version: 1.3.3
+## Version: 1.3.5
 ## Title: |cffFF9900SuperVillain UI: |r|cffFFEF00Maps|r
 ## Notes: Maps Plugin for [|cff9911FFSVUI|r].
 ## OptionalDeps: LibSharedMedia-3.0
diff --git a/SVUI_NamePlates/SVUI_NamePlates.toc b/SVUI_NamePlates/SVUI_NamePlates.toc
index c6dbc02..2780ba3 100644
--- a/SVUI_NamePlates/SVUI_NamePlates.toc
+++ b/SVUI_NamePlates/SVUI_NamePlates.toc
@@ -1,6 +1,6 @@
 ## Interface: 70000
 ## Author: Munglunch
-## Version: 1.3.3
+## Version: 1.3.5
 ## Title: |cffFF9900SuperVillain UI: |r|cffFFEF00NamePlates|r
 ## Notes: NamePlates Plugin for [|cff9911FFSVUI|r].
 ## OptionalDeps: LibSharedMedia-3.0
diff --git a/SVUI_QuestTracker/SVUI_QuestTracker.toc b/SVUI_QuestTracker/SVUI_QuestTracker.toc
index 7170b0e..fb55df3 100644
--- a/SVUI_QuestTracker/SVUI_QuestTracker.toc
+++ b/SVUI_QuestTracker/SVUI_QuestTracker.toc
@@ -1,6 +1,6 @@
 ## Interface: 70000
 ## Author: Munglunch
-## Version: 1.3.3
+## Version: 1.3.5
 ## Title: |cffFF9900SuperVillain UI: |r|cffFFEF00QuestTracker|r
 ## Notes: QuestTracker Plugin for [|cff9911FFSVUI|r].
 ## OptionalDeps: LibSharedMedia-3.0
diff --git a/SVUI_Skins/Loader.lua b/SVUI_Skins/Loader.lua
index 10b62ac..358fd4d 100644
--- a/SVUI_Skins/Loader.lua
+++ b/SVUI_Skins/Loader.lua
@@ -423,7 +423,7 @@ function MOD:LoadOptions()
 					},
 					mounts = {
 						type = "toggle",
-						name = L["Mounts & Pets"],
+						name = L["Collections"],
 						desc = L["TOGGLEART_DESC"]
 					},
 					quest = {
diff --git a/SVUI_Skins/SVUI_Skins.toc b/SVUI_Skins/SVUI_Skins.toc
index 11b2949..ed46c02 100644
--- a/SVUI_Skins/SVUI_Skins.toc
+++ b/SVUI_Skins/SVUI_Skins.toc
@@ -1,6 +1,6 @@
 ## Interface: 70000
 ## Author: Munglunch, Azilroka, Sortokk
-## Version: 1.3.3
+## Version: 1.3.5
 ## Title: |cffFF9900SuperVillain UI: |r|cffFFEF00Skins|r
 ## Notes: SVUI [|cff9911FFSkins System and AddOn Frames|r].
 ## SavedVariables: SVUIUI_STYLE_GLOBAL
diff --git a/SVUI_Skins/components/blizzard/_load.xml b/SVUI_Skins/components/blizzard/_load.xml
index 9357ea6..5b51d0b 100644
--- a/SVUI_Skins/components/blizzard/_load.xml
+++ b/SVUI_Skins/components/blizzard/_load.xml
@@ -10,6 +10,7 @@
 	<Script file='challenges.lua'/>
 	<Script file='chat.lua'/>
 	<Script file='character.lua'/>
+	<Script file='collections.lua'/>
 	<Script file='encounterjournal.lua'/>
 	<Script file='friends.lua'/>
 	<Script file='garrison.lua'/>
@@ -22,7 +23,6 @@
 	<Script file='lfd.lua'/>
 	<Script file='macro.lua'/>
 	<Script file='petbattle.lua'/>
-	<Script file='petjournal.lua'/>
 	<Script file='pvp.lua'/>
 	<Script file='quest.lua'/>
 	<Script file='raid.lua'/>
diff --git a/SVUI_Skins/components/blizzard/alert.lua b/SVUI_Skins/components/blizzard/alert.lua
index 78a530d..93ee7c9 100644
--- a/SVUI_Skins/components/blizzard/alert.lua
+++ b/SVUI_Skins/components/blizzard/alert.lua
@@ -271,6 +271,14 @@ local function ScenarioStyle()
 	end
 end

+-- [[ GarrisonMissionAlertFrame ]] --
+local function GarrisonAlertPositioning(frame, missionID)
+	if (frame.MissionType and frame.AlertPanel and frame.AlertPanel.icon) then
+		frame.MissionType:ClearAllPoints()
+		frame.MissionType:SetPoint("CENTER", frame.AlertPanel.icon, "CENTER", 0, 0)
+	end
+end
+
 -- [[ GarrisonFollowerAlertFrame ]] --
 local function GarrisonFollowerAlertStyle(followerID, name, displayID, level, quality, isUpgraded)
 	local color = BAG_ITEM_QUALITY_COLORS[quality];
@@ -419,6 +427,7 @@ local function AlertStyle()
 			if(_G[frameName .. 'Shine']) then _G[frameName .. 'Shine']:Die() end

 			frame:HookScript("OnShow", _hook_DisableBackground)
+
 		end

 		--Garrison Shipyard Mission
@@ -490,6 +499,7 @@ local function AlertStyle()
 			end
 		end
 	end
+	hooksecurefunc("GarrisonMissionAlertFrame_SetUp", GarrisonAlertPositioning)
 	hooksecurefunc("GarrisonFollowerAlertFrame_SetUp", GarrisonFollowerAlertStyle)
 end
 --[[
diff --git a/SVUI_Skins/components/blizzard/auctionhouse.lua b/SVUI_Skins/components/blizzard/auctionhouse.lua
index db10465..372e52b 100644
--- a/SVUI_Skins/components/blizzard/auctionhouse.lua
+++ b/SVUI_Skins/components/blizzard/auctionhouse.lua
@@ -99,13 +99,13 @@ local function AuctionStyle()
 	BidScrollFrame:RemoveTextures()

 	SV.API:Set("CloseButton", AuctionFrameCloseButton)
-	SV.API:Set("ScrollBar", AuctionsScrollFrameScrollBar)
+	SV.API:Set("ScrollBar", AuctionsScrollFrame)

 	SV.API:Set("DropDown", BrowseDropDown)
 	SV.API:Set("DropDown", PriceDropDown)
 	SV.API:Set("DropDown", DurationDropDown)
-	SV.API:Set("ScrollBar", BrowseFilterScrollFrameScrollBar)
-	SV.API:Set("ScrollBar", BrowseScrollFrameScrollBar)
+	SV.API:Set("ScrollBar", BrowseFilterScrollFrame)
+	SV.API:Set("ScrollBar", BrowseScrollFrame)
 	IsUsableCheckButton:SetStyle("CheckButton")
 	ShowOnPlayerCheckButton:SetStyle("CheckButton")

@@ -198,7 +198,7 @@ local function AuctionStyle()
 	hooksecurefunc("FilterButton_SetType", _hook_FilterButton_SetType)

 	for _,field in pairs(AuctionTextFields) do
-		--_G[field]:RemoveTextures()
+		_G[field]:RemoveTextures()
 		_G[field]:SetStyle("Editbox", 2, 2)
 		_G[field]:SetTextInsets(-1, -1, -2, -2)
 	end
diff --git a/SVUI_Skins/components/blizzard/blackmarket.lua b/SVUI_Skins/components/blizzard/blackmarket.lua
index ba5f151..a2665d3 100644
--- a/SVUI_Skins/components/blizzard/blackmarket.lua
+++ b/SVUI_Skins/components/blizzard/blackmarket.lua
@@ -60,7 +60,7 @@ local function BlackMarketStyle()
 	BlackMarketFrame.Inset:SetStyle("!_Frame", "Inset")

 	SV.API:Set("CloseButton", BlackMarketFrame.CloseButton)
-	SV.API:Set("ScrollBar", BlackMarketScrollFrameScrollBar, 4)
+	SV.API:Set("ScrollBar", BlackMarketScrollFrame, 4)

 	ChangeTab(BlackMarketFrame.ColumnName)
 	ChangeTab(BlackMarketFrame.ColumnLevel)
diff --git a/SVUI_Skins/components/blizzard/calendar.lua b/SVUI_Skins/components/blizzard/calendar.lua
index 10d8292..2d07169 100644
--- a/SVUI_Skins/components/blizzard/calendar.lua
+++ b/SVUI_Skins/components/blizzard/calendar.lua
@@ -164,7 +164,7 @@ local function CalendarStyle()
 	CalendarViewEventInviteList:SetStyle("!_Frame", "Transparent", true)
 	CalendarViewEventInviteListSection:RemoveTextures()
 	SV.API:Set("CloseButton", CalendarViewEventCloseButton)
-	SV.API:Set("ScrollBar", CalendarViewEventInviteListScrollFrameScrollBar)
+	SV.API:Set("ScrollBar", CalendarViewEventInviteListScrollFrame)
 	for _,btn in pairs(CalendarButtons)do
 		 _G[btn]:SetStyle("Button")
 	end
@@ -173,9 +173,9 @@ local function CalendarStyle()
 	CalendarEventPickerFrame:SetStyle("!_Frame", "Transparent", true)
 	SV.API:Set("ScrollBar", CalendarEventPickerScrollBar)
 	CalendarEventPickerCloseButton:SetStyle("Button")
-	SV.API:Set("ScrollBar", CalendarCreateEventDescriptionScrollFrameScrollBar)
-	SV.API:Set("ScrollBar", CalendarCreateEventInviteListScrollFrameScrollBar)
-	SV.API:Set("ScrollBar", CalendarViewEventDescriptionScrollFrameScrollBar)
+	SV.API:Set("ScrollBar", CalendarCreateEventDescriptionScrollFrame)
+	SV.API:Set("ScrollBar", CalendarCreateEventInviteListScrollFrame)
+	SV.API:Set("ScrollBar", CalendarViewEventDescriptionScrollFrame)
 end
 --[[
 ##########################################################
diff --git a/SVUI_Skins/components/blizzard/character.lua b/SVUI_Skins/components/blizzard/character.lua
index f5e6935..4f9a728 100644
--- a/SVUI_Skins/components/blizzard/character.lua
+++ b/SVUI_Skins/components/blizzard/character.lua
@@ -104,12 +104,15 @@ local function StyleCharacterSlots()
 				charSlot.ignoreTexture:SetTexture([[Interface\PaperDollInfoFrame\UI-GearManager-LeaveItem-Transparent]])
 				charSlot:SetStyle("!_ActionSlot", 1, 0, 0)

-				local iconTex = _G[globalName.."IconTexture"]
+				local iconTex = _G[globalName.."IconTexture"] or charSlot.icon;
 				if(iconTex) then
 					iconTex:SetTexCoord(unpack(_G.SVUI_ICON_COORDS))
 					iconTex:InsetPoints(charSlot)
 					--iconTex:SetParent(charSlot.Panel)
 				end
+				if(charSlot.IconBorder) then
+					charSlot.IconBorder:Die()
+				end
 			end

 			local slotID,_ = GetInventorySlotInfo(slotName)
diff --git a/SVUI_Skins/components/blizzard/collections.lua b/SVUI_Skins/components/blizzard/collections.lua
new file mode 100644
index 0000000..92543e5
--- /dev/null
+++ b/SVUI_Skins/components/blizzard/collections.lua
@@ -0,0 +1,378 @@
+--[[
+##############################################################################
+S V U I   By: Munglunch
+##############################################################################
+--]]
+--[[ GLOBALS ]]--
+local _G = _G;
+local unpack  = _G.unpack;
+local select  = _G.select;
+--[[ ADDON ]]--
+local SV = _G['SVUI'];
+local L = SV.L;
+local MOD = SV.Skins;
+local Schema = MOD.Schema;
+--[[
+##########################################################
+HELPERS
+##########################################################
+]]--
+local FAV_ICON = SV.media.icon.star
+local NORMAL_COLOR = {r = 1, g = 1, b = 1}
+local SELECTED_COLOR = {r = 1, g = 1, b = 0}
+local WARDROBE_NUM_ROWS = 3;
+local WARDROBE_NUM_COLS = 6;
+local WARDROBE_SLOT_ICONS = {
+	[[Interface\ICONS\INV_Helmet_03]],
+	[[Interface\ICONS\INV_Shoulder_09]],
+	[[Interface\ICONS\INV_Misc_Cape_19]],
+	[[Interface\ICONS\INV_Chest_Chain]],
+	[[Interface\ICONS\INV_Shirt_White_01]],
+	[[Interface\ICONS\INV_MISC_TABARDSUMMER01]],
+	[[Interface\ICONS\INV_Bracer_05]],
+	[[Interface\ICONS\INV_Gauntlets_24]],
+	[[Interface\ICONS\INV_Belt_24]],
+	[[Interface\ICONS\INV_Pants_09]],
+	[[Interface\ICONS\INV_BOOTS_09]],
+	[[Interface\ICONS\INV_Sword_04]],
+	[[Interface\ICONS\INV_Shield_06]]
+};
+
+local function PetJournal_UpdateMounts()
+	for b = 1, #MountJournal.ListScrollFrame.buttons do
+		local d = _G["MountJournalListScrollFrameButton"..b]
+		local e = _G["MountJournalListScrollFrameButton"..b.."Name"]
+		if d.selectedTexture:IsShown() then
+			if(e) then e:SetTextColor(1, 1, 0) end
+			if d.Panel then
+				d:SetBackdropBorderColor(1, 1, 0)
+			end
+			if d.IconShadow then
+				d.IconShadow:SetBackdropBorderColor(1, 1, 0)
+			end
+		else
+			if(e) then e:SetTextColor(1, 1, 1) end
+			if d.Panel then
+				d:SetBackdropBorderColor(0,0,0,1)
+			end
+			if d.IconShadow then
+				d.IconShadow:SetBackdropBorderColor(0,0,0,1)
+			end
+		end
+	end
+end
+
+local function PetJournal_UpdatePets()
+	local u = PetJournal.listScroll.buttons;
+	local isWild = PetJournal.isWild;
+	for b = 1, #u do
+		local v = u[b].index;
+		if not v then
+			break
+		end
+		local d = _G["PetJournalListScrollFrameButton"..b]
+		local e = _G["PetJournalListScrollFrameButton"..b.."Name"]
+		local levelText = _G["PetJournalListScrollFrameButton"..b.."Level"]
+		local w, x, y, z, level, favorite, A, B, C, D, E, F, G, H, I = C_PetJournal.GetPetInfoByIndex(v, isWild)
+		if w ~= nil then
+			local J, K, L, M, N = C_PetJournal.GetPetStats(w)
+			local color = NORMAL_COLOR
+			if(N) then
+				color = ITEM_QUALITY_COLORS[N-1]
+			end
+			d:SetBackdropBorderColor(0,0,0,1)
+			if(d.selectedTexture:IsShown() and d.Panel) then
+				d:SetBackdropBorderColor(1,1,0,1)
+				if d.IconShadow then
+					d.IconShadow:SetBackdropBorderColor(1,1,0)
+				end
+			else
+				if d.IconShadow then
+					d.IconShadow:SetBackdropBorderColor(color.r, color.g, color.b)
+				end
+			end
+
+			e:SetTextColor(color.r, color.g, color.b)
+		end
+	end
+end
+
+local function WardrobeFrameUpdateSlots(...)
+	if (not WardrobeCollectionFrame or not WardrobeCollectionFrame.ModelsFrame or not WardrobeCollectionFrame.ModelsFrame.SlotsFrame or not WardrobeCollectionFrame.ModelsFrame.SlotsFrame.Buttons) then return end
+	local slotButtons = WardrobeCollectionFrame.ModelsFrame.SlotsFrame.Buttons;
+	for i = 1, #slotButtons do
+		local button = slotButtons[i];
+		local icon = WARDROBE_SLOT_ICONS[i];
+		if (not button.Panel and icon) then
+			SV.API:Set("IconButton", button, icon)
+		end
+	end
+end
+
+local function WardrobeFrameUpdateModels(...)
+	if (not WardrobeCollectionFrame or not WardrobeCollectionFrame.ModelsFrame) then return end
+	for r = 1, WARDROBE_NUM_ROWS do
+		for c = 1, WARDROBE_NUM_COLS do
+			model = WardrobeCollectionFrame.ModelsFrame["ModelR"..r.."C"..c];
+			model:RemoveTextures(true);
+			model:SetStyle("!_ShadowBox", 'Model');
+		end
+	end
+end
+--[[
+##########################################################
+FRAME MODR
+##########################################################
+]]--
+local function CollectionsJournalStyle()
+	if SV.db.Skins.blizzard.enable ~= true or SV.db.Skins.blizzard.mounts ~= true then return end
+
+	SV.API:Set("Window", CollectionsJournal)
+
+	CollectionsJournalPortrait:Hide()
+	SV.API:Set("Tab", CollectionsJournalTab1)
+	SV.API:Set("Tab", CollectionsJournalTab2)
+	SV.API:Set("CloseButton", CollectionsJournalCloseButton)
+
+	MountJournal:RemoveTextures()
+	MountJournal.LeftInset:RemoveTextures()
+	MountJournal.RightInset:RemoveTextures()
+	MountJournal.MountDisplay:RemoveTextures()
+	MountJournal.MountDisplay.ShadowOverlay:RemoveTextures()
+	MountJournal.MountCount:RemoveTextures()
+	MountJournalListScrollFrame:RemoveTextures()
+	MountJournalMountButton:RemoveTextures()
+	MountJournalMountButton:SetStyle("Button")
+	MountJournalSearchBox:SetStyle("Editbox")
+
+	SV.API:Set("ScrollBar", MountJournalListScrollFrame)
+	MountJournal.MountDisplay:SetStyle("!_Frame", "Model")
+
+	local buttons = MountJournal.ListScrollFrame.buttons
+	for i = 1, #buttons do
+		local button = buttons[i]
+		if(button) then
+			SV.API:Set("ItemButton", button)
+			local bar = _G["SVUI_MountSelectBar"..i]
+			if(bar) then bar:SetParent(button.Panel) end
+			if(button.favorite) then
+				local fg = CreateFrame("Frame", nil, button)
+				fg:SetAllPoints(favorite)
+				fg:SetFrameLevel(button:GetFrameLevel() + 30)
+				button.favorite:SetParent(fg)
+				button.favorite:SetTexture(SV.media.icon.star)
+			end
+		end
+	end
+
+	hooksecurefunc("MountJournal_UpdateMountList", PetJournal_UpdateMounts)
+	MountJournalListScrollFrame:HookScript("OnVerticalScroll", PetJournal_UpdateMounts)
+	MountJournalListScrollFrame:HookScript("OnMouseWheel", PetJournal_UpdateMounts)
+	PetJournalSummonButton:RemoveTextures()
+	PetJournalFindBattle:RemoveTextures()
+	PetJournalSummonButton:SetStyle("Button")
+	PetJournalFindBattle:SetStyle("Button")
+	PetJournalRightInset:RemoveTextures()
+	PetJournalLeftInset:RemoveTextures()
+
+	for i = 1, 3 do
+		local button = _G["PetJournalLoadoutPet" .. i .. "HelpFrame"]
+		button:RemoveTextures()
+	end
+
+	PetJournalTutorialButton:Die()
+	PetJournal.PetCount:RemoveTextures()
+	PetJournalSearchBox:SetStyle("Editbox")
+	PetJournalFilterButton:RemoveTextures(true)
+	PetJournalFilterButton:SetStyle("Button")
+	PetJournalListScrollFrame:RemoveTextures()
+	SV.API:Set("ScrollBar", PetJournalListScrollFrame)
+
+	for i = 1, #PetJournal.listScroll.buttons do
+		local button = _G["PetJournalListScrollFrameButton" .. i]
+		local favorite = _G["PetJournalListScrollFrameButton" .. i .. "Favorite"]
+		SV.API:Set("ItemButton", button)
+		if(not button.Riser) then
+			local fg = CreateFrame("Frame", nil, button)
+			fg:SetAllPoints(button)
+			fg:SetFrameLevel(button:GetFrameLevel() + 30)
+			button.Riser = fg
+		end
+		if(favorite) then
+			favorite:SetParent(button.Riser)
+			button.dragButton.favorite:SetParent(button.Riser)
+			favorite:SetTexture(SV.media.icon.star)
+			favorite:SetTexCoord(0,1,0,1)
+		end
+
+		button.dragButton.levelBG:SetAlpha(0)
+		button.dragButton.level:SetParent(button.Riser)
+		--button.dragButton.level:SetDrawLayer("OVERLAY", 7)
+		button.petTypeIcon:SetParent(button.Panel)
+	end
+
+	hooksecurefunc('PetJournal_UpdatePetList', PetJournal_UpdatePets)
+	PetJournalListScrollFrame:HookScript("OnVerticalScroll", PetJournal_UpdatePets)
+	PetJournalListScrollFrame:HookScript("OnMouseWheel", PetJournal_UpdatePets)
+	PetJournalAchievementStatus:DisableDrawLayer('BACKGROUND')
+	SV.API:Set("!_ItemButton", PetJournalHealPetButton)
+	PetJournalHealPetButton.texture:SetTexture([[Interface\Icons\spell_magic_polymorphrabbit]])
+	PetJournalLoadoutBorder:RemoveTextures()
+
+	for b = 1, 3 do
+		local pjPet = _G['PetJournalLoadoutPet'..b]
+		pjPet:RemoveTextures()
+		pjPet.petTypeIcon:SetPoint('BOTTOMLEFT', 2, 2)
+		pjPet.dragButton:WrapPoints(_G['PetJournalLoadoutPet'..b..'Icon'])
+		pjPet.hover = true;
+		pjPet.pushed = true;
+		pjPet.checked = true;
+		SV.API:Set("ItemButton", pjPet, true)
+		pjPet.setButton:RemoveTextures()
+		_G['PetJournalLoadoutPet'..b..'HealthFrame'].healthBar:RemoveTextures()
+		_G['PetJournalLoadoutPet'..b..'HealthFrame'].healthBar:SetStyle("Frame", 'Default')
+		_G['PetJournalLoadoutPet'..b..'HealthFrame'].healthBar:SetStatusBarTexture(SV.media.statusbar.default)
+		_G['PetJournalLoadoutPet'..b..'XPBar']:RemoveTextures()
+		_G['PetJournalLoadoutPet'..b..'XPBar']:SetStyle("Frame", 'Default')
+		_G['PetJournalLoadoutPet'..b..'XPBar']:SetStatusBarTexture(SV.media.statusbar.default)
+		_G['PetJournalLoadoutPet'..b..'XPBar']:SetFrameLevel(_G['PetJournalLoadoutPet'..b..'XPBar']:GetFrameLevel()+2)
+		for v = 1, 3 do
+			local s = _G['PetJournalLoadoutPet'..b..'Spell'..v]
+			SV.API:Set("ItemButton", s)
+			s.FlyoutArrow:SetTexture([[Interface\Buttons\ActionBarFlyoutButton]])
+			_G['PetJournalLoadoutPet'..b..'Spell'..v..'Icon']:InsetPoints(s)
+			s.Panel:SetFrameLevel(s:GetFrameLevel() + 1)
+			_G['PetJournalLoadoutPet'..b..'Spell'..v..'Icon']:SetParent(s.Panel)
+		end
+	end
+
+	PetJournalSpellSelect:RemoveTextures()
+
+	for b = 1, 2 do
+		local Q = _G['PetJournalSpellSelectSpell'..b]
+		SV.API:Set("ItemButton", Q)
+		_G['PetJournalSpellSelectSpell'..b..'Icon']:InsetPoints(Q)
+		_G['PetJournalSpellSelectSpell'..b..'Icon']:SetDrawLayer('BORDER')
+	end
+
+	PetJournalPetCard:RemoveTextures()
+	SV.API:Set("ItemButton", PetJournalPetCard, true)
+	PetJournalPetCardInset:RemoveTextures()
+	PetJournalPetCardPetInfo.levelBG:SetAlpha(0)
+	PetJournalPetCardPetInfoIcon:SetTexCoord(unpack(_G.SVUI_ICON_COORDS))
+	SV.API:Set("ItemButton", PetJournalPetCardPetInfo, true)
+
+	local fg = CreateFrame("Frame", nil, PetJournalPetCardPetInfo)
+	fg:SetSize(40,40)
+	fg:SetPoint("TOPLEFT", PetJournalPetCardPetInfo, "TOPLEFT", -1, 1)
+	fg:SetFrameLevel(PetJournalPetCardPetInfo:GetFrameLevel() + 30)
+
+	PetJournalPetCardPetInfo.favorite:SetParent(fg)
+	PetJournalPetCardPetInfo.Panel:WrapPoints(PetJournalPetCardPetInfoIcon)
+	PetJournalPetCardPetInfoIcon:SetParent(PetJournalPetCardPetInfo.Panel)
+
+	local R = PetJournalPrimaryAbilityTooltip;
+	R.Background:SetTexture("")
+	if R.Delimiter1 then
+		R.Delimiter1:SetTexture("")
+		R.Delimiter2:SetTexture("")
+	end
+
+	R.BorderTop:SetTexture("")
+	R.BorderTopLeft:SetTexture("")
+	R.BorderTopRight:SetTexture("")
+	R.BorderLeft:SetTexture("")
+	R.BorderRight:SetTexture("")
+	R.BorderBottom:SetTexture("")
+	R.BorderBottomRight:SetTexture("")
+	R.BorderBottomLeft:SetTexture("")
+	R:SetStyle("!_Frame", "Transparent", true)
+
+	for b = 1, 6 do
+		local S = _G['PetJournalPetCardSpell'..b]
+		S:SetFrameLevel(S:GetFrameLevel() + 2)
+		S:DisableDrawLayer('BACKGROUND')
+		S:SetStyle("Frame", 'Transparent')
+		S.Panel:SetAllPoints()
+		S.icon:SetTexCoord(unpack(_G.SVUI_ICON_COORDS))
+		S.icon:InsetPoints(S.Panel)
+	end
+
+	PetJournalPetCardHealthFrame.healthBar:RemoveTextures()
+	PetJournalPetCardHealthFrame.healthBar:SetStyle("Frame", 'Default')
+	PetJournalPetCardHealthFrame.healthBar:SetStatusBarTexture(SV.media.statusbar.default)
+	PetJournalPetCardXPBar:RemoveTextures()
+	PetJournalPetCardXPBar:SetStyle("Frame", 'Default')
+	PetJournalPetCardXPBar:SetStatusBarTexture(SV.media.statusbar.default)
+
+	SV.API:Set("Tab", CollectionsJournalTab3)
+	SV.API:Set("Tab", CollectionsJournalTab4)
+
+	ToyBox:RemoveTextures()
+	ToyBox.searchBox:SetStyle("Editbox")
+	ToyBoxFilterButton:RemoveTextures(true)
+	ToyBoxFilterButton:SetStyle("Button")
+	ToyBox.iconsFrame:RemoveTextures()
+	ToyBox.iconsFrame:SetStyle("!_Frame", 'Model')
+	ToyBox.progressBar:RemoveTextures()
+	ToyBox.progressBar:SetStatusBarTexture([[Interface\BUTTONS\WHITE8X8]])
+	ToyBox.progressBar:SetStyle("Frame", "Bar", true, 2, 2, 2)
+	SV.API:Set("PageButton", ToyBox.navigationFrame.prevPageButton, false, true)
+	SV.API:Set("PageButton", ToyBox.navigationFrame.nextPageButton)
+
+	HeirloomsJournal:RemoveTextures()
+	HeirloomsJournal.SearchBox:SetStyle("Editbox")
+	HeirloomsJournalFilterButton:RemoveTextures(true)
+	HeirloomsJournalFilterButton:SetStyle("Button")
+	HeirloomsJournal.iconsFrame:RemoveTextures()
+	HeirloomsJournal.iconsFrame:SetStyle("!_Frame", 'Model')
+
+	HeirloomsJournal.progressBar:RemoveTextures()
+	HeirloomsJournal.progressBar:SetStatusBarTexture([[Interface\BUTTONS\WHITE8X8]])
+	HeirloomsJournal.progressBar:SetStyle("Frame", "Bar", true, 2, 2, 2)
+	SV.API:Set("PageButton", HeirloomsJournal.navigationFrame.prevPageButton, false, true)
+	SV.API:Set("PageButton", HeirloomsJournal.navigationFrame.nextPageButton)
+
+	SV.API:Set("DropDown", HeirloomsJournalClassDropDown)
+
+	MountJournalFilterButton:RemoveTextures(true)
+	MountJournalFilterButton:SetStyle("Button")
+
+	MountJournal.SummonRandomFavoriteButton:RemoveTextures()
+	MountJournal.SummonRandomFavoriteButton:SetStyle("ActionSlot")
+	MountJournal.SummonRandomFavoriteButton.texture:SetTexture([[Interface\ICONS\ACHIEVEMENT_GUILDPERK_MOUNTUP]])
+	MountJournal.SummonRandomFavoriteButton.texture:SetTexCoord(unpack(_G.SVUI_ICON_COORDS))
+
+	for i = 1, 18 do
+		local gName = ("ToySpellButton%d"):format(i)
+		local button = _G[gName]
+		if(button) then
+			button:SetStyle("Button")
+		end
+	end
+
+	SV.API:Set("Tab", CollectionsJournalTab5)
+	WardrobeCollectionFrame:RemoveTextures()
+	WardrobeCollectionFrameSearchBox:SetStyle("Editbox")
+	WardrobeCollectionFrame.FilterButton:RemoveTextures(true)
+	WardrobeCollectionFrame.FilterButton:SetStyle("Button")
+	WardrobeCollectionFrame.ModelsFrame:RemoveTextures()
+	WardrobeCollectionFrame.ModelsFrame:SetStyle("!_Frame", 'Premium')
+	SV.API:Set("DropDown", WardrobeCollectionFrameWeaponDropDown)
+
+	WardrobeCollectionFrame.progressBar:RemoveTextures()
+	WardrobeCollectionFrame.progressBar:SetStatusBarTexture([[Interface\BUTTONS\WHITE8X8]])
+	WardrobeCollectionFrame.progressBar:SetStyle("Frame", "Bar", true, 2, 2, 2)
+	SV.API:Set("PageButton", WardrobeCollectionFrame.NavigationFrame.PrevPageButton, false, true)
+	SV.API:Set("PageButton", WardrobeCollectionFrame.NavigationFrame.NextPageButton)
+
+	WardrobeFrameUpdateModels()
+	WardrobeFrameUpdateSlots()
+	--hooksecurefunc("WardrobeCollectionFrame_OnShow", WardrobeFrameUpdateModels)
+end
+--[[
+##########################################################
+MOD LOADING
+##########################################################
+]]--
+MOD:SaveBlizzardStyle("Blizzard_Collections", CollectionsJournalStyle)
\ No newline at end of file
diff --git a/SVUI_Skins/components/blizzard/friends.lua b/SVUI_Skins/components/blizzard/friends.lua
index 47934e1..d815da4 100644
--- a/SVUI_Skins/components/blizzard/friends.lua
+++ b/SVUI_Skins/components/blizzard/friends.lua
@@ -164,9 +164,9 @@ local function FriendsFrameStyle()

 	FriendsFrameFriendsScrollFrame:DisableDrawLayer("BACKGROUND")

-	SV.API:Set("ScrollBar", FriendsFrameFriendsScrollFrameScrollBar, 5)
-	SV.API:Set("ScrollBar", WhoListScrollFrameScrollBar, 5)
-	SV.API:Set("ScrollBar", ChannelRosterScrollFrameScrollBar, 5)
+	SV.API:Set("ScrollBar", FriendsFrameFriendsScrollFrame, 5)
+	SV.API:Set("ScrollBar", WhoListScrollFrame, 5)
+	SV.API:Set("ScrollBar", ChannelRosterScrollFrame, 5)

 	FriendsFrameStatusDropDown:SetPoint('TOPLEFT', FriendsTabHeader, 'TOPLEFT', 0, -27)
 	SV.API:Set("DropDown", FriendsFrameStatusDropDown, 70)
@@ -194,7 +194,7 @@ local function FriendsFrameStyle()
 	AddFriendFrame:SetStyle("!_Frame", "Transparent", true)
 	ScrollOfResurrectionSelectionFrame:SetStyle("!_Frame", 'Transparent')
 	ScrollOfResurrectionSelectionFrameList:SetStyle("!_Frame", 'Default')
-	SV.API:Set("ScrollBar", ScrollOfResurrectionSelectionFrameListScrollFrameScrollBar, 4)
+	SV.API:Set("ScrollBar", ScrollOfResurrectionSelectionFrameListScrollFrame, 4)
 	ScrollOfResurrectionSelectionFrameTargetEditBox:SetStyle("Editbox")
 	FriendsFrameBroadcastInput:SetStyle("Frame", "Default")
 	ChannelFrameDaughterFrameChannelName:SetStyle("Frame", "Default")
@@ -266,9 +266,9 @@ local function FriendsFrameStyle()
 	FriendsTabHeaderRecruitAFriendButtonIcon:InsetPoints()

 	FriendsFrameIgnoreScrollFrame:SetStyle("!_Frame", "Model")
-	SV.API:Set("ScrollBar", FriendsFrameIgnoreScrollFrameScrollBar, 4)
+	SV.API:Set("ScrollBar", FriendsFrameIgnoreScrollFrame, 4)
 	FriendsFramePendingScrollFrame:SetStyle("!_Frame", "Inset")
-	SV.API:Set("ScrollBar", FriendsFramePendingScrollFrameScrollBar, 4)
+	SV.API:Set("ScrollBar", FriendsFramePendingScrollFrame, 4)
 	IgnoreListFrame:RemoveTextures()
 	PendingListFrame:RemoveTextures()
 	ScrollOfResurrectionFrame:RemoveTextures()
diff --git a/SVUI_Skins/components/blizzard/guild.lua b/SVUI_Skins/components/blizzard/guild.lua
index 3e32c95..04f37df 100644
--- a/SVUI_Skins/components/blizzard/guild.lua
+++ b/SVUI_Skins/components/blizzard/guild.lua
@@ -339,9 +339,10 @@ local function GuildBankStyle()

 	SV.API:Set("Window", GuildBankFrame)

+	GuildBankFrameBlackBG:Die()
 	GuildBankEmblemFrame:RemoveTextures(true)
 	GuildBankMoneyFrameBackground:Die()
-	SV.API:Set("ScrollBar", GuildBankPopupScrollFrameScrollBar)
+	SV.API:Set("ScrollBar", GuildBankPopupScrollFrame)

 	for i = 1, GuildBankFrame:GetNumChildren() do
 		local child = select(i, GuildBankFrame:GetChildren())
@@ -382,18 +383,21 @@ local function GuildBankStyle()
 				local btnName = ("%s%d"):format(baseName, slotID)
 				local button = _G[btnName]
 				if(button) then
+					button:RemoveTextures()
 					local texture = _G[btnName.."NormalTexture"]
 					if texture then
 						texture:SetTexture("")
 					end
-					button:RemoveTextures()
 					button:SetStyle("ActionSlot")

-					local icon = _G[btnName.."IconTexture"]
+					local icon = _G[btnName.."IconTexture"] or button.icon;
 					if(icon) then
 						icon:InsetPoints()
 						icon:SetTexCoord(unpack(_G.SVUI_ICON_COORDS))
 					end
+					if(button.IconBorder) then
+						button.IconBorder:Die()
+					end
 				end
 			end
 		end
@@ -414,6 +418,9 @@ local function GuildBankStyle()
 					texture:InsetPoints()
 					texture:SetTexCoord(unpack(_G.SVUI_ICON_COORDS))
 				end
+				if(button.IconBorder) then
+					button.IconBorder:Die()
+				end
 			end
 		end
 	end
@@ -456,8 +463,8 @@ local function GuildBankStyle()
 		end
 	end

-	SV.API:Set("ScrollBar", GuildBankTransactionsScrollFrameScrollBar)
-	SV.API:Set("ScrollBar", GuildBankInfoScrollFrameScrollBar)
+	SV.API:Set("ScrollBar", GuildBankTransactionsScrollFrame)
+	SV.API:Set("ScrollBar", GuildBankInfoScrollFrame)
 end

 local function GuildFrameStyle()
@@ -596,7 +603,7 @@ local function GuildFrameStyle()

 	GuildRecruitmentCommentInputFrame:SetStyle("!_Frame", "Default")
 	GuildTextEditFrame:SetStyle("!_Frame", "Transparent", true)
-	SV.API:Set("ScrollBar", GuildTextEditScrollFrameScrollBar, 4, 4)
+	SV.API:Set("ScrollBar", GuildTextEditScrollFrame, 4, 4)
 	GuildTextEditContainer:SetStyle("!_Frame", "Default")

 	local editChildren = GuildTextEditFrame:GetNumChildren()
@@ -612,7 +619,7 @@ local function GuildFrameStyle()
 		end
 	end

-	SV.API:Set("ScrollBar", GuildLogScrollFrameScrollBar, 4, 4)
+	SV.API:Set("ScrollBar", GuildLogScrollFrame, 4, 4)
 	GuildLogFrame:SetStyle("Frame", 'Transparent')

 	local logChildren = GuildLogFrame:GetNumChildren()
@@ -679,7 +686,7 @@ local function GuildControlStyle()

 	SV.API:Set("Window", GuildControlUI)

-	SV.API:Set("ScrollBar", GuildControlUIRankBankFrameInsetScrollFrameScrollBar)
+	SV.API:Set("ScrollBar", GuildControlUIRankBankFrameInsetScrollFrame)

 	hooksecurefunc("GuildControlUI_RankOrder_Update", _hook_RankOrder_OnUpdate)
 	GuildControlUIRankOrderFrameNewButton:HookScript("OnClick", _hook_UIRankOrder)
diff --git a/SVUI_Skins/components/blizzard/help.lua b/SVUI_Skins/components/blizzard/help.lua
index e2cea59..4528818 100644
--- a/SVUI_Skins/components/blizzard/help.lua
+++ b/SVUI_Skins/components/blizzard/help.lua
@@ -83,7 +83,7 @@ local function HelpFrameStyle()
 			e:RemoveTextures()
 		end
 	end
-	SV.API:Set("ScrollBar", HelpFrameReportBugScrollFrameScrollBar)
+	SV.API:Set("ScrollBar", HelpFrameReportBugScrollFrame)
 	HelpFrameSubmitSuggestionScrollFrame:RemoveTextures()
 	HelpFrameSubmitSuggestionScrollFrame:SetStyle("Frame", "Default")
 	HelpFrameSubmitSuggestionScrollFrame.Panel:SetPoint("TOPLEFT", -4, 4)
@@ -94,7 +94,7 @@ local function HelpFrameStyle()
 			e:RemoveTextures()
 		end
 	end
-	SV.API:Set("ScrollBar", HelpFrameSubmitSuggestionScrollFrameScrollBar)
+	SV.API:Set("ScrollBar", HelpFrameSubmitSuggestionScrollFrame)
 	SV.API:Set("ScrollBar", HelpFrameKnowledgebaseScrollFrame2ScrollBar)
 	for d = 1, #HelpFrameButtonList do
 		local bname = HelpFrameButtonList[d]
@@ -127,7 +127,7 @@ local function HelpFrameStyle()
 	HelpFrame:RemoveTextures(true)
 	HelpFrame:SetStyle("Frame", "Window")
 	HelpFrameKnowledgebaseSearchBox:SetStyle("Editbox")
-	SV.API:Set("ScrollBar", HelpFrameKnowledgebaseScrollFrameScrollBar, 5)
+	SV.API:Set("ScrollBar", HelpFrameKnowledgebaseScrollFrame, 5)

 	SV.API:Set("CloseButton", HelpFrameCloseButton, HelpFrame.Panel)
 	SV.API:Set("CloseButton", HelpFrameKnowledgebaseErrorFrameCloseButton, HelpFrameKnowledgebaseErrorFrame.Panel)
@@ -170,7 +170,7 @@ local function HelpFrameStyle()
 				e:RemoveTextures()
 			end
 		end
-		SV.API:Set("ScrollBar", HelpFrameTicketScrollFrameScrollBar, 4)
+		SV.API:Set("ScrollBar", HelpFrameTicketScrollFrame, 4)
 	end
 end
 --[[
diff --git a/SVUI_Skins/components/blizzard/itemsocketing.lua b/SVUI_Skins/components/blizzard/itemsocketing.lua
index fe45827..a4cb83c 100644
--- a/SVUI_Skins/components/blizzard/itemsocketing.lua
+++ b/SVUI_Skins/components/blizzard/itemsocketing.lua
@@ -24,7 +24,7 @@ local function ItemSocketStyle()
 	ItemSocketingFrameInset:Die()
 	ItemSocketingScrollFrame:RemoveTextures()
 	ItemSocketingScrollFrame:SetStyle("Frame", "Inset", true)
-	SV.API:Set("ScrollBar", ItemSocketingScrollFrameScrollBar, 2)
+	SV.API:Set("ScrollBar", ItemSocketingScrollFrame, 2)
 	for j = 1, MAX_NUM_SOCKETS do
 		local i = _G[("ItemSocketingSocket%d"):format(j)];
 		local C = _G[("ItemSocketingSocket%dBracketFrame"):format(j)];
diff --git a/SVUI_Skins/components/blizzard/keybinding.lua b/SVUI_Skins/components/blizzard/keybinding.lua
index 3cbbfa0..a8513ca 100644
--- a/SVUI_Skins/components/blizzard/keybinding.lua
+++ b/SVUI_Skins/components/blizzard/keybinding.lua
@@ -51,7 +51,7 @@ local function BindingStyle()
 		end
 	end

-	SV.API:Set("ScrollBar", KeyBindingFrameScrollFrameScrollBar)
+	SV.API:Set("ScrollBar", KeyBindingFrameScrollFrame)
 	KeyBindingFrame:RemoveTextures()
 	KeyBindingFrame:SetStyle("Frame", "Window")
 end
diff --git a/SVUI_Skins/components/blizzard/lfd.lua b/SVUI_Skins/components/blizzard/lfd.lua
index 8a861e9..5841e8c 100644
--- a/SVUI_Skins/components/blizzard/lfd.lua
+++ b/SVUI_Skins/components/blizzard/lfd.lua
@@ -193,7 +193,7 @@ local function LFDFrameStyle()
   LFDQueueFrameRandomScrollFrameChildFrameBonusRepFrame.ChooseButton:SetStyle("Button")
   ScenarioQueueFrameRandomScrollFrameChildFrameBonusRepFrame.ChooseButton:SetStyle("Button")

-  SV.API:Set("ScrollBar", ScenarioQueueFrameRandomScrollFrameScrollBar)
+  SV.API:Set("ScrollBar", ScenarioQueueFrameRandomScrollFrame)

   GroupFinderFrameGroupButton1.icon:SetTexture("Interface\\Icons\\INV_Helmet_08")
   GroupFinderFrameGroupButton2.icon:SetTexture("Interface\\Icons\\Icon_Scenarios")
@@ -356,7 +356,7 @@ local function LFDFrameStyle()
   RaidFinderFrame:RemoveTextures()
   RaidFinderFrameBottomInset:RemoveTextures()
   RaidFinderFrameRoleInset:RemoveTextures()
-  LFDQueueFrameRandomScrollFrameScrollBar:RemoveTextures()
+  LFDQueueFrameRandomScrollFrame:RemoveTextures()
   ScenarioQueueFrameSpecificScrollFrame:RemoveTextures()
   RaidFinderFrameBottomInsetBg:Hide()
   RaidFinderFrameBtnCornerRight:Hide()
@@ -422,12 +422,12 @@ local function LFDFrameStyle()
   SV.API:Set("CloseButton", RaidBrowserFrameCloseButton)
   LFRQueueFrameFindGroupButton:SetStyle("Button")
   LFRQueueFrameAcceptCommentButton:SetStyle("Button")
-  SV.API:Set("ScrollBar", LFRQueueFrameCommentScrollFrameScrollBar)
-  SV.API:Set("ScrollBar", LFDQueueFrameSpecificListScrollFrameScrollBar)
+  SV.API:Set("ScrollBar", LFRQueueFrameCommentScrollFrame)
+  SV.API:Set("ScrollBar", LFDQueueFrameSpecificListScrollFrame)

   RaidBrowserFrame:HookScript('OnShow', function()
-    if not LFRQueueFrameSpecificListScrollFrameScrollBar.styled then
-      SV.API:Set("ScrollBar", LFRQueueFrameSpecificListScrollFrameScrollBar)
+    if not LFRQueueFrameSpecificListScrollFrame.styled then
+      SV.API:Set("ScrollBar", LFRQueueFrameSpecificListScrollFrame)
       LFRBrowseFrame:RemoveTextures()
       for u = 1, 2 do
         local C = _G['LFRParentFrameSideTab'..u]
@@ -452,7 +452,7 @@ local function LFDFrameStyle()
       LFRBrowseFrameRefreshButton:SetStyle("Button")
       LFRBrowseFrameInviteButton:SetStyle("Button")
       LFRBrowseFrameSendMessageButton:SetStyle("Button")
-      LFRQueueFrameSpecificListScrollFrameScrollBar.styled = true
+      LFRQueueFrameSpecificListScrollFrame.styled = true
     end
   end)

@@ -470,8 +470,8 @@ local function LFDFrameStyle()
   _G[ScenarioQueueFrame.PartyBackfill:GetName().."BackfillButton"]:SetStyle("Button")
   _G[ScenarioQueueFrame.PartyBackfill:GetName().."NoBackfillButton"]:SetStyle("Button")

-  SV.API:Set("ScrollBar", LFDQueueFrameRandomScrollFrameScrollBar)
-  SV.API:Set("ScrollBar", ScenarioQueueFrameSpecificScrollFrameScrollBar)
+  SV.API:Set("ScrollBar", LFDQueueFrameRandomScrollFrame)
+  SV.API:Set("ScrollBar", ScenarioQueueFrameSpecificScrollFrame)
   LFDQueueFrameRandomScrollFrame:SetStyle("Frame", 'Transparent')
   ScenarioQueueFrameRandomScrollFrame:SetStyle("Frame", 'Transparent')
   RaidFinderQueueFrameScrollFrame:SetStyle("Frame", 'Transparent')
diff --git a/SVUI_Skins/components/blizzard/macro.lua b/SVUI_Skins/components/blizzard/macro.lua
index 9a0a8e9..6e8b1a3 100644
--- a/SVUI_Skins/components/blizzard/macro.lua
+++ b/SVUI_Skins/components/blizzard/macro.lua
@@ -34,9 +34,9 @@ local function MacroUIStyle()
 	SV.API:Set("Window", MacroFrame, true)

 	SV.API:Set("CloseButton", MacroFrameCloseButton)
-	SV.API:Set("ScrollBar", MacroButtonScrollFrameScrollBar)
-	SV.API:Set("ScrollBar", MacroFrameScrollFrameScrollBar)
-	SV.API:Set("ScrollBar", MacroPopupScrollFrameScrollBar)
+	SV.API:Set("ScrollBar", MacroButtonScrollFrame)
+	SV.API:Set("ScrollBar", MacroFrameScrollFrame)
+	SV.API:Set("ScrollBar", MacroPopupScrollFrame)

 	MacroFrame:SetWidth(360)

diff --git a/SVUI_Skins/components/blizzard/misc.lua b/SVUI_Skins/components/blizzard/misc.lua
index afcc476..39ad797 100644
--- a/SVUI_Skins/components/blizzard/misc.lua
+++ b/SVUI_Skins/components/blizzard/misc.lua
@@ -225,7 +225,7 @@ local function MiscStyles()
 		end)
 		ItemTextFrame:SetStyle("Frame", "Pattern")
 		ItemTextFrameInset:Die()
-		SV.API:Set("ScrollBar", ItemTextScrollFrameScrollBar)
+		SV.API:Set("ScrollBar", ItemTextScrollFrame)
 		SV.API:Set("CloseButton", ItemTextFrameCloseButton)
 		local r = {"GossipFrameGreetingPanel", "GossipFrameInset", "GossipGreetingScrollFrame"}
 		SV.API:Set("ScrollBar", GossipGreetingScrollFrame)
@@ -333,7 +333,7 @@ local function MiscStyles()
 		txt:SetText("RESIZE")

 		LootHistoryFrameScrollFrame:RemoveTextures()
-		SV.API:Set("ScrollBar", LootHistoryFrameScrollFrameScrollBar)
+		SV.API:Set("ScrollBar", LootHistoryFrameScrollFrame)
 		hooksecurefunc("LootHistoryFrame_FullUpdate", LootHistoryFrame_OnUpdate)

 		MasterLooterFrame:RemoveTextures()
@@ -379,7 +379,7 @@ local function MiscStyles()

 		SendMailScrollFrame:RemoveTextures(true)
 		SendMailScrollFrame:SetStyle("!_Frame", "Inset")
-		SV.API:Set("ScrollBar", SendMailScrollFrameScrollBar)
+		SV.API:Set("ScrollBar", SendMailScrollFrame)

 		SendMailNameEditBox:SetStyle("Editbox")
 		SendMailNameEditBox.Panel:SetPoint("BOTTOMRIGHT", 2, 4)
@@ -420,7 +420,7 @@ local function MiscStyles()
 		OpenMailScrollFrame:RemoveTextures(true)
 		OpenMailScrollFrame:SetStyle("!_Frame", "Default")

-		SV.API:Set("ScrollBar", OpenMailScrollFrameScrollBar)
+		SV.API:Set("ScrollBar", OpenMailScrollFrame)
 		SendMailBodyEditBox:SetTextColor(1, 1, 1)
 		OpenMailBodyText:SetTextColor(1, 1, 1)
 		InvoiceTextFontNormal:SetTextColor(1, 1, 1)
@@ -733,7 +733,7 @@ local function MiscStyles()
 		WorldStateScoreFrame:RemoveTextures()
 		WorldStateScoreFrame:SetStyle("Frame", "Window")
 		SV.API:Set("CloseButton", WorldStateScoreFrameCloseButton)
-		SV.API:Set("ScrollBar", WorldStateScoreScrollFrameScrollBar)
+		SV.API:Set("ScrollBar", WorldStateScoreScrollFrame)
 		WorldStateScoreFrameInset:SetAlpha(0)
 		WorldStateScoreFrameLeaveButton:SetStyle("Button")
 		SV.API:Set("Tab", _G["WorldStateScoreFrameTab1"])
diff --git a/SVUI_Skins/components/blizzard/petjournal.lua b/SVUI_Skins/components/blizzard/petjournal.lua
index 1f347ce..05a679e 100644
--- a/SVUI_Skins/components/blizzard/petjournal.lua
+++ b/SVUI_Skins/components/blizzard/petjournal.lua
@@ -105,7 +105,7 @@ local function CollectionsJournalStyle()
 	MountJournalMountButton:SetStyle("Button")
 	MountJournalSearchBox:SetStyle("Editbox")

-	SV.API:Set("ScrollBar", MountJournalListScrollFrameScrollBar)
+	SV.API:Set("ScrollBar", MountJournalListScrollFrame)
 	MountJournal.MountDisplay:SetStyle("!_Frame", "Model")

 	local buttons = MountJournal.ListScrollFrame.buttons
@@ -146,7 +146,7 @@ local function CollectionsJournalStyle()
 	PetJournalFilterButton:RemoveTextures(true)
 	PetJournalFilterButton:SetStyle("Button")
 	PetJournalListScrollFrame:RemoveTextures()
-	SV.API:Set("ScrollBar", PetJournalListScrollFrameScrollBar)
+	SV.API:Set("ScrollBar", PetJournalListScrollFrame)

 	for i = 1, #PetJournal.listScroll.buttons do
 		local button = _G["PetJournalListScrollFrameButton" .. i]
diff --git a/SVUI_Skins/components/blizzard/pvp.lua b/SVUI_Skins/components/blizzard/pvp.lua
index b2ad24a..706b365 100644
--- a/SVUI_Skins/components/blizzard/pvp.lua
+++ b/SVUI_Skins/components/blizzard/pvp.lua
@@ -118,8 +118,8 @@ local function PVPFrameStyle()
 	WarGamesFrameInfoScrollFrameScrollBar:RemoveTextures()
 	WarGameStartButton:RemoveTextures()
 	WarGameStartButton:SetStyle("Button")
-	SV.API:Set("ScrollBar", WarGamesFrameScrollFrameScrollBar)
-	SV.API:Set("ScrollBar", WarGamesFrameInfoScrollFrameScrollBar)
+	SV.API:Set("ScrollBar", WarGamesFrameScrollFrame)
+	SV.API:Set("ScrollBar", WarGamesFrameInfoScrollFrame)
 	WarGamesFrame.HorizontalBar:RemoveTextures()

 	PVPReadyDialog:RemoveTextures()
diff --git a/SVUI_Skins/components/blizzard/quest.lua b/SVUI_Skins/components/blizzard/quest.lua
index bff73f5..48f0bfb 100644
--- a/SVUI_Skins/components/blizzard/quest.lua
+++ b/SVUI_Skins/components/blizzard/quest.lua
@@ -149,11 +149,11 @@ local function QuestFrameStyle()
 	QuestLogPopupDetailFrame:HookScript("OnShow", _hook_QuestLogPopupDetailFrameShow)

 	SV.API:Set("CloseButton", QuestLogPopupDetailFrameCloseButton)
-	SV.API:Set("ScrollBar", QuestLogPopupDetailFrameScrollFrameScrollBar, 5)
-	SV.API:Set("ScrollBar", QuestRewardScrollFrameScrollBar)
+	SV.API:Set("ScrollBar", QuestLogPopupDetailFrameScrollFrame, 5)
+	SV.API:Set("ScrollBar", QuestRewardScrollFrame)

 	QuestGreetingScrollFrame:RemoveTextures()
-	SV.API:Set("ScrollBar", QuestGreetingScrollFrameScrollBar)
+	SV.API:Set("ScrollBar", QuestGreetingScrollFrame)

 	for i = 1, 10 do
 		local name = ("QuestInfoRewardsFrameQuestInfoItem%d"):format(i)
diff --git a/SVUI_Skins/components/blizzard/raid.lua b/SVUI_Skins/components/blizzard/raid.lua
index 509a6ab..12e9b6b 100644
--- a/SVUI_Skins/components/blizzard/raid.lua
+++ b/SVUI_Skins/components/blizzard/raid.lua
@@ -86,7 +86,7 @@ local function RaidInfoStyle()
 	RaidInfoFrame.Panel:SetPoint("BOTTOMRIGHT", RaidInfoFrame, "BOTTOMRIGHT")

 	SV.API:Set("CloseButton", RaidInfoCloseButton, RaidInfoFrame)
-	SV.API:Set("ScrollBar", RaidInfoScrollFrameScrollBar)
+	SV.API:Set("ScrollBar", RaidInfoScrollFrame)

 	if RaidFrameRaidBrowserButton then RaidFrameRaidBrowserButton:SetStyle("Button") end
 	RaidFrameAllAssistCheckButton:SetStyle("CheckButton")
diff --git a/SVUI_Skins/components/blizzard/system.lua b/SVUI_Skins/components/blizzard/system.lua
index e985fa8..81f1740 100644
--- a/SVUI_Skins/components/blizzard/system.lua
+++ b/SVUI_Skins/components/blizzard/system.lua
@@ -530,7 +530,7 @@ local function SystemPanelQue()
 		SV.API:Set("Button", AddonListOkayButton)
 		SV.API:Set("CheckButton", AddonListForceLoad)
 		SV.API:Set("DropDown", AddonCharacterDropDown)
-		SV.API:Set("ScrollBar", AddonListScrollFrameScrollBar)
+		SV.API:Set("ScrollBar", AddonListScrollFrame)
 		for i = 1, MAX_ADDONS_DISPLAYED do
 			SV.API:Set("CheckButton", _G["AddonListEntry"..i.."Enabled"])
 			SV.API:Set("Button", _G["AddonListEntry"..i.."Load"])
diff --git a/SVUI_Skins/components/blizzard/talents.lua b/SVUI_Skins/components/blizzard/talents.lua
index 7d3c636..48023bc 100644
--- a/SVUI_Skins/components/blizzard/talents.lua
+++ b/SVUI_Skins/components/blizzard/talents.lua
@@ -21,6 +21,7 @@ HELPERS
 ##########################################################
 ]]--
 local SpecButtonList = {
+	"PlayerTalentFrameActivateButton",
 	"PlayerTalentFrameSpecializationLearnButton",
 	"PlayerTalentFrameTalentsLearnButton",
 	"PlayerTalentFramePetSpecializationLearnButton"
@@ -120,8 +121,8 @@ local function TalentFrameStyle()
 	PlayerTalentFramePetSpecialization.Panel:SetPoint("BOTTOMRIGHT", PlayerTalentFramePetSpecialization, "BOTTOMRIGHT", 3, 0)

 	SV.API:Set("CloseButton", PlayerTalentFrameCloseButton)
-	SV.API:Set("ScrollBar", PlayerTalentFrameSpecializationSpellScrollFrameScrollBar, 5)
-	SV.API:Set("ScrollBar", PlayerTalentFramePetSpecializationSpellScrollFrameScrollBar, 5)
+	SV.API:Set("ScrollBar", PlayerTalentFrameSpecializationSpellScrollFrame)
+	SV.API:Set("ScrollBar", PlayerTalentFramePetSpecializationSpellScrollFrame)
 	for i = 1, 4 do
 		SV.API:Set("Tab", _G["PlayerTalentFrameTab"..i])
 	end
@@ -245,7 +246,7 @@ local function GlyphStyle()
 	end

 	SV.API:Set("DropDown", GlyphFrameFilterDropDown, 212)
-	SV.API:Set("ScrollBar", GlyphFrameScrollFrameScrollBar, 5)
+	SV.API:Set("ScrollBar", GlyphFrameScrollFrame, 5)

 	for i = 1, 10 do
 		local button = _G["GlyphFrameScrollFrameButton"..i]
diff --git a/SVUI_Skins/components/blizzard/tradeskill.lua b/SVUI_Skins/components/blizzard/tradeskill.lua
index 9773752..892407f 100644
--- a/SVUI_Skins/components/blizzard/tradeskill.lua
+++ b/SVUI_Skins/components/blizzard/tradeskill.lua
@@ -22,104 +22,137 @@ local function TradeSkillStyle()
 		 return
 	end

-	TradeSkillListScrollFrame:RemoveTextures()
-	TradeSkillDetailScrollFrame:RemoveTextures()
-	TradeSkillFrameInset:RemoveTextures()
-	TradeSkillExpandButtonFrame:RemoveTextures()
-	TradeSkillDetailScrollChildFrame:RemoveTextures()
-	TradeSkillRankFrame:RemoveTextures()
-	TradeSkillCreateButton:RemoveTextures(true)
-	TradeSkillCancelButton:RemoveTextures(true)
-	TradeSkillFilterButton:RemoveTextures(true)
-	TradeSkillCreateAllButton:RemoveTextures(true)
-	TradeSkillViewGuildCraftersButton:RemoveTextures(true)
-
-	for i = 9, 18 do
-		local lastLine = "TradeSkillSkill" .. (i - 1);
-		local newLine = CreateFrame("Button", "TradeSkillSkill" .. i, TradeSkillFrame, "TradeSkillSkillButtonTemplate")
-		newLine:SetPoint("TOPLEFT", lastLine, "BOTTOMLEFT", 0, 0)
-	end
-	_G.TRADE_SKILLS_DISPLAYED = 18;
-
-	local curWidth,curHeight = TradeSkillFrame:GetSize()
-	local enlargedHeight = curHeight + 170;
-	TradeSkillFrame:SetSize(curWidth + 30, curHeight + 166)
+	--local curWidth,curHeight = TradeSkillFrame:GetSize()
+	--local enlargedHeight = curHeight + 170;
+	--TradeSkillFrame:SetSize(curWidth + 30, curHeight + 166)
+	--TradeSkillFrame:RemoveTextures(true)
 	SV.API:Set("Window", TradeSkillFrame, true, true)
-	SV.API:Set("Window", TradeSkillGuildFrame)
-
-	TradeSkillGuildFrame:SetPoint("BOTTOMLEFT", TradeSkillFrame, "BOTTOMRIGHT", 3, 19)
-	TradeSkillGuildFrameContainer:RemoveTextures()
-	TradeSkillGuildFrameContainer:SetStyle("Frame", "Inset")
-	SV.API:Set("CloseButton", TradeSkillGuildFrameCloseButton)
-
-	TradeSkillRankFrame:SetStyle("Frame", "Bar", true)
-	TradeSkillRankFrame:SetStatusBarTexture(SV.media.statusbar.default)
-
-	TradeSkillListScrollFrame:SetSize(327, 290)
-	TradeSkillListScrollFrame:SetStyle("Frame", "Inset")
-	TradeSkillDetailScrollFrame:SetSize(327, 180)
-	TradeSkillDetailScrollFrame:SetStyle("Frame", "Inset")
-
-	TradeSkillCreateButton:SetStyle("Button")
-	TradeSkillCancelButton:SetStyle("Button")
-	TradeSkillFilterButton:SetStyle("Button")
-	TradeSkillCreateAllButton:SetStyle("Button")
-	TradeSkillViewGuildCraftersButton:SetStyle("Button")
-
-	SV.API:Set("ScrollBar", TradeSkillListScrollFrameScrollBar)
-	SV.API:Set("ScrollBar", TradeSkillDetailScrollFrameScrollBar)
-
-	TradeSkillLinkButton:SetSize(17, 14)
-	TradeSkillLinkButton:SetPoint("LEFT", TradeSkillLinkFrame, "LEFT", 5, -1)
-	TradeSkillLinkButton:SetStyle("Button")
-	TradeSkillLinkButton:GetNormalTexture():SetTexCoord(0.25, 0.7, 0.45, 0.8)
-
-	TradeSkillFrameSearchBox:SetStyle("Editbox")
-	TradeSkillInputBox:SetStyle("Editbox")
-
-	SV.API:Set("PageButton", TradeSkillDecrementButton)
-	SV.API:Set("PageButton", TradeSkillIncrementButton)
-
-	TradeSkillIncrementButton:SetPoint("RIGHT", TradeSkillCreateButton, "LEFT", -13, 0)
-	SV.API:Set("CloseButton", TradeSkillFrameCloseButton)
-
-	local internalTest = false;
-
-	hooksecurefunc("TradeSkillFrame_SetSelection", function(_)
-		TradeSkillSkillIcon:SetStyle("Icon")
-		if TradeSkillSkillIcon:GetNormalTexture() then
-			TradeSkillSkillIcon:GetNormalTexture():SetTexCoord(unpack(_G.SVUI_ICON_COORDS))
-		end
-		--TradeSkillSkillIconCount:SetFrameLevel(TradeSkillSkillIcon:GetFrameLevel() + 20)
-		for i=1, MAX_TRADE_SKILL_REAGENTS do
-			local u = _G["TradeSkillReagent"..i]
-			local icon = _G["TradeSkillReagent"..i.."IconTexture"]
-			local a1 = _G["TradeSkillReagent"..i.."Count"]
-			icon:SetTexCoord(unpack(_G.SVUI_ICON_COORDS))
-			icon:SetDrawLayer("OVERLAY")
-			if not icon.backdrop then
-				local a2 = CreateFrame("Frame", nil, u)
-				if u:GetFrameLevel()-1 >= 0 then
-					 a2:SetFrameLevel(u:GetFrameLevel()-1)
-				else
-					 a2:SetFrameLevel(0)
-				end
-				a2:WrapPoints(icon)
-				a2:SetStyle("Icon")
-				icon:SetParent(a2)
-				icon.backdrop = a2
-			end
-			a1:SetParent(icon.backdrop)
-			a1:SetDrawLayer("OVERLAY")
-			if i > 2 and internalTest == false then
-				local d, a3, f, g, h = u:GetPoint()
-				u:ClearAllPoints()
-				u:SetPoint(d, a3, f, g, h-3)
-				internalTest = true
-			end
-			_G["TradeSkillReagent"..i.."NameFrame"]:Die()
-		end
-	end)
+
+	TradeSkillFrame.SearchBox:RemoveTextures()
+	TradeSkillFrame.RankFrame:RemoveTextures()
+	TradeSkillFrame.FilterButton:RemoveTextures(true)
+	TradeSkillFrame.LinkNameButton:RemoveTextures(true)
+	--TradeSkillFrame.LinkToButton:RemoveTextures(true)
+	TradeSkillFrame.FilterDropDown:RemoveTextures(true)
+	TradeSkillFrame.LinkToDropDown:RemoveTextures(true)
+
+	TradeSkillFrame.RecipeInset:RemoveTextures()
+	TradeSkillFrame.RecipeList:RemoveTextures()
+	TradeSkillFrame.RecipeList.LearnedTab:RemoveTextures()
+	TradeSkillFrame.RecipeList.UnlearnedTab:RemoveTextures()
+
+	TradeSkillFrame.DetailsInset:RemoveTextures()
+	TradeSkillFrame.DetailsFrame:RemoveTextures()
+	TradeSkillFrame.DetailsFrame.ScrollBar:RemoveTextures()
+	TradeSkillFrame.DetailsFrame.CreateButton:RemoveTextures(true)
+	TradeSkillFrame.DetailsFrame.CreateAllButton:RemoveTextures(true)
+	TradeSkillFrame.DetailsFrame.ExitButton:RemoveTextures(true)
+	TradeSkillFrame.DetailsFrame.ViewGuildCraftersButton:RemoveTextures(true)
+	TradeSkillFrame.DetailsFrame.CreateMultipleInputBox:RemoveTextures(true)
+
+
+	-- for i = 9, 18 do
+	-- 	local lastLine = "TradeSkillSkill" .. (i - 1);
+	-- 	if(lastLine) then
+	-- 		local newLine = CreateFrame("Button", "TradeSkillSkill" .. i, TradeSkillFrame, "TradeSkillSkillButtonTemplate")
+	-- 		newLine:SetPoint("TOPLEFT", lastLine, "BOTTOMLEFT", 0, 0)
+	-- 	end
+	-- end
+	--_G.TRADE_SKILLS_DISPLAYED = 18;
+
+	-- SV.API:Set("Window", TradeSkillGuildFrame)
+
+	-- TradeSkillGuildFrame:SetPoint("BOTTOMLEFT", TradeSkillFrame, "BOTTOMRIGHT", 3, 19)
+	-- TradeSkillGuildFrameContainer:RemoveTextures()
+	-- TradeSkillGuildFrameContainer:SetStyle("Frame", "Inset")
+	-- SV.API:Set("CloseButton", TradeSkillGuildFrameCloseButton)
+
+	SV.API:Set("DropDown", TradeSkillFrame.FilterDropDown)
+	SV.API:Set("DropDown", TradeSkillFrame.LinkToDropDown)
+
+	TradeSkillFrame.RankFrame:SetStyle("Frame", "Bar", true)
+	TradeSkillFrame.RankFrame:SetStatusBarTexture(SV.media.statusbar.default)
+	--print("Test 1")
+
+	--TradeSkillFrame.RecipeList:SetSize(327, 290)
+	TradeSkillFrame.RecipeInset:SetStyle("!_ShadowBox", "Model")
+	--TradeSkillFrame.RecipeList:SetStyle("Frame", "Inset")
+	SV.API:Set("ScrollBar", TradeSkillFrame.RecipeList)
+	--TradeSkillFrame.DetailsFrame:SetSize(327, 180)
+	TradeSkillFrame.DetailsInset:SetStyle("!_ShadowBox", "Model")
+	--TradeSkillFrame.DetailsFrame:SetStyle("Frame", "Inset")
+	SV.API:Set("ScrollBar", TradeSkillFrame.DetailsFrame)
+	SV.API:Set("ScrollBar", TradeSkillFrame.DetailsFrame.Container)
+	SV.API:Set("IconButton", TradeSkillFrame.LinkToButton, [[Interface\CHATFRAME\UI-ChatInput-FocusIcon]])
+--TradeSkillFrame.DetailsFrame.Container
+	TradeSkillFrame.RetrievingFrame:SetStyle("Frame", "Inset")
+	TradeSkillFrame.FilterButton:SetStyle("Button")
+	TradeSkillFrame.LinkNameButton:SetStyle("Button")
+	--TradeSkillFrame.LinkToButton:SetStyle("Button")
+	TradeSkillFrame.RecipeList.LearnedTab:SetStyle("Button")
+	TradeSkillFrame.RecipeList.UnlearnedTab:SetStyle("Button")
+	TradeSkillFrame.DetailsFrame.CreateButton:SetStyle("Button")
+	TradeSkillFrame.DetailsFrame.CreateAllButton:SetStyle("Button")
+	TradeSkillFrame.DetailsFrame.ViewGuildCraftersButton:SetStyle("Button")
+	TradeSkillFrame.DetailsFrame.ExitButton:SetStyle("Button")
+	TradeSkillFrame.DetailsFrame.CreateMultipleInputBox:SetStyle("Editbox")
+	TradeSkillFrame.DetailsFrame.ViewGuildCraftersButton:SetStyle("Button")
+
+	SV.API:Set("PageButton", TradeSkillFrame.DetailsFrame.CreateMultipleInputBox.IncrementButton)
+	SV.API:Set("PageButton", TradeSkillFrame.DetailsFrame.CreateMultipleInputBox.DecrementButton, false, true)
+	SV.API:Set("CloseButton", TradeSkillFrame.CloseButton)
+	--SV.API:Set("ScrollBar", TradeSkillFrame.RecipeList)
+	-- TradeSkillLinkButton:SetSize(17, 14)
+	-- TradeSkillLinkButton:SetPoint("LEFT", TradeSkillLinkFrame, "LEFT", 5, -1)
+	-- TradeSkillLinkButton:SetStyle("Button")
+	-- TradeSkillLinkButton:GetNormalTexture():SetTexCoord(0.25, 0.7, 0.45, 0.8)
+
+	TradeSkillFrame.SearchBox:SetStyle("Editbox")
+	-- TradeSkillInputBox:SetStyle("Editbox")
+
+	-- SV.API:Set("PageButton", TradeSkillDecrementButton)
+	-- SV.API:Set("PageButton", TradeSkillIncrementButton)
+
+	-- TradeSkillIncrementButton:SetPoint("RIGHT", TradeSkillCreateButton, "LEFT", -13, 0)
+	-- SV.API:Set("CloseButton", TradeSkillFrame.CloseButton)
+
+	-- local internalTest = false;
+
+	-- hooksecurefunc("TradeSkillFrame_SetSelection", function(_)
+	-- 	TradeSkillSkillIcon:SetStyle("Icon")
+	-- 	if TradeSkillSkillIcon:GetNormalTexture() then
+	-- 		TradeSkillSkillIcon:GetNormalTexture():SetTexCoord(unpack(_G.SVUI_ICON_COORDS))
+	-- 	end
+	-- 	--TradeSkillSkillIconCount:SetFrameLevel(TradeSkillSkillIcon:GetFrameLevel() + 20)
+	-- 	for i=1, MAX_TRADE_SKILL_REAGENTS do
+	-- 		local u = _G["TradeSkillReagent"..i]
+	-- 		local icon = _G["TradeSkillReagent"..i.."IconTexture"]
+	-- 		local a1 = _G["TradeSkillReagent"..i.."Count"]
+	-- 		icon:SetTexCoord(unpack(_G.SVUI_ICON_COORDS))
+	-- 		icon:SetDrawLayer("OVERLAY")
+	-- 		if not icon.backdrop then
+	-- 			local a2 = CreateFrame("Frame", nil, u)
+	-- 			if u:GetFrameLevel()-1 >= 0 then
+	-- 				 a2:SetFrameLevel(u:GetFrameLevel()-1)
+	-- 			else
+	-- 				 a2:SetFrameLevel(0)
+	-- 			end
+	-- 			a2:WrapPoints(icon)
+	-- 			a2:SetStyle("Icon")
+	-- 			icon:SetParent(a2)
+	-- 			icon.backdrop = a2
+	-- 		end
+	-- 		a1:SetParent(icon.backdrop)
+	-- 		a1:SetDrawLayer("OVERLAY")
+	-- 		if i > 2 and internalTest == false then
+	-- 			local d, a3, f, g, h = u:GetPoint()
+	-- 			u:ClearAllPoints()
+	-- 			u:SetPoint(d, a3, f, g, h-3)
+	-- 			internalTest = true
+	-- 		end
+	-- 		_G["TradeSkillReagent"..i.."NameFrame"]:Die()
+	-- 	end
+	-- end)
 end
 --[[
 ##########################################################
diff --git a/SVUI_Skins/components/blizzard/trainer.lua b/SVUI_Skins/components/blizzard/trainer.lua
index 197d810..af85cac 100644
--- a/SVUI_Skins/components/blizzard/trainer.lua
+++ b/SVUI_Skins/components/blizzard/trainer.lua
@@ -55,7 +55,7 @@ local function TrainerStyle()
 		end
 	end

-	SV.API:Set("ScrollBar", ClassTrainerScrollFrameScrollBar, 5)
+	SV.API:Set("ScrollBar", ClassTrainerScrollFrame, 5)

 	for _,frame in pairs(ClassTrainerFrameList)do
 		_G[frame]:RemoveTextures()
diff --git a/SVUI_Skins/components/blizzard/worldmap.lua b/SVUI_Skins/components/blizzard/worldmap.lua
index 05cf680..53b98a1 100644
--- a/SVUI_Skins/components/blizzard/worldmap.lua
+++ b/SVUI_Skins/components/blizzard/worldmap.lua
@@ -85,7 +85,7 @@ local function StripQuestMapFrame()
   QuestMapFrame.DetailsFrame.ShareButton:SetStyle("Button")
   QuestMapFrame.DetailsFrame.TrackButton:SetStyle("Button")

-  SV.API:Set("ScrollBar", QuestMapDetailsScrollFrameScrollBar)
+  SV.API:Set("ScrollBar", QuestMapDetailsScrollFrame)
   SV.API:Set("Skin", QuestMapFrame.DetailsFrame.RewardsFrame, 0, -10, 0, 0)

   QuestScrollFrame:SetStyle("Frame", "Paper")
@@ -135,10 +135,10 @@ local function WorldMapStyle()
   if SV.db.Skins.blizzard.enable ~= true or SV.db.Skins.blizzard.worldmap ~= true then return end

   SV.API:Set("Window", WorldMapFrame, true, true)
-  SV.API:Set("ScrollBar", QuestScrollFrameScrollBar)
-  SV.API:Set("ScrollBar", WorldMapQuestScrollFrameScrollBar)
-  SV.API:Set("ScrollBar", WorldMapQuestDetailScrollFrameScrollBar, 4)
-  SV.API:Set("ScrollBar", WorldMapQuestRewardScrollFrameScrollBar, 4)
+  SV.API:Set("ScrollBar", QuestScrollFrame)
+  SV.API:Set("ScrollBar", WorldMapQuestScrollFrame)
+  SV.API:Set("ScrollBar", WorldMapQuestDetailScrollFrame, 4)
+  SV.API:Set("ScrollBar", WorldMapQuestRewardScrollFrame, 4)

   --print('test WorldMapStyle 1')
   WorldMapDetailFrame:SetStyle("Frame", "Blackout")
diff --git a/SVUI_Tooltip/SVUI_Tooltip.toc b/SVUI_Tooltip/SVUI_Tooltip.toc
index 23729e4..b6895da 100644
--- a/SVUI_Tooltip/SVUI_Tooltip.toc
+++ b/SVUI_Tooltip/SVUI_Tooltip.toc
@@ -1,6 +1,6 @@
 ## Interface: 70000
 ## Author: Munglunch
-## Version: 1.3.3
+## Version: 1.3.5
 ## Title: |cffFF9900SuperVillain UI: |r|cffFFEF00Tooltip|r
 ## Notes: Tooltip Plugin for [|cff9911FFSVUI|r].
 ## OptionalDeps: LibSharedMedia-3.0
diff --git a/SVUI_UnitFrames/SVUI_UnitFrames.toc b/SVUI_UnitFrames/SVUI_UnitFrames.toc
index e8ba7a5..d48d713 100644
--- a/SVUI_UnitFrames/SVUI_UnitFrames.toc
+++ b/SVUI_UnitFrames/SVUI_UnitFrames.toc
@@ -1,6 +1,6 @@
 ## Interface: 70000
 ## Author: Munglunch
-## Version: 1.3.3
+## Version: 1.3.5
 ## Title: |cffFF9900SuperVillain UI: |r|cffFFEF00UnitFrames|r
 ## Notes: UnitFrames Plugin for [|cff9911FFSVUI|r].
 ## OptionalDeps: LibSharedMedia-3.0
diff --git a/SVUI_UnitFrames/libs/Plugins/oUF_AuraWatch/oUF_AuraWatch.toc b/SVUI_UnitFrames/libs/Plugins/oUF_AuraWatch/oUF_AuraWatch.toc
index fc257be..7a536b4 100644
--- a/SVUI_UnitFrames/libs/Plugins/oUF_AuraWatch/oUF_AuraWatch.toc
+++ b/SVUI_UnitFrames/libs/Plugins/oUF_AuraWatch/oUF_AuraWatch.toc
@@ -1,7 +1,7 @@
 ## Interface: 30300
 ## Title: oUF AuraWatch
 ## Author: Astromech
-## Version: 1.3.38-6
+## Version: 1.3.58-6
 ## Notes: Adds aura timers to oUF
 ## OptionalDeps: oUF
 ## X-oUF: oUF