changeset 30:5c7143d32287

So? public APIs didn't work so well? back to data.
author Andrew Knoll <andrewtknoll@gmail.com>
date Mon, 18 Mar 2013 00:48:54 -0400
parents d8dd617017de
children ff0e10fd2a5f
files LibModuleDBShare-1.0/LibModuleDBShare-1.0.lua
diffstat 1 files changed, 11 insertions(+), 17 deletions(-) [+]
line wrap: on
line diff
--- a/LibModuleDBShare-1.0/LibModuleDBShare-1.0.lua	Sun Mar 17 03:05:25 2013 -0400
+++ b/LibModuleDBShare-1.0/LibModuleDBShare-1.0.lua	Mon Mar 18 00:48:54 2013 -0400
@@ -13,9 +13,6 @@
 -- Lua functions
 local error, type, pairs, time = error, type, pairs, time;
 
--- Blizzard functions
-local GetActiveSpecGroup = GetActiveSpecGroup;
-
 -- Required Libraries
 local AceDB = LibStub("AceDB-3.0");
 local AceDBOptions = LibStub("AceDBOptions-3.0");
@@ -96,13 +93,11 @@
 		group.profileTimestamp = 0;
 	end
 	if usesDualSpec and storedData.altProfile then
-		group.syncDB:SetDualSpecProfile(storedData.altProfile);
-		group.syncDB:SetDualSpecEnabled(storedData.dualSpecEnabled);
-		if storedData.dualSpecEnabled and storedData.activeSpecGroup ~= GetActiveSpecGroup() then
-			group.syncDB:SetDualSpecProfile(group.syncDB:GetCurrentProfile());
-			group.syncDB:SetProfile(storedData.altProfile);
-			initialDB:SetProfile(storedData.altProfile);
-		end
+		namespace = group.syncDB:GetNamespace("LibDualSpec-1.0");
+		namespace.char.enabled = storedData.dualSpecEnabled;
+		namespace.char.profile = storedData.altProfile;
+		namespace.char.specGroup = storedData.activeSpecGroup;
+		group.syncDB:CheckDualSpecState();
 	end
 	-- add methods and callbacks
 	for k, v in pairs(DBGroup) do
@@ -156,14 +151,12 @@
 		self.squelchCallbacks = false;
 		self.syncDB:SetProfile(newDB:GetCurrentProfile());
 		self.profileTimestamp = storedData.logoutTimestamp;
-		if self.usesDualSpec and storedData.altProfile then
-			self.syncDB:SetDualSpecProfile(storedData.altProfile);
-			self.syncDB:SetDualSpecEnabled(storedData.dualSpecEnabled);
-			if storedData.dualSpecEnabled and storedData.activeSpecGroup ~= GetActiveSpecGroup() then
-				self.syncDB:SetDualSpecProfile(self.syncDB:GetCurrentProfile());
-				self.syncDB:SetProfile(storedData.altProfile);
-				newDB:SetProfile(storedData.altProfile);
-			end
+		if usesDualSpec and storedData.altProfile then
+			namespace = group.syncDB:GetNamespace("LibDualSpec-1.0");
+			namespace.char.enabled = storedData.dualSpecEnabled;
+			namespace.char.profile = storedData.altProfile;
+			namespace.char.specGroup = storedData.activeSpecGroup;
+			group.syncDB:CheckDualSpecState();
 		end
 	else
 		self.syncDB:SetProfile(syncProfile);