changeset 227:741c4f9b251e

Better handling of new profiles
author Flick
date Mon, 21 Mar 2011 11:10:23 -0700
parents 76932cdb3d57
children ad40cd3fc7e9
files Options.lua Profile.lua ReAction.lua
diffstat 3 files changed, 23 insertions(+), 13 deletions(-) [+]
line wrap: on
line diff
--- a/Options.lua	Sat Mar 19 10:23:34 2011 -0700
+++ b/Options.lua	Mon Mar 21 11:10:23 2011 -0700
@@ -99,10 +99,6 @@
 
   AceConfigDialog:AddToBlizOptions(configID, options.args.profiles.name, configID, "profiles")
 
-  self.db.RegisterCallback(self,"OnProfileChanged")
-  self.db.RegisterCallback(self,"OnProfileReset", "OnProfileChanged")
-  self.db.RegisterCallback(self,"OnProfileCopied","OnProfileChanged")
-
   SlashCmdList["REACTION"] = function(option)
     option = string.match(option or "", "^%s*(%S+)")
     if option == "config" or option == "options" then
@@ -153,15 +149,6 @@
 end
 
 
-function ReAction:OnProfileChanged()
-  self:UpgradeProfile()
-  self:RebuildAll()
-  if not self.db.global.skipKeybindWarning then
-    StaticPopup_Show("REACTION_KB_WARN")
-  end
-end
-
-
 function ReAction:OptionSetConfigMode(info, value)
   self:SetConfigMode(value) 
 end
--- a/Profile.lua	Sat Mar 19 10:23:34 2011 -0700
+++ b/Profile.lua	Mon Mar 21 11:10:23 2011 -0700
@@ -122,3 +122,17 @@
 
   db.profile.dbversion = self.PROFILEVERSION_LATEST
 end
+
+function ReAction:OnProfileChanged()
+  self:UpgradeProfile()
+  self:RebuildAll()
+  if not self.db.global.skipKeybindWarning then
+    StaticPopup_Show("REACTION_KB_WARN") -- see Options.lua
+  end
+end
+
+function ReAction:OnNewProfile()
+  self.db.profile.dbversion = ReAction.PROFILEVERSION_LATEST
+  self:OnProfileChanged()
+end
+
--- a/ReAction.lua	Sat Mar 19 10:23:34 2011 -0700
+++ b/ReAction.lua	Mon Mar 21 11:10:23 2011 -0700
@@ -55,10 +55,19 @@
   VehicleMenuBar:SetFrameLevel(VehicleMenuBar:GetFrameLevel()+3)
 
   self.callbacks = LibStub("CallbackHandler-1.0"):New(self)
+  
   LKB.RegisterCallback(self,"LIBKEYBOUND_ENABLED")
   LKB.RegisterCallback(self,"LIBKEYBOUND_DISABLED")
   LKB.RegisterCallback(self, "LIBKEYBOUND_MODE_COLOR_CHANGED","LIBKEYBOUND_ENABLED")
+
+  -- see Profile.lua for these callback implementations
+  self.db.RegisterCallback(self,"OnProfileChanged")
+  self.db.RegisterCallback(self,"OnProfileCopied","OnProfileChanged")
+  self.db.RegisterCallback(self,"OnNewProfile")
+  self.db.RegisterCallback(self,"OnProfileReset", "OnNewProfile")
+
   self:RegisterEvent("PLAYER_REGEN_DISABLED")
+
   self:InitializeOptions()
 end