[Pkg-mozext-commits] [compactheader] 217/441: New version 1.4.1: Added compatibility for Thunderbird 6.* Fixed bug for popup menu for linkified subjects Split up code into modules.
David Prévot
taffit at moszumanska.debian.org
Wed Mar 18 12:29:00 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 d4698c80d3171f0cdbd308f91a3ada0f8d5e999f
Author: joachim <none at none>
Date: Thu Jul 21 18:59:28 2011 +0200
New version 1.4.1:
Added compatibility for Thunderbird 6.*
Fixed bug for popup menu for linkified subjects
Split up code into modules.
---
chrome/CompactHeader/content/RSSLinkify.jsm | 187 +++++++++
.../CompactHeader/content/compactHeaderOverlay.js | 417 ++-------------------
.../CompactHeader/content/compactHeaderOverlay.xul | 14 +-
chrome/CompactHeader/content/debug.jsm | 75 ++++
chrome/CompactHeader/content/toolbar.jsm | 299 +++++++++++++++
install.rdf | 4 +-
6 files changed, 607 insertions(+), 389 deletions(-)
diff --git a/chrome/CompactHeader/content/RSSLinkify.jsm b/chrome/CompactHeader/content/RSSLinkify.jsm
new file mode 100644
index 0000000..c768ebe
--- /dev/null
+++ b/chrome/CompactHeader/content/RSSLinkify.jsm
@@ -0,0 +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) {
+ 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');
+// }
+// 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.debug.log("updateheaderview stop");
+ };
+
+ pub.InitializeHeaderViewTables = function(document) {
+ 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");
+ 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");
+ } else {
+ RSSLinkify.oldSubject = document.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);
+ 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;
+ }
+ 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); }
+ }
+ }
+
+ 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 --git a/chrome/CompactHeader/content/compactHeaderOverlay.js b/chrome/CompactHeader/content/compactHeaderOverlay.js
index 74cb73c..347b87d 100644
--- a/chrome/CompactHeader/content/compactHeaderOverlay.js
+++ b/chrome/CompactHeader/content/compactHeaderOverlay.js
@@ -55,6 +55,10 @@ if(!org) var org={};
if(!org.mozdev) org.mozdev={};
if(!org.mozdev.compactHeader) org.mozdev.compactHeader = {};
+Components.utils.import("chrome://CompactHeader/content/RSSLinkify.jsm");
+Components.utils.import("chrome://CompactHeader/content/debug.jsm");
+Components.utils.import("chrome://CompactHeader/content/toolbar.jsm");
+
org.mozdev.compactHeader.pane = function() {
var pub = {};
@@ -68,9 +72,6 @@ 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
* msgHdrViewOverlay.js for details of the field definition semantics.
@@ -92,14 +93,7 @@ org.mozdev.compactHeader.pane = function() {
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
- };
-
+
var cohe={
version: -1,
firstrun: true,
@@ -187,27 +181,12 @@ org.mozdev.compactHeader.pane = function() {
}
}
- if (cohePrefBranch.getBoolPref("headersize.linkify")) {
- RSSLinkify.newSubject = document.getElementById("collapsedsubjectlinkBox") || document.createElement("label");
- 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");
- if (cohePrefBranch.getBoolPref("headersize.twolineview")) {
- RSSLinkify.oldSubject = document.getElementById("collapsed2LsubjectBox");
- } else {
- RSSLinkify.oldSubject = document.getElementById("collapsed1LsubjectBox");
- }
- RSSLinkify.oldSubject.parentNode.insertBefore(RSSLinkify.newSubject, RSSLinkify.oldSubject);
- }
+ org.mozdev.compactHeader.RSSLinkify.InitializeHeaderViewTables(document);
}
pub.coheOnLoadMsgHeaderPane = function() {
- debugLog("start coheOnLoadMsgHeaderPane");
+ org.mozdev.compactHeader.debug.log("start coheOnLoadMsgHeaderPane");
+
coheInitializeHeaderViewTables();
// Add an address book listener so we can update the header view when things
@@ -243,7 +222,7 @@ org.mozdev.compactHeader.pane = function() {
coheFirstTime = false;
gMessageListeners.push(coheMessageListener);
org.mozdev.customizeHeaderToolbar.messenger.loadToolboxData();
- fillToolboxPalette();
+ org.mozdev.compactHeader.toolbar.fillToolboxPalette(document);
org.mozdev.customizeHeaderToolbar.messenger.saveToolboxData();
var toolbox = document.getElementById("header-view-toolbox");
toolbox.customizeDone = function(aEvent) {
@@ -262,7 +241,7 @@ org.mozdev.compactHeader.pane = function() {
}
coheToggleHeaderContent();
- setButtonStyle();
+ org.mozdev.compactHeader.toolbar.setButtonStyle(document);
org.mozdev.customizeHeaderToolbar.messenger.saveToolboxData();
}
@@ -327,54 +306,6 @@ org.mozdev.compactHeader.pane = function() {
});
}
- 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;
- }
- 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); }
- }
- }
-
-
// make sure the appropriate fields within the currently displayed view header mode
// are collapsed or visible...
function coheUpdateHeaderView()
@@ -382,41 +313,13 @@ org.mozdev.compactHeader.pane = function() {
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);
+
if (cohePrefBranch.getBoolPref("headersize.addressstyle")) {
selectEmailDisplayed();
}
- //fillToolboxPalette();
+ //org.mozdev.compactHeader.toolbar.fillToolboxPalette();
coheToggleHeaderContent();
org.mozdev.customizeHeaderToolbar.pane.CHTUpdateReplyButton();
org.mozdev.customizeHeaderToolbar.pane.CHTUpdateJunkButton();
@@ -432,179 +335,6 @@ org.mozdev.compactHeader.pane = function() {
}
}
}
-
- function fillToolboxPalette() {
- var hdrToolbar = document.getElementById("header-view-toolbar");
- var hdrToolbox = document.getElementById("header-view-toolbox");
- 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"];
- 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];
- 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);
- 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];
- if (button) {
- button.setAttribute("collapsed", "true");
- }
- }
-
- var target = "hdrOtherActionsButton";
-
- var newParent = document.getElementById(target) ||
- document.getElementById("header-view-toolbox").palette.getElementsByAttribute("id", target)[0];
-
- if (newParent != null) {
- var myElement;
- myElement= document.getElementById("otherActionsPopup");
- if (myElement) {
- newParent.appendChild(myElement);
- }
- }
- }
-
- function setButtonStyle() {
- var hdrToolbar = document.getElementById("header-view-toolbar");
- var hdrToolbox = document.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");
- }
- }
- }
- }
-
- 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");
- }
- }
- }
- }
-
- 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");
- }
- }
- }
- }
pub.coheToggleHeaderView = function() {
gCoheCollapsedHeaderViewMode = !gCoheCollapsedHeaderViewMode;
@@ -676,7 +406,7 @@ org.mozdev.compactHeader.pane = function() {
}
org.mozdev.customizeHeaderToolbar.messenger.loadToolboxData();
-
+
if (gCoheCollapsedHeaderViewMode) {
strLabel = strShowLabel;
} else {
@@ -687,49 +417,7 @@ org.mozdev.compactHeader.pane = function() {
document.getElementById("hideDetailsMenu").setAttribute("label", strLabel);
}
- var hdrToolbox = document.getElementById("header-view-toolbox");
- var hdrToolbar = document.getElementById("header-view-toolbar");
- var firstPermanentChild = hdrToolbar.firstPermanentChild;
- var lastPermanentChild = hdrToolbar.lastPermanentChild;
- if (gCoheCollapsedHeaderViewMode) {
- strLabel = strShowLabel;
- var cBox = document.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.firstPermanentChild = firstPermanentChild;
- hdrToolbar.lastPermanentChild = lastPermanentChild;
- }
- } else {
- strLabel = strHideLabel;
- var cBox = document.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.firstPermanentChild = firstPermanentChild;
- hdrToolbar.lastPermanentChild = lastPermanentChild;
- }
- }
+ org.mozdev.compactHeader.toolbar.toggle(document, gCoheCollapsedHeaderViewMode);
if (document.getElementById("hideDetailsMenu")) {
document.getElementById("hideDetailsMenu").setAttribute("label", strLabel);
@@ -789,32 +477,7 @@ org.mozdev.compactHeader.pane = function() {
// now update the view to make sure the right elements are visible
coheUpdateHeaderView();
}
-
- 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, ' ');
- }
-
- function CoheCopyWebsiteAddress(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);
- }
- }
-
+
function selectEmailDisplayed() {
var xulemail = document.getElementById("collapsedtoCcBccBox");
if (xulemail != null) {
@@ -901,9 +564,9 @@ org.mozdev.compactHeader.pane = function() {
.getService(Components.interfaces.nsIXULAppInfo);
var versionChecker = Components.classes["@mozilla.org/xpcom/version-comparator;1"]
.getService(Components.interfaces.nsIVersionComparator);
-// debugLog("first run 0");
+// org.mozdev.compactHeader.debug.log("first run 0");
if(versionChecker.compare(appInfo.version, "3.2a1pre") < 0) {
-// debugLog("firstrun 1");
+// org.mozdev.compactHeader.debug.log("firstrun 1");
cohe.version = -1;
cohe.firstrun = false;
cohe.gExtensionManager = Components.classes["@mozilla.org/extensions/manager;1"].getService(Components.interfaces.nsIExtensionManager);
@@ -912,7 +575,7 @@ org.mozdev.compactHeader.pane = function() {
return;
}
- var debugLevel = gCurrentLogLevel;
+ var debugLevel = org.mozdev.compactHeader.debug.getLogLevel();
cohe.current = cohe.gExtensionManager.getItemForID(COHE_EXTENSION_UUID).version;
try{
cohe.version = cohePrefBranch.getCharPref("version");
@@ -932,16 +595,16 @@ org.mozdev.compactHeader.pane = function() {
// XXX
}
cohe.firstrun = false;
- gCurrentLogLevel = debugLevel;
- cohePrefBranch.setIntPref("debugLevel", gCurrentLogLevel);
+ org.mozdev.compactHeader.debug.setLogLevel(debugLevel);
+ cohePrefBranch.setIntPref("debugLevel", debugLevel);
}
}
else {
- //debugLog("firstrun 3");
+ //org.mozdev.compactHeader.debug.log("firstrun 3");
Components.utils.import("resource://gre/modules/AddonManager.jsm");
AddonManager.getAddonByID(COHE_EXTENSION_UUID,
function(myAddon) {
-// debugLog("first run 2");
+// org.mozdev.compactHeader.debug.log("first run 2");
cohe.version = -1;
cohe.firstrun = false;
cohe.current = myAddon.version;
@@ -952,7 +615,7 @@ org.mozdev.compactHeader.pane = function() {
} finally {
//check for first run
if (cohe.firstrun){
-// debugLog("first run 2c");
+// org.mozdev.compactHeader.debug.log("first run 2c");
org.mozdev.customizeHeaderToolbar.pane.CHTSetDefaultButtons();
cohePrefBranch.setBoolPref("firstrun",false);
cohePrefBranch.setCharPref("version",cohe.current);
@@ -963,24 +626,14 @@ org.mozdev.compactHeader.pane = function() {
// XXX
}
cohe.firstrun = false;
- debugLog("first run 2d");
+ org.mozdev.compactHeader.debug.log("first run 2d");
}
}
);
}
-// debugLog("firstrun 4");
+// org.mozdev.compactHeader.debug.log("firstrun 4");
}
-
- 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);
@@ -988,9 +641,9 @@ org.mozdev.compactHeader.pane = function() {
// if ((gExtensionManager.getItemForID(COHE_EXTENSION_UUID) == null) || isAddonDisabled(COHE_EXTENSION_UUID)) {
// return;
//}
-
- debugLog("before register");
+ org.mozdev.compactHeader.debug.log("before register");
coheUninstallObserver.register();
+ org.mozdev.compactHeader.debug.log("after register");
}
var coheUninstallObserver = {
@@ -1000,7 +653,7 @@ org.mozdev.compactHeader.pane = function() {
subject.QueryInterface(Components.interfaces.nsIUpdateItem);
if (subject.id == COHE_EXTENSION_UUID) {
- debugLog("uninstalling COHE 1");
+ org.mozdev.compactHeader.debug.log("uninstalling COHE 1");
if (data == "item-uninstalled") {
this._uninstall = true;
} else if (data == "item-cancel-action") {
@@ -1008,7 +661,7 @@ org.mozdev.compactHeader.pane = function() {
}
}
} else if (topic == "quit-application-granted") {
- debugLog("uninstalling COHE 2");
+ org.mozdev.compactHeader.debug.log("uninstalling COHE 2");
if (this._uninstall) {
cohePrefBranch.deleteBranch("");
org.mozdev.customizeHeaderToolbar.pane.CHTCleanupButtons();
@@ -1029,28 +682,28 @@ org.mozdev.compactHeader.pane = function() {
},
register : function() {
- debugLog("register uninstall start");
+ org.mozdev.compactHeader.debug.log("register uninstall start");
var observerService =
Components.classes["@mozilla.org/observer-service;1"].
getService(Components.interfaces.nsIObserverService);
- debugLog("register uninstall start 1");
+ org.mozdev.compactHeader.debug.log("register uninstall start 1");
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");
+ org.mozdev.compactHeader.debug.log("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");
+ org.mozdev.compactHeader.debug.log("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");
+ org.mozdev.compactHeader.debug.log("register uninstall neu 2");
}
},
unregister : function() {
diff --git a/chrome/CompactHeader/content/compactHeaderOverlay.xul b/chrome/CompactHeader/content/compactHeaderOverlay.xul
index 0547afc..5ac9155 100644
--- a/chrome/CompactHeader/content/compactHeaderOverlay.xul
+++ b/chrome/CompactHeader/content/compactHeaderOverlay.xul
@@ -22,6 +22,9 @@
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<script type="application/javascript" src="chrome://CompactHeader/content/compactHeaderOverlay.js"/>
+ <script type="application/x-javascript"
+ src="chrome://CompactHeader/content/CHTMessenger.js"/>
+ <script type="application/javascript" src="chrome://CompactHeader/content/buttonsOverlay.js"/>
<keyset>
<key id="hideDetailsKey"
@@ -30,11 +33,11 @@
oncommand="org.mozdev.compactHeader.pane.coheToggleHeaderView();"/>
</keyset>
- <popup id="header-toolbar-context-menu">
+ <menupopup id="header-toolbar-context-menu">
<menuitem id="hidecohePreferencesButton"
label="&dialog.title;"
oncommand="openDialog('chrome://CompactHeader/content/preferences.xul', 'prefs', 'chrome,resizable=no,centerscreen,modal');"/>
- </popup>
+ </menupopup>
<deck id="msgHeaderViewDeck">
@@ -118,9 +121,10 @@
</vbox>
<vbox id="collapsedHeaderView" orient="horizontal" flex="1">
- <popup id="CohecopyUrlPopup" popupanchor="bottomleft">
- <menuitem label="©LinkCmd.label;" accesskey="©LinkCmd.accesskey;" oncommand="CoheCopyWebsiteAddress(document.popupNode)"/>
- </popup>
+ <menupopup id="CohecopyUrlPopup" popupanchor="bottomleft">
+ <menuitem label="©LinkCmd.label;" accesskey="©LinkCmd.accesskey;"
+ oncommand="org.mozdev.compactHeader.RSSLinkify.CoheCopyWebsiteAddress(document.popupNode)"/>
+ </menupopup>
<vbox id="showDetailsButtonBox" align="start" flex="0">
<button id="showDetailsButton"
tooltiptext="&showDetailsButton.label;"
diff --git a/chrome/CompactHeader/content/debug.jsm b/chrome/CompactHeader/content/debug.jsm
new file mode 100644
index 0000000..9808b2a
--- /dev/null
+++ b/chrome/CompactHeader/content/debug.jsm
@@ -0,0 +1,75 @@
+/*# -*- 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"];
+
+if(!org) var org={};
+if(!org.mozdev) org.mozdev={};
+if(!org.mozdev.compactHeader) org.mozdev.compactHeader = {};
+
+org.mozdev.compactHeader.debug = function() {
+ var pub = {};
+
+ var cohePrefBranch = Components.classes["@mozilla.org/preferences-service;1"]
+ .getService(Components.interfaces.nsIPrefService)
+ .getBranch("extensions.CompactHeader.");
+ var aConsoleService = Components.classes["@mozilla.org/consoleservice;1"]
+ .getService(Components.interfaces.nsIConsoleService);
+
+ var LOGLEVEL = {"debug": 0, "info":1, "warn": 2, "error": 3};
+ var gCurrentLogLevel = LOGLEVEL.debug; // TODO: Set to info
+
+ pub.log = function(str, logLevel) {
+ if (!logLevel) var logLevel = LOGLEVEL.debug;
+ if (logLevel >= gCurrentLogLevel) {
+ aConsoleService.logStringMessage(Date() + " CH: " + str);
+ }
+ };
+
+ pub.setLogLevel = function(logLevel) {
+ gCurrentLogLevel = logLevel;
+ };
+
+ pub.getLogLevel = function() {
+ return gCurrentLogLevel;
+ };
+
+ return pub;
+}();
diff --git a/chrome/CompactHeader/content/toolbar.jsm b/chrome/CompactHeader/content/toolbar.jsm
new file mode 100644
index 0000000..1f7d237
--- /dev/null
+++ b/chrome/CompactHeader/content/toolbar.jsm
@@ -0,0 +1,299 @@
+/*# -*- 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) {
+ org.mozdev.compactHeader.debug.log("fillToolboxPalette start");
+ var hdrToolbar = document.getElementById("header-view-toolbar");
+ var hdrToolbox = document.getElementById("header-view-toolbox");
+ 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"];
+ 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];
+ 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);
+ 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];
+ if (button) {
+ button.setAttribute("collapsed", "true");
+ }
+ }
+
+ var target = "hdrOtherActionsButton";
+
+ var newParent = document.getElementById(target) ||
+ document.getElementById("header-view-toolbox").palette.getElementsByAttribute("id", target)[0];
+
+ if (newParent != null) {
+ var myElement;
+ myElement= document.getElementById("otherActionsPopup");
+ if (myElement) {
+ newParent.appendChild(myElement);
+ }
+ }
+ org.mozdev.compactHeader.debug.log("fillToolboxPalette stop");
+ };
+
+ pub.setButtonStyle = function(document) {
+ org.mozdev.compactHeader.debug.log("setButtonStyle start");
+ var hdrToolbar = document.getElementById("header-view-toolbar");
+ var hdrToolbox = document.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;
+ var firstPermanentChild = hdrToolbar.firstPermanentChild;
+ var lastPermanentChild = hdrToolbar.lastPermanentChild;
+ if (aHeaderViewMode) {
+ strLabel = strShowLabel;
+ var cBox = document.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.firstPermanentChild = firstPermanentChild;
+ hdrToolbar.lastPermanentChild = lastPermanentChild;
+ }
+ } else {
+ strLabel = strHideLabel;
+ var cBox = document.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.firstPermanentChild = firstPermanentChild;
+ hdrToolbar.lastPermanentChild = lastPermanentChild;
+ }
+ }
+ };
+
+ 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 --git a/install.rdf b/install.rdf
index 07f11fb..fd10e89 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.4.0</em:version>
+ <em:version>1.4.1</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>
@@ -23,7 +23,7 @@
<RDF:Description>
<em:id>{3550f703-e582-4d05-9a08-453d09bdfdc6}</em:id>
<em:minVersion>3.1</em:minVersion>
- <em:maxVersion>5.0b2pre</em:maxVersion>
+ <em:maxVersion>6.*</em:maxVersion>
</RDF:Description>
</em:targetApplication>
</RDF:Description>
--
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