This commit is contained in:
blakeross%telocity.com 2002-04-04 08:04:29 +00:00
Родитель bb74620250
Коммит c42ec0dff2
7 изменённых файлов: 279 добавлений и 2 удалений

Просмотреть файл

@ -824,7 +824,7 @@ function OpenSearch(tabName, forceDialogFlag, searchStr, newWindowFlag)
function BrowserOpenWindow()
{
//opens a window where users can select a web location to open
openDialog("chrome://communicator/content/openLocation.xul", "_blank", "chrome,modal,titlebar", window);
openDialog("chrome://browser/content/openLocation.xul", "_blank", "chrome,modal,titlebar", window);
}
function BrowserOpenTab()

Просмотреть файл

@ -146,6 +146,7 @@ Contributor(s): ______________________________________. -->
oncommand="BrowserStop();" observes="canStop"
tooltiptext="&stopButton.tooltip;"/>
</hbox>
<toolbarseparator/>
<toolbarbutton id="print-button" class="toolbarbutton-1"
label="&printButton.label;" persist="hidden"
oncommand="BrowserPrint();"

Просмотреть файл

@ -0,0 +1,174 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape 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/NPL/
*
* 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 Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s): Michael Lowe <michael.lowe@bigfoot.com>
* Blake Ross <blaker@netscape.com>
*/
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 onLoad()
{
dialog.input = document.getElementById("dialog.input");
dialog.open = document.documentElement.getButton("accept");
dialog.openAppList = document.getElementById("openAppList");
dialog.openTopWindow = document.getElementById("currentWindow");
dialog.openEditWindow = document.getElementById("editWindow");
dialog.bundle = document.getElementById("openLocationBundle");
if ("arguments" in window && window.arguments.length >= 1)
browser = window.arguments[0];
if (!browser) {
// No browser supplied - we are calling from Composer
dialog.openAppList.selectedItem = dialog.openEditWindow;
// Change string to make more sense for Composer
dialog.openTopWindow.setAttribute("label", dialog.bundle.getString("existingNavigatorWindow"));
// Find most recent browser window
var windowManager = Components.classes['@mozilla.org/rdf/datasource;1?name=window-mediator'].getService();
var windowManagerInterface = windowManager.QueryInterface( Components.interfaces.nsIWindowMediator);
if (windowManagerInterface)
browser = windowManagerInterface.getMostRecentWindow( "navigator:browser" );
// Disable "current browser" item if no browser is open
if (!browser)
dialog.openTopWindow.setAttribute("disabled", "true");
}
else {
dialog.openAppList.selectedItem = dialog.openTopWindow;
}
// change OK button text to 'open'
dialog.open.label = dialog.bundle.getString("openButtonLabel");
if (pref) {
try {
var value = pref.getIntPref("general.open_location.last_window_choice");
var element = dialog.openAppList.getElementsByAttribute("value", value)[0];
if (element)
dialog.openAppList.selectedItem = element;
dialog.input.value = pref.getComplexValue("general.open_location.last_url",
Components.interfaces.nsISupportsWString).data;
}
catch(ex) {
}
if (dialog.input.value)
dialog.input.select(); // XXX should probably be done automatically
}
doEnabling();
}
function doEnabling()
{
dialog.open.disabled = !dialog.input.value;
}
function open()
{
var url;
if (browser)
url = browser.getShortcutOrURI(dialog.input.value);
else
url = dialog.input.value;
try {
switch (dialog.openAppList.value) {
case "0":
browser.loadURI(url);
break;
case "1":
window.opener.delayedOpenWindow(getBrowserURL(), "all,dialog=no", url);
break;
case "3":
if (browser.getBrowser && browser.getBrowser().localName == "tabbrowser")
browser.delayedOpenTab(url);
else
browser.loadURI(url); // Just do a normal load.
break;
}
}
catch(exception) {
}
if (pref) {
var str = Components.classes["@mozilla.org/supports-wstring;1"]
.createInstance(Components.interfaces.nsISupportsWString);
str.data = dialog.input.value;
pref.setComplexValue("general.open_location.last_url",
Components.interfaces.nsISupportsWString, str);
pref.setIntPref("general.open_location.last_window_choice", dialog.openAppList.value);
}
// Delay closing slightly to avoid timing bug on Linux.
window.close();
return false;
}
function createInstance(contractid, iidName)
{
var iid = Components.interfaces[iidName];
return Components.classes[contractid].createInstance(iid);
}
const nsIFilePicker = Components.interfaces.nsIFilePicker;
function onChooseFile()
{
try {
var fp = Components.classes["@mozilla.org/filepicker;1"].createInstance(nsIFilePicker);
fp.init(window, dialog.bundle.getString("chooseFileDialogTitle"), nsIFilePicker.modeOpen);
if (dialog.openAppList.value == "2") {
// When loading into Composer, direct user to prefer HTML files and text files,
// so we call separately to control the order of the filter list
fp.appendFilters(nsIFilePicker.filterHTML | nsIFilePicker.filterText);
fp.appendFilters(nsIFilePicker.filterText);
fp.appendFilters(nsIFilePicker.filterAll);
}
else {
fp.appendFilters(nsIFilePicker.filterHTML | nsIFilePicker.filterText |
nsIFilePicker.filterAll | nsIFilePicker.filterImages | nsIFilePicker.filterXML);
}
if (fp.show() == nsIFilePicker.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.focus();
doEnabling();
}

Просмотреть файл

@ -0,0 +1,85 @@
<?xml version="1.0"?>
<!--
The contents of this file are subject to the Netscape 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/NPL/
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 Netscape are
Copyright (C) 1998-1999 Netscape Communications Corporation. All
Rights Reserved.
Contributor(s):
Ben Goodger <ben@netscape.com>
Michael Lowe <michael.lowe@bigfoot.com>
-->
<?xml-stylesheet href="chrome://communicator/skin/" type="text/css"?>
<!DOCTYPE window [
<!ENTITY % brandDTD SYSTEM "chrome://global/locale/brand.dtd" >
%brandDTD;
<!ENTITY % openDialogDTD SYSTEM "chrome://browser/locale/openLocation.dtd" >
%openDialogDTD;
]>
<dialog id="openLocation"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
title="&caption.label;"
onload="onLoad()"
ondialogaccept="open()"
style="width: 40em;"
persist="screenX screenY"
screenX="24" screenY="24">
<script type="application/x-javascript" src="chrome://global/content/globalOverlay.js"/>
<script type="application/x-javascript" src="chrome://browser/content/openLocation.js"/>
<script type="application/x-javascript" src="chrome://communicator/content/utilityOverlay.js"/>
<script type="application/x-javascript" src="chrome://navigator/content/sessionHistoryUI.js"/>
<stringbundle id="openLocationBundle" src="chrome://communicator/locale/openLocation.properties"/>
<hbox>
<separator orient="vertical" class="thin"/>
<vbox flex="1">
<description>&enter.label;</description>
<separator class="thin"/>
<hbox align="center">
<textbox id="dialog.input" flex="1" type="autocomplete"
searchSessions="history" timeout="50" maxrows="6"
disablehistory="false"
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;" oncommand="onChooseFile();"/>
</hbox>
<hbox align="center">
<label value="&openWhere.label;"/>
<menulist id="openAppList">
<menupopup>
<menuitem value="0" id="currentWindow" label="&topWindow.label;"/>
<menuitem value="1" label="&newWindow.label;"/>
<menuitem value="3" label="&newTab.label;"/>
</menupopup>
</menulist>
<spacer flex="1"/>
</hbox>
</vbox>
</hbox>
</dialog>

Просмотреть файл

@ -18,7 +18,8 @@ browser.jar:
content/browser/turboDialog.xul (content/turboDialog.xul)
content/browser/viewsource.js (content/viewsource.js)
content/browser/viewSource.xul (content/viewSource.xul)
content/browser/openLocation.xul (content/openLocation.xul)
content/browser/openLocation.js (content/openLocation.js)
en-US.jar:
locale/en-US/browser/contents.rdf (locale/contents.rdf)
locale/en-US/browser/viewSource.dtd (locale/viewSource.dtd)
@ -30,4 +31,6 @@ en-US.jar:
locale/en-US/browser/metadata.properties (locale/metadata.properties)
locale/en-US/browser/turboDialog.dtd (locale/turboDialog.dtd)
locale/en-US/browser/turboMenu.properties (locale/turboMenu.properties)
locale/en-US/browser/openLocation.dtd (locale/openLocation.dtd)
locale/en-US/browser/openLocation.properties (locale/openLocation.properties)

Просмотреть файл

@ -0,0 +1,11 @@
<!-- extracted from content/openLocation.xul -->
<!ENTITY enter.label "Enter the web location (URL), or specify the local file you would like to open:">
<!ENTITY chooseFile.label "Choose File...">
<!ENTITY newWindow.label "New Navigator window">
<!ENTITY newTab.label "New Navigator tab">
<!ENTITY topWindow.label "Current Navigator window">
<!ENTITY cancel.label "Cancel">
<!ENTITY caption.label "Open Web Location">
<!ENTITY openWhere.label "Open in:">
<!ENTITY example.label "Example: &vendorURL;">

Просмотреть файл

@ -0,0 +1,3 @@
openButtonLabel=Open
chooseFileDialogTitle=Choose File
existingNavigatorWindow=Existing Navigator window