зеркало из https://github.com/mozilla/gecko-dev.git
Bug 248193 Better Attach Web Page dialog r=sspitzer sr=bienvenu
This commit is contained in:
Родитель
7e261217c0
Коммит
c5ba08c0f1
|
@ -1,31 +1,118 @@
|
||||||
var result = null;
|
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
|
||||||
|
*
|
||||||
function Startup()
|
* ***** BEGIN LICENSE BLOCK *****
|
||||||
{
|
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
||||||
/* dump("Startup()\n"); */
|
*
|
||||||
|
* The contents of this file are subject to the Mozilla Public License Version
|
||||||
if (window.arguments && window.arguments[0] && window.arguments[0])
|
* 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
|
||||||
result = window.arguments[0];
|
* http://www.mozilla.org/MPL/
|
||||||
doSetOKCancel(AttachPageOKCallback, AttachPageCancelCallback);
|
*
|
||||||
moveToAlertPosition();
|
* Software distributed under the License is distributed on an "AS IS" basis,
|
||||||
}
|
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||||
else
|
* for the specific language governing rights and limitations under the
|
||||||
{
|
* License.
|
||||||
dump("error, no return object registered\n");
|
*
|
||||||
}
|
* 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
|
||||||
|
* the Initial Developer. All Rights Reserved.
|
||||||
|
*
|
||||||
|
* Contributor(s):
|
||||||
|
* Michael Lowe <michael.lowe@bigfoot.com>
|
||||||
|
* Blake Ross <blaker@netscape.com>
|
||||||
|
* Neil Rashbrook <neil@parkwaycc.co.uk>
|
||||||
|
*
|
||||||
|
* 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 ***** */
|
||||||
|
|
||||||
|
var browser;
|
||||||
|
var dialog = {};
|
||||||
|
var pref = null;
|
||||||
|
try {
|
||||||
|
pref = Components.classes["@mozilla.org/preferences-service;1"]
|
||||||
|
.getService(Components.interfaces.nsIPrefBranch);
|
||||||
|
} catch (ex) {
|
||||||
|
// not critical, remain silent
|
||||||
}
|
}
|
||||||
|
|
||||||
function AttachPageOKCallback()
|
function onLoad()
|
||||||
{
|
{
|
||||||
/* dump("attach this: " + document.getElementById('attachurl').value + "\n"); */
|
dialog.input = document.getElementById("dialog.input");
|
||||||
|
dialog.attach = document.documentElement.getButton("accept");
|
||||||
|
dialog.bundle = document.getElementById("attachWebPageBundle");
|
||||||
|
|
||||||
result.url = document.getElementById('attachurl').value;
|
// change OK button text to 'attach'
|
||||||
|
dialog.attach.label = dialog.bundle.getString("attachButtonLabel");
|
||||||
|
|
||||||
|
if (pref) {
|
||||||
|
try {
|
||||||
|
dialog.input.value =
|
||||||
|
pref.getComplexValue("mailnews.attach_web_page.last_url",
|
||||||
|
Components.interfaces.nsISupportsString).data;
|
||||||
|
}
|
||||||
|
catch(ex) {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
doEnabling();
|
||||||
|
}
|
||||||
|
|
||||||
|
function doEnabling()
|
||||||
|
{
|
||||||
|
dialog.attach.disabled = !dialog.input.value;
|
||||||
|
}
|
||||||
|
|
||||||
|
function attach()
|
||||||
|
{
|
||||||
|
var attachment = Components.classes["@mozilla.org/messengercompose/attachment;1"]
|
||||||
|
.createInstance(Components.interfaces.nsIMsgAttachment);
|
||||||
|
attachment.url = dialog.input.value;
|
||||||
|
window.arguments[0].attachment = attachment;
|
||||||
|
if (pref) {
|
||||||
|
var str = Components.classes["@mozilla.org/supports-string;1"]
|
||||||
|
.createInstance(Components.interfaces.nsISupportsString);
|
||||||
|
str.data = dialog.input.value;
|
||||||
|
pref.setComplexValue("mailnews.attach_web_page.last_url",
|
||||||
|
Components.interfaces.nsISupportsString, str);
|
||||||
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
function AttachPageCancelCallback()
|
function onChooseFile()
|
||||||
{
|
{
|
||||||
return true;
|
try {
|
||||||
|
var fp = Components.classes["@mozilla.org/filepicker;1"]
|
||||||
|
.createInstance(Components.interfaces.nsIFilePicker);
|
||||||
|
fp.init(window, dialog.bundle.getString("chooseFileDialogTitle"), fp.modeOpen);
|
||||||
|
fp.appendFilters(fp.filterHTML | fp.filterText |
|
||||||
|
fp.filterAll | fp.filterImages | fp.filterXML);
|
||||||
|
if (fp.show() == fp.returnOK && fp.fileURL.spec && fp.fileURL.spec.length > 0)
|
||||||
|
dialog.input.value = fp.fileURL.spec;
|
||||||
|
}
|
||||||
|
catch(ex) {
|
||||||
|
}
|
||||||
|
doEnabling();
|
||||||
|
}
|
||||||
|
|
||||||
|
function useUBHistoryItem(aMenuItem)
|
||||||
|
{
|
||||||
|
var urlbar = document.getElementById("dialog.input");
|
||||||
|
urlbar.value = aMenuItem.getAttribute("label");
|
||||||
|
urlbar.select();
|
||||||
|
doEnabling();
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,29 +1,77 @@
|
||||||
<?xml version="1.0"?>
|
<?xml version="1.0"?>
|
||||||
|
|
||||||
<?xml-stylesheet href="chrome://messenger/skin/dialogs.css" type="text/css"?>
|
<!-- ***** BEGIN LICENSE BLOCK *****
|
||||||
|
Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
||||||
|
|
||||||
<?xul-overlay href="chrome://global/content/dialogOverlay.xul"?>
|
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/
|
||||||
|
|
||||||
<!DOCTYPE window SYSTEM "chrome://messenger/locale/messengercompose/MsgAttachPage.dtd">
|
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.
|
||||||
|
|
||||||
<window title="&windowTitle.label;"
|
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):
|
||||||
|
Ben Goodger <ben@netscape.com>
|
||||||
|
Michael Lowe <michael.lowe@bigfoot.com>
|
||||||
|
Neil Rashbrook <neil@parkwaycc.co.uk>
|
||||||
|
|
||||||
|
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://communicator/skin/" type="text/css"?>
|
||||||
|
|
||||||
|
<!DOCTYPE dialog SYSTEM "chrome://messenger/locale/messengercompose/MsgAttachPage.dtd">
|
||||||
|
|
||||||
|
<dialog id="MsgAttachPage"
|
||||||
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
|
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
|
||||||
onload="Startup()"
|
title="&caption.label;"
|
||||||
class="dialog">
|
onload="onLoad();"
|
||||||
|
ondialogaccept="return attach();"
|
||||||
|
style="width: 40em;"
|
||||||
|
persist="screenX screenY"
|
||||||
|
screenX="24" screenY="24">
|
||||||
|
|
||||||
<script type="application/x-javascript" src="chrome://messenger/content/messengercompose/MsgAttachPage.js"/>
|
<script type="application/x-javascript" src="chrome://messenger/content/messengercompose/MsgAttachPage.js"/>
|
||||||
|
<script type="application/x-javascript" src="chrome://navigator/content/sessionHistoryUI.js"/>
|
||||||
|
|
||||||
<keyset id="dialogKeys"/>
|
<stringbundle id="attachWebPageBundle" src="chrome://messenger/locale/messengercompose/composeMsgs.properties"/>
|
||||||
|
|
||||||
<spacer style="height:0.5em" />
|
<label value="&enter.label;" control="dialog.input" accesskey="&enter.accesskey;"/>
|
||||||
<hbox>
|
<separator class="thin"/>
|
||||||
<spacer style="width:10px" />
|
|
||||||
<label value="&webpage.label;"/>
|
<hbox align="center">
|
||||||
<textbox id="attachurl" align="bottom" style="min-width:200px; padding-bottom:0px" class="uri-element"/>
|
<textbox id="dialog.input" flex="1" type="autocomplete"
|
||||||
<spacer style="width:10px" />
|
searchSessions="history" timeout="50" maxrows="6"
|
||||||
|
disablehistory="false" class="uri-element"
|
||||||
|
oninput="doEnabling();">
|
||||||
|
<menupopup id="ubhist-popup" class="autocomplete-history-popup"
|
||||||
|
popupalign="topleft" popupanchor="bottomleft"
|
||||||
|
onpopupshowing="createUBHistoryMenu(event.target);"
|
||||||
|
oncommand="useUBHistoryItem(event.target);"/>
|
||||||
|
</textbox>
|
||||||
|
<button label="&chooseFile.label;" accesskey="&chooseFile.accesskey;" oncommand="onChooseFile();"/>
|
||||||
</hbox>
|
</hbox>
|
||||||
|
|
||||||
<spacer style="height:1em"/>
|
</dialog>
|
||||||
<hbox id="okCancelButtons"/>
|
|
||||||
<spacer style="height:0.5em" />
|
|
||||||
</window>
|
|
||||||
|
|
|
@ -2348,23 +2348,12 @@ function MessageHasSelectedAttachments()
|
||||||
|
|
||||||
function AttachPage()
|
function AttachPage()
|
||||||
{
|
{
|
||||||
if (gPromptService)
|
var result = { attachment: null };
|
||||||
{
|
window.openDialog("chrome://messenger/content/messengercompose/MsgAttachPage.xul", "_blank", "chrome,close,titlebar,modal", result);
|
||||||
var result = {value:"http://"};
|
if (result.attachment)
|
||||||
if (gPromptService.prompt(
|
AddAttachment(result.attachment);
|
||||||
window,
|
|
||||||
sComposeMsgsBundle.getString("attachPageDlogTitle"),
|
|
||||||
sComposeMsgsBundle.getString("attachPageDlogMessage"),
|
|
||||||
result,
|
|
||||||
null,
|
|
||||||
{value:0}))
|
|
||||||
{
|
|
||||||
var attachment = Components.classes["@mozilla.org/messengercompose/attachment;1"].createInstance(Components.interfaces.nsIMsgAttachment);
|
|
||||||
attachment.url = result.value;
|
|
||||||
AddAttachment(attachment);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function DuplicateFileCheck(FileUrl)
|
function DuplicateFileCheck(FileUrl)
|
||||||
{
|
{
|
||||||
var bucket = document.getElementById('attachmentBucket');
|
var bucket = document.getElementById('attachmentBucket');
|
||||||
|
|
|
@ -1,3 +1,40 @@
|
||||||
<!--LOCALIZATION NOTE MsgAttachPage.dtd UI for attaching a page to a mail/news message -->
|
<!-- ***** BEGIN LICENSE BLOCK *****
|
||||||
<!ENTITY windowTitle.label "Please Specify a Location to Attach">
|
Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
||||||
<!ENTITY webpage.label "Web Page (URL):">
|
|
||||||
|
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 Attach Web Page Dialog.
|
||||||
|
|
||||||
|
The Initial Developer of the Original Code is Neil Rashbrook.
|
||||||
|
Portions created by the Initial Developer are Copyright (C) 2004
|
||||||
|
the Initial Developer. All Rights Reserved.
|
||||||
|
|
||||||
|
Contributor(s):
|
||||||
|
|
||||||
|
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 ***** -->
|
||||||
|
|
||||||
|
<!ENTITY caption.label "Attach Web Page">
|
||||||
|
<!ENTITY enter.label "Enter the web location (URL), or specify the local file you would like to attach:">
|
||||||
|
<!ENTITY enter.accesskey "E">
|
||||||
|
<!ENTITY chooseFile.label "Choose File...">
|
||||||
|
<!ENTITY chooseFile.accesskey "C">
|
||||||
|
|
|
@ -263,6 +263,9 @@ subjectDlogMessage=You did not specify a subject for this message. If you would
|
||||||
recipientDlogMessage=This account only supports email recipients. Continuing will ignore newsgroups.
|
recipientDlogMessage=This account only supports email recipients. Continuing will ignore newsgroups.
|
||||||
|
|
||||||
## String used by the dialog that ask the user to attach a web page
|
## String used by the dialog that ask the user to attach a web page
|
||||||
|
attachButtonLabel=Attach
|
||||||
|
chooseFileDialogTitle=Choose File
|
||||||
|
## String used by Thunderbird's prompt
|
||||||
attachPageDlogTitle=Please specify a location to attach
|
attachPageDlogTitle=Please specify a location to attach
|
||||||
attachPageDlogMessage=Web Page (URL):
|
attachPageDlogMessage=Web Page (URL):
|
||||||
|
|
||||||
|
|
|
@ -168,6 +168,8 @@ messenger.jar:
|
||||||
content/messenger/messengercompose/sendProgress.xul (compose/resources/content/sendProgress.xul)
|
content/messenger/messengercompose/sendProgress.xul (compose/resources/content/sendProgress.xul)
|
||||||
content/messenger/messengercompose/sendProgress.js (compose/resources/content/sendProgress.js)
|
content/messenger/messengercompose/sendProgress.js (compose/resources/content/sendProgress.js)
|
||||||
content/messenger/messengercompose/mailComposeBindings.xml (compose/resources/content/mailComposeBindings.xml)
|
content/messenger/messengercompose/mailComposeBindings.xml (compose/resources/content/mailComposeBindings.xml)
|
||||||
|
content/messenger/messengercompose/MsgAttachPage.xul (compose/resources/content/MsgAttachPage.xul)
|
||||||
|
content/messenger/messengercompose/MsgAttachPage.js (compose/resources/content/MsgAttachPage.js)
|
||||||
content/messenger/messengercompose/mailComposeExtrasOverlay.xul (compose/resources/content/mailComposeExtrasOverlay.xul)
|
content/messenger/messengercompose/mailComposeExtrasOverlay.xul (compose/resources/content/mailComposeExtrasOverlay.xul)
|
||||||
content/messenger/importDialog.js (import/resources/content/importDialog.js)
|
content/messenger/importDialog.js (import/resources/content/importDialog.js)
|
||||||
content/messenger/importDialog.xul (import/resources/content/importDialog.xul)
|
content/messenger/importDialog.xul (import/resources/content/importDialog.xul)
|
||||||
|
@ -234,6 +236,7 @@ en-US.jar:
|
||||||
locale/en-US/messenger/messengercompose/addressingWidgetOverlay.dtd (compose/resources/locale/en-US/addressingWidgetOverlay.dtd)
|
locale/en-US/messenger/messengercompose/addressingWidgetOverlay.dtd (compose/resources/locale/en-US/addressingWidgetOverlay.dtd)
|
||||||
locale/en-US/messenger/messengercompose/askSendFormat.dtd (compose/resources/locale/en-US/askSendFormat.dtd)
|
locale/en-US/messenger/messengercompose/askSendFormat.dtd (compose/resources/locale/en-US/askSendFormat.dtd)
|
||||||
locale/en-US/messenger/messengercompose/sendProgress.dtd (compose/resources/locale/en-US/sendProgress.dtd)
|
locale/en-US/messenger/messengercompose/sendProgress.dtd (compose/resources/locale/en-US/sendProgress.dtd)
|
||||||
|
locale/en-US/messenger/messengercompose/MsgAttachPage.dtd (compose/resources/locale/en-US/MsgAttachPage.dtd)
|
||||||
locale/en-US/messenger/messengercompose/composeMsgs.properties (compose/resources/locale/en-US/composeMsgs.properties)
|
locale/en-US/messenger/messengercompose/composeMsgs.properties (compose/resources/locale/en-US/composeMsgs.properties)
|
||||||
locale/en-US/messenger/imapMsgs.properties (imap/resources/locale/en-US/imapMsgs.properties)
|
locale/en-US/messenger/imapMsgs.properties (imap/resources/locale/en-US/imapMsgs.properties)
|
||||||
locale/en-US/messenger/comm4xMailImportMsgs.properties (import/comm4x/resources/locale/en-US/comm4xMailImportMsgs.properties)
|
locale/en-US/messenger/comm4xMailImportMsgs.properties (import/comm4x/resources/locale/en-US/comm4xMailImportMsgs.properties)
|
||||||
|
|
Загрузка…
Ссылка в новой задаче