comparison LibModuleDBShare-1.0/LibModuleDBShare-1.0.lua @ 37:f971130a84bb v1.2 release

Timestamps should now be recorded even if dual spec is not used. Profile options tables should now update immediately when dual spec is enabled. Incremented minor version number.
author Andrew Knoll <andrewtknoll@gmail.com>
date Thu, 04 Apr 2013 20:10:20 -0400
parents 328df380892c
children c6d1b0d7f8f9
comparison
equal deleted inserted replaced
36:c223e958ab95 37:f971130a84bb
25 -- group:AddDB(database); 25 -- group:AddDB(database);
26 -- end 26 -- end
27 -- end 27 -- end
28 -- @class file 28 -- @class file
29 -- @name LibModuleDBShare-1.0 29 -- @name LibModuleDBShare-1.0
30 local MAJOR, MINOR = "LibModuleDBShare-1.0", 3 30 local MAJOR, MINOR = "LibModuleDBShare-1.0", 4
31 local LibModuleDBShare, oldminor = LibStub:NewLibrary(MAJOR, MINOR) 31 local LibModuleDBShare, oldminor = LibStub:NewLibrary(MAJOR, MINOR)
32 32
33 if not LibModuleDBShare then return end -- No upgrade needed 33 if not LibModuleDBShare then return end -- No upgrade needed
34 34
35 -- Lua functions 35 -- Lua functions
225 LibDualSpec = LibStub("LibDualSpec-1.0"); -- this will error if LDS isn't found 225 LibDualSpec = LibStub("LibDualSpec-1.0"); -- this will error if LDS isn't found
226 end 226 end
227 if not self.usesDualSpec then 227 if not self.usesDualSpec then
228 LibDualSpec:EnhanceDatabase(self.syncDB, self.name); 228 LibDualSpec:EnhanceDatabase(self.syncDB, self.name);
229 LibDualSpec:EnhanceOptions(self.profileOptionsTable, self.syncDB); 229 LibDualSpec:EnhanceOptions(self.profileOptionsTable, self.syncDB);
230 AceConfigRegistry:NotifyChange(self.name.."Profiles");
230 self.usesDualSpec = true; 231 self.usesDualSpec = true;
231 local namespace = self.syncDB:GetNamespace("LibDualSpec-1.0"); 232 local namespace = self.syncDB:GetNamespace("LibDualSpec-1.0");
232 namespace.char.enabled = self.syncDB.char.enabled; 233 namespace.char.enabled = self.syncDB.char.enabled;
233 namespace.char.profile = self.syncDB.char.profile; 234 namespace.char.profile = self.syncDB.char.profile;
234 namespace.char.specGroup = self.syncDB.char.specGroup; 235 namespace.char.specGroup = self.syncDB.char.specGroup;
280 281
281 function DBGroup:OnMemberShutdown(callback, db) 282 function DBGroup:OnMemberShutdown(callback, db)
282 if not timestamp then -- ensure uniform timestamps to minimize 283 if not timestamp then -- ensure uniform timestamps to minimize
283 timestamp = time(); -- calls to SetProfile in NewGroup 284 timestamp = time(); -- calls to SetProfile in NewGroup
284 end 285 end
286 self.members[db].char.logoutTimestamp = timestamp;
285 if self.usesDualSpec then 287 if self.usesDualSpec then
286 if not altProfile then 288 if not altProfile then
287 altProfile = self.syncDB:GetDualSpecProfile(); 289 altProfile = self.syncDB:GetDualSpecProfile();
288 dualSpecEnabled = self.syncDB:IsDualSpecEnabled(); 290 dualSpecEnabled = self.syncDB:IsDualSpecEnabled();
289 activeSpecGroup = GetActiveSpecGroup(); 291 activeSpecGroup = GetActiveSpecGroup();
290 end 292 end
291 self.members[db].char.logoutTimestamp = timestamp;
292 self.members[db].char.altProfile = altProfile; 293 self.members[db].char.altProfile = altProfile;
293 self.members[db].char.dualSpecEnabled = dualSpecEnabled; 294 self.members[db].char.dualSpecEnabled = dualSpecEnabled;
294 self.members[db].char.activeSpecGroup = activeSpecGroup; 295 self.members[db].char.activeSpecGroup = activeSpecGroup;
295 end 296 end
296 end 297 end