[Pkg-mozext-commits] [compactheader] 84/441: New version 0.99.3: When installing show default buttons When uninstalling clean up
David Prévot
taffit at moszumanska.debian.org
Wed Mar 18 12:28:46 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 d81edc83e561e0a758bdc0bc324b806a6b4d6174
Author: joachim.herb <none at none>
Date: Sat Oct 31 02:06:05 2009 +0000
New version 0.99.3:
When installing show default buttons
When uninstalling clean up
---
.../CompactHeader/content/compactHeaderOverlay.js | 136 ++++++++++++--
.../CompactHeader/content/compactHeaderOverlay.xul | 209 ++++++++++-----------
install.rdf | 2 +-
3 files changed, 226 insertions(+), 121 deletions(-)
diff --git a/chrome/CompactHeader/content/compactHeaderOverlay.js b/chrome/CompactHeader/content/compactHeaderOverlay.js
index 1fb7bce..7a89e05 100644
--- a/chrome/CompactHeader/content/compactHeaderOverlay.js
+++ b/chrome/CompactHeader/content/compactHeaderOverlay.js
@@ -51,6 +51,8 @@
// view in the message header pane.
////////////////////////////////////////////////////////////////////////////////////
+const COHE_EXTENSION_UUID = "{58D4392A-842E-11DE-B51A-C7B855D89593}";
+
var gCoheCollapsedHeaderViewMode = false;
var gCoheBuiltCollapsedView = false;
@@ -72,7 +74,7 @@ var gCoheCollapsedHeader2LListLongAddresses = [
{name:"date", outputFunction:coheUpdateDateValue}
];
-var prefBranch = Components.classes["@mozilla.org/preferences-service;1"]
+var cohePrefBranch = Components.classes["@mozilla.org/preferences-service;1"]
.getService(Components.interfaces.nsIPrefService)
.getBranch("extensions.CompactHeader.");
@@ -83,6 +85,12 @@ var RSSLinkify = {
newSubject: null
};
+var cohe={
+ version: -1,
+ firstrun: true,
+ current: -1
+};
+
var coheFirstTime = true;
function coheOutputEmailAddresses(headerEntry, emailAddresses) {
@@ -97,11 +105,10 @@ var gCoheCollapsedHeaderView = {};
function coheInitializeHeaderViewTables()
{
-
gCoheCollapsedHeaderView = {};
var index;
- if (prefBranch.getBoolPref("headersize.twolineview")) {
+ if (cohePrefBranch.getBoolPref("headersize.twolineview")) {
for (index = 0; index < gCoheCollapsedHeader2LListLongAddresses.length; index++) {
gCoheCollapsedHeaderView[gCoheCollapsedHeader2LListLongAddresses[index].name] =
new createHeaderEntry('collapsed2L', gCoheCollapsedHeader2LListLongAddresses[index]);
@@ -113,7 +120,7 @@ function coheInitializeHeaderViewTables()
}
}
- if (prefBranch.getBoolPref("headersize.linkify")) {
+ if (cohePrefBranch.getBoolPref("headersize.linkify")) {
RSSLinkify.newSubject = document.createElement("label");
RSSLinkify.newSubject.setAttribute("id", "collapsedsubjectlinkBox");
RSSLinkify.newSubject.setAttribute("class", "headerValue plain headerValueUrl");
@@ -123,7 +130,7 @@ function coheInitializeHeaderViewTables()
RSSLinkify.newSubject.setAttribute("readonly", "true");
RSSLinkify.newSubject.setAttribute("appendoriginalclass", "true");
RSSLinkify.newSubject.setAttribute("flex", "1");
- if (prefBranch.getBoolPref("headersize.twolineview")) {
+ if (cohePrefBranch.getBoolPref("headersize.twolineview")) {
RSSLinkify.oldSubject = document.getElementById("collapsed2LsubjectBox");
} else {
RSSLinkify.oldSubject = document.getElementById("collapsed1LsubjectBox");
@@ -156,7 +163,7 @@ function coheOnLoadMsgHeaderPane()
else
document.getElementById('collapsedHeaderView').collapsed = true;
- if (prefBranch.getBoolPref("headersize.twolineview")) {
+ if (cohePrefBranch.getBoolPref("headersize.twolineview")) {
document.getElementById('collapsed1LHeadersBox').collapsed = true;
document.getElementById('collapsed2LHeadersBox').collapsed = false;
} else {
@@ -174,12 +181,22 @@ function coheOnLoadMsgHeaderPane()
var toolbox = document.getElementById("header-view-toolbox");
toolbox.customizeDone = function(aEvent) {
MailToolboxCustomizeDone(aEvent, "CustomizeHeaderToolbar");
+ document.getElementById("header-view-toolbox").removeAttribute("doCustomization");
enableButtons();
CHTUpdateReplyButton();
saveToolboxData();
};
}
+ if (cohe.firstrun) {
+ coheCheckFirstRun();
+ }
+
+ if (cohe.firstrun) {
+ CHTSetDefaultButtons();
+ cohe.firstrun = false;
+ }
+
coheToggleHeaderContent();
}
@@ -251,7 +268,7 @@ function coheUpdateHeaderView()
if (gCoheCollapsedHeaderViewMode)
showHeaderView(gCoheCollapsedHeaderView);
- if (prefBranch.getBoolPref("headersize.linkify")) {
+ if (cohePrefBranch.getBoolPref("headersize.linkify")) {
var url = currentHeaderData["content-base"];
if(url) {
RSSLinkify.newSubject.setAttribute("onclick", "if (!event.button) messenger.launchExternalURL('" +
@@ -272,7 +289,7 @@ function coheUpdateHeaderView()
RSSLinkify.oldSubject.setAttribute("collapsed", "false");
}
}
- if (prefBranch.getBoolPref("headersize.addressstyle")) {
+ if (cohePrefBranch.getBoolPref("headersize.addressstyle")) {
selectEmailDisplayed();
}
@@ -328,8 +345,9 @@ function fillToolboxPalette() {
}
}
- var buttonsRemove = ["hdrForwardButton", "hdrArchiveButton",
- "hdrReplyToSenderButton"];
+ var buttonsRemove = ["hdrJunkButton", "hdrForwardButton", "hdrArchiveButton",
+ "hdrReplyToSenderButton", "hdrReplyButton",
+ "hdrReplyAllButton", "hdrReplyListButton"];
for (var i=0; i<buttonsRemove.length; i++) {
var buttonName = buttonsRemove[i];
var button = document.getElementById(buttonName) ||
@@ -338,7 +356,7 @@ function fillToolboxPalette() {
button.setAttribute("collapsed", "true");
}
}
-
+
var target = "hdrOtherActionsButton";
var newParent = document.getElementById(target) ||
@@ -479,6 +497,7 @@ function coheUpdateMessageHeaders()
addEventListener('messagepane-loaded', coheOnLoadMsgHeaderPane, true);
addEventListener('messagepane-unloaded', coheOnUnloadMsgHeaderPane, true);
+addEventListener('load', coheInitializeOverlay, false);
function addClass(el, strClass) {
var testnew = new RegExp('\\b'+strClass+'\\b').test(el.className);
@@ -585,3 +604,98 @@ var myPrefObserverHeaderSize =
myPrefObserverHeaderSize.register();
+function coheCheckFirstRun() {
+ cohe.version = -1;
+ cohe.firstrun = false;
+ cohe.gExtensionManager = Components.classes["@mozilla.org/extensions/manager;1"].getService(Components.interfaces.nsIExtensionManager);
+ // check if this is part of CompactHeader
+ if ((cohe.gExtensionManager.getItemForID(COHE_EXTENSION_UUID) == null) || (isAddonDisabled(COHE_EXTENSION_UUID))) {
+ return;
+ }
+
+ cohe.current = cohe.gExtensionManager.getItemForID(COHE_EXTENSION_UUID).version;
+ try{
+ cohe.version = cohePrefBranch.getCharPref("version");
+ cohe.firstrun = cohePrefBranch.getBoolPref("firstrun");
+ } catch(e) {
+ } finally {
+ //check for first run
+ if (cohe.firstrun){
+ cohePrefBranch.setBoolPref("firstrun",false);
+ cohePrefBranch.setCharPref("version",cohe.current);
+ }
+ //check for upgrade
+ if (cohe.version!=cohe.current && !cohe.firstrun){
+ cohePrefBranch.setCharPref("version",cohe.current);
+ // XXX
+ }
+ }
+}
+
+function coheInitializeOverlay() {
+ var gExtensionManager = Components.classes["@mozilla.org/extensions/manager;1"].getService(Components.interfaces.nsIExtensionManager);
+ // check if this is part of CompactHeader
+ if ((gExtensionManager.getItemForID(COHE_EXTENSION_UUID) == null) || isAddonDisabled(COHE_EXTENSION_UUID)) {
+ return;
+ }
+ coheUninstallObserver.register();
+}
+
+var coheUninstallObserver = {
+ _uninstall : false,
+ observe : function(subject, topic, data) {
+ if (topic == "em-action-requested") {
+ subject.QueryInterface(Components.interfaces.nsIUpdateItem);
+
+ if (subject.id == COHE_EXTENSION_UUID) {
+ if (data == "item-uninstalled") {
+ this._uninstall = true;
+ } else if (data == "item-cancel-action") {
+ this._uninstall = false;
+ }
+ }
+ } else if (topic == "quit-application-granted") {
+ if (this._uninstall) {
+ cohePrefBranch.deleteBranch("");
+ CHTCleanupButtons();
+ }
+ this.unregister();
+ }
+ },
+ register : function() {
+ var observerService =
+ Components.classes["@mozilla.org/observer-service;1"].
+ getService(Components.interfaces.nsIObserverService);
+
+ observerService.addObserver(this, "em-action-requested", false);
+ observerService.addObserver(this, "quit-application-granted", false);
+ },
+ unregister : function() {
+ var observerService =
+ Components.classes["@mozilla.org/observer-service;1"].
+ getService(Components.interfaces.nsIObserverService);
+
+ observerService.removeObserver(this,"em-action-requested");
+ observerService.removeObserver(this,"quit-application-granted");
+ }
+}
+
+function isAddonDisabled(uuid) {
+ var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
+ var addon = rdfService.GetResource("urn:mozilla:item:" + uuid);
+
+ var em = Components.classes["@mozilla.org/extensions/manager;1"].getService(Components.interfaces.nsIExtensionManager);
+ var ds = em.datasource;
+
+ var appRes = rdfService.GetResource("http://www.mozilla.org/2004/em-rdf#appDisabled");
+ var appDisabled = ds.GetTarget(addon, appRes, true);
+ if(appDisabled instanceof Components.interfaces.nsIRDFLiteral && appDisabled.Value == "true")
+ return true;
+
+ var userRes = rdfService.GetResource("http://www.mozilla.org/2004/em-rdf#userDisabled");
+ var userDisabled = ds.GetTarget(addon, userRes, true);
+ if(userDisabled instanceof Components.interfaces.nsIRDFLiteral && userDisabled.Value == "true")
+ return true;
+
+ return false;
+}
diff --git a/chrome/CompactHeader/content/compactHeaderOverlay.xul b/chrome/CompactHeader/content/compactHeaderOverlay.xul
index af96844..9b57692 100644
--- a/chrome/CompactHeader/content/compactHeaderOverlay.xul
+++ b/chrome/CompactHeader/content/compactHeaderOverlay.xul
@@ -2,14 +2,14 @@
<!DOCTYPE overlay [
<!ENTITY % msgHeaderDTD SYSTEM
- "chrome://messenger/locale/msgHdrViewOverlay.dtd">
- %msgHeaderDTD;
- <!ENTITY % compactHeaderDTD SYSTEM
- "chrome://CompactHeader/locale/CompactHeader.dtd">
- %compactHeaderDTD;
- <!ENTITY % preferencesDTD SYSTEM
- "chrome://CompactHeader/locale/preferences.dtd">
- %preferencesDTD;
+ "chrome://messenger/locale/msgHdrViewOverlay.dtd">
+ %msgHeaderDTD;
+ <!ENTITY % compactHeaderDTD SYSTEM
+ "chrome://CompactHeader/locale/CompactHeader.dtd">
+ %compactHeaderDTD;
+ <!ENTITY % preferencesDTD SYSTEM
+ "chrome://CompactHeader/locale/preferences.dtd">
+ %preferencesDTD;
<!ENTITY % messengerDTD SYSTEM "chrome://messenger/locale/messenger.dtd">
%messengerDTD;
]>
@@ -23,135 +23,126 @@
<script type="application/javascript" src="chrome://CompactHeader/content/compactHeaderOverlay.js"/>
- <keyset>
- <key id="hideDetailsKey"
- modifiers="shift"
- key="&toggleDetails.key;"
- oncommand="coheToggleHeaderView();"/>
- </keyset>
+ <keyset>
+ <key id="hideDetailsKey"
+ modifiers="shift"
+ key="&toggleDetails.key;"
+ oncommand="coheToggleHeaderView();"/>
+ </keyset>
<deck id="msgHeaderViewDeck">
- <vbox id="expandedHeaderView" orient="horizontal">
- <vbox id="hideDetailsButtonBox" insertbefore="expandedHeadersBox">
- <button id="hideDetailsButton"
- tooltiptext="&hideDetailsButton.label;"
- onclick="coheToggleHeaderView();"
- class="msgHeaderView-flat-button"/>
- </vbox>
+ <vbox id="expandedHeaderView" orient="horizontal">
+ <vbox id="hideDetailsButtonBox" insertbefore="expandedHeadersBox">
+ <button id="hideDetailsButton"
+ tooltiptext="&hideDetailsButton.label;"
+ onclick="coheToggleHeaderView();"
+ class="msgHeaderView-flat-button"/>
+ </vbox>
<hbox id="coheStringTransferBox" hidden="true">
<label id="CoheHideDetailsLabel" value="&hideDetailsButton.label;"/>
<label id="CoheShowDetailsLabel" value="&showDetailsButton.label;"/>
- <label id="CohehdrReplyButton" value="&replyButton.label;"/>
- <label id="CohehdrReplyAllButton" value="&replyAllButton.label;"/>
- <label id="CohehdrReplyListButton" value="&replyListButton.label;"/>
- <label id="CohehdrForwardButton" value="&forwardButton.label;"/>
- <label id="CohearchiveButton" value="&archiveButton.label;"/>
- <label id="CohehdrJunkButton" value="&junkButton.label;"/>
- <label id="CohehdrTrashButton" value="&deleteButton.label;"/>
- <label id="CoheotherActionsButton" value="&otherActionsButton.label;"/>
- <label id="CohetagMenuPopup" value="&tagButton.label;"/>
</hbox>
-
- <vbox id="expandedHeadersBox">
+ <vbox id="expandedHeadersBox">
<hbox id="expandedHeadersTopBox" flex="1">
<toolbox id="header-view-toolbox"
+ mode="icons"
defaultmode="icons">
<toolbarpalette id="header-view-toolbar-palette">
- <toolbarbutton id="hdrOtherActionsButton"
- label="&otherActionsButton.label;"
- tooltiptext="&otherActionsButton.label;"
- class="toolbarbutton-1 msgHeaderView-button hdrOtherActionsButton"
- type="menu"/>
+ <toolbarbutton id="hdrOtherActionsButton"
+ label="&otherActionsButton.label;"
+ tooltiptext="&otherActionsButton.label;"
+ class="toolbarbutton-1 msgHeaderView-button hdrOtherActionsButton"
+ type="menu"/>
</toolbarpalette>
<toolbar id="header-view-toolbar"
mode="icons" defaultmode="icons"
- defaultset="hdrReplyButton,hdrReplyAllButton,hdrReplyListButton,hdrForwardButton,button-reply,button-forward,hdrArchiveButton,hdrJunkButton,hdrSJunkButton,hdrTrashButton,hdrOtherActionsButton">
+ defaultset="hdrReplyToSenderButton,hdrReplyButton,hdrReplyAllButton,hdrReplyListButton,hdrForwardButton,button-reply,button-forward,hdrArchiveButton,hdrJunkButton,hdrSJunkButton,hdrTrashButton,hdrOtherActionsButton">
</toolbar>
- </toolbox>
+ </toolbox>
</hbox>
- <hbox id="expandedHeadersBottomBox">
-
- <vbox id="otherActionsBox" flex="0">
- <hbox id="dateValueBox" flex="0"/>
- <button type="menu" id="otherActionsButton" collapsed="true"
- label="&otherActionsButton.label;"
- class="msgHeaderView-button msgHeaderView-flat-button">
- <menupopup id="otherActionsPopup" onpopupshowing="InitMessageMark()">
- <menuitem id="hdrPlane-markFlagged"
- type="checkbox"
- label="&markStarredCmd.label;"
- accesskey="&markStarredCmd.accesskey;"
- command="cmd_markAsFlagged"
- insertbefore="viewSourceMenuItem"
- key="key_toggleFlagged"/>
- <menu id="hdrPlane-HeadersPopupMenu" label="&headersMenu.label;" accesskey="&headersMenu.accesskey;">
- <menupopup id="menu_HeadersPopup" onpopupshowing="InitViewHeadersMenu();">
- <menuitem id="hdrPlane-viewallheaders"
- type="radio"
- name="viewheadergroup"
- label="&headersAllCmd.label;"
- accesskey="&headersAllCmd.accesskey;"
- command="cmd_viewAllHeader"/>
- <menuitem id="hdrPlane-viewnormalheaders"
- type="radio"
- name="viewheadergroup"
- label="&headersNormalCmd.label;"
- accesskey="&headersNormalCmd.accesskey;"
- command="cmd_viewNormalHeader"/>
- </menupopup>
- </menu>
- <menuseparator id="otherActionPopupAfterViewSource"/>
- <menuitem id="hideDetailsMenu"
- label="&hideDetailsButton.label;"
- oncommand="coheToggleHeaderView();"/>
- <menuitem id="hidecohePreferencesButton"
- label="&dialog.title;"
- oncommand="openDialog('chrome://CompactHeader/content/preferences.xul', 'prefs', 'chrome,resizable=no');"/>
- </menupopup>
- </button>
- </vbox>
- </hbox>
-
- </vbox>
- </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>
+ <hbox id="expandedHeadersBottomBox">
+
+ <vbox id="otherActionsBox" flex="0">
+ <hbox id="dateValueBox" flex="0"/>
+ <button type="menu" id="otherActionsButton" collapsed="true"
+ label="&otherActionsButton.label;"
+ class="msgHeaderView-button msgHeaderView-flat-button">
+ <menupopup id="otherActionsPopup" onpopupshowing="InitMessageMark()">
+ <menuitem id="hdrPlane-markFlagged"
+ type="checkbox"
+ label="&markStarredCmd.label;"
+ accesskey="&markStarredCmd.accesskey;"
+ command="cmd_markAsFlagged"
+ insertbefore="viewSourceMenuItem"
+ key="key_toggleFlagged"/>
+ <menu id="hdrPlane-HeadersPopupMenu" label="&headersMenu.label;" accesskey="&headersMenu.accesskey;">
+ <menupopup id="menu_HeadersPopup" onpopupshowing="InitViewHeadersMenu();">
+ <menuitem id="hdrPlane-viewallheaders"
+ type="radio"
+ name="viewheadergroup"
+ label="&headersAllCmd.label;"
+ accesskey="&headersAllCmd.accesskey;"
+ command="cmd_viewAllHeader"/>
+ <menuitem id="hdrPlane-viewnormalheaders"
+ type="radio"
+ name="viewheadergroup"
+ label="&headersNormalCmd.label;"
+ accesskey="&headersNormalCmd.accesskey;"
+ command="cmd_viewNormalHeader"/>
+ </menupopup>
+ </menu>
+ <menuseparator id="otherActionPopupAfterViewSource"/>
+ <menuitem id="hideDetailsMenu"
+ label="&hideDetailsButton.label;"
+ oncommand="coheToggleHeaderView();"/>
+ <menuitem id="hidecohePreferencesButton"
+ label="&dialog.title;"
+ oncommand="openDialog('chrome://CompactHeader/content/preferences.xul', 'prefs', 'chrome,resizable=no');"/>
+ </menupopup>
+ </button>
+ </vbox>
+ </hbox>
+
+ </vbox>
+ </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>
<vbox id="showDetailsButtonBox" align="start" flex="0">
- <button id="showDetailsButton"
- tooltiptext="&showDetailsButton.label;"
- onclick="coheToggleHeaderView();"
- class="msgHeaderView-flat-button"/>
+ <button id="showDetailsButton"
+ tooltiptext="&showDetailsButton.label;"
+ onclick="coheToggleHeaderView();"
+ class="msgHeaderView-flat-button"/>
</vbox>
- <vbox id="collapsed1LHeadersBox" flex="1" collapsed="false">
- <hbox id="collapsed1LHeaderViewFirstLine" flex="0">
+ <vbox id="collapsed1LHeadersBox" flex="1" collapsed="false">
+ <hbox id="collapsed1LHeaderViewFirstLine" flex="0">
<hbox id="collapsed1LsubjectOutBox" align="start" flex="99">
<row id="collapsed1LsubjectRow" flex="99">
<mail-headerfield id="collapsed1LsubjectBox" flex="99"/>
</row>
</hbox>
- <hbox id="collapsed1LfromOutBox" align="start" flex="0">
- <grid flex="1">
- <columns>
- <column flex="0"/>
- </columns>
+ <hbox id="collapsed1LfromOutBox" align="start" flex="0">
+ <grid flex="1">
+ <columns>
+ <column flex="0"/>
+ </columns>
<rows>
<row id="collapsed1LfromRow">
- <mail-multi-emailHeaderField id="collapsed1LfromBox" flex="0"/>
+ <mail-multi-emailHeaderField id="collapsed1LfromBox" flex="0"/>
</row>
</rows>
</grid>
- </hbox>
+ </hbox>
<grid id="collapsed1LtoCcBccOutBox" flex="1" hidden="true">
<row id="collapsed1LtoCcBccRow" align="baseline">
- <mail-multi-emailHeaderField id="collapsed1LtoCcBccBox" flex="1"/>
+ <mail-multi-emailHeaderField id="collapsed1LtoCcBccBox" flex="1"/>
</row>
</grid>
<hbox id="collapsed1LdateOutBox" align="start" pack="end" flex="0">
@@ -160,10 +151,10 @@
</row>
</hbox>
<header-view-button-box id="collapsed1LButtonBox" flex="0" align="start" hidden="true"/>
- </hbox>
- <hbox id="collapsed1LHeaderViewSecondLine" align="start" flex="1" collapsed="true">
- </hbox>
- </vbox>
+ </hbox>
+ <hbox id="collapsed1LHeaderViewSecondLine" align="start" flex="1" collapsed="true">
+ </hbox>
+ </vbox>
<vbox id="collapsed2LHeadersBox" flex="1" collapsed="true">
<hbox id="collapsed2LHeaderViewFirstLine" flex="0">
@@ -208,9 +199,9 @@
</hbox>
</vbox>
- </vbox>
+ </vbox>
- </deck>
+ </deck>
</overlay>
diff --git a/install.rdf b/install.rdf
index 0550c73..a399dbb 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>0.99.2</em:version>
+ <em:version>0.99.3</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