[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