[Pkg-mozext-commits] [compactheader] 219/441: Merge with 1.4.1

David Prévot taffit at moszumanska.debian.org
Wed Mar 18 12:29:01 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 eb5a6d251f5148df3eb24eab68f0786e99384c78
Merge: 54a7c73 9087eac
Author: Joachim.Herb at gmx.de <Joachim.Herb at gmx.de>
Date:   Thu Jul 21 22:16:31 2011 +0200

    Merge with 1.4.1
    
    --HG--
    branch : B_DispMUA

 .hgtags                                            |   2 +
 chrome/CompactHeader/content/RSSLinkify.jsm        | 187 +++++++
 .../CompactHeader/content/compactHeaderOverlay.js  | 596 +++------------------
 .../CompactHeader/content/compactHeaderOverlay.xul |  13 +-
 chrome/CompactHeader/content/debug.jsm             |  75 +++
 chrome/CompactHeader/content/toolbar.jsm           | 431 +++++++++++++++
 install.rdf                                        |   4 +-
 7 files changed, 774 insertions(+), 534 deletions(-)

diff --cc chrome/CompactHeader/content/RSSLinkify.jsm
index 0000000,c768ebe..d3daf24
mode 000000,100644..100644
--- a/chrome/CompactHeader/content/RSSLinkify.jsm
+++ b/chrome/CompactHeader/content/RSSLinkify.jsm
@@@ -1,0 -1,187 +1,187 @@@
+ /*# -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
+ # ***** BEGIN LICENSE BLOCK *****
+ # Version: MPL 1.1/GPL 2.0/LGPL 2.1
+ #
+ # The contents of this file are subject to the Mozilla Public License Version
+ # 1.1 (the "License"); you may not use this file except in compliance with
+ # the License. You may obtain a copy of the License at
+ # http://www.mozilla.org/MPL/
+ #
+ # Software distributed under the License is distributed on an "AS IS" basis,
+ # WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+ # for the specific language governing rights and limitations under the
+ # License.
+ #
+ # The Original Code is Mozilla Communicator client code, released
+ # March 31, 1998.
+ #
+ # The Initial Developer of the Original Code is
+ # Netscape Communications Corporation.
+ # Portions created by the Initial Developer are Copyright (C) 1998-1999
+ # the Initial Developer. All Rights Reserved.
+ #
+ # Contributor(s):
+ #   Joachim Herb <joachim.herb at gmx.de>
+ #
+ # Alternatively, the contents of this file may be used under the terms of
+ # either the GNU General Public License Version 2 or later (the "GPL"), or
+ # the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
+ # in which case the provisions of the GPL or the LGPL are applicable instead
+ # of those above. If you wish to allow use of your version of this file only
+ # under the terms of either the GPL or the LGPL, and not to allow others to
+ # use your version of this file under the terms of the MPL, indicate your
+ # decision by deleting the provisions above and replace them with the notice
+ # and other provisions required by the GPL or the LGPL. If you do not delete
+ # the provisions above, a recipient may use your version of this file under
+ # the terms of any one of the MPL, the GPL or the LGPL.
+ #
+ # ***** END LICENSE BLOCK *****
+ */
+ 
+ EXPORTED_SYMBOLS = ["org"];
+ 
+ Components.utils.import("chrome://CompactHeader/content/debug.jsm");
+ 
+ if(!org) var org={};
+ if(!org.mozdev) org.mozdev={};
+ if(!org.mozdev.compactHeader) org.mozdev.compactHeader = {};
+ 
+ 
+ org.mozdev.compactHeader.RSSLinkify = function() {
+   var pub = {};
+ 
+   var cohePrefBranch = Components.classes["@mozilla.org/preferences-service;1"]
+                                           .getService(Components.interfaces.nsIPrefService)
+                                           .getBranch("extensions.CompactHeader.");
+ 
+   var coheIntegrateRSSLinkify = false;
+   
+   var RSSLinkify = {
+       oldSubject: null,
+       newSubject: null
+   };
+   
 -  pub.UpdateHeaderView = function(currentHeaderData) {
++  pub.UpdateHeaderView = function(doc, currentHeaderData) {
+     org.mozdev.compactHeader.debug.log("updateheaderview start");
+     if (cohePrefBranch.getBoolPref("headersize.linkify")) {
+       var url = currentHeaderData["content-base"];
+       if(url) {
+           RSSLinkify.newSubject.setAttribute("onclick", "if (!event.button) messenger.launchExternalURL('" + 
+                                                url.headerValue + "');");
+           RSSLinkify.newSubject.setAttribute("value", currentHeaderData["subject"].headerValue);
+           RSSLinkify.newSubject.setAttribute("url", url.headerValue);
+           RSSLinkify.newSubject.setAttribute("collapsed", "false");
+           RSSLinkify.oldSubject.setAttribute("collapsed", "true");
+           RSSLinkify.newSubject.setAttribute("tooltiptext", url.headerValue);
+       } else {
+           RSSLinkify.newSubject.setAttribute("collapsed", "true");
+           RSSLinkify.oldSubject.setAttribute("collapsed", "false");
+           RSSLinkify.oldSubject.setAttribute("tooltiptext", currentHeaderData["subject"].headerValue);
+ //          if (gCoheCollapsedHeaderViewMode) {
 -//            //linkifySubject('collapsed1LsubjectBox');
++//            //linkifySubject(doc, 'collapsed1LsubjectBox');
+ //          }
+ //          else {
 -//            linkifySubject('expandedsubjectBox');
++//            linkifySubject(doc, 'expandedsubjectBox');
+ //          }
+       }
+     } else {
+       if (RSSLinkify.newSubject) {
+         RSSLinkify.newSubject.setAttribute("collapsed", "true");
+       }
+       if (RSSLinkify.oldSubject) {
+         RSSLinkify.oldSubject.setAttribute("collapsed", "false");
+         RSSLinkify.oldSubject.setAttribute("tooltiptext", currentHeaderData["subject"].headerValue);
+       }
+     }
+     org.mozdev.compactHeader.debug.log("updateheaderview stop");
+   };
+ 
 -  pub.InitializeHeaderViewTables = function(document) {
++  pub.InitializeHeaderViewTables = function(doc) {
+     org.mozdev.compactHeader.debug.log("rss InitializeHeaderViewTables start");
+     if (cohePrefBranch.getBoolPref("headersize.linkify")) {
+       org.mozdev.compactHeader.debug.log("rss InitializeHeaderViewTables start 1");
 -      RSSLinkify.newSubject = document.getElementById("collapsedsubjectlinkBox") || document.createElement("label");
++      RSSLinkify.newSubject = doc.getElementById("collapsedsubjectlinkBox") || doc.createElement("label");
+       org.mozdev.compactHeader.debug.log("rss InitializeHeaderViewTables start 2");
+       RSSLinkify.newSubject.setAttribute("id", "collapsedsubjectlinkBox");
+       RSSLinkify.newSubject.setAttribute("class", "headerValue plain headerValueUrl");
+       RSSLinkify.newSubject.setAttribute("originalclass", "headerValue plain headerValueUrl");
+       RSSLinkify.newSubject.setAttribute("context", "CohecopyUrlPopup");
+       RSSLinkify.newSubject.setAttribute("keywordrelated", "true");
+       RSSLinkify.newSubject.setAttribute("readonly", "true");
+       RSSLinkify.newSubject.setAttribute("appendoriginalclass", "true");
+       RSSLinkify.newSubject.setAttribute("flex", "1");
+       org.mozdev.compactHeader.debug.log("rss InitializeHeaderViewTables start 3");
+       if (cohePrefBranch.getBoolPref("headersize.twolineview")) {
 -        RSSLinkify.oldSubject = document.getElementById("collapsed2LsubjectBox");
++        RSSLinkify.oldSubject = doc.getElementById("collapsed2LsubjectBox");
+       } else {
 -        RSSLinkify.oldSubject = document.getElementById("collapsed1LsubjectBox");
++        RSSLinkify.oldSubject = doc.getElementById("collapsed1LsubjectBox");
+       }
+       org.mozdev.compactHeader.debug.log("rss InitializeHeaderViewTables start 3");
+       RSSLinkify.oldSubject.parentNode.insertBefore(RSSLinkify.newSubject, RSSLinkify.oldSubject);
+       org.mozdev.compactHeader.debug.log("rss InitializeHeaderViewTables start 4");
+     }
+     org.mozdev.compactHeader.debug.log("InitializeHeaderViewTables stop");
+   };
+ 
 -  function linkifySubject(subjectValueStr) {
 -    var subjectNode = document.getElementById(subjectValueStr);
++  function linkifySubject(doc, subjectValueStr) {
++    var subjectNode = doc.getElementById(subjectValueStr);
+     while(subjectNode.childNodes.length > 0) {
+       subjectNode.removeChild(subjectNode.firstChild)
+     }
+     var subject = currentHeaderData['subject'].headerValue;
+ 
+     if (regex.links.test(subject)) {
+       var text = subject;
+       /* utility function to split text and links */
+       function linkify(text) {
+         var matches = regex.links.exec(text);
+         var pre, post = null;
+         [pre, post] = text.split(matches[1]);
 -        var link = document.createElement("a");
 -        link.appendChild(document.createTextNode(matches[1]));
++        var link = doc.createElement("a");
++        link.appendChild(doc.createTextNode(matches[1]));
+         link.setAttribute("href", matches[1]);
+         link.setAttribute("class","text-link");
+         link.setAttribute("onclick", "org.mozdev.compactHeader.pane.subjectLinkOnClickListenter(event);");
+         return [pre,link,post];
+       }
+       /* loop through multiple possible links in the subject */
+       while(text && regex.links.test(text)) {
+         var pre, link, post = null;
+         [pre,link,post] = linkify(text);
+         /* we can't assume that any pre or post text was given, only a link */
+         if (pre && pre.length > 0)
 -          subjectNode.appendChild(document.createTextNode(pre));
++          subjectNode.appendChild(doc.createTextNode(pre));
+         subjectNode.appendChild(link);
+         text = post;
+       }
+       if (text && text.length > 0)
 -        subjectNode.appendChild(document.createTextNode(text));
++        subjectNode.appendChild(doc.createTextNode(text));
+     } else {
 -      subjectNode.appendChild(document.createTextNode(subject));
++      subjectNode.appendChild(doc.createTextNode(subject));
+     }
+   }
+ 
+   /* :::: Subject Link onClick Listener Functions :::: */
+   pub.subjectLinkOnClickListenter = function(event) {
+     if (event.originalTarget && event.originalTarget.getAttribute("href")) {
+       try {
+         messenger.launchExternalURL(event.originalTarget.getAttribute("href"));
+       } catch (e) { Application.console.log(e); }
+     }
+   }
+ 
+   pub.CoheCopyWebsiteAddress = function (websiteAddressNode)
+   {
+     if (websiteAddressNode)
+     {
+       var websiteAddress = websiteAddressNode.getAttribute("url");
+   
+       var contractid = "@mozilla.org/widget/clipboardhelper;1";
+       var iid = Components.interfaces.nsIClipboardHelper;
+       var clipboard = Components.classes[contractid].getService(iid);
+       clipboard.copyString(websiteAddress);
+     }
+   }
+ 
+   return pub;
+ }();
diff --cc chrome/CompactHeader/content/compactHeaderOverlay.js
index 18c7750,347b87d..0937be3
--- a/chrome/CompactHeader/content/compactHeaderOverlay.js
+++ b/chrome/CompactHeader/content/compactHeaderOverlay.js
@@@ -222,20 -201,6 +201,23 @@@ org.mozdev.compactHeader.pane = functio
      gCoheCollapsedHeaderViewMode = 
        deckHeaderView.selectedPanel == document.getElementById('collapsedHeaderView');    
        
 +    var headerViewToolbox = document.getElementById("header-view-toolbox");
 +    if (headerViewToolbox) {
-       headerViewToolbox.addEventListener("DOMAttrModified", onDoCustomizationHeaderViewToolbox, false);
++      headerViewToolbox.addEventListener("DOMAttrModified", 
++          onDoCustomizationHeaderViewToolbox, false);
 +    }
 +    
 +    var mailToolbox = document.getElementById("mail-toolbox");
 +    if (mailToolbox) {
-       mailToolbox.addEventListener("DOMAttrModified", onDoCustomizationHeaderViewToolbox, false);
++      mailToolbox.addEventListener("DOMAttrModified", 
++          onDoCustomizationHeaderViewToolbox, false);
 +    }
 +    var dispMUAicon = document.getElementById("dispMUAicon");
 +    if (dispMUAicon) {
-       dispMUAicon.addEventListener("DOMAttrModified", onChangeDispMUAicon, false);
++      dispMUAicon.addEventListener("DOMAttrModified", 
++          org.mozdev.compactHeader.toolbar.onChangeDispMUAicon, false);
 +    }
 +
      // work around XUL deck bug where collapsed header view, if it's the persisted
      // default, wouldn't be sized properly because of the larger expanded
      // view "stretches" the deck.
@@@ -276,13 -241,8 +258,13 @@@
      }
  
      coheToggleHeaderContent();
 +    var dispMUA = document.getElementById('dispMUA');
 +    if (dispMUA) {
 +      dispMUA.collapsed = true;
 +    }
-     setButtonStyle();
+     org.mozdev.compactHeader.toolbar.setButtonStyle(document);
      org.mozdev.customizeHeaderToolbar.messenger.saveToolboxData();
-     dispMUACheck();
++    org.mozdev.compactHeader.toolbar.dispMUACheck(document);
    }
    
    var coheMessageListener = 
@@@ -346,54 -306,6 +328,36 @@@
        });
    }
    
-   function linkifySubject(subjectValueStr) {
-     var subjectNode = document.getElementById(subjectValueStr);
-     while(subjectNode.childNodes.length > 0) {
-       subjectNode.removeChild(subjectNode.firstChild)
-     }
-     var subject = currentHeaderData['subject'].headerValue;
- 
-     if (regex.links.test(subject)) {
-       var text = subject;
-       /* utility function to split text and links */
-       function linkify(text) {
-         var matches = regex.links.exec(text);
-         var pre, post = null;
-         [pre, post] = text.split(matches[1]);
-         var link = document.createElement("a");
-         link.appendChild(document.createTextNode(matches[1]));
-         link.setAttribute("href", matches[1]);
-         link.setAttribute("class","text-link");
-         link.setAttribute("onclick", "org.mozdev.compactHeader.pane.subjectLinkOnClickListenter(event);");
-         return [pre,link,post];
-       }
-       /* loop through multiple possible links in the subject */
-       while(text && regex.links.test(text)) {
-         var pre, link, post = null;
-         [pre,link,post] = linkify(text);
-         /* we can't assume that any pre or post text was given, only a link */
-         if (pre && pre.length > 0)
-           subjectNode.appendChild(document.createTextNode(pre));
-         subjectNode.appendChild(link);
-         text = post;
++  onDoCustomizationHeaderViewToolbox = function(event) {
++    if (event.attrName == "doCustomization") {
++      org.mozdev.compactHeader.debug.log("onDoCustomizationHeaderViewToolbox start");
++      org.mozdev.compactHeader.toolbar.dispMUACheck(document);
++      org.mozdev.compactHeader.buttons.coheToggleStar();
++      var dispMUAicon = document.getElementById("dispMUAicon");
++      if (dispMUAicon) {
++        var evt1 = document.createEvent("MutationEvents");
++        evt1.initMutationEvent("DOMAttrModified",
++            true, false, dispMUAicon,
++            dispMUAicon.getAttribute("src"),
++            dispMUAicon.getAttribute("src"),
++            "src",
++            evt1.MODIFICATION
++        );
++        dispMUAicon.dispatchEvent(evt1);
++        var evt2 = document.createEvent("MutationEvents");
++        evt2.initMutationEvent("DOMAttrModified",
++            true, false, dispMUAicon,
++            dispMUAicon.getAttribute("tooltiptext"),
++            dispMUAicon.getAttribute("tooltiptext"),
++            "tooltiptext",
++            evt2.MODIFICATION
++        );
++        dispMUAicon.dispatchEvent(evt2);
 +      }
-       if (text && text.length > 0)
-         subjectNode.appendChild(document.createTextNode(text));
-     } else {
-       subjectNode.appendChild(document.createTextNode(subject));
-     }
-   }
- 
-   /* :::: Subject Link onClick Listener Functions :::: */
-   pub.subjectLinkOnClickListenter = function(event) {
-     if (event.originalTarget && event.originalTarget.getAttribute("href")) {
-       try {
-         messenger.launchExternalURL(event.originalTarget.getAttribute("href"));
-       } catch (e) { Application.console.log(e); }
++      org.mozdev.compactHeader.debug.log("onDoCustomizationHeaderViewToolbox done");
 +    }
-   }
++  };
 +
-   
    // make sure the appropriate fields within the currently displayed view header mode
    // are collapsed or visible...
    function coheUpdateHeaderView()
@@@ -401,41 -313,13 +365,13 @@@
      if (gCoheCollapsedHeaderViewMode)
        showHeaderView(gCoheCollapsedHeaderView);
    
-     if (cohePrefBranch.getBoolPref("headersize.linkify")) {
-       var url = currentHeaderData["content-base"];
-       if(url) {
-           RSSLinkify.newSubject.setAttribute("onclick", "if (!event.button) messenger.launchExternalURL('" + 
-                                                url.headerValue + "');");
-           RSSLinkify.newSubject.setAttribute("value", currentHeaderData["subject"].headerValue);
-           RSSLinkify.newSubject.setAttribute("url", url.headerValue);
-           RSSLinkify.newSubject.setAttribute("collapsed", "false");
-           RSSLinkify.oldSubject.setAttribute("collapsed", "true");
-           RSSLinkify.newSubject.setAttribute("tooltiptext", url.headerValue);
-       } else {
-           RSSLinkify.newSubject.setAttribute("collapsed", "true");
-           RSSLinkify.oldSubject.setAttribute("collapsed", "false");
-           RSSLinkify.oldSubject.setAttribute("tooltiptext", currentHeaderData["subject"].headerValue);
- //          if (gCoheCollapsedHeaderViewMode) {
- //            //linkifySubject('collapsed1LsubjectBox');
- //          }
- //          else {
- //            linkifySubject('expandedsubjectBox');
- //          }
-       }
-     } else {
-       if (RSSLinkify.newSubject) {
-         RSSLinkify.newSubject.setAttribute("collapsed", "true");
-       }
-       if (RSSLinkify.oldSubject) {
-         RSSLinkify.oldSubject.setAttribute("collapsed", "false");
-         RSSLinkify.oldSubject.setAttribute("tooltiptext", currentHeaderData["subject"].headerValue);
-       }
-     }
 -    org.mozdev.compactHeader.RSSLinkify.UpdateHeaderView(currentHeaderData);
++    org.mozdev.compactHeader.RSSLinkify.UpdateHeaderView(document, currentHeaderData);
+     
      if (cohePrefBranch.getBoolPref("headersize.addressstyle")) {
        selectEmailDisplayed();
      }
      
-     //fillToolboxPalette();
 -    //org.mozdev.compactHeader.toolbar.fillToolboxPalette();
++    //org.mozdev.compactHeader.toolbar.fillToolboxPalette(document);
      coheToggleHeaderContent();
      org.mozdev.customizeHeaderToolbar.pane.CHTUpdateReplyButton();
      org.mozdev.customizeHeaderToolbar.pane.CHTUpdateJunkButton();
@@@ -1027,136 -641,11 +694,11 @@@
      // if ((gExtensionManager.getItemForID(COHE_EXTENSION_UUID) == null) || isAddonDisabled(COHE_EXTENSION_UUID)) {
      //  return;
      //}
-     
-     debugLog("before register");
+     org.mozdev.compactHeader.debug.log("before register");
      coheUninstallObserver.register();
-   }
-   
-   function onDoCustomizationHeaderViewToolbox(event) {
-     if (event.attrName == "doCustomization") {
-       dispMUACheck();
-       org.mozdev.compactHeader.buttons.coheToggleStar();
-       var dispMUAicon = document.getElementById("dispMUAicon");
-       if (dispMUAicon) {
-         var evt1 = document.createEvent("MutationEvents");
-         evt1.initMutationEvent("DOMAttrModified",
-             true, false, dispMUAicon,
-             dispMUAicon.getAttribute("src"),
-             dispMUAicon.getAttribute("src"),
-             "src",
-             evt1.MODIFICATION
-         );
-         dispMUAicon.dispatchEvent(evt1);
-         var evt2 = document.createEvent("MutationEvents");
-         evt2.initMutationEvent("DOMAttrModified",
-             true, false, dispMUAicon,
-             dispMUAicon.getAttribute("tooltiptext"),
-             dispMUAicon.getAttribute("tooltiptext"),
-             "tooltiptext",
-             evt2.MODIFICATION
-         );
-         dispMUAicon.dispatchEvent(evt2);
-       }
-       debugLog("onDoCustomizationHeaderViewToolbox done");
-     }
-   }
- 
-   function dispMUACheck() {
-     var dispMUAButton = document.getElementById("button-dispMUA");
-     var dispMUABox = document.getElementById("dispMUA"); 
-     dispMUABox.setAttribute("collapsed", "true"); // hide original
-     var IconContainerDispMUA = null;
-     if (dispMUAButton) {
-       /* expanded view 48 * 48 */
-       if (IconContainerDispMUA = document.getElementById("dispMUAiconExp")) {
-         IconContainerDispMUA.setAttribute("collapsed", "true");
-       }
-       /* two line view 32 * 32 */
-       if (IconContainerDispMUA = document.getElementById("dispMUAicon2line")) {
-         IconContainerDispMUA.setAttribute("collapsed", "true");
-       }
-       /* compact view 24 * 24 */
-       if (IconContainerDispMUA = document.getElementById("dispMUAiconCompact")) {
-         IconContainerDispMUA.setAttribute("collapsed", "true");
-       }
- 
-     }
-     else if (dispMUABox){
- 
-       /* expanded view 48 * 48 */
-       if (IconContainerDispMUA = document.getElementById("dispMUAiconExp")) {
-         IconContainerDispMUA.removeAttribute("collapsed");
-       }
-       if (cohePrefBranch.getBoolPref("headersize.twolineview")) {
-         /* two line view 32 * 32 */
-         if (IconContainerDispMUA = document.getElementById("dispMUAicon2line"))
-           IconContainerDispMUA.removeAttribute("collapsed");
-         if (IconContainerDispMUA = document.getElementById("dispMUAiconCompact"))
-           IconContainerDispMUA.setAttribute("collapsed", "true");
-       }
-       else {
-         /* compact view 24 * 24 */
-         if (IconContainerDispMUA = document.getElementById("dispMUAiconCompact"))
-           IconContainerDispMUA.removeAttribute("collapsed");
-         if (IconContainerDispMUA = document.getElementById("dispMUAicon2line"))
-           IconContainerDispMUA.setAttribute("collapsed", "true");
-       }
-     }
+     org.mozdev.compactHeader.debug.log("after register");
    }
 -  
 +
-   function onChangeDispMUAicon(event) {
-     if (event.attrName == "src") {
-       var imageSrc = document.getElementById("dispMUAicon").getAttribute("src");
-       var IconContainerDispMUA = null;
-       /* toolbar button */
-       if (IconContainerDispMUA = document.getElementById("button-dispMUA")) {
-         IconContainerDispMUA.setAttribute("image", imageSrc);
-       }
-       /* expanded view 48 * 48 */
-       if (IconContainerDispMUA = document.getElementById("dispMUAiconExp")) {
-         IconContainerDispMUA.setAttribute("src", imageSrc);
-       }
-       /* two line view 32 * 32 */
-       if (IconContainerDispMUA = document.getElementById("dispMUAicon2line")) {
-         IconContainerDispMUA.setAttribute("src", imageSrc);
-       }
-       /* compact view 24 * 24 */
-       if (IconContainerDispMUA = document.getElementById("dispMUAiconCompact")) {
-         IconContainerDispMUA.setAttribute("src", imageSrc);
-       }
-     }
-     else if (event.attrName == "tooltiptext") {
-       var tooltipText = document.getElementById("dispMUAicon").getAttribute("tooltiptext");
-       var buttonDispMUA = document.getElementById("button-dispMUA");
-       if (buttonDispMUA) {
-         buttonDispMUA.setAttribute("tooltiptext", tooltipText);
-       }
-       /* expanded view 48 * 48 */
-       if (IconContainerDispMUA = document.getElementById("dispMUAiconExp")) {
-         IconContainerDispMUA.setAttribute("tooltiptext", tooltipText);
-       }
-       /* two line view 32 * 32 */
-       if (IconContainerDispMUA = document.getElementById("dispMUAicon2line")) {
-         IconContainerDispMUA.setAttribute("tooltiptext", tooltipText);
-       }
-       /* compact view 24 * 24 */
-       if (IconContainerDispMUA = document.getElementById("dispMUAiconCompact")) {
-         IconContainerDispMUA.setAttribute("tooltiptext", tooltipText);
-       }
- 
-     }
-   }
-   
- //  function onChangeHeaderToolbar(event) {
- //    if (event.attrName == "currentset") {
- //      if (document.getElementById("button-dispMUA")) {
- //        gDBView.reloadMessage();
- //      }
- //      dispMUACheck();
- //      org.mozdev.compactHeader.buttons.coheToggleStar();
- //    }
- //  }
-   
    var coheUninstallObserver = {
      _uninstall : false,
      observe : function(subject, topic, data) {
diff --cc chrome/CompactHeader/content/toolbar.jsm
index 0000000,1f7d237..282376d
mode 000000,100644..100644
--- a/chrome/CompactHeader/content/toolbar.jsm
+++ b/chrome/CompactHeader/content/toolbar.jsm
@@@ -1,0 -1,299 +1,431 @@@
+ /*# -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
+ # ***** BEGIN LICENSE BLOCK *****
+ # Version: MPL 1.1/GPL 2.0/LGPL 2.1
+ #
+ # The contents of this file are subject to the Mozilla Public License Version
+ # 1.1 (the "License"); you may not use this file except in compliance with
+ # the License. You may obtain a copy of the License at
+ # http://www.mozilla.org/MPL/
+ #
+ # Software distributed under the License is distributed on an "AS IS" basis,
+ # WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+ # for the specific language governing rights and limitations under the
+ # License.
+ #
+ # The Original Code is Mozilla Communicator client code, released
+ # March 31, 1998.
+ #
+ # The Initial Developer of the Original Code is
+ # Netscape Communications Corporation.
+ # Portions created by the Initial Developer are Copyright (C) 1998-1999
+ # the Initial Developer. All Rights Reserved.
+ #
+ # Contributor(s):
+ #   Joachim Herb <joachim.herb at gmx.de>
+ #
+ # Alternatively, the contents of this file may be used under the terms of
+ # either the GNU General Public License Version 2 or later (the "GPL"), or
+ # the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
+ # in which case the provisions of the GPL or the LGPL are applicable instead
+ # of those above. If you wish to allow use of your version of this file only
+ # under the terms of either the GPL or the LGPL, and not to allow others to
+ # use your version of this file under the terms of the MPL, indicate your
+ # decision by deleting the provisions above and replace them with the notice
+ # and other provisions required by the GPL or the LGPL. If you do not delete
+ # the provisions above, a recipient may use your version of this file under
+ # the terms of any one of the MPL, the GPL or the LGPL.
+ #
+ # ***** END LICENSE BLOCK *****
+ */
+ 
+ EXPORTED_SYMBOLS = ["org"];
+ 
+ Components.utils.import("chrome://CompactHeader/content/debug.jsm");
+ 
+ if(!org) var org={};
+ if(!org.mozdev) org.mozdev={};
+ if(!org.mozdev.compactHeader) org.mozdev.compactHeader = {};
+ 
+ 
+ org.mozdev.compactHeader.toolbar = function() {
+   var pub = {};
+ 
+   var cohePrefBranch = Components.classes["@mozilla.org/preferences-service;1"]
+                                           .getService(Components.interfaces.nsIPrefService)
+                                           .getBranch("extensions.CompactHeader.");
+ 
 -  pub.fillToolboxPalette = function (document) {
++  pub.fillToolboxPalette = function (doc) {
+     org.mozdev.compactHeader.debug.log("fillToolboxPalette start");
 -    var hdrToolbar = document.getElementById("header-view-toolbar");
 -    var hdrToolbox = document.getElementById("header-view-toolbox");
++    var hdrToolbar = doc.getElementById("header-view-toolbar");
++    var hdrToolbox = doc.getElementById("header-view-toolbox");
++    removeButtonDispMUA(doc);
+     var buttons = ["button-reply", "button-replyall", "button-replylist", 
+                    "button-tag", "button-forward", "button-archive", "button-file",
+                    "button-print", "button-mark", "button-starMessages",
+                    "button-newmsg", "button-goback", "button-goforward",
+                    "button-previous", "button-next", "button-compact", 
+                    "button-address", "button-stop", "button-getmsg",
+                    "button-getPartialMessages",
+                    "stylish-toolbar-button",
+                    "button-enigmail-decrypt",
+                    // support for https://addons.mozilla.org/thunderbird/addon/buttons/
+                    "RealPreviousMessage", "RealNextMessage", "SelectSMTP",
+                    "ToggleHTML", "ToggleImages", "bDeleteThread",
+                    "mailredirect-toolbarbutton",
+                    // support for https://addons.mozilla.org/thunderbird/addon/realprevnextbuttons/
+                    //"realPrevMessageButton", "realNextMessageButton",
+                    "lightningbutton-convert-to-task",
 -                   "lightningbutton-convert-to-event"];
++                   "lightningbutton-convert-to-event",
++                   "button-dispMUA"];
+     var currentSet=hdrToolbar.getAttribute("currentset");
+     hdrToolbar.currentSet = currentSet;
+     for (var i=0; i<buttons.length; i++) {
+       var buttonName = buttons[i];
 -      var button = document.getElementById(buttonName) || 
 -          document.getElementById("mail-toolbox").palette.getElementsByAttribute("id", buttonName)[0];
++      var button = doc.getElementById(buttonName) || 
++          doc.getElementById("mail-toolbox").palette.getElementsByAttribute("id", buttonName)[0];
+       if (button) {
+         var hdrButton = button.cloneNode(true);
+         if (hdrButton) {
+           if (hdrButton.localName == "toolbaritem") {
+             var subButtons = hdrButton.querySelectorAll(".toolbarbutton-1");
+             for (var j=0; j<subButtons.length; j++) {
+               addClass(subButtons[j], "msgHeaderView-button-out");
+             }
+           } else {
+             if (hdrButton.type != "menu-button") {
+               addClass(hdrButton, "msgHeaderView-button");
+             } else {
+               addClass(hdrButton, "msgHeaderView-button-out");
+             }
+           }
+           //hdrButton.id = "hdr" + hdrButton.id;
+           hdrToolbox.palette.appendChild(hdrButton);
 -  /*        var bStyle = document.defaultView.getComputedStyle(button, null);
++  /*        var bStyle = doc.defaultView.getComputedStyle(button, null);
+           hdrButton.style.MozImageRegion = bStyle.MozImageRegion;
+           hdrButton.style.listStyleImage = bStyle.listStyleImage;*/
+         }
+         if (currentSet.indexOf(buttonName)>=0) {
+           var result = hdrToolbar.insertItem(hdrButton.id);
+           currentSet = hdrToolbar.getAttribute("currentset");
+           hdrToolbar.currentSet = currentSet;
+         }
+       }
+     }
+ 
+     var buttonsRemove = ["hdrForwardButton", "hdrArchiveButton",
+                          "hdrReplyToSenderButton"];//, "hdrReplyButton",
+                          //"hdrReplyAllButton", "hdrReplyListButton"];
+     for (var i=0; i<buttonsRemove.length; i++) {
+       var buttonName = buttonsRemove[i];
 -      var button = document.getElementById(buttonName) || 
 -          document.getElementById("header-view-toolbox").palette.getElementsByAttribute("id", buttonName)[0];
++      var button = doc.getElementById(buttonName) || 
++          doc.getElementById("header-view-toolbox").palette.getElementsByAttribute("id", buttonName)[0];
+       if (button) {
+         button.setAttribute("collapsed", "true");
+       }
+     }
+     
+     var target = "hdrOtherActionsButton";
+     
 -    var newParent = document.getElementById(target) || 
 -        document.getElementById("header-view-toolbox").palette.getElementsByAttribute("id", target)[0];
++    var newParent = doc.getElementById(target) || 
++        doc.getElementById("header-view-toolbox").palette.getElementsByAttribute("id", target)[0];
+   
+     if (newParent != null) {
+       var myElement;
 -      myElement= document.getElementById("otherActionsPopup");
++      myElement= doc.getElementById("otherActionsPopup");
+       if (myElement) {
+         newParent.appendChild(myElement);
+       }
+     }
+     org.mozdev.compactHeader.debug.log("fillToolboxPalette stop");
+   };
+ 
 -  pub.setButtonStyle = function(document) {
++  pub.setButtonStyle = function(doc) {
+     org.mozdev.compactHeader.debug.log("setButtonStyle start");
 -    var hdrToolbar = document.getElementById("header-view-toolbar");
 -    var hdrToolbox = document.getElementById("header-view-toolbox");
++    var hdrToolbar = doc.getElementById("header-view-toolbar");
++    var hdrToolbox = doc.getElementById("header-view-toolbox");
+     var buttons = hdrToolbar.querySelectorAll("toolbarbutton");
+     for (var i=0; i<buttons.length; i++) {
+       var button = buttons[i];
+       if (button) {
+         addClass(button, "customize-header-toolbar-button");
+         addClass(button, "customize-header-toolbar-" + button.id)
+         if (cohePrefBranch.getBoolPref("headersize.flatButtons")) {
+           if (button.type != "menu-button") {
+             addClass(button, "msgHeaderView-flat-button");
+           } else {
+             removeClass(button, "msgHeaderView-flat-button");
+             removeClass(button, "msgHeaderView-button");
+             removeClass(button, "msgHeaderView-button-out");
+             addClass(button,    "msgHeaderView-flat-button-out");
+           }
+         } else {
+           if (button.type != "menu-button") {
+             removeClass(button, "msgHeaderView-flat-button");
+           } else {
+             removeClass(button, "msgHeaderView-flat-button");
+             removeClass(button, "msgHeaderView-button");
+             removeClass(button, "msgHeaderView-flat-button-out");
+             addClass(button,    "msgHeaderView-button-out");
+           }
+         }
+       }
+     }
+ 
+     org.mozdev.compactHeader.debug.log("setButtonStyle start 1");
+ 
+     var buttons = hdrToolbar.querySelectorAll("toolbaritem");
+     for (var i=0; i<buttons.length; i++) {
+       var button = buttons[i];
+       if (button) {
+         addClass(button, "customize-header-toolbar-button");
+         addClass(button, "customize-header-toolbar-" + button.id)
+         if (cohePrefBranch.getBoolPref("headersize.flatButtons")) {
+           removeClass(button, "msgHeaderView-button-out-item");
+           addClass(button,    "msgHeaderView-flat-button-out-item");
+         } else {
+           removeClass(button, "msgHeaderView-flat-button-out-item");
+           addClass(button,    "msgHeaderView-button-out-item");
+         }
+       }
+     }
+     
+     buttons = hdrToolbox.palette.querySelectorAll("toolbarbutton");
+     for (var i=0; i<buttons.length; i++) {
+       var button = buttons[i];
+       if (button) {
+         addClass(button, "customize-header-toolbar-button");
+         addClass(button, "customize-header-toolbar-" + button.id)
+         if (cohePrefBranch.getBoolPref("headersize.flatButtons")) {
+           if (button.getAttribute("type") != "menu-button") {
+             addClass(button, "msgHeaderView-flat-button");
+           } else {
+             removeClass(button, "msgHeaderView-flat-button");
+             removeClass(button, "msgHeaderView-button");
+             removeClass(button, "msgHeaderView-button-out");
+             addClass(button,    "msgHeaderView-flat-button-out");
+           }
+         } else {
+           if (button.getAttribute("type") != "menu-button") {
+             removeClass(button, "msgHeaderView-flat-button");
+           } else {
+             removeClass(button, "msgHeaderView-flat-button");
+             removeClass(button, "msgHeaderView-button");
+             removeClass(button, "msgHeaderView-flat-button-out");
+             addClass(button,    "msgHeaderView-button-out");
+           }
+         }
+       }
+     }
+     org.mozdev.compactHeader.debug.log("setButtonStyle start 2");
+ 
+     buttons = hdrToolbox.palette.querySelectorAll("toolbaritem");
+     for (var i=0; i<buttons.length; i++) {
+       var button = buttons[i];
+       if (button) {
+         addClass(button, "customize-header-toolbar-button");
+         addClass(button, "customize-header-toolbar-" + button.id)
+         if (cohePrefBranch.getBoolPref("headersize.flatButtons")) {
+           removeClass(button, "msgHeaderView-button-out-item");
+           addClass(button,    "msgHeaderView-flat-button-out-item");
+         } else {
+           removeClass(button, "msgHeaderView-flat-button-out-item");
+           addClass(button,    "msgHeaderView-button-out-item");
+         }
+       }
+     }
+     org.mozdev.compactHeader.debug.log("setButtonStyle stop");
+   };
+   
 -  pub.toggle = function(document, aHeaderViewMode) {
 -    var hdrToolbox = document.getElementById("header-view-toolbox");
 -    var hdrToolbar = document.getElementById("header-view-toolbar");
 -    var strHideLabel = document.getElementById("CoheHideDetailsLabel").value;
 -    var strShowLabel = document.getElementById("CoheShowDetailsLabel").value;
++  pub.toggle = function(doc, aHeaderViewMode) {
++    org.mozdev.compactHeader.debug.log("toolbar toggle start");
++    var hdrToolbox = doc.getElementById("header-view-toolbox");
++    var hdrToolbar = doc.getElementById("header-view-toolbar");
+     var firstPermanentChild = hdrToolbar.firstPermanentChild;
+     var lastPermanentChild = hdrToolbar.lastPermanentChild;
+     if (aHeaderViewMode) {
 -      strLabel = strShowLabel;
 -      var cBox = document.getElementById("collapsed2LButtonBox");
++      var cBox = doc.getElementById("collapsed2LButtonBox");
+       if (cBox.parentNode.id != hdrToolbox.parentNode.id) {
+         var cloneToolboxPalette;
+         var cloneToolbarset;
+         if (hdrToolbox.palette) {
+           cloneToolboxPalette = hdrToolbox.palette.cloneNode(true);
+         }
+         if (hdrToolbox.toolbarset) {
+           cloneToolbarset = hdrToolbox.toolbarset.cloneNode(true);
+         }
+         cBox.parentNode.insertBefore(hdrToolbox, cBox);
+         hdrToolbox.palette  = cloneToolboxPalette;
+         hdrToolbox.toolbarset = cloneToolbarset;
 -        hdrToolbar = document.getElementById("header-view-toolbar");
++        hdrToolbar = doc.getElementById("header-view-toolbar");
+         hdrToolbar.firstPermanentChild = firstPermanentChild;
+         hdrToolbar.lastPermanentChild = lastPermanentChild;
+       }
+     } else {
 -      strLabel = strHideLabel;
 -      var cBox = document.getElementById("expandedHeaders");
++      var cBox = doc.getElementById("expandedHeaders");
+       if (cBox.parentNode.id != hdrToolbox.parentNode.id) {
+         var cloneToolboxPalette;
+         var cloneToolbarset;
+         if (hdrToolbox.palette) {
+           cloneToolboxPalette = hdrToolbox.palette.cloneNode(true);
+         }
+         if (hdrToolbox.toolbarset) {
+           cloneToolbarset = hdrToolbox.toolbarset.cloneNode(true);
+         }
+         cBox.parentNode.appendChild(hdrToolbox);
+         hdrToolbox.palette = cloneToolboxPalette;
+         hdrToolbox.toolbarset = cloneToolbarset;
 -        hdrToolbar = document.getElementById("header-view-toolbar");
++        hdrToolbar = doc.getElementById("header-view-toolbar");
+         hdrToolbar.firstPermanentChild = firstPermanentChild;
+         hdrToolbar.lastPermanentChild = lastPermanentChild;
+       }
+     }
++    org.mozdev.compactHeader.debug.log("toolbar toggle stop");
++  };
++
++  pub.dispMUACheck = function(doc) {
++    org.mozdev.compactHeader.debug.log("dispMUACheck start");
++    var dispMUAButton = doc.getElementById("button-dispMUA");
++    var dispMUABox = doc.getElementById("dispMUA"); 
++    dispMUABox.setAttribute("collapsed", "true"); // hide original
++    var IconContainerDispMUA = null;
++    if (dispMUAButton) {
++      /* expanded view 48 * 48 */
++      if (IconContainerDispMUA = doc.getElementById("dispMUAiconExp")) {
++        IconContainerDispMUA.setAttribute("collapsed", "true");
++      }
++      /* two line view 32 * 32 */
++      if (IconContainerDispMUA = doc.getElementById("dispMUAicon2line")) {
++        IconContainerDispMUA.setAttribute("collapsed", "true");
++      }
++      /* compact view 24 * 24 */
++      if (IconContainerDispMUA = doc.getElementById("dispMUAiconCompact")) {
++        IconContainerDispMUA.setAttribute("collapsed", "true");
++      }
++
++    }
++    else if (dispMUABox){
++
++      /* expanded view 48 * 48 */
++      if (IconContainerDispMUA = doc.getElementById("dispMUAiconExp")) {
++        IconContainerDispMUA.removeAttribute("collapsed");
++      }
++      if (cohePrefBranch.getBoolPref("headersize.twolineview")) {
++        /* two line view 32 * 32 */
++        if (IconContainerDispMUA = doc.getElementById("dispMUAicon2line"))
++          IconContainerDispMUA.removeAttribute("collapsed");
++        if (IconContainerDispMUA = doc.getElementById("dispMUAiconCompact"))
++          IconContainerDispMUA.setAttribute("collapsed", "true");
++      }
++      else {
++        /* compact view 24 * 24 */
++        if (IconContainerDispMUA = doc.getElementById("dispMUAiconCompact"))
++          IconContainerDispMUA.removeAttribute("collapsed");
++        if (IconContainerDispMUA = doc.getElementById("dispMUAicon2line"))
++          IconContainerDispMUA.setAttribute("collapsed", "true");
++      }
++    }
++    org.mozdev.compactHeader.debug.log("dispMUACheck stop");
++  };
++
++  pub.onChangeDispMUAicon = function(event) {
++    if (event.attrName == "src") {
++      org.mozdev.compactHeader.debug.log("onChangeDispMUAicon start");
++      var doc = event.originalTarget.ownerDocument;
++      if (!doc) {
++        org.mozdev.compactHeader.debug.log("onChangeDispMUAicon: no document!");
++        return;
++      }
++      var imageSrc = doc.getElementById("dispMUAicon").getAttribute("src");
++      var IconContainerDispMUA = null;
++      /* toolbar button */
++      if (IconContainerDispMUA = doc.getElementById("button-dispMUA")) {
++        IconContainerDispMUA.setAttribute("image", imageSrc);
++      }
++      /* expanded view 48 * 48 */
++      if (IconContainerDispMUA = doc.getElementById("dispMUAiconExp")) {
++        IconContainerDispMUA.setAttribute("src", imageSrc);
++      }
++      /* two line view 32 * 32 */
++      if (IconContainerDispMUA = doc.getElementById("dispMUAicon2line")) {
++        IconContainerDispMUA.setAttribute("src", imageSrc);
++      }
++      /* compact view 24 * 24 */
++      if (IconContainerDispMUA = doc.getElementById("dispMUAiconCompact")) {
++        IconContainerDispMUA.setAttribute("src", imageSrc);
++      }
++      org.mozdev.compactHeader.debug.log("onChangeDispMUAicon stop");
++    }
++    else if (event.attrName == "tooltiptext") {
++      org.mozdev.compactHeader.debug.log("onChangeDispMUAicon start");
++      var doc = event.originalTarget.ownerDocument;
++      if (!doc) {
++        org.mozdev.compactHeader.debug.log("onChangeDispMUAicon: no document!");
++        return;
++      }
++      var tooltipText = doc.getElementById("dispMUAicon").getAttribute("tooltiptext");
++      var buttonDispMUA = doc.getElementById("button-dispMUA");
++      if (buttonDispMUA) {
++        buttonDispMUA.setAttribute("tooltiptext", tooltipText);
++      }
++      /* expanded view 48 * 48 */
++      if (IconContainerDispMUA = doc.getElementById("dispMUAiconExp")) {
++        IconContainerDispMUA.setAttribute("tooltiptext", tooltipText);
++      }
++      /* two line view 32 * 32 */
++      if (IconContainerDispMUA = doc.getElementById("dispMUAicon2line")) {
++        IconContainerDispMUA.setAttribute("tooltiptext", tooltipText);
++      }
++      /* compact view 24 * 24 */
++      if (IconContainerDispMUA = doc.getElementById("dispMUAiconCompact")) {
++        IconContainerDispMUA.setAttribute("tooltiptext", tooltipText);
++      }
++      org.mozdev.compactHeader.debug.log("onChangeDispMUAicon stop");
++    }
++  };
++  
++//  function onChangeHeaderToolbar(event) {
++//    if (event.attrName == "currentset") {
++//      if (doc.getElementById("button-dispMUA")) {
++//        gDBView.reloadMessage();
++//      }
++//      dispMUACheck();
++//      org.mozdev.compactHeader.buttons.coheToggleStar();
++//    }
++//  }
++  
++  removeButtonDispMUA = function(doc) {
++    org.mozdev.compactHeader.debug.log("removeButtonDispMUA start");
++    if (!doc.getElementById("dispMUA")) {
++      var button = doc.getElementById("button-dispMUA");
++      if (button) {
++        button.parentNode.removeChild(button);
++      }
++      
++      var button1 = doc.getElementById("mail-toolbox").palette.getElementsByAttribute("id", "button-dispMUA")[0];
++      if (button1) {
++        button1.parentNode.removeChild(button1);
++      }
++
++      var button2 = doc.getElementById("header-view-toolbox").palette.getElementsByAttribute("id", "button-dispMUA")[0];
++      if (button2) {
++        button2.parentNode.removeChild(button2);
++      }
++    }
++    org.mozdev.compactHeader.debug.log("removeButtonDispMUA stop");
+   };
+   
+   function addClass(el, strClass) {
+     var testnew = new RegExp('\\b'+strClass+'\\b').test(el.className);  
+     if (!testnew) {
+       el.className += el.className?' '+strClass:strClass;
+     }
+   }
+   
+   function removeClass(el, strClass) {
+     var str = new RegExp('(\\s|^)'+strClass+'(\\s|$)', 'g');
+     el.className = el.className.replace(str, ' ');
+   }
+   
+ 
+   return pub;
+ }();
diff --cc install.rdf
index 125b267,fd10e89..49121c0
--- a/install.rdf
+++ b/install.rdf
@@@ -6,7 -6,7 +6,7 @@@
  
  	<RDF:Description about="urn:mozilla:install-manifest">
  		<em:name>CompactHeader</em:name>
- 		<em:version>1.4.1beta1</em:version>
 -		<em:version>1.4.1</em:version>
++		<em:version>1.4.2beta1</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