[Pkg-mozext-commits] [firetray] 12/22: Handle option renames properly.

David Prévot taffit at moszumanska.debian.org
Wed Dec 31 17:04:38 UTC 2014


This is an automated email from the git hooks/post-receive script.

taffit pushed a commit to branch master
in repository firetray.

commit 3e0ede74c707bb383b48d73f475ef29df9b09494
Author: foudfou <foudil.newbie+git at gmail.com>
Date:   Wed Dec 24 20:11:40 2014 +0100

    Handle option renames properly.
---
 src/modules/FiretrayHandler.jsm | 36 ++++++++++++++++++++++++++++++++----
 1 file changed, 32 insertions(+), 4 deletions(-)

diff --git a/src/modules/FiretrayHandler.jsm b/src/modules/FiretrayHandler.jsm
index b3bdeeb..9c7cf82 100644
--- a/src/modules/FiretrayHandler.jsm
+++ b/src/modules/FiretrayHandler.jsm
@@ -156,7 +156,7 @@ firetray.Handler = {
     VersionChange.init(FIRETRAY_ID, FIRETRAY_VERSION, FIRETRAY_PREF_BRANCH);
     let vc = VersionChange, vch = firetray.VersionChangeHandler;
     vc.addHook(["install", "upgrade", "reinstall"], vch.showReleaseNotes);
-    vc.addHook(["upgrade", "reinstall"], vch.tryEraseOldOptions);
+    vc.addHook(["upgrade", "reinstall"], vch.deleteOrRenameOldOptions);
     vc.addHook(["upgrade", "reinstall"], vch.correctMailNotificationType);
     vc.addHook(["upgrade", "reinstall"], vch.correctMailServerTypes);
     if (this.inMailApp) {
@@ -711,7 +711,7 @@ firetray.VersionChangeHandler = {
     } catch (e) {log.error(e);}
   },
 
-  tryEraseOldOptions: function() {
+  deleteOrRenameOldOptions: function() {
     let v0_3_Opts = [
       "close_to_tray", "minimize_to_tray", "start_minimized", "confirm_exit",
       "restore_to_next_unread", "mail_count_type", "show_mail_count",
@@ -722,8 +722,7 @@ firetray.VersionChangeHandler = {
       "text_color", "scroll_to_hide", "scroll_action", "grab_multimedia_keys",
       "hide_show_mm_key", "accounts_to_exclude" ];
     let v0_4_0b2_Opts = [ 'mail_notification' ];
-    let v0_5_0b1_Opts = [ 'mail_urgency_hint', 'app_icon_filename', 'custom_mail_icon' ];
-    let oldOpts = v0_3_Opts.concat(v0_4_0b2_Opts).concat(v0_5_0b1_Opts);
+    let oldOpts = v0_3_Opts.concat(v0_4_0b2_Opts);
 
     for (let i=0, len=oldOpts.length; i<len; ++i) {
       try {
@@ -731,6 +730,35 @@ firetray.VersionChangeHandler = {
         firetray.Utils.prefService.clearUserPref(option);
       } catch (x) {}
     }
+
+    let v0_5_0b1_Renames = {
+      'mail_urgency_hint': 'mail_get_attention',
+      'app_icon_filename': 'app_icon_custom',
+      'custom_mail_icon': 'mail_icon_custom'
+    };
+    oldOpts = v0_5_0b1_Renames;
+
+    let prefSrv = firetray.Utils.prefService;
+    for (let opt in oldOpts) {
+      log.debug("opt rename: "+opt);
+      if (prefSrv.prefHasUserValue(opt)) {
+        let prefType = prefSrv.getPrefType(opt);
+        switch (prefType) {
+        case Ci.nsIPrefBranch.PREF_STRING:
+          prefSrv.setCharPref(oldOpts[opt], prefSrv.getCharPref(opt));
+          break;
+        case Ci.nsIPrefBranch.PREF_INT:
+          prefSrv.setIntPref(oldOpts[opt], prefSrv.getIntPref(opt));
+          break;
+        case Ci.nsIPrefBranch.PREF_BOOL:
+          prefSrv.setBoolPref(oldOpts[opt], prefSrv.getBoolPref(opt));
+          break;
+        default:
+          log.error("Unknow pref type: "+prefType);
+        }
+      }
+      try { prefSrv.clearUserPref(opt); } catch (x) {}
+    }
   },
 
   correctMailNotificationType: function() {

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-mozext/firetray.git



More information about the Pkg-mozext-commits mailing list