This commit is contained in:
blakeross%telocity.com 2002-08-04 02:15:26 +00:00
Родитель 696120fdff
Коммит 3e34c7ddc7
14 изменённых файлов: 244 добавлений и 2 удалений

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

@ -42,6 +42,6 @@ VPATH = @srcdir@
include $(DEPTH)/config/autoconf.mk
DIRS = bookmarks policy find prefwindow search
DIRS = prefwindow search
include $(topsrcdir)/config/rules.mk

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

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

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

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

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

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

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

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

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

@ -0,0 +1,137 @@
/* -*- Mode: Java; 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): Alec Flett <alecf@netscape.com>
* Bill Law <law@netscape.com>
* Blake Ross <blakeross@telocity.com>
* Dean Tessman <dean_tessman@hotmail.com>
* Matt Fisher <matt@netscape.com>
* Simon Fraser <sfraser@netscape.com>
* Stuart Parmenter <pavlov@netscape.com>
*/
var dialog; // Quick access to document/form elements.
var gFindInst; // nsIWebBrowserFind that we're going to use
function initDialogObject()
{
// Create dialog object and initialize.
dialog = new Object;
dialog.findKey = document.getElementById("dialog.findKey");
dialog.caseSensitive = document.getElementById("dialog.caseSensitive");
dialog.wrap = document.getElementById("dialog.wrap");
dialog.find = document.getElementById("btnFind");
dialog.up = document.getElementById("radioUp");
dialog.down = document.getElementById("radioDown");
dialog.rg = dialog.up.radioGroup;
dialog.bundle = null;
// Move dialog to center, if it not been shown before
var windowElement = document.getElementById("findDialog");
if (!windowElement.hasAttribute("screenX") || !windowElement.hasAttribute("screenY"))
{
sizeToContent();
moveToAlertPosition();
}
}
function fillDialog()
{
// get the find service, which stores global find state
var findService = Components.classes["@mozilla.org/find/find_service;1"]
.getService(Components.interfaces.nsIFindService);
// Set initial dialog field contents. Use the gFindInst attributes first,
// this is necessary for window.find()
dialog.findKey.value = gFindInst.searchString ? gFindInst.searchString : findService.searchString;
dialog.caseSensitive.checked = gFindInst.matchCase ? gFindInst.matchCase : findService.matchCase;
dialog.wrap.checked = gFindInst.wrapFind ? gFindInst.wrapFind : findService.wrapFind;
var findBackwards = gFindInst.findBackwards ? gFindInst.findBackwards : findService.findBackwards;
if (findBackwards)
dialog.rg.selectedItem = dialog.up;
else
dialog.rg.selectedItem = dialog.down;
}
function saveFindData()
{
// get the find service, which stores global find state
var findService = Components.classes["@mozilla.org/find/find_service;1"]
.getService(Components.interfaces.nsIFindService);
// Set data attributes per user input.
findService.searchString = dialog.findKey.value;
findService.matchCase = dialog.caseSensitive.checked;
findService.wrapFind = dialog.wrap.checked;
findService.findBackwards = dialog.up.selected;
}
function onLoad()
{
initDialogObject();
// get the find instance
var finder = window.arguments[0];
// If the dialog was opened from window.find(), findInst will be an
// nsISupports interface, so QueryInterface anyway to nsIWebBrowserFind.
gFindInst = finder.QueryInterface(Components.interfaces.nsIWebBrowserFind);
fillDialog();
doEnabling();
if (dialog.findKey.value)
dialog.findKey.select();
dialog.findKey.focus();
}
function onUnload()
{
window.opener.findDialog = 0;
}
function onAccept()
{
// Transfer dialog contents to the find service.
saveFindData();
// set up the find instance
gFindInst.searchString = dialog.findKey.value;
gFindInst.matchCase = dialog.caseSensitive.checked;
gFindInst.wrapFind = dialog.wrap.checked;
gFindInst.findBackwards = dialog.up.selected;
// Search.
var result = gFindInst.findNext();
if (!result)
{
if (!dialog.bundle)
dialog.bundle = document.getElementById("findBundle");
window.alert(dialog.bundle.getString("notFoundWarning"));
dialog.findKey.select();
dialog.findKey.focus();
}
return false;
}
function doEnabling()
{
dialog.find.disabled = !dialog.findKey.value;
}

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

@ -0,0 +1,79 @@
<?xml version="1.0"?> <!-- -*- Mode: HTML -*- -->
<!--
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>
Bill Law <law@netscape.com>
Blake Ross <blakeross@telocity.com>
Dan Rosen <dr@netscape.com>
Dean Tessman <dean_tessman@hotmail.com>
Simon Fraser <sfraser@netscape.com>
Stuart Parmenter <pavlov@netscape.com>
-->
<?xml-stylesheet href="chrome://communicator/skin/" type="text/css"?>
<!DOCTYPE window SYSTEM "chrome://global/locale/findDialog.dtd">
<window id="findDialog"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
orient="horizontal"
windowtype="findInPage"
onload="onLoad();"
onunload="onUnload();"
style="width: 30em;"
class="dialog"
title="&findDialog.title;"
persist="screenX screenY">
<script type="application/x-javascript" src="chrome://global/content/findDialog.js"/>
<stringbundle id="findBundle" src="chrome://global/locale/findDialog.properties"/>
<keyset>
<key keycode="VK_ESCAPE" oncommand="close();"/>
</keyset>
<hbox flex="1">
<vbox flex="1">
<hbox flex="1">
<label value="&findField.label;" accesskey="&findField.accesskey;" control="dialog.findKey"/>
<textbox id="dialog.findKey" flex="1" oninput="doEnabling();" onkeypress="if (event.keyCode == 13) onAccept();"/>
</hbox>
<hbox flex="1">
<vbox pack="center" flex="1" align="start">
<checkbox id="dialog.caseSensitive" label="&caseSensitiveCheckbox.label;" accesskey="&caseSensitiveCheckbox.accesskey;"/>
<checkbox id="dialog.wrap" label="&wrapCheckbox.label;" accesskey="&wrapCheckbox.accesskey;"/>
</vbox>
<groupbox orient="horizontal" align="start" flex="1">
<caption label="&direction.label;"/>
<radiogroup orient="horizontal" flex="1">
<radio id="radioUp" label="&up.label;" accesskey="&up.accesskey;"/>
<radio id="radioDown" label="&down.label;" accesskey="&down.label;" selected="true"/>
</radiogroup>
</groupbox>
</hbox>
</vbox>
<vbox flex="1">
<button id="btnFind" label="&findButton.label;" accesskey="&findButton.accesskey;"
default="true" oncommand="return onAccept();"/>
<button label="&cancelButton.label;" oncommand="close();"/>
</vbox>
</hbox>
</window>

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

@ -4,8 +4,12 @@ toolkit.jar:
+ content/global/xul.css (content/xul.css)
+ content/global/nsContextMenu.js (content/nsContextMenu.js)
+ content/global/widgets/toolbar.xml (content/widgets/toolbar.xml)
+ content/global/findDialog.xul (content/findDialog.xul)
+ content/global/findDialog.js (content/findDialog.js)
content/global/nsBrowserStatusHandler.js (content/nsBrowserStatusHandler.js)
content/global/nsBrowserContentListener.js (content/nsBrowserContentListener.js)
content/global/charset.js (content/charset.js)
en-US.jar:
+ locale/en-US/global/charset.dtd (locale/charset.dtd)
+ locale/en-US/global/charset.dtd (locale/charset.dtd)
+ locale/en-US/global/findDialog.dtd (locale/findDialog.dtd)
+ locale/en-US/global/findDialog.properties (locale/findDialog.properties)

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

@ -0,0 +1,22 @@
<!-- extracted from finddialog.xul -->
<!ENTITY findDialog.title "Find in this Page">
<!ENTITY findDialogFrame.title "Find in this Frame">
<!ENTITY findField.label "Find what:">
<!ENTITY findField.accesskey "n">
<!ENTITY caseSensitiveCheckbox.label "Match case">
<!ENTITY caseSensitiveCheckbox.accesskey "c">
<!ENTITY wrapCheckbox.label "Wrap">
<!ENTITY wrapCheckbox.accesskey "W">
<!ENTITY backwardsCheckbox.label "Search backwards">
<!ENTITY backwardsCheckbox.accesskey "b">
<!ENTITY findField.tooltip "Type one or more words to search for">
<!ENTITY cancelButton.label "Cancel">
<!ENTITY findButton.label "Find Next">
<!ENTITY findButton.accesskey "F">
<!ENTITY cancelButton.label "Cancel">
<!ENTITY up.label "Up">
<!ENTITY up.accesskey "U">
<!ENTITY down.label "Down">
<!ENTITY down.accesskey "D">
<!ENTITY direction.label "Direction">