Quantcast

merging yesterdays changes

failcoder [08-05-15 - 14:41]
merging yesterdays changes
Filename
SVUI_!Core/system/media.lua
SVUI_!Options/SVUI_!Options.lua
SVUI_Skins/Loader.lua
SVUI_Skins/SVUI_Skins.lua
SVUI_Skins/components/docklet.lua
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