Bug 537219 - Port |
Bug 442730 - composition security options for encrypt should only be one menu item (with checkbox) like signing| to SeaMonkey; (Av1a) Just port it.
r+sr=neil.
--- a/mailnews/extensions/smime/content/msgCompSMIMEOverlay.js
+++ b/mailnews/extensions/smime/content/msgCompSMIMEOverlay.js
@@ -16,17 +16,17 @@
*
* The Initial Developer of the Original Code is
* Netscape Communications Corporation.
* Portions created by the Initial Developer are Copyright (C) 1998-2001
* the Initial Developer. All Rights Reserved.
*
* Contributor(s):
* ddrinan@netscape.com
- * Scott MacGreogr <mscott@netscape.com>
+ * Scott MacGregor <mscott@netscape.com>
*
* Alternatively, the contents of this file may be used under the terms of
* either of 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
@@ -146,48 +146,46 @@ function showNeedSetupInfo()
promptService.confirmEx(window,
brandBundle.getString("brandShortName"),
compSmimeBundle.getString("NeedSetup"),
ifps.STD_YES_NO_BUTTONS, 0, 0, 0, null, {});
if (buttonPressed == 0)
openHelp("sign-encrypt", "chrome://communicator/locale/help/suitehelp.rdf");
}
-function noEncryption()
-{
- if (!gSMFields)
- return;
-
- gSMFields.requireEncryptMessage = false;
- setNoEncryptionUI();
-}
-
-function encryptMessage()
+function toggleEncryptMessage()
{
if (!gSMFields)
return;
- if (!gCurrentIdentity.getUnicharAttribute("encryption_cert_name"))
+ gSMFields.requireEncryptMessage = !gSMFields.requireEncryptMessage;
+
+ if (gSMFields.requireEncryptMessage)
{
- gSMFields.requireEncryptMessage = false;
+ // Make sure we have a cert.
+ if (!gCurrentIdentity.getUnicharAttribute("encryption_cert_name"))
+ {
+ gSMFields.requireEncryptMessage = false;
+ showNeedSetupInfo();
+ return;
+ }
+
+ setEncryptionUI();
+ }
+ else
+ {
setNoEncryptionUI();
- showNeedSetupInfo();
- return;
}
-
- gSMFields.requireEncryptMessage = true;
- setEncryptionUI();
}
-function signMessage()
+function toggleSignMessage()
{
if (!gSMFields)
return;
- // toggle
gSMFields.signMessage = !gSMFields.signMessage;
if (gSMFields.signMessage) // make sure we have a cert name...
{
if (!gCurrentIdentity.getUnicharAttribute("signing_cert_name"))
{
gSMFields.signMessage = false;
showNeedSetupInfo();
@@ -204,44 +202,38 @@ function signMessage()
function setSecuritySettings(menu_id)
{
if (!gSMFields)
return;
document.getElementById("menu_securityEncryptRequire" + menu_id)
.setAttribute("checked", gSMFields.requireEncryptMessage);
- document.getElementById("menu_securityNoEncryption" + menu_id)
- .setAttribute("checked", !gSMFields.requireEncryptMessage);
document.getElementById("menu_securitySign" + menu_id)
.setAttribute("checked", gSMFields.signMessage);
}
function setNextCommand(what)
{
gNextSecurityButtonCommand = what;
}
function doSecurityButton()
{
var what = gNextSecurityButtonCommand;
gNextSecurityButtonCommand = "";
switch (what)
{
- case "noEncryption":
- noEncryption();
- break;
-
case "encryptMessage":
- encryptMessage();
+ toggleEncryptMessage();
break;
case "signMessage":
- signMessage();
+ toggleSignMessage();
break;
case "show":
default:
showMessageComposeSecurityStatus();
}
}
--- a/mailnews/extensions/smime/content/msgCompSMIMEOverlay.xul
+++ b/mailnews/extensions/smime/content/msgCompSMIMEOverlay.xul
@@ -1,9 +1,9 @@
-<?xml version="1.0"?>
+<?xml version="1.0"?>
<!-- ***** 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/
-
@@ -17,79 +17,88 @@
-
- The Initial Developer of the Original Code is
- Netscape Communications Corporation.
- Portions created by the Initial Developer are Copyright (C) 1999
- the Initial Developer. All Rights Reserved.
-
- Contributor(s):
- David Drinan <ddrinan@netscape.com>
- - Scott MacGregor <mscott@netscape.com
+ - Scott MacGregor <mscott@netscape.com>
-
- Alternatively, the contents of this file may be used under the terms of
- either of 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 ***** -->
-<?xml-stylesheet href="chrome://messenger/skin/smime/msgCompSMIMEOverlay.css" type="text/css"?>
+<?xml-stylesheet href="chrome://messenger/skin/smime/msgCompSMIMEOverlay.css" type="text/css"?>
<!DOCTYPE overlay SYSTEM "chrome://messenger-smime/locale/msgCompSMIMEOverlay.dtd">
<overlay xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<script type="application/javascript" src="chrome://messenger-smime/content/msgCompSMIMEOverlay.js"/>
<window id="msgcomposeWindow">
<broadcaster id="securityStatus" crypto="" signing=""/>
<observes element="securityStatus" attribute="crypto" />
<observes element="securityStatus" attribute="signing" />
<stringbundle id="bundle_comp_smime" src="chrome://messenger-smime/locale/msgCompSMIMEOverlay.properties"/>
<stringbundle id="bundle_brand" src="chrome://branding/locale/brand.properties"/>
</window>
- <menupopup id="optionsMenuPopup">
- <menuseparator insertafter="fccMenu"/>
- <menu label="&securityMenu.label;" accesskey="&securityMenu.accesskey;">
- <menupopup onpopupshowing="setSecuritySettings(1)">
- <menuitem id="menu_securityNoEncryption1" type="radio" name="encryptmessage"
- accesskey="&menu_securityNoEncryption.accesskey;" label="&menu_securityNoEncryption.label;" oncommand="noEncryption()"/>
- <menuitem id="menu_securityEncryptRequire1" type="radio" name="encryptmessage"
- accesskey="&menu_securityEncryptRequire.accesskey;" label="&menu_securityEncryptRequire.label;" oncommand="encryptMessage()"/>
- <menuseparator/>
- <menuitem id="menu_securitySign1" type="checkbox" accesskey="&menu_securitySign.accesskey;" label="&menu_securitySign.label;" oncommand="signMessage()"/>
- </menupopup>
- </menu>
+ <menupopup id="optionsMenuPopup"
+ onpopupshowing="setSecuritySettings(1);">
+ <menuseparator id="smimeOptionsSeparator"/>
+
+ <menuitem id="menu_securityEncryptRequire1"
+ type="checkbox"
+ label="&menu_securityEncryptRequire.label;"
+ accesskey="&menu_securityEncryptRequire.accesskey;"
+ oncommand="toggleEncryptMessage();"/>
+ <menuitem id="menu_securitySign1"
+ type="checkbox"
+ label="&menu_securitySign.label;"
+ accesskey="&menu_securitySign.accesskey;"
+ oncommand="toggleSignMessage();"/>
</menupopup>
<toolbarpalette id="MsgComposeToolbarPalette">
<toolbarbutton id="button-security"
type="menu-button"
class="toolbarbutton-1"
label="&securityButton.label;"
tooltiptext="&securityButton.tooltip;"
oncommand="doSecurityButton();">
- <menupopup onpopupshowing="setSecuritySettings(2)">
- <menuitem id="menu_securityNoEncryption2" type="radio" name="encryptmessage"
- accesskey="&menu_securityNoEncryption.accesskey;" label="&menu_securityNoEncryption.label;" oncommand="setNextCommand('noEncryption');"/>
- <menuitem id="menu_securityEncryptRequire2" type="radio" name="encryptmessage"
- accesskey="&menu_securityEncryptRequire.accesskey;" label="&menu_securityEncryptRequire.label;" oncommand="setNextCommand('encryptMessage')"/>
- <menuseparator/>
- <menuitem id="menu_securitySign2" type="checkbox" accesskey="&menu_securitySign.accesskey;" label="&menu_securitySign.label;" oncommand="setNextCommand('signMessage');"/>
- <menuseparator/>
- <menuitem id="menu_securityStatus2" accesskey="&menu_securityStatus.accesskey;" label="&menu_securityStatus.label;" oncommand="setNextCommand('show');"/>
+ <menupopup onpopupshowing="setSecuritySettings(2);">
+ <menuitem id="menu_securityEncryptRequire2"
+ type="checkbox"
+ label="&menu_securityEncryptRequire.label;"
+ accesskey="&menu_securityEncryptRequire.accesskey;"
+ oncommand="setNextCommand('encryptMessage');"/>
+ <menuitem id="menu_securitySign2"
+ type="checkbox"
+ label="&menu_securitySign.label;"
+ accesskey="&menu_securitySign.accesskey;"
+ oncommand="setNextCommand('signMessage');"/>
+ <menuseparator id="smimeToolbarButtonSeparator"/>
+ <menuitem id="menu_securityStatus2"
+ label="&menu_securityStatus.label;"
+ accesskey="&menu_securityStatus.accesskey;"
+ oncommand="setNextCommand('show');"/>
</menupopup>
</toolbarbutton>
</toolbarpalette>
<statusbar id="status-bar">
<statusbarpanel insertbefore="offline-status" class="statusbarpanel-iconic" collapsed="true"
id="signing-status" oncommand="showMessageComposeSecurityStatus();"/>
<statusbarpanel insertbefore="offline-status" class="statusbarpanel-iconic" collapsed="true"
--- a/suite/locales/en-US/chrome/mailnews/smime/msgCompSMIMEOverlay.dtd
+++ b/suite/locales/en-US/chrome/mailnews/smime/msgCompSMIMEOverlay.dtd
@@ -1,21 +1,15 @@
<!--LOCALIZATION NOTE msgCompSMIMEOverlay.dtd UI for s/mime hooks in message composition -->
-<!ENTITY securityMenu.label "Security">
-<!ENTITY securityMenu.accesskey "e">
-
<!ENTITY menu_securityEncryptRequire.label "Encrypt This Message">
<!ENTITY menu_securityEncryptRequire.accesskey "E">
-<!ENTITY menu_securityNoEncryption.label "Do Not Encrypt This Message">
-<!ENTITY menu_securityNoEncryption.accesskey "N">
-
<!ENTITY menu_securitySign.label "Digitally Sign This Message">
-<!ENTITY menu_securitySign.accesskey "S">
+<!ENTITY menu_securitySign.accesskey "M">
<!ENTITY menu_securityStatus.label "View Security Info">
<!ENTITY menu_securityStatus.accesskey "I">
<!ENTITY securityButton.label "Security">
<!ENTITY securityButton.tooltip "View or change security settings">
<!ENTITY menu_viewSecurityStatus.label "Message Security Info">