diff --git a/SVUI_!Core/system/media.lua b/SVUI_!Core/system/media.lua
index 730c24f..d5dcb1f 100644
--- a/SVUI_!Core/system/media.lua
+++ b/SVUI_!Core/system/media.lua
@@ -1111,9 +1111,9 @@ function SV:UpdateSharedMedia()
self.media.gradient.bizzaro = {"VERTICAL", ir2, ig2, ib2, ir1, ig1, ib1}
local special = self.media.color.special
- self.media.gradient.special = {"VERTICAL", special[1], special[2], special[3], r1, g1, b1}
- self.media.color.special = {r1*.5, g1*.5, b1*.5, 1}
- -- self.media.gradient.special = {"VERTICAL", special[1]*.25, special[2]*.25, special[3]*.25, special[1], special[2], special[3]}
+ -- self.media.gradient.special = {"VERTICAL", special[1], special[2], special[3], r1, g1, b1}
+ -- self.media.color.special = {r1*.5, g1*.5, b1*.5, 1}
+ self.media.gradient.special = {"VERTICAL", special[1]*.25, special[2]*.25, special[3]*.25, special[1], special[2], special[3]}
-- self.media.gradient.special = {"VERTICAL",special[1], special[2], special[3], default[1], default[2], default[3]}
self.Events:Trigger("SHARED_MEDIA_UPDATED");
diff --git a/SVUI_!Options/SVUI_!Options.lua b/SVUI_!Options/SVUI_!Options.lua
index 31ec2d7..a404cf2 100644
--- a/SVUI_!Options/SVUI_!Options.lua
+++ b/SVUI_!Options/SVUI_!Options.lua
@@ -50,15 +50,6 @@ local GUIWidth = SV.LowRez and 890 or 1090;
local playerRealm = GetRealmName()
local playerName = UnitName("player")
local profileKey = ("%s - %s"):format(playerName, playerRealm)
-local DockableAddons = {
- ["alDamageMeter"] = L["alDamageMeter"],
- ["Skada"] = L["Skada"],
- ["Recount"] = L["Recount"],
- ["TinyDPS"] = L["TinyDPS"],
- ["Omen"] = L["Omen"],
- ["Details"] = L["Details"]
-};
-
local NONE = _G.NONE;
local GetSpellInfo = _G.GetSpellInfo;
local collectgarbage = _G.collectgarbage;
@@ -71,44 +62,6 @@ AceConfigDialog:SetDefaultSize(SV.NameID, GUIWidth, 651);
SVUIOptions.FilterOptionGroups = {};
SVUIOptions.FilterOptionSpells = {};
-
-local function GetLiveDockletsA()
- local test = SV.private.Docks.Embed2;
- local t = {["None"] = L["None"]};
- for n,l in pairs(DockableAddons) do
- if(n:find("Skada") and _G.Skada) then
- for index,window in pairs(_G.Skada:GetWindows()) do
- local name = window.db.name
- local key = "SkadaBarWindow"..name
- if(not test or test ~= key) then
- t["SkadaBarWindow"..name] = (key == "Skada") and "Skada - Main" or "Skada - "..name;
- end
- end
- elseif((not test) or (not test:find(n))) then
- if IsAddOnLoaded(n) or IsAddOnLoaded(l) then t[n] = l end
- end
- end
- return t;
-end
-
-local function GetLiveDockletsB()
- local test = SV.private.Docks.Embed1;
- local t = {["None"] = L["None"]};
- for n,l in pairs(DockableAddons) do
- if(n:find("Skada") and _G.Skada) then
- for index,window in pairs(_G.Skada:GetWindows()) do
- local name = window.db.name
- local key = "SkadaBarWindow"..name
- if(not test or test ~= key) then
- t["SkadaBarWindow"..name] = (key == "Skada") and "Skada - Main" or "Skada - "..name;
- end
- end
- elseif((not test) or (not test:find(n))) then
- if IsAddOnLoaded(n) or IsAddOnLoaded(l) then t[n] = l end
- end
- end
- return t;
-end
--[[
##########################################################
INIT OPTIONS
@@ -1389,7 +1342,7 @@ SV.Options.args.Dock = {
order = 5,
name = SV.Dock.TitleID,
args = {
- intro = {
+ intro = {
order = 1,
type = "description",
name = "Configure the various frame docks around the screen"
@@ -1813,33 +1766,6 @@ SV.Options.args.Dock = {
guiInline = true,
args = {}
},
- AddonDocklets = {
- order = 13,
- type = "group",
- name = L["Docked Addons"],
- guiInline = true,
- args = {
- DockletMain = {
- type = "select",
- order = 1,
- name = "Primary Docklet",
- desc = "Select an addon to occupy the primary docklet window",
- values = function() return GetLiveDockletsA() end,
- get = function() return SV.private.Docks.Embed1 end,
- set = function(a,value) SV.private.Docks.Embed1 = value; if(SV.Skins) then SV.Skins:RegisterAddonDocklets() end end,
- },
- DockletSplit = {
- type = "select",
- order = 2,
- name = "Secondary Docklet",
- desc = "Select another addon",
- --disabled = function() return (SV.private.Docks.Embed1 == "None") end,
- values = function() return GetLiveDockletsB() end,
- get = function() return SV.private.Docks.Embed2 end,
- set = function(a,value) SV.private.Docks.Embed2 = value; if(SV.Skins) then SV.Skins:RegisterAddonDocklets() end end,
- }
- }
- },
}
}
SV.Options.args.Filters = {
diff --git a/SVUI_Skins/Loader.lua b/SVUI_Skins/Loader.lua
index e3a6ded..20e7109 100644
--- a/SVUI_Skins/Loader.lua
+++ b/SVUI_Skins/Loader.lua
@@ -164,6 +164,33 @@ local function AddonConfigOptions()
end
function MOD:LoadOptions()
+ SV.Options.args.Dock.args.AddonDocklets = {
+ order = 13,
+ type = "group",
+ name = L["Docked Addons"],
+ guiInline = true,
+ args = {
+ DockletMain = {
+ type = "select",
+ order = 1,
+ name = "Primary Docklet",
+ desc = "Select an addon to occupy the primary docklet window",
+ values = function() return MOD:GetDockables() end,
+ get = function() return SV.private.Docks.Embed1 end,
+ set = function(a,value) SV.private.Docks.Embed1 = value; MOD:RegisterAddonDocklets() end,
+ },
+ DockletSplit = {
+ type = "select",
+ order = 2,
+ name = "Secondary Docklet",
+ desc = "Select another addon",
+ values = function() return MOD:GetDockables(true) end,
+ get = function() return SV.private.Docks.Embed2 end,
+ set = function(a,value) SV.private.Docks.Embed2 = value; MOD:RegisterAddonDocklets() end,
+ }
+ }
+ };
+
SV.Options.args[Schema] = {
type = 'group',
name = Schema,
diff --git a/SVUI_Skins/SVUI_Skins.lua b/SVUI_Skins/SVUI_Skins.lua
index cef5eae..5ebb1fe 100644
--- a/SVUI_Skins/SVUI_Skins.lua
+++ b/SVUI_Skins/SVUI_Skins.lua
@@ -328,9 +328,9 @@ function MOD:Load()
self.Docklet = SV.Dock:NewDocklet("BottomRight", "SVUI_SkinsDock", "Addon Docklet", [[Interface\AddOns\SVUI_Skins\artwork\DOCK-ICON-ADDON]]);
--self.Docklet:SetVisibilityCallbacks(false, false);
- self.Docklet:SetClickCallbacks(AddonDockletToggle, false, self.GetDockables);
+ self.Docklet:SetClickCallbacks(AddonDockletToggle, false, self.GetAddonDockMenu);
- --SV.Dock.BottomRight.Bar.Button.GetDockOptions = self.GetDockables;
+ --SV.Dock.BottomRight.Bar.Button.GetDockOptions = self.GetAddonDockMenu;
local dockWidth = self.Docklet:GetWidth()
diff --git a/SVUI_Skins/components/docklet.lua b/SVUI_Skins/components/docklet.lua
index 3bc028d..9dc905f 100644
--- a/SVUI_Skins/components/docklet.lua
+++ b/SVUI_Skins/components/docklet.lua
@@ -43,6 +43,7 @@ LOCALS
]]--
local TIP_RIGHT_PATTERN = " and %s";
local DOCK_EMBEDS = {};
+local DOCK_LISTING = {};
--[[
##########################################################
HELPERS
@@ -467,7 +468,7 @@ function MOD:RegisterAddonDocklets()
end
end
-function MOD:GetDockables()
+function MOD:GetAddonDockMenu()
local t = {};
local test1 = SV.private.Docks.Embed1 or 'None';
@@ -537,4 +538,36 @@ function MOD:GetDockables()
end
return t;
-end
\ No newline at end of file
+end
+--[[
+##########################################################
+LISTING FOR OPTIONS
+##########################################################
+]]--
+do
+ for addon,_ in pairs(DOCK_EMBEDS) do
+ DOCK_LISTING[addon] = addon;
+ end
+end
+
+function MOD:GetDockables(secondary)
+ local t = {["None"] = L["None"]};
+ local test = SV.private.Docks.Embed2;
+ if(secondary) then test = SV.private.Docks.Embed1; end
+
+ for n,l in pairs(DOCK_LISTING) do
+ if(n:find("Skada") and _G.Skada) then
+ for index,window in pairs(_G.Skada:GetWindows()) do
+ local name = window.db.name
+ local key = "SkadaBarWindow"..name
+ if(not test or test ~= key) then
+ t["SkadaBarWindow"..name] = (key == "Skada") and "Skada - Main" or "Skada - "..name;
+ end
+ end
+ elseif((not test) or (not test:find(n))) then
+ if IsAddOnLoaded(n) or IsAddOnLoaded(l) then t[n] = l end
+ end
+ end
+
+ return t;
+end