[Pkg-mozext-commits] [compactheader] 200/441: New version 1.2.5beta1: Supports uninstall. debugLog function added

David Prévot taffit at moszumanska.debian.org
Wed Mar 18 12:28:59 UTC 2015


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

taffit pushed a commit to branch master
in repository compactheader.

commit f89802e40ec5a8831e58775bdddf7ac42e68fb56
Author: joachim.herb <none at none>
Date:   Sat Jun 4 20:57:13 2011 +0000

    New version 1.2.5beta1:
    Supports uninstall.
    debugLog function added
    
    --HG--
    branch : B_1_2
---
 build.xml                                          | 152 ++++++++++++++-------
 chrome/CompactHeader/content/CHTMessenger.js       |  18 +--
 .../CompactHeader/content/compactHeaderOverlay.js  | 133 ++++++++++++------
 .../CompactHeader/content/compactHeaderOverlay.xul |   2 +-
 install.rdf                                        |   2 +-
 5 files changed, 209 insertions(+), 98 deletions(-)

diff --git a/build.xml b/build.xml
index 494da40..eae362d 100644
--- a/build.xml
+++ b/build.xml
@@ -1,54 +1,112 @@
 <?xml version="1.0" ?>
 
-<project name="getpartialmessages" default="dist">
-	<property name="src.dir" value="." />
-	<property name="dist.dir" value="../downloads/" />
-	
-	<xmlproperty file="./install.rdf" prefix="myFileContent"/>
-	<property name="app.version" value="${myFileContent.RDF.RDF:Description.em:version}"/> 
-	<property name="app.name" value="${myFileContent.RDF.RDF:Description.em:name}" />
-	<property name="app.id" value="${myFileContent.RDF.RDF:Description.em:id}" />
+<project name="CompactHeader" default="dist">
+  <property name="src.dir" value="." />
+  <property name="dist.dir" value="../downloads/"/>
+  <property name="AMOdist.dir" value="../AMO/"/>
+  <property name="www.dir" value="../www/"/>
+  <property name="pref.file" value="${src.dir}/chrome/CompactHeader/content/preferences.js"/>
+  <property name="mccoy.cmd" value='c:/Program Files (x86)/mccoy/mccoy.exe'/>
 
+  <taskdef name="xmltask" classname="com.oopsconsultancy.xmltask.ant.XmlTask"/>
+    
+  <xmltask source="./install.rdf">
+    <copy path="//em:version/text()" property="app.version"/>   
+    <copy path="//em:name/text()" property="app.name"/>   
+    <copy path="//em:id/text()" property="app.id"/>   
+  </xmltask>
+
+  <target name="dist" depends="spreadVersion,buildAMO,buildMozdev">
+
+  </target>
+  
+  <target name="clean">
+    <delete file="${dist.dir}/${app.name}-${app.version}.xpi" />
+  </target>
+    
+    
+  <target name="buildAMO">
     <!--
-	<property name="ff.dir" value="C:\Users\joachim\comm-central\objdir-tb-release\mozilla\dist\bin" />
-	<condition property="ff.present">
-		<and>
-			<isset property="ff.dir" />
-			<available file="${ff.dir}" type="dir" />
-		</and>
-	</condition>
-    -->
-	<!-- copy to extensions directory -->
-	<!--
-	<target name="test.ext" depends="chrome" if="ff.present">
-		<copy file="${dist.dir}/${app.name}.jar" todir="${ff.dir}/extensions/${app.id}/chrome" overwrite="true" />
-		<copy file="${src.dir}/chrome.manifest" todir="${ff.dir}/extensions/${app.id}" overwrite="true" />
-	</target>
-	-->
-	
-	<target name="dist">
-		<zip destfile="${dist.dir}/${app.name}-${app.version}.xpi">
-			<fileset dir="${src.dir}">
-				<include name="chrome.manifest" />
-				<include name="install.rdf" />
-				<include name="defaults/**" />
-				<include name="chrome/**" />				
-				<exclude name="**/.*" />
-				<exclude name="**/CVS/**" />
-			</fileset>
-		</zip>
-	</target>
-	
-	<target name="clean">
-		<delete file="${dist.dir}/${app.name}-${app.version}.xpi" />
-	</target>
+    <replaceregexp file="${pref.file}" 
+                   byline="true"
+                   match="(.*)return.*( /\* Patch this line for AMO version \*/)"
+                   replace="\1return true; /* AMO version */\2"/> -->
+    <copy file="${src.dir}/install.rdf" tofile="${AMOdist.dir}/install.rdf"/>
+    <replaceregexp file="${AMOdist.dir}/install.rdf" 
+                   byline="true"
+                   match=".*update.*"
+                   replace=""/>                   
+    <zip destfile="${AMOdist.dir}/${app.name}-${app.version}.xpi">
+      <fileset dir="${src.dir}">
+        <include name="chrome.manifest" />
+        <include name="defaults/**" />
+        <include name="chrome/**" />        
+        <exclude name="**/.*" />
+        <exclude name="**/CVS/**" />
+      </fileset>
+      <fileset dir="${AMOdist.dir}">
+        <include name="install.rdf" />
+      </fileset>
+    </zip>
+  </target>
+
+  <target name="buildMozdev">
+    <!--
+    <replaceregexp file="${pref.file}" 
+                   byline="true"
+                   match="(.*)return .*( /\* Patch this line for AMO version \*/)"
+                   replace="\1return false; /* Mozdev version */\2"/>-->
+    <zip destfile="${dist.dir}/${app.name}-${app.version}.xpi">
+      <fileset dir="${src.dir}">
+        <include name="chrome.manifest" />
+        <include name="install.rdf" />
+        <include name="defaults/**" />
+        <include name="chrome/**" />        
+        <exclude name="**/.*" />
+        <exclude name="**/CVS/**" />
+      </fileset>
+    </zip>
+    <xmltask source="${www.dir}/update.rdf" dest="${www.dir}/update.rdf.new">
+      <replace path="/RDF:RDF/RDF:Description/@em:version" withText="${app.version}"/> 
+      <replace path="/RDF:RDF/RDF:Description/@em:updateLink" withText="http://downloads.mozdev.org/compactheader/CompactHeader-${app.version}.xpi"/> 
+    </xmltask>
+    <move file="${www.dir}/update.rdf.new" tofile="${www.dir}/update.rdf"/>
+    <property name="absUpdate" location="${www.dir}/update.rdf"/>
+    <property name="absXPI" location="${dist.dir}/${app.name}-${app.version}.xpi"/>
+    
+    <echo message="absUpdate ${absUpdate}"/>
+    <echo message="absUpdate ${absXPI}"/>
     
-	<!--
-	<target name="clean.ff"  if="ff.present">
-		<delete dir="${ff.dir}/extensions/${app.id}" failonerror="false" />
-		<delete file="${ff.dir}/chrome/${app.name}.manifest" failonerror="false" />
-		<delete file="${ff.dir}/chrome/chrome/${app.name}.jar" failonerror="false" />
-	</target>
-	-->
+    <exec executable="${mccoy.cmd}">
+      <arg value="-command"/>
+      <arg value="update"/>
+      <arg value="-updateRDF"/>
+      <arg value="${absUpdate}"/>
+      <arg value="-key"/>
+      <arg value="compactheaderkey"/>
+      <arg value="-xpi"/>
+      <arg value="${absXPI}"/>
+    </exec>
+  </target>
+
+  <target name="spreadVersion">
+  <!--
+    <xmltask source="${www.dir}/availableVersion.xml" dest="${www.dir}/availableVersion.xml.new">
+      <replace path="/updates/update[1]/version" withXml="<version>${app.version}</version>"/> 
+    </xmltask>
+    <move file="${www.dir}/availableVersion.xml.new" tofile="${www.dir}/availableVersion.xml"/>
+    -->
+    <!--  
+    <xmltask source="${www.dir}/availVersion.xml" dest="${www.dir}/availVersion.xml.new">
+      <replace path="/updates/update[@server='mozdev']/@version" withText="${app.version}"/> 
+    </xmltask>
+    <move file="${www.dir}/availVersion.xml.new" tofile="${www.dir}/availVersion.xml"/>
+-->
+    <replaceregexp file="${www.dir}/installation.html" 
+                   byline="true"
+                   match="(.*update the version.*CompactHeader-).*(.xpi">Version ).*( of Co.*)"
+                   replace="\1${app.version}\2${app.version}\3"/>                   
+
+  </target>  
 
 </project>
diff --git a/chrome/CompactHeader/content/CHTMessenger.js b/chrome/CompactHeader/content/CHTMessenger.js
index eeea38f..708d630 100644
--- a/chrome/CompactHeader/content/CHTMessenger.js
+++ b/chrome/CompactHeader/content/CHTMessenger.js
@@ -152,21 +152,17 @@ org.mozdev.customizeHeaderToolbar.pane = function(){
   }
   
   pub.CHTCleanupButtons = function() {
+    alert("cleanup");
     var hdrToolbox = document.getElementById("header-view-toolbox");
     var hdrToolbar = document.getElementById("header-view-toolbar");
-    var hdrBarDefaultSet = "hdrReplyButton,hdrReplyAllButton,hdrReplyListButton,hdrForwardButton,hdrArchiveButton,hdrJunkButton,hdrTrashButton";
-    var hdrBoxDefaultLabelalign = hdrToolbox.getAttribute("defaultlabelalign");
-    var hdrBoxDefaultIconsize =   hdrToolbox.getAttribute("defaulticonsize");
-    var hdrBoxDefaultMode =       hdrToolbox.getAttribute("defaultmode");
-    var hdrBarDefaultIconsize = hdrToolbar.getAttribute("defaulticonsize");
-    var hdrBarDefaultMode =     hdrToolbar.getAttirbute("defaultmode");
+    var hdrBarDefaultSet = "hdrReplyToSenderButton,hdrSmartReplyButton,hdrForwardButton,hdrArchiveButton,hdrJunkButton,hdrTrashButton";
     
-    hdrToolbox.setAttribute("labelalign", hdrBoxDefaultLabelalign);
-    hdrToolbox.setAttribute("iconsize", hdrBoxDefaultIconsize);
-    hdrToolbox.setAttribute("mode", hdrBoxDefaultMode);
-    hdrToolbar.setAttribute("iconsize", hdrBarDefaultIconsize);
-    hdrToolbar.setAttribute("mode", hdrBarDefaultMode);
+    hdrToolbox.setAttribute("labelalign", "end");
+    hdrToolbox.setAttribute("iconsize", "small");
+    hdrToolbox.setAttribute("mode", "full");
     
+    hdrToolbar.setAttribute("iconsize", "small");
+    hdrToolbar.setAttribute("mode", "full");
     hdrToolbar.currentSet = hdrBarDefaultSet;
     hdrToolbar.setAttribute("currentset", hdrBarDefaultSet);
     
diff --git a/chrome/CompactHeader/content/compactHeaderOverlay.js b/chrome/CompactHeader/content/compactHeaderOverlay.js
index a8b3fdb..08aef4a 100644
--- a/chrome/CompactHeader/content/compactHeaderOverlay.js
+++ b/chrome/CompactHeader/content/compactHeaderOverlay.js
@@ -67,6 +67,9 @@ org.mozdev.compactHeader.pane = function() {
 //  
   var gCoheCollapsedHeaderViewMode = false;
   var gCoheBuiltCollapsedView = false;
+
+  var LOGLEVEL = {"debug": 0, "info":1, "warn": 2, "error": 3};
+  var gCurrentLogLevel = LOGLEVEL.debug; // TODO: Set to info
   
   /**
    * The collapsed view: very lightweight. We only show a couple of fields.  See
@@ -204,6 +207,7 @@ org.mozdev.compactHeader.pane = function() {
   }
   
   pub.coheOnLoadMsgHeaderPane = function() { 
+    debugLog("start coheOnLoadMsgHeaderPane");
     coheInitializeHeaderViewTables();
   
     // Add an address book listener so we can update the header view when things
@@ -256,12 +260,7 @@ org.mozdev.compactHeader.pane = function() {
     if (cohe.firstrun) {
       coheCheckFirstRun();
     }
-    
-    if (cohe.firstrun || document.getElementById("hdrReplyAllButton") == null) {
-      org.mozdev.customizeHeaderToolbar.pane.CHTSetDefaultButtons();
-      cohe.firstrun = false;
-    }
-    
+
     coheToggleHeaderContent();
     setButtonStyle();
     org.mozdev.customizeHeaderToolbar.messenger.saveToolboxData();
@@ -902,32 +901,38 @@ org.mozdev.compactHeader.pane = function() {
 //    debugLog("first run 0");
     if(versionChecker.compare(appInfo.version, "3.2a1pre") < 0) {
 //      debugLog("firstrun 1");
-    cohe.version = -1;
-    cohe.firstrun = false;
-    cohe.gExtensionManager = Components.classes["@mozilla.org/extensions/manager;1"].getService(Components.interfaces.nsIExtensionManager);
-    // check if this is part of CompactHeader
-    if ((cohe.gExtensionManager.getItemForID(COHE_EXTENSION_UUID) == null) || (isAddonDisabled(COHE_EXTENSION_UUID))) {
-      return;
-    }
-    
-    cohe.current = cohe.gExtensionManager.getItemForID(COHE_EXTENSION_UUID).version;
-    try{
-      cohe.version = cohePrefBranch.getCharPref("version");
-      cohe.firstrun = cohePrefBranch.getBoolPref("firstrun");
-    } catch(e) {
-    } finally {
-      //check for first run
-      if (cohe.firstrun){
-        cohePrefBranch.setBoolPref("firstrun",false);
-        cohePrefBranch.setCharPref("version",cohe.current);
+      cohe.version = -1;
+      cohe.firstrun = false;
+      cohe.gExtensionManager = Components.classes["@mozilla.org/extensions/manager;1"].getService(Components.interfaces.nsIExtensionManager);
+      // check if this is part of CompactHeader
+      if ((cohe.gExtensionManager.getItemForID(COHE_EXTENSION_UUID) == null) || (isAddonDisabled(COHE_EXTENSION_UUID))) {
+        return;
       }
-      //check for upgrade
-      if (cohe.version!=cohe.current && !cohe.firstrun){
-        cohePrefBranch.setCharPref("version",cohe.current);
-        // XXX
+    
+      var debugLevel = gCurrentLogLevel;
+      cohe.current = cohe.gExtensionManager.getItemForID(COHE_EXTENSION_UUID).version;
+      try{
+        cohe.version = cohePrefBranch.getCharPref("version");
+        cohe.firstrun = cohePrefBranch.getBoolPref("firstrun");
+        debugLevel = cohePrefBranch.getIntPref("debugLevel");
+      } catch(e) {
+      } finally {
+        //check for first run
+        if (cohe.firstrun){
+          cohePrefBranch.setBoolPref("firstrun",false);
+          cohePrefBranch.setCharPref("version",cohe.current);
+          org.mozdev.customizeHeaderToolbar.pane.CHTSetDefaultButtons();
+        }
+        //check for upgrade
+        if (cohe.version!=cohe.current && !cohe.firstrun){
+          cohePrefBranch.setCharPref("version",cohe.current);
+          // XXX
+        }
+        cohe.firstrun = false;
+        gCurrentLogLevel = debugLevel;
+        cohePrefBranch.setIntPref("debugLevel", gCurrentLogLevel);
       }
     }
-  }
     else {
       //debugLog("firstrun 3");
       Components.utils.import("resource://gre/modules/AddonManager.jsm");
@@ -944,6 +949,8 @@ org.mozdev.compactHeader.pane = function() {
           } finally {
             //check for first run
             if (cohe.firstrun){
+//              debugLog("first run 2c");
+              org.mozdev.customizeHeaderToolbar.pane.CHTSetDefaultButtons();
               cohePrefBranch.setBoolPref("firstrun",false);
               cohePrefBranch.setCharPref("version",cohe.current);
             }
@@ -952,6 +959,8 @@ org.mozdev.compactHeader.pane = function() {
               cohePrefBranch.setCharPref("version",cohe.current);
               // XXX
             }
+            cohe.firstrun = false;
+            debugLog("first run 2d");
           }
         }
       );
@@ -960,8 +969,15 @@ org.mozdev.compactHeader.pane = function() {
   }
 
 
-//  var aConsoleService = Components.classes["@mozilla.org/consoleservice;1"]
-//                                           .getService(Components.interfaces.nsIConsoleService);
+  var aConsoleService = Components.classes["@mozilla.org/consoleservice;1"]
+                                           .getService(Components.interfaces.nsIConsoleService);
+
+  function debugLog(str, logLevel) {
+    if (!logLevel) var logLevel = LOGLEVEL.debug;
+    if (logLevel >= gCurrentLogLevel) {
+      aConsoleService.logStringMessage(Date() + " CH: " + str);
+    }
+  }
   
   pub.coheInitializeOverlay = function() {
     // var gExtensionManager = Components.classes["@mozilla.org/extensions/manager;1"].getService(Components.interfaces.nsIExtensionManager);
@@ -969,6 +985,8 @@ org.mozdev.compactHeader.pane = function() {
     // if ((gExtensionManager.getItemForID(COHE_EXTENSION_UUID) == null) || isAddonDisabled(COHE_EXTENSION_UUID)) {
     //  return;
     //}
+    
+    debugLog("before register");
     coheUninstallObserver.register();
   }
   
@@ -979,6 +997,7 @@ org.mozdev.compactHeader.pane = function() {
         subject.QueryInterface(Components.interfaces.nsIUpdateItem);
     
         if (subject.id == COHE_EXTENSION_UUID) {
+          debugLog("uninstalling COHE 1");
           if (data == "item-uninstalled") {
             this._uninstall = true;
           } else if (data == "item-cancel-action") {
@@ -986,6 +1005,7 @@ org.mozdev.compactHeader.pane = function() {
           }
         }
       } else if (topic == "quit-application-granted") {
+        debugLog("uninstalling COHE 2");
         if (this._uninstall) {
           cohePrefBranch.deleteBranch("");
           org.mozdev.customizeHeaderToolbar.pane.CHTCleanupButtons();
@@ -993,21 +1013,58 @@ org.mozdev.compactHeader.pane = function() {
         this.unregister();
       }
     },
+    onUninstalling: function(addon) {
+      if (addon.id == COHE_EXTENSION_UUID) {
+        this._uninstall = true;
+      }
+    },
+
+    onOperationCancelled: function(addon) {
+      if (addon.id == COHE_EXTENSION_UUID) {
+        this._uninstall = (addon.pendingOperations & AddonManager.PENDING_UNINSTALL) != 0;
+      }
+    },
+    
     register : function() {
-     var observerService =
-       Components.classes["@mozilla.org/observer-service;1"].
-         getService(Components.interfaces.nsIObserverService);
+      debugLog("register uninstall start");
+      var observerService =
+        Components.classes["@mozilla.org/observer-service;1"].
+        getService(Components.interfaces.nsIObserverService);
+      debugLog("register uninstall start 1");
     
-     observerService.addObserver(this, "em-action-requested", false);
-     observerService.addObserver(this, "quit-application-granted", false);
+      var appInfo = Components.classes["@mozilla.org/xre/app-info;1"]
+                                       .getService(Components.interfaces.nsIXULAppInfo);
+      var versionChecker = Components.classes["@mozilla.org/xpcom/version-comparator;1"]
+                                              .getService(Components.interfaces.nsIVersionComparator);
+      debugLog("register uninstall start 2");
+
+      if(versionChecker.compare(appInfo.version, "3.2a1pre") < 0) {
+        observerService.addObserver(this, "em-action-requested", false);
+        observerService.addObserver(this, "quit-application-granted", false);
+      }
+      else {
+        debugLog("register uninstall neu 2");
+        observerService.addObserver(this, "quit-application-granted", false);
+        Components.utils.import("resource://gre/modules/AddonManager.jsm");
+        AddonManager.addAddonListener(this);     
+        debugLog("register uninstall neu 2");
+      }
     },
     unregister : function() {
       var observerService =
         Components.classes["@mozilla.org/observer-service;1"].
           getService(Components.interfaces.nsIObserverService);
     
-      observerService.removeObserver(this,"em-action-requested");
-      observerService.removeObserver(this,"quit-application-granted");
+      var versionChecker = Components.classes["@mozilla.org/xpcom/version-comparator;1"]
+                                              .getService(Components.interfaces.nsIVersionComparator);
+      if(versionChecker.compare(appInfo.version, "3.2a1pre") < 0) {
+        observerService.removeObserver(this,"em-action-requested");
+        observerService.removeObserver(this,"quit-application-granted");
+      }
+      else {
+        observerService.removeObserver(this, "quit-application-granted");
+        AddonManager.removeAddonListener(this);      
+      }
     }
   }
   
diff --git a/chrome/CompactHeader/content/compactHeaderOverlay.xul b/chrome/CompactHeader/content/compactHeaderOverlay.xul
index 39b74c9..0547afc 100644
--- a/chrome/CompactHeader/content/compactHeaderOverlay.xul
+++ b/chrome/CompactHeader/content/compactHeaderOverlay.xul
@@ -21,7 +21,7 @@
 <overlay id="compactHeaderOverlay"
          xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
 
-  <script type="application/javascript" src="chrome://CompactHeader-d/content/compactHeaderOverlay.js"/>
+  <script type="application/javascript" src="chrome://CompactHeader/content/compactHeaderOverlay.js"/>
 
   <keyset>
     <key id="hideDetailsKey" 
diff --git a/install.rdf b/install.rdf
index 6efa6e2..1d15f95 100644
--- a/install.rdf
+++ b/install.rdf
@@ -6,7 +6,7 @@
 
 	<RDF:Description about="urn:mozilla:install-manifest">
 		<em:name>CompactHeader</em:name>
-		<em:version>1.2.5</em:version>
+		<em:version>1.2.5beta1</em:version>
 		<em:description>Add ability to reduce header size to one or two lines. Linkify subjects in RSS feeds.</em:description>
 		<em:creator>Joachim Herb</em:creator>
 		<em:contributor>Zamula</em:contributor>

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



More information about the Pkg-mozext-commits mailing list