This commit is contained in:
Brendan Eich 2008-09-04 01:21:49 -07:00
Родитель cf0c24ce35 7b24b8adc2
Коммит 03eed1f6f9
389 изменённых файлов: 888 добавлений и 50162 удалений

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

@ -88,6 +88,7 @@ class nsDocAccessible : public nsHyperTextAccessibleWrap,
// ----- nsIScrollPositionListener ---------------------------
NS_IMETHOD ScrollPositionWillChange(nsIScrollableView *aView, nscoord aX, nscoord aY);
virtual void ViewPositionDidChange(nsIScrollableView* aScrollable) {}
NS_IMETHOD ScrollPositionDidChange(nsIScrollableView *aView, nscoord aX, nscoord aY);
// nsIDocumentObserver

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

@ -74,9 +74,7 @@ var gCharsetMenu = null;
var gLastBrowserCharset = null;
var gPrevCharset = null;
var gProxyFavIcon = null;
var gIsLoadingBlank = false;
var gLastValidURLStr = "";
var gMustLoadSidebar = false;
var gProgressCollapseTimer = null;
var appCore = null;
var gSidebarCommand = "";
@ -670,8 +668,7 @@ const gXPInstallObserver = {
}
};
function BrowserStartup()
{
function BrowserStartup() {
var uriToLoad = null;
// window.arguments[0]: URI to load (string), or an nsISupportsArray of
@ -683,7 +680,8 @@ function BrowserStartup()
if ("arguments" in window && window.arguments[0])
uriToLoad = window.arguments[0];
gIsLoadingBlank = uriToLoad == "about:blank";
var isLoadingBlank = uriToLoad == "about:blank";
var mustLoadSidebar = false;
prepareForStartup();
@ -691,12 +689,12 @@ function BrowserStartup()
appCore.startPageCycler();
#else
# only load url passed in when we're not page cycling
if (uriToLoad && !gIsLoadingBlank) {
if (uriToLoad instanceof Components.interfaces.nsISupportsArray) {
var count = uriToLoad.Count();
var specs = [];
for (var i = 0; i < count; i++) {
var urisstring = uriToLoad.GetElementAt(i).QueryInterface(Components.interfaces.nsISupportsString);
if (uriToLoad && !isLoadingBlank) {
if (uriToLoad instanceof Ci.nsISupportsArray) {
let count = uriToLoad.Count();
let specs = [];
for (let i = 0; i < count; i++) {
let urisstring = uriToLoad.GetElementAt(i).QueryInterface(Ci.nsISupportsString);
specs.push(urisstring.data);
}
@ -717,47 +715,44 @@ function BrowserStartup()
}
#endif
var sidebarSplitter;
if (window.opener && !window.opener.closed) {
var openerFindBar = window.opener.gFindBar;
let openerFindBar = window.opener.gFindBar;
if (openerFindBar && !openerFindBar.hidden &&
openerFindBar.findMode == gFindBar.FIND_NORMAL)
gFindBar.open();
var openerSidebarBox = window.opener.document.getElementById("sidebar-box");
let openerSidebarBox = window.opener.document.getElementById("sidebar-box");
// If the opener had a sidebar, open the same sidebar in our window.
// The opener can be the hidden window too, if we're coming from the state
// where no windows are open, and the hidden window has no sidebar box.
if (openerSidebarBox && !openerSidebarBox.hidden) {
var sidebarBox = document.getElementById("sidebar-box");
var sidebarTitle = document.getElementById("sidebar-title");
let sidebarBox = document.getElementById("sidebar-box");
let sidebarTitle = document.getElementById("sidebar-title");
sidebarTitle.setAttribute("value", window.opener.document.getElementById("sidebar-title").getAttribute("value"));
sidebarBox.setAttribute("width", openerSidebarBox.boxObject.width);
var sidebarCmd = openerSidebarBox.getAttribute("sidebarcommand");
let sidebarCmd = openerSidebarBox.getAttribute("sidebarcommand");
sidebarBox.setAttribute("sidebarcommand", sidebarCmd);
// Note: we're setting 'src' on sidebarBox, which is a <vbox>, not on the
// <browser id="sidebar">. This lets us delay the actual load until
// delayedStartup().
sidebarBox.setAttribute("src", window.opener.document.getElementById("sidebar").getAttribute("src"));
gMustLoadSidebar = true;
mustLoadSidebar = true;
sidebarBox.hidden = false;
sidebarSplitter = document.getElementById("sidebar-splitter");
sidebarSplitter.hidden = false;
document.getElementById("sidebar-splitter").hidden = false;
document.getElementById(sidebarCmd).setAttribute("checked", "true");
}
}
else {
var box = document.getElementById("sidebar-box");
let box = document.getElementById("sidebar-box");
if (box.hasAttribute("sidebarcommand")) {
var commandID = box.getAttribute("sidebarcommand");
let commandID = box.getAttribute("sidebarcommand");
if (commandID) {
var command = document.getElementById(commandID);
let command = document.getElementById(commandID);
if (command) {
gMustLoadSidebar = true;
mustLoadSidebar = true;
box.hidden = false;
sidebarSplitter = document.getElementById("sidebar-splitter");
sidebarSplitter.hidden = false;
document.getElementById("sidebar-splitter").hidden = false;
command.setAttribute("checked", "true");
}
else {
@ -772,12 +767,14 @@ function BrowserStartup()
// Certain kinds of automigration rely on this notification to complete their
// tasks BEFORE the browser window is shown.
var obs = Components.classes["@mozilla.org/observer-service;1"].getService(Components.interfaces.nsIObserverService);
obs.notifyObservers(null, "browser-window-before-show", "");
Cc["@mozilla.org/observer-service;1"]
.getService(Ci.nsIObserverService)
.notifyObservers(null, "browser-window-before-show", "");
// Set a sane starting width/height for all resolutions on new profiles.
if (!document.documentElement.hasAttribute("width")) {
var defaultWidth = 994, defaultHeight;
let defaultWidth = 994;
let defaultHeight;
if (screen.availHeight <= 600) {
document.documentElement.setAttribute("sizemode", "maximized");
defaultWidth = 610;
@ -800,16 +797,14 @@ function BrowserStartup()
}
if (gURLBar && document.documentElement.getAttribute("chromehidden").indexOf("toolbar") != -1) {
gURLBar.setAttribute("readonly", "true");
gURLBar.setAttribute("enablehistory", "false");
}
setTimeout(delayedStartup, 0);
setTimeout(delayedStartup, 0, isLoadingBlank, mustLoadSidebar);
}
function HandleAppCommandEvent(evt)
{
function HandleAppCommandEvent(evt) {
evt.stopPropagation();
switch (evt.command) {
case "Back":
@ -838,8 +833,7 @@ function HandleAppCommandEvent(evt)
}
}
function prepareForStartup()
{
function prepareForStartup() {
gBrowser.addEventListener("DOMUpdatePageReport", gPopupBlockerObserver.onUpdatePageReport, false);
// Note: we need to listen to untrusted events, because the pluginfinder XBL
// binding can't fire trusted ones (runs with page privileges).
@ -916,9 +910,63 @@ function prepareForStartup()
gBrowser.addEventListener("DOMLinkAdded", DOMLinkHandler, false);
}
function delayedStartup()
function setupGeolocationPrompt()
{
var os = Components.classes["@mozilla.org/observer-service;1"].getService(Components.interfaces.nsIObserverService);
var geolocationService = Cc["@mozilla.org/geolocation/service;1"].getService(Ci.nsIGeolocationService);
if (geolocationService.prompt)
return;
geolocationService.prompt = function(request) {
function getChromeWindow(aWindow) {
var chromeWin = aWindow
.QueryInterface(Ci.nsIInterfaceRequestor)
.getInterface(Ci.nsIWebNavigation)
.QueryInterface(Ci.nsIDocShellTreeItem)
.rootTreeItem
.QueryInterface(Ci.nsIInterfaceRequestor)
.getInterface(Ci.nsIDOMWindow)
.QueryInterface(Ci.nsIDOMChromeWindow);
return chromeWin;
}
var requestingWindow = request.requestingWindow.top;
var tabbrowser = getChromeWindow(requestingWindow).wrappedJSObject.gBrowser;
var browser = tabbrowser.getBrowserForDocument(requestingWindow.document);
var notificationBox = tabbrowser.getNotificationBox(browser);
var notification = notificationBox.getNotificationWithValue("geolocation");
if (!notification) {
var buttons = [{
label: gNavigatorBundle.getString("geolocation.exactLocation"),
accessKey: gNavigatorBundle.getString("geolocation.exactLocationKey"),
callback: function() request.allow() ,
},
{
label: gNavigatorBundle.getString("geolocation.neighborhoodLocation"),
accessKey: gNavigatorBundle.getString("geolocation.neighborhoodLocationKey"),
callback: function() request.allowButFuzz() ,
},
{
label: gNavigatorBundle.getString("geolocation.nothingLocation"),
accessKey: gNavigatorBundle.getString("geolocation.nothingLocationKey"),
callback: function() request.cancel() ,
}];
var message = gNavigatorBundle.getFormattedString("geolocation.requestMessage", [request.requestingURI.spec]);
notificationBox.appendNotification(message,
"geolocation",
"chrome://browser/skin/Info.png",
notificationBox.PRIORITY_INFO_HIGH,
buttons);
}
};
}
function delayedStartup(isLoadingBlank, mustLoadSidebar) {
var os = Cc["@mozilla.org/observer-service;1"].getService(Ci.nsIObserverService);
os.addObserver(gSessionHistoryObserver, "browser:purge-session-history", false);
os.addObserver(gXPInstallObserver, "xpinstall-install-blocked", false);
@ -930,9 +978,9 @@ function delayedStartup()
// Ensure login manager is up and running.
Cc["@mozilla.org/login-manager;1"].getService(Ci.nsILoginManager);
if (gMustLoadSidebar) {
var sidebar = document.getElementById("sidebar");
var sidebarBox = document.getElementById("sidebar-box");
if (mustLoadSidebar) {
let sidebar = document.getElementById("sidebar");
let sidebarBox = document.getElementById("sidebar-box");
sidebar.setAttribute("src", sidebarBox.getAttribute("src"));
}
@ -948,7 +996,7 @@ function delayedStartup()
// initiated by a web page script
window.addEventListener("fullscreen", onFullScreen, true);
if (gIsLoadingBlank && gURLBar && isElementVisible(gURLBar))
if (isLoadingBlank && gURLBar && isElementVisible(gURLBar))
focusElement(gURLBar);
else
focusElement(content);
@ -1112,6 +1160,10 @@ function delayedStartup()
placesContext.addEventListener("popupshowing", updateEditUIVisibility, false);
placesContext.addEventListener("popuphiding", updateEditUIVisibility, false);
#endif
// hook up the geolocation prompt to our notificationBox
setupGeolocationPrompt();
}
function BrowserShutdown()

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

@ -146,8 +146,11 @@ function openUILink( url, e, ignoreButton, ignoreAlt, allowKeywordFixup, postDat
*/
function whereToOpenLink( e, ignoreButton, ignoreAlt )
{
// This method must treat a null event like a left click without modifier keys (i.e.
// e = { shiftKey:false, ctrlKey:false, metaKey:false, altKey:false, button:0 })
// for compatibility purposes.
if (!e)
e = { shiftKey:false, ctrlKey:false, metaKey:false, altKey:false, button:0 };
return "current";
var shift = e.shiftKey;
var ctrl = e.ctrlKey;

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

@ -1296,14 +1296,14 @@ FeedWriter.prototype = {
else {
switch (selectedItem.id) {
case "selectedAppMenuItem":
prefs.setCharPref(getPrefReaderForType(feedType), "client");
prefs.setComplexValue(getPrefAppForType(feedType), Ci.nsILocalFile,
this._selectedApp);
prefs.setCharPref(getPrefReaderForType(feedType), "client");
break;
case "defaultHandlerMenuItem":
prefs.setCharPref(getPrefReaderForType(feedType), "client");
prefs.setComplexValue(getPrefAppForType(feedType), Ci.nsILocalFile,
this._defaultSystemReader);
prefs.setCharPref(getPrefReaderForType(feedType), "client");
break;
case "liveBookmarksMenuItem":
defaultHandler = "bookmarks";

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

@ -135,3 +135,17 @@ editBookmarkPanel.pageBookmarkedTitle=Page Bookmarked
editBookmarkPanel.pageBookmarkedDescription=%S will always remember this page for you.
editBookmarkPanel.bookmarkedRemovedTitle=Bookmark Removed
editBookmarkPanel.editBookmarkTitle=Edit This Bookmark
# Geolocation UI
# LOCALIZATION NOTE (exactLocation, neighborhoodLocation): These do not have to be
# exact value, instead approximations would be fine.
# examples: Neighborhood (within 2 km)
# Exact Location (within 3 m)
#
geolocation.exactLocation=Exact Location (within 10 feet)
geolocation.exactLocationKey=E
geolocation.neighborhoodLocation=Neighborhood (within 1 mile)
geolocation.neighborhoodLocationKey=N
geolocation.nothingLocation=Nothing
geolocation.nothingLocationKey=o
geolocation.requestMessage=%S wants to know where you are. Tell them:

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

@ -122,7 +122,6 @@ MACOSX_DEPLOYMENT_TARGET = @MACOSX_DEPLOYMENT_TARGET@
MOZ_MAIL_NEWS = @MOZ_MAIL_NEWS@
MOZ_CALENDAR = @MOZ_CALENDAR@
MOZ_PLAINTEXT_EDITOR_ONLY = @MOZ_PLAINTEXT_EDITOR_ONLY@
MOZ_COMPOSER = @MOZ_COMPOSER@
BUILD_STATIC_LIBS = @BUILD_STATIC_LIBS@
MOZ_ENABLE_LIBXUL = @MOZ_ENABLE_LIBXUL@
ENABLE_TESTS = @ENABLE_TESTS@

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

@ -4459,7 +4459,6 @@ basic)
AC_DEFINE(MOZ_EMBEDDING_LEVEL_MINIMAL)
ENABLE_TESTS=
MOZ_ACTIVEX_SCRIPTING_SUPPORT=
MOZ_COMPOSER=
MOZ_ENABLE_CANVAS=
MOZ_ENABLE_POSTSCRIPT=
MOZ_EXTENSIONS_DEFAULT=" spatialnavigation"
@ -4505,7 +4504,6 @@ minimal)
AC_DEFINE(MOZ_EMBEDDING_LEVEL_MINIMAL)
ENABLE_TESTS=
MOZ_ACTIVEX_SCRIPTING_SUPPORT=
MOZ_COMPOSER=
MOZ_ENABLE_CANVAS=
MOZ_ENABLE_POSTSCRIPT=
MOZ_EXTENSIONS_DEFAULT=" spatialnavigation"
@ -5308,16 +5306,6 @@ MOZ_ARG_ENABLE_BOOL(plaintext-editor-only,
dnl Note the #define is MOZILLA, not MOZ, for compat with the Mac build.
AC_SUBST(MOZ_PLAINTEXT_EDITOR_ONLY)
dnl ========================================================
dnl Composer is on by default.
dnl ========================================================
MOZ_ARG_DISABLE_BOOL(composer,
[ --disable-composer Disable building of Composer],
MOZ_COMPOSER=,
MOZ_COMPOSER=1 )
AC_SUBST(MOZ_COMPOSER)
dnl ========================================================
dnl = Drop XPCOM Obsolete library
dnl ========================================================

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

@ -990,7 +990,8 @@ nsGenericElement::GetOffsetRect(nsRect& aRect, nsIContent** aOffsetParent)
// It doesn't really matter what we use as aRelativeTo here, since
// we only care about the size. Using 'parent' might make things
// a bit faster by speeding up the internal GetOffsetTo operations.
nsRect rcFrame = nsLayoutUtils::GetAllInFlowRectsUnion(frame, nsnull);
nsIFrame* parent = frame->GetParent() ? frame->GetParent() : frame;
nsRect rcFrame = nsLayoutUtils::GetAllInFlowRectsUnion(frame, parent);
aRect.width = nsPresContext::AppUnitsToIntCSSPixels(rcFrame.width);
aRect.height = nsPresContext::AppUnitsToIntCSSPixels(rcFrame.height);
}

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

@ -309,7 +309,9 @@ nsDOMUIEvent::SetCancelBubble(PRBool aCancelBubble)
nsPoint nsDOMUIEvent::GetLayerPoint() {
if (!mEvent ||
(mEvent->eventStructType != NS_MOUSE_EVENT &&
mEvent->eventStructType != NS_MOUSE_SCROLL_EVENT) ||
mEvent->eventStructType != NS_POPUP_EVENT &&
mEvent->eventStructType != NS_MOUSE_SCROLL_EVENT &&
mEvent->eventStructType != NS_DRAG_EVENT) ||
!mPresContext ||
mEventIsInternal) {
return mLayerPoint;

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

@ -99,6 +99,15 @@ function doDragStartSelection(event)
is(event.bubbles, true, "dragstart event bubbles");
is(event.cancelable, true, "dragstart event cancelable");
is(event.clientX, 14, "dragstart clientX");
is(event.clientY, 14, "dragstart clientY");
ok(event.screenX > 0, "dragstart screenX");
ok(event.screenY > 0, "dragstart screenY");
is(event.layerX, 14, "dragstart layerX");
is(event.layerY, 14, "dragstart layerY");
is(event.pageX, 14, "dragstart pageX");
is(event.pageY, 14, "dragstart pageY");
var dt = event.dataTransfer;
ok(dt instanceof DataTransfer, "dataTransfer is DataTransfer");
gDataTransfer = dt;

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

@ -0,0 +1,7 @@
<!DOCTYPE html>
<body>
<form name="f">
<select name="s">
</select>
</form>
</body>

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

@ -0,0 +1,9 @@
<!DOCTYPE html>
<body onload="document.forms.f.s.options.length = 0;">
<form name="f">
<select name="s">
<option name="o1">option 1</option>
<option name="o2">option 2</option>
</select>
</form>
</body>

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

@ -0,0 +1,8 @@
<!DOCTYPE html>
<body>
<form name="f">
<select name="s">
<option name="o1">ok</option>
</select>
</form>
</body>

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

@ -0,0 +1,8 @@
<!DOCTYPE html>
<body onload="document.forms.f.s.options[0].text = 'ok';">
<form name="f">
<select name="s">
<option name="o1">-</option>
</select>
</form>
</body>

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

@ -0,0 +1,2 @@
== bug453105.html bug453105-ref.html
== optiontext.html optiontext-ref.html

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

@ -1723,6 +1723,21 @@ nsGlobalWindow::SetNewDocument(nsIDocument* aDocument,
return NS_ERROR_OUT_OF_MEMORY;
}
if (currentInner && currentInner->mJSObject) {
if (mNavigator && !aState) {
// Hold on to the navigator wrapper so that we can set
// window.navigator in the new window to point to the same
// object (assuming we didn't change origins etc). See bug
// 163645 for more on why we need this.
nsIDOMNavigator* navigator =
static_cast<nsIDOMNavigator*>(mNavigator.get());
xpc->WrapNative(cx, currentInner->mJSObject, navigator,
NS_GET_IID(nsIDOMNavigator),
getter_AddRefs(navigatorHolder));
}
}
if (!aState) {
// This is redundant if we're restoring from a previous inner window.
nsIScriptGlobalObject *sgo =
@ -1768,19 +1783,6 @@ nsGlobalWindow::SetNewDocument(nsIDocument* aDocument,
}
if (currentInner && currentInner->mJSObject) {
if (mNavigator && !aState) {
// Hold on to the navigator wrapper so that we can set
// window.navigator in the new window to point to the same
// object (assuming we didn't change origins etc). See bug
// 163645 for more on why we need this.
nsIDOMNavigator* navigator =
static_cast<nsIDOMNavigator*>(mNavigator.get());
xpc->WrapNative(cx, currentInner->mJSObject, navigator,
NS_GET_IID(nsIDOMNavigator),
getter_AddRefs(navigatorHolder));
}
PRBool termFuncSet = PR_FALSE;
if (oldDoc == aDocument) {

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

@ -1,54 +0,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/
#
# 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.org code.
#
# The Initial Developer of the Original Code is
# Netscape Communications.
# Portions created by the Initial Developer are Copyright (C) 2001
# the Initial Developer. All Rights Reserved.
#
# Contributor(s):
# Brian Ryner <bryner@brianryner.com>
#
# Alternatively, the contents of this file may be used under the terms of
# either 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 *****
DEPTH = ../..
topsrcdir = @top_srcdir@
srcdir = @srcdir@
VPATH = @srcdir@
include $(DEPTH)/config/autoconf.mk
DIRS = \
locales \
$(NULL)
ifndef MOZ_STANDALONE_COMPOSER
PREF_JS_EXPORTS = $(srcdir)/composer.js
EXTRA_COMPONENTS = nsComposerCmdLineHandler.js
endif
include $(topsrcdir)/config/rules.mk

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

@ -1,138 +0,0 @@
/* -*- Mode: Java; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* ***** 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/
*
* 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.org code.
*
* The Initial Developer of the Original Code is
* Netscape Communications Corporation.
* Portions created by the Initial Developer are Copyright (C) 1998-2002
* the Initial Developer. All Rights Reserved.
*
* Contributor(s):
* Benjamin Smedberg <bsmedberg@covad.net>
*
* 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 ***** */
/**
* Default preferences for seamonkey composer. This file
* was copied from mozilla/modules/libpref/src/init/editor.js
*
* If you're looking for the default prefs of standalone
* composer, see mozilla/composer/app/profile/all.js
*/
pref("editor.author", "");
pref("editor.text_color", "#000000");
pref("editor.link_color", "#0000FF");
pref("editor.active_link_color", "#000088");
pref("editor.followed_link_color", "#FF0000");
pref("editor.background_color", "#FFFFFF");
pref("editor.use_background_image", false);
pref("editor.default_background_image", "");
pref("editor.use_custom_default_colors", 1);
pref("editor.hrule.height", 2);
pref("editor.hrule.width", 100);
pref("editor.hrule.width_percent", true);
pref("editor.hrule.shading", true);
pref("editor.hrule.align", 1); // center
pref("editor.table.maintain_structure", true);
pref("editor.prettyprint", true);
pref("editor.throbber.url","chrome://editor-region/locale/region.properties");
pref("editor.toolbars.showbutton.new", true);
pref("editor.toolbars.showbutton.open", true);
pref("editor.toolbars.showbutton.save", true);
pref("editor.toolbars.showbutton.publish", true);
pref("editor.toolbars.showbutton.preview", true);
pref("editor.toolbars.showbutton.cut", false);
pref("editor.toolbars.showbutton.copy", false);
pref("editor.toolbars.showbutton.paste", false);
pref("editor.toolbars.showbutton.print", true);
pref("editor.toolbars.showbutton.find", false);
pref("editor.toolbars.showbutton.image", true);
pref("editor.toolbars.showbutton.hline", false);
pref("editor.toolbars.showbutton.table", true);
pref("editor.toolbars.showbutton.link", true);
pref("editor.toolbars.showbutton.namedAnchor", false);
pref("editor.toolbars.showbutton.bold", true);
pref("editor.toolbars.showbutton.italic", true);
pref("editor.toolbars.showbutton.underline", true);
pref("editor.toolbars.showbutton.DecreaseFontSize", true);
pref("editor.toolbars.showbutton.IncreaseFontSize", true);
pref("editor.toolbars.showbutton.ul", true);
pref("editor.toolbars.showbutton.ol", true);
pref("editor.toolbars.showbutton.outdent", true);
pref("editor.toolbars.showbutton.indent", true);
pref("editor.toolbars.showbutton.absolutePosition", true);
pref("editor.toolbars.showbutton.decreaseZIndex", true);
pref("editor.toolbars.showbutton.increaseZIndex", true);
pref("editor.history.url_maximum", 10);
pref("editor.publish.", "");
pref("editor.lastFileLocation.image", "");
pref("editor.lastFileLocation.html", "");
pref("editor.save_associated_files", true);
pref("editor.always_show_publish_dialog", false);
/*
* What are the entities that you want Mozilla to save using mnemonic
* names rather than numeric codes? E.g. If set, we'll output &nbsp;
* otherwise, we may output 0xa0 depending on the charset.
*
* "none" : don't use any entity names; only use numeric codes.
* "basic" : use entity names just for &nbsp; &amp; &lt; &gt; &quot; for
* interoperability/exchange with products that don't support more
* than that.
* "latin1" : use entity names for 8bit accented letters and other special
* symbols between 128 and 255.
* "html" : use entity names for 8bit accented letters, greek letters, and
* other special markup symbols as defined in HTML4.
*/
//pref("editor.encode_entity", "html");
#ifndef XP_MACOSX
#ifdef XP_UNIX
pref("editor.disable_spell_checker", false);
pref("editor.dont_lock_spell_files", true);
#endif
#endif
pref("editor.CR_creates_new_p", false);
// Pasting images from the clipboard, order of encoding preference:
// JPEG-PNG-GIF=0, PNG-JPEG-GIF=1, GIF-JPEG-PNG=2
pref("clipboard.paste_image_type", 1);
#ifdef XP_WIN
pref("clipboard.paste_image_quality", 92); // for JPEG on Windows only
#endif

Разница между файлами не показана из-за своего большого размера Загрузить разницу

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

@ -1,835 +0,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/
*
* 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 the Initial Developer are Copyright (C) 1998-1999
* 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 ***** */
/* Styles to alter look of things in the Editor content window
* for the "All Tags Edit Mode" Every HTML tag shows up as an icon.
*/
/* For "userdefined" or "unknown" tags
(Note that "_" must be escaped)
*/
*:not(a):not(abbr):not(acronym):not(address):not(applet):not(area):not(b):not(base):not(basefont):not(bdo):not(bgsound):not(big):not(blink):not(blockquote):not(body):not(br):not(button):not(canvas):not(caption):not(center):not(cite):not(code):not(col):not(colgroup):not(dd):not(del):not(dfn):not(dir):not(div):not(dl):not(dt):not(em):not(embed):not(fieldset):not(font):not(form):not(frame):not(frameset):not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(head):not(hr):not(html):not(i):not(iframe):not(image):not(img):not(input):not(ins):not(isindex):not(kbd):not(keygen):not(label):not(legend):not(li):not(link):not(listing):not(map):not(marquee):not(menu):not(meta):not(multicol):not(nobr):not(noembed):not(noframes):not(noscript):not(object):not(ol):not(optgroup):not(option):not(p):not(param):not(plaintext):not(pre):not(q):not(s):not(samp):not(script):not(select):not(server):not(small):not(sound):not(spacer):not(span):not(strike):not(strong):not(style):not(sub):not(sup):not(table):not(tbody):not(td):not(textarea):not(tfoot):not(th):not(thead):not(title):not(tr):not(tt):not(u):not(ul):not(var):not(wbr):not(xmp) {
display: inline;
min-height: 35px; margin-left: 2px; margin-top: 2px;
padding-left: 16px;
background-image: url(chrome://editor/content/images/tag-userdefined.gif);
background-repeat: no-repeat;
background-position: top left;
}
a:not([\_moz_anonclass]) {
min-height: 16px; margin-left: 2px; margin-top: 2px;
padding-left: 20px;
background-image: url(chrome://editor/content/images/tag-a.gif);
background-repeat: no-repeat;
background-position: top left;
}
abbr {
min-height: 35px; margin-left: 2px; margin-top: 2px;
padding-left: 35px;
background-image: url(chrome://editor/content/images/tag-abr.gif);
background-repeat: no-repeat;
background-position: top left;
}
acronym {
min-height: 35px; margin-left: 2px; margin-top: 2px;
padding-left: 57px;
background-image: url(chrome://editor/content/images/tag-acr.gif);
background-repeat: no-repeat;
background-position: top left;
}
address {
min-height: 44px; margin-top: 2px;
padding-left: 17px;
background-image: url(chrome://editor/content/images/tag-adr.gif);
background-repeat: no-repeat;
background-position: top left;
}
applet {
min-height: 35px; margin-top: 2px;
padding-left: 47px;
background-image: url(chrome://editor/content/images/tag-app.gif);
background-repeat: no-repeat;
background-position: top left;
}
area {
min-height: 35px; margin-top: 2px;
padding-left: 39px;
background-image: url(chrome://editor/content/images/tag-ara.gif);
background-repeat: no-repeat;
background-position: top left;
}
b {
min-height: 35px; margin-left: 2px; margin-top: 2px;
padding-left: 20px;
background-image: url(chrome://editor/content/images/tag-b.gif);
background-repeat: no-repeat;
background-position: top left;
}
basefont {
min-height: 35px; margin-left: 2px; margin-top: 2px;
padding-left: 57px;
background-image: url(chrome://editor/content/images/tag-bsf.gif);
background-repeat: no-repeat;
background-position: top left;
}
bdo {
min-height: 35px; margin-left: 2px; margin-top: 2px;
padding-left: 31px;
background-image: url(chrome://editor/content/images/tag-bdo.gif);
background-repeat: no-repeat;
background-position: top left;
}
big {
min-height: 35px; margin-left: 2px; margin-top: 2px;
padding-left: 31px;
background-image: url(chrome://editor/content/images/tag-big.gif);
background-repeat: no-repeat;
background-position: top left;
}
blockquote {
min-height: 44px; margin-left: 2px; margin-top: 2px;
padding-left: 17px;
background-image: url(chrome://editor/content/images/tag-blq.gif);
background-repeat: no-repeat;
background-position: top left;
}
body {
min-height: 36px; margin-left: 2px;
padding-left: 17px;
background-image: url(chrome://editor/content/images/tag-body.gif);
background-repeat: no-repeat;
background-position: top left;
}
br {
min-height: 35px; margin-left: 2px; margin-top: 2px;
padding-left: 23px;
background-image: url(chrome://editor/content/images/tag-br.gif);
background-repeat: no-repeat;
background-position: top left;
}
button {
min-height: 35px; margin-left: 2px; margin-top: 2px;
padding-left: 57px;
background-image: url(chrome://editor/content/images/tag-btn.gif);
background-repeat: no-repeat;
background-position: top left;
}
caption {
min-height: 35px; margin-top: 2px;
padding-left: 55px;
background-image: url(chrome://editor/content/images/tag-cpt.gif);
background-repeat: no-repeat;
background-position: top left;
}
center {
min-height: 44px; margin-top: 2px;
padding-left: 17px;
background-image: url(chrome://editor/content/images/tag-ctr.gif);
background-repeat: no-repeat;
background-position: top left;
}
cite {
min-height: 35px; margin-left: 2px; margin-top: 2px;
padding-left: 39px;
background-image: url(chrome://editor/content/images/tag-cit.gif);
background-repeat: no-repeat;
background-position: top left;
}
code {
min-height: 35px; margin-left: 2px; margin-top: 2px;
padding-left: 39px;
background-image: url(chrome://editor/content/images/tag-cod.gif);
background-repeat: no-repeat;
background-position: top left;
}
col {
min-height: 35px; margin-left: 2px;
padding-left: 31px;
background-image: url(chrome://editor/content/images/tag-col.gif);
background-repeat: no-repeat;
background-position: top left;
}
colgroup {
min-height: 35px; margin-left: 2px;
padding-left: 51px;
background-image: url(chrome://editor/content/images/tag-clg.gif);
background-repeat: no-repeat;
background-position: top left;
}
dd {
min-height: 35px; margin-top: 2px;
padding-left: 23px;
background-image: url(chrome://editor/content/images/tag-dd.gif);
background-repeat: no-repeat;
background-position: top left;
}
del {
min-height: 35px; margin-left: 2px; margin-top: 2px;
padding-left: 31px;
background-image: url(chrome://editor/content/images/tag-del.gif);
background-repeat: no-repeat;
background-position: top left;
}
dfn {
min-height: 35px; margin-left: 2px; margin-top: 2px;
padding-left: 31px;
background-image: url(chrome://editor/content/images/tag-dfn.gif);
background-repeat: no-repeat;
background-position: top left;
}
dir {
min-height: 35px; margin-left: 2px; margin-top: 2px;
padding-left: 31px;
background-image: url(chrome://editor/content/images/tag-dir.gif);
background-repeat: no-repeat;
background-position: top left;
}
div {
min-height: 24px; margin-top: 2px;
/* TEMPORARY TO COMPENSATE FOR BUG */
padding-left: 17px;
background-image: url(chrome://editor/content/images/tag-div.gif);
background-repeat: no-repeat;
background-position: top left;
}
input div {
min-height: 0px; margin-left: 0px; margin-top: 0px;
padding-left: 0px;
background-image: none;
}
dl {
min-height: 20px; margin-top: 2px;
padding-left: 17px;
background-image: url(chrome://editor/content/images/tag-dl.gif);
background-repeat: no-repeat;
background-position: top left;
}
dt {
min-height: 35px; margin-top: 2px;
padding-left: 23px;
background-image: url(chrome://editor/content/images/tag-dt.gif);
background-repeat: no-repeat;
background-position: top left;
}
em {
min-height: 35px; margin-left: 2px; margin-top: 2px;
padding-left: 23px;
background-image: url(chrome://editor/content/images/tag-em.gif);
background-repeat: no-repeat;
background-position: top left;
}
fieldset {
min-height: 44px; margin-top: 2px;
padding-left: 17px;
background-image: url(chrome://editor/content/images/tag-fld.gif);
background-repeat: no-repeat;
background-position: top left;
}
font {
min-height: 35px; margin-left: 2px; margin-top: 2px;
padding-left: 39px;
background-image: url(chrome://editor/content/images/tag-fnt.gif);
background-repeat: no-repeat;
background-position: top left;
}
form {
min-height: 36px; margin-top: 2px;
padding-left: 17px;
background-image: url(chrome://editor/content/images/tag-for.gif);
background-repeat: no-repeat;
background-position: top left;
}
frame {
min-height: 40px; margin-left: 2px;
padding-left: 17px;
background-image: url(chrome://editor/content/images/tag-frm.gif);
background-repeat: no-repeat;
background-position: top left;
}
frameset {
min-height: 44px; margin-left: 2px;
padding-left: 17px;
background-image: url(chrome://editor/content/images/tag-fst.gif);
background-repeat: no-repeat;
background-position: top left;
}
h1 {
min-height: 20px; margin-top: 2px;
padding-left: 17px;
background-image: url(chrome://editor/content/images/tag-h1.gif);
background-repeat: no-repeat;
background-position: top left;
}
h2 {
min-height: 20px; margin-top: 2px;
padding-left: 17px;
background-image: url(chrome://editor/content/images/tag-h2.gif);
background-repeat: no-repeat;
background-position: top left;
}
h3 {
min-height: 20px; margin-top: 2px;
padding-left: 17px;
background-image: url(chrome://editor/content/images/tag-h3.gif);
background-repeat: no-repeat;
background-position: top left;
}
h4 {
min-height: 20px; margin-top: 2px;
padding-left: 17px;
background-image: url(chrome://editor/content/images/tag-h4.gif);
background-repeat: no-repeat;
background-position: top left;
}
h5 {
min-height: 20px; margin-top: 2px;
padding-left: 17px;
background-image: url(chrome://editor/content/images/tag-h5.gif);
background-repeat: no-repeat;
background-position: top left;
}
h6 {
min-height: 20px; margin-top: 2px;
padding-left: 17px;
background-image: url(chrome://editor/content/images/tag-h6.gif);
background-repeat: no-repeat;
background-position: top left;
}
hr {
min-height: 20px; margin-top: 2px;
padding-left: 17px;
background-image: url(chrome://editor/content/images/tag-hr.gif);
background-repeat: no-repeat;
background-position: top left;
}
i {
min-height: 35px; margin-left: 2px; margin-top: 2px;
padding-left: 20px;
background-image: url(chrome://editor/content/images/tag-i.gif);
background-repeat: no-repeat;
background-position: top left;
}
iframe {
min-height: 35px; margin-left: 2px;
padding-left: 47px;
background-image: url(chrome://editor/content/images/tag-ifr.gif);
background-repeat: no-repeat;
background-position: top left;
}
img:not([\_moz_anonclass]) {
min-height: 35px; margin-left: 2px; margin-top: 2px;
padding-left: 31px;
background-image: url(chrome://editor/content/images/tag-img.gif);
background-repeat: no-repeat;
background-position: top left;
}
input {
min-height: 35px; margin-left: 2px; margin-top: 2px;
padding-left: 39px;
background-image: url(chrome://editor/content/images/tag-inp.gif);
background-repeat: no-repeat;
background-position: top left;
}
ins {
min-height: 35px; margin-left: 2px; margin-top: 2px;
padding-left: 31px;
background-image: url(chrome://editor/content/images/tag-ins.gif);
background-repeat: no-repeat;
background-position: top left;
}
isindex {
min-height: 40px; margin-left: 2px;
padding-left: 17px;
background-image: url(chrome://editor/content/images/tag-isx.gif);
background-repeat: no-repeat;
background-position: top left;
}
kbd {
min-height: 35px; margin-left: 2px; margin-top: 2px;
padding-left: 31px;
background-image: url(chrome://editor/content/images/tag-kbd.gif);
background-repeat: no-repeat;
background-position: top left;
}
label {
min-height: 35px; margin-left: 2px; margin-top: 2px;
padding-left: 39px;
background-image: url(chrome://editor/content/images/tag-lbl.gif);
background-repeat: no-repeat;
background-position: top left;
}
legend {
min-height: 35px; margin-top: 2px;
padding-left: 49px;
background-image: url(chrome://editor/content/images/tag-lgn.gif);
background-repeat: no-repeat;
background-position: top left;
}
li {
min-height: 35px; margin-top: 2px;
padding-left: 23px;
background-image: url(chrome://editor/content/images/tag-li.gif);
background-repeat: no-repeat;
background-position: top left;
}
listing {
min-height: 35px; margin-left: 2px; margin-top: 2px;
padding-left: 57px;
background-image: url(chrome://editor/content/images/tag-lst.gif);
background-repeat: no-repeat;
background-position: top left;
}
map {
min-height: 35px; margin-left: 2px;
padding-left: 31px;
background-image: url(chrome://editor/content/images/tag-map.gif);
background-repeat: no-repeat;
background-position: top left;
}
menu {
min-height: 35px; margin-left: 2px; margin-top: 2px;
padding-left: 39px;
background-image: url(chrome://editor/content/images/tag-men.gif);
background-repeat: no-repeat;
background-position: top left;
}
nobr {
min-height: 35px; margin-left: 2px; margin-top: 2px;
padding-left: 39px;
background-image: url(chrome://editor/content/images/tag-nbr.gif);
background-repeat: no-repeat;
background-position: top left;
}
noframes {
min-height: 44px; margin-left: 2px; margin-top: 2px;
padding-left: 17px;
background-image: url(chrome://editor/content/images/tag-nfr.gif);
background-repeat: no-repeat;
background-position: top left;
}
noscript {
min-height: 44px; margin-left: 2px; margin-top: 2px;
padding-left: 17px;
background-image: url(chrome://editor/content/images/tag-nsc.gif);
background-repeat: no-repeat;
background-position: top left;
}
object {
min-height: 35px; margin-left: 2px; margin-top: 2px;
padding-left: 49px;
background-image: url(chrome://editor/content/images/tag-obj.gif);
background-repeat: no-repeat;
background-position: top left;
}
ol {
min-height: 38px;
padding-left: 17px;
background-image: url(chrome://editor/content/images/tag-ol.gif);
background-repeat: no-repeat;
background-position: top left;
}
optgroup {
min-height: 35px; margin-left: 2px; margin-top: 2px;
padding-left: 51px;
background-image: url(chrome://editor/content/images/tag-opg.gif);
background-repeat: no-repeat;
background-position: top left;
}
option {
min-height: 35px; margin-left: 2px; margin-top: 2px;
padding-left: 47px;
background-image: url(chrome://editor/content/images/tag-opt.gif);
background-repeat: no-repeat;
background-position: top left;
}
p {
min-height: 38px; margin-top: 2px;
padding-left: 17px;
background-image: url(chrome://editor/content/images/tag-p.gif);
background-repeat: no-repeat;
background-position: top left;
}
param {
min-height: 35px; margin-left: 2px; margin-top: 2px;
padding-left: 43px;
background-image: url(chrome://editor/content/images/tag-prm.gif);
background-repeat: no-repeat;
background-position: top left;
}
plaintext {
min-height: 35px; margin-left: 2px; margin-top: 2px;
padding-left: 57px;
background-image: url(chrome://editor/content/images/tag-pln.gif);
background-repeat: no-repeat;
background-position: top left;
}
pre {
min-height: 24px; margin-top: 2px;
padding-left: 17px;
background-image: url(chrome://editor/content/images/tag-pre.gif);
background-repeat: no-repeat;
background-position: top left;
}
q {
min-height: 35px; margin-left: 2px; margin-top: 2px;
padding-left: 20px;
background-image: url(chrome://editor/content/images/tag-q.gif);
background-repeat: no-repeat;
background-position: top left;
}
s {
min-height: 35px; margin-left: 2px; margin-top: 2px;
padding-left: 20px;
background-image: url(chrome://editor/content/images/tag-s.gif);
background-repeat: no-repeat;
background-position: top left;
}
samp {
min-height: 35px; margin-left: 2px; margin-top: 2px;
padding-left: 39px;
background-image: url(chrome://editor/content/images/tag-smp.gif);
background-repeat: no-repeat;
background-position: top left;
}
script {
min-height: 35px; margin-left: 2px; margin-top: 2px;
padding-left: 45px;
background-image: url(chrome://editor/content/images/tag-scr.gif);
background-repeat: no-repeat;
background-position: top left;
}
select {
min-height: 35px; margin-left: 2px; margin-top: 2px;
padding-left: 47px;
background-image: url(chrome://editor/content/images/tag-slc.gif);
background-repeat: no-repeat;
background-position: top left;
}
small {
min-height: 35px; margin-left: 2px; margin-top: 2px;
padding-left: 41px;
background-image: url(chrome://editor/content/images/tag-sml.gif);
background-repeat: no-repeat;
background-position: top left;
}
span:not([\_moz_anonclass]) {
min-height: 35px; margin-left: 2px; margin-top: 2px;
/* TEMPORARY TO COMPENSATE FOR BUG */
padding-left: 39px;
background-image: url(chrome://editor/content/images/tag-spn.gif);
background-repeat: no-repeat;
background-position: top left;
}
strike {
min-height: 35px; margin-left: 2px; margin-top: 2px;
padding-left: 45px;
background-image: url(chrome://editor/content/images/tag-stk.gif);
background-repeat: no-repeat;
background-position: top left;
}
strong {
min-height: 35px; margin-left: 2px; margin-top: 2px;
padding-left: 51px;
background-image: url(chrome://editor/content/images/tag-stn.gif);
background-repeat: no-repeat;
background-position: top left;
}
sub {
min-height: 35px; margin-left: 2px; margin-top: 2px;
padding-left: 31px;
background-image: url(chrome://editor/content/images/tag-sub.gif);
background-repeat: no-repeat;
background-position: top left;
}
sup {
min-height: 35px; margin-left: 2px; margin-top: 2px;
padding-left: 31px;
background-image: url(chrome://editor/content/images/tag-sup.gif);
background-repeat: no-repeat;
background-position: top left;
}
/* The background image technique is not working for
some table elements. Trying the "before" strategy
*/
table {
min-height: 40px;
padding-left: 17px;
background-image: url(chrome://editor/content/images/tag-tbl.gif);
background-repeat: no-repeat;
background-position: top left;
}
tbody {
min-height: 42px; margin-left: 2px; margin-top: 1px;
padding-left: 17px;
content: url(chrome://editor/content/images/tag-tbd.gif);
background-repeat: no-repeat;
background-position: top left;
}
td {
min-height: 22px; margin-left: 2px;
padding-left: 17px;
background-image: url(chrome://editor/content/images/tag-td.gif);
background-repeat: no-repeat;
background-position: top left;
}
textarea {
min-height: 35px; margin-left: 2px; margin-top: 2px;
padding-left: 59px;
background-image: url(chrome://editor/content/images/tag-txt.gif);
background-repeat: no-repeat;
background-position: top left;
}
tfoot {
min-height: 42px; margin-left: 2px; margin-top: 1px;
padding-left: 17px;
content: url(chrome://editor/content/images/tag-tft.gif);
background-repeat: no-repeat;
background-position: top left;
}
th {
min-height: 22px; margin-left: 2px;
padding-left: 17px;
background-image: url(chrome://editor/content/images/tag-th.gif);
background-repeat: no-repeat;
background-position: top left;
}
thead {
min-height: 42px; margin-left: 2px; margin-top: 1px;
padding-left: 17px;
content: url(chrome://editor/content/images/tag-thd.gif);
background-repeat: no-repeat;
background-position: top left;
}
tr {
min-height: 22px; margin-left: 2px;
padding-left: 17px;
background-image: url(chrome://editor/content/images/tag-tr.gif);
background-repeat: no-repeat;
background-position: top left;
}
tt {
min-height: 35px; margin-left: 2px; margin-top: 2px;
padding-left: 23px;
background-image: url(chrome://editor/content/images/tag-tt.gif);
background-repeat: no-repeat;
background-position: top left;
}
u {
min-height: 35px; margin-left: 2px; margin-top: 2px;
padding-left: 23px;
background-image: url(chrome://editor/content/images/tag-u.gif);
background-repeat: no-repeat;
background-position: top left;
}
ul {
min-height: 20px;
padding-left: 17px;
background-image: url(chrome://editor/content/images/tag-ul.gif);
background-repeat: no-repeat;
background-position: top left;
}
var {
min-height: 35px; margin-left: 2px; margin-top: 2px;
padding-left: 31px;
background-image: url(chrome://editor/content/images/tag-var.gif);
background-repeat: no-repeat;
background-position: top left;
}
xmp {
min-height: 35px; margin-left: 2px; margin-top: 2px;
padding-left: 31px;
background-image: url(chrome://editor/content/images/tag-xmp.gif);
background-repeat: no-repeat;
background-position: top left;
}
/* These are tags that we DON'T want to show icons for.
We have images for them in case we want to utilize them
for some other purpose than the "All Tags" editor mode
html {
min-height: 36px; margin-left: 2px;
padding-left: 17px;
background-image: url(chrome://editor/content/images/tag-html.gif);
background-repeat: no-repeat;
background-position: top left;
}
head {
min-height: 36px; margin-left: 2px;
padding-left: 17px;
background-image: url(chrome://editor/content/images/tag-hed.gif);
background-repeat: no-repeat;
background-position: top left;
}
These are tags that are ONLY allowed as children of HEAD:
title {
min-height: 40px; margin-left: 2px; margin-top: 2px;
padding-left: 17px;
background-image: url(chrome://editor/content/images/tag-ttl.gif);
background-repeat: no-repeat;
background-position: top left;
}
base {
min-height: 36px; margin-left: 2px; margin-top: 2px;
padding-left: 17px;
background-image: url(chrome://editor/content/images/tag-bas.gif);
background-repeat: no-repeat;
background-position: top left;
}
style {
min-height: 40px; margin-left: 2px; margin-top: 2px;
padding-left: 17px;
background-image: url(chrome://editor/content/images/tag-stl.gif);
background-repeat: no-repeat;
background-position: top left;
}
meta {
min-height: 36px; margin-left: 2px; margin-top: 2px;
padding-left: 17px;
background-image: url(chrome://editor/content/images/tag-met.gif);
background-repeat: no-repeat;
background-position: top left;
}
link {
min-height: 30px; margin-left: 2px; margin-top: 2px;
padding-left: 17px;
background-image: url(chrome://editor/content/images/tag-lnk.gif);
background-repeat: no-repeat;
background-position: top left;
}
*/

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

@ -1,96 +0,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/
*
* 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 the Initial Developer are Copyright (C) 1998-1999
* the Initial Developer. All Rights Reserved.
*
* Contributor(s):
* Daniel Glazman <glazman@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 ***** */
/* Styles to alter look of things in the Editor content window
* for the "Normal Edit Mode" These settings will be removed
* when we display in completely WYSIWYG "Edit Preview" mode
* Anything that should never change, like cursors, should be
* place in EditorOverride.css, instead of here.
*/
@import url(chrome://communicator/skin/smileys.css);
a[name] {
min-height: 17px; margin-left: 2px; margin-top: 2px;
padding-left: 20px;
background-image: url(chrome://editor/content/images/tag-anchor.gif);
background-repeat: no-repeat;
background-position: top left;
}
/* Force border display for empty cells
and tables with 0 border
*/
table {
empty-cells: show;
}
/* give a red dotted border to tables and cells with no border
otherwise they are invisible
*/
table[empty-cells],
table[border="0"],
/* next two selectors on line below for the case where tbody is omitted */
table[border="0"] > tr > td, table[border="0"] > tr > th,
table[border="0"] > thead > tr > td, table[border="0"] > tbody > tr > td, table[border="0"] > tfoot > tr > td,
table[border="0"] > thead > tr > th, table[border="0"] > tbody > tr > th, table[border="0"] > tfoot > tr > th,
table:not([border]),
/* next two selectors on line below for the case where tbody is omitted */
table:not([border]) > tr > td, table:not([border]) > tr > th,
table:not([border]) > thead > tr > td, table:not([border]) > tbody > tr > td, table:not([border]) > tfoot > tr > td,
table:not([border]) > thead > tr > th, table:not([border]) > tbody > tr > th, table:not([border]) > tfoot > tr > th
{
border: 1px dotted red;
}
/* give a green dashed border to forms otherwise they are invisible
*/
form
{
border: 2px dashed green;
}
/* give a green dotted border to labels otherwise they are invisible
*/
label
{
border: 1px dotted green;
}
img {
-moz-force-broken-image-icon: 1;
}

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

@ -1,172 +0,0 @@
/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* ***** 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/
*
* 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 the Initial Developer are Copyright (C) 2000
* the Initial Developer. All Rights Reserved.
*
* Contributor(s):
* Charles Manske (cmanske@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 ***** */
function EditorFillContextMenu(event, contextMenuNode)
{
if ( event.target != contextMenuNode )
return;
// Setup object property menuitem
var objectName = InitObjectPropertiesMenuitem("objectProperties_cm");
var isInLink = objectName == "href";
// Special case of an image inside a link
if (objectName == "img")
try {
isInLink = GetCurrentEditor().getElementOrParentByTagName("href", GetObjectForProperties());
} catch (e) {}
InitRemoveStylesMenuitems("removeStylesMenuitem_cm", "removeLinksMenuitem_cm", "removeNamedAnchorsMenuitem_cm");
var inCell = IsInTableCell();
// Set appropriate text for join cells command
InitJoinCellMenuitem("joinTableCells_cm");
// Update enable states for all table commands
goUpdateTableMenuItems(document.getElementById("composerTableMenuItems"));
// Loop through all children to hide disabled items
var children = contextMenuNode.childNodes;
if (children)
{
var count = children.length;
for (var i = 0; i < count; i++)
HideDisabledItem(children[i]);
}
// The above loop will always show all separators and the next two items
// Hide "Create Link" if in a link
ShowMenuItem("createLink_cm", !isInLink);
// Hide "Edit link in new Composer" unless in a link
ShowMenuItem("editLink_cm", isInLink);
// Remove separators if all items in immediate group above are hidden
// A bit complicated to account if multiple groups are completely hidden!
var haveUndo =
IsMenuItemShowing("menu_undo_cm") ||
IsMenuItemShowing("menu_redo_cm");
var haveEdit =
IsMenuItemShowing("menu_cut_cm") ||
IsMenuItemShowing("menu_copy_cm") ||
IsMenuItemShowing("menu_paste_cm") ||
IsMenuItemShowing("menu_pasteNoFormatting_cm") ||
IsMenuItemShowing("menu_delete_cm");
var haveStyle =
IsMenuItemShowing("removeStylesMenuitem_cm") ||
IsMenuItemShowing("createLink_cm") ||
IsMenuItemShowing("removeLinksMenuitem_cm") ||
IsMenuItemShowing("removeNamedAnchorsMenuitem_cm");
var haveProps =
IsMenuItemShowing("objectProperties_cm");
ShowMenuItem("undoredo-separator", haveUndo && haveEdit);
ShowMenuItem("edit-separator", haveEdit || haveUndo);
// Note: Item "menu_selectAll_cm" and
// following separator are ALWAYS enabled,
// so there will always be 1 separator here
var showStyleSep = haveStyle && (haveProps || inCell);
ShowMenuItem("styles-separator", showStyleSep);
var showPropSep = (haveProps && inCell);
ShowMenuItem("property-separator", showPropSep);
// Remove table submenus if not in table
ShowMenuItem("tableInsertMenu_cm", inCell);
ShowMenuItem("tableSelectMenu_cm", inCell);
ShowMenuItem("tableDeleteMenu_cm", inCell);
// if we have a mispelled word, show spellchecker context
// menuitems as well as the usual context menu
InlineSpellCheckerUI.clearSuggestionsFromMenu();
InlineSpellCheckerUI.initFromEvent(document.popupRangeParent, document.popupRangeOffset);
var onMisspelling = InlineSpellCheckerUI.overMisspelling;
document.getElementById('spellCheckSuggestionsSeparator').hidden = !onMisspelling;
document.getElementById('spellCheckAddToDictionary').hidden = !onMisspelling;
document.getElementById('spellCheckIgnoreWord').hidden = !onMisspelling;
var separator = document.getElementById('spellCheckAddSep');
separator.hidden = !onMisspelling;
document.getElementById('spellCheckNoSuggestions').hidden = !onMisspelling ||
InlineSpellCheckerUI.addSuggestionsToMenu(contextMenuNode, separator, 5);
}
function IsItemOrCommandEnabled( item )
{
var command = item.getAttribute("command");
if (command) {
// If possible, query the command controller directly
var controller = document.commandDispatcher.getControllerForCommand(command);
if (controller)
return controller.isCommandEnabled(command);
}
// Fall back on the inefficient observed disabled attribute
return item.getAttribute("disabled") != "true";
}
function HideDisabledItem( item )
{
item.hidden = !IsItemOrCommandEnabled(item);
}
function ShowMenuItem(id, showItem)
{
var item = document.getElementById(id);
if (item && !showItem)
{
item.hidden = true;
}
// else HideDisabledItem showed the item anyway
}
function IsMenuItemShowing(menuID)
{
var item = document.getElementById(menuID);
if (item)
return !item.hidden;
return false;
}

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

@ -1,164 +0,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/
-
- 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 the Initial Developer are Copyright (C) 2000
- the Initial Developer. All Rights Reserved.
-
- Contributor(s):
- Daniel Glazman (glazman@netscape.com)
- Charles Manske (cmanske@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 ***** -->
<!DOCTYPE overlay SYSTEM "chrome://editor/locale/editorOverlay.dtd">
<overlay id="ComposerContextMenuOverlay"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<script type="application/x-javascript" src="chrome://editor/content/EditorContextMenu.js"/>
<script type="application/x-javascript" src="chrome://editor/content/StructBarContextMenu.js"/>
<script type="application/x-javascript" src="chrome://global/content/inlineSpellCheckUI.js"/>
<popupset id="editorContentContextSet">
<popup id="editorContentContext"
onpopupshowing="EditorFillContextMenu(event, this);">
<menuitem id="spellCheckNoSuggestions" label="&spellCheckNoSuggestions.label;" disabled="true"/>
<menuseparator id="spellCheckAddSep"/>
<menuitem id="spellCheckAddToDictionary"
label="&spellCheckAddToDictionary.label;"
accesskey="&spellCheckAddToDictionary.accesskey;"
oncommand="InlineSpellCheckerUI.addToDictionary();"/>
<menuitem id="spellCheckIgnoreWord"
label="&spellCheckIgnoreWord.label;"
accesskey="&spellCheckIgnoreWord.accesskey;"
oncommand="InlineSpellCheckerUI.ignoreWord();"/>
<menuseparator id="spellCheckSuggestionsSeparator"/>
<menuitem id="menu_undo_cm" label="&undoCmd.label;" accesskey="&undo.accesskey;" command="cmd_undo"/>
<menuitem id="menu_redo_cm" label="&redoCmd.label;" accesskey="&redo.accesskey;" command="cmd_redo"/>
<menuseparator id="undoredo-separator"/>
<menuitem id="menu_cut_cm" label="&cutCmd.label;" accesskey="&cut.accesskey;" command="cmd_cut"/>
<menuitem id="menu_copy_cm" label="&copyCmd.label;" accesskey="&copy.accesskey;" command="cmd_copy"/>
<menuitem id="menu_paste_cm" label="&pasteCmd.label;" accesskey="&paste.accesskey;" command="cmd_paste"/>
<menuitem id="menu_pasteNoFormatting_cm" command="cmd_pasteNoFormatting"/>
<menuitem id="menu_delete_cm" label="&deleteCmd.label;" accesskey="&delete.accesskey;" command="cmd_delete"/>
<menuseparator id="edit-separator"/>
<menuitem id="menu_selectAll_cm" label="&selectAllCmd.label;" accesskey="&selectall.accesskey;" command="cmd_selectAll"/>
<menuseparator id="selectAll-separator"/>
<!-- label and accesskey set at runtime from strings -->
<menuitem id="removeStylesMenuitem_cm"
observes="cmd_removeStyles"/>
<menuitem id="createLink_cm" label="&createLinkCmd.label;" accesskey="&createlink.accesskey;" command="cmd_link"/>
<!-- label and accesskey set at runtime from strings -->
<menuitem id="removeLinksMenuitem_cm" observes="cmd_removeLinks"/>
<menuitem id="removeNamedAnchorsMenuitem_cm" label="&formatRemoveNamedAnchors.label;"
accesskey="&formatRemoveNamedAnchors.accesskey;"
observes="cmd_removeNamedAnchors"/>
<menuseparator id="styles-separator"/>
<!-- label and accesskey are set in InitObjectProperties -->
<menuitem id="objectProperties_cm" observes="cmd_objectProperties"/>
<menuitem id="editLink_cm" label="&editLinkCmd.label;" accesskey="&editlink.accesskey;" command="cmd_editLink"/>
<menuseparator id="property-separator"/>
<!-- Can't get submenus to load from a shared overlay -->
<menu id="tableInsertMenu_cm" label="&tableInsertMenu2.label;" accesskey="&tableinsertmenu.accesskey;">
<menupopup>
<menuitem label="&insertTableCmd.label;" accesskey="&tabletable.accesskey;" observes="cmd_InsertTable"/>
<menuseparator />
<menuitem label="&tableRowAbove.label;" accesskey="&tablerow.accesskey;" observes="cmd_InsertRowAbove"/>
<menuitem label="&tableRowBelow.label;" accesskey="&tablerowbelow.accesskey;" observes="cmd_InsertRowBelow"/>
<menuseparator />
<menuitem label="&tableColumnBefore.label;" accesskey="&tablecolumn.accesskey;" observes="cmd_InsertColumnBefore"/>
<menuitem label="&tableColumnAfter.label;" accesskey="&tablecolumnafter.accesskey;" observes="cmd_InsertColumnAfter"/>
<menuseparator />
<menuitem label="&tableCellBefore.label;" accesskey="&tablecell.accesskey;" observes="cmd_InsertCellBefore"/>
<menuitem label="&tableCellAfter.label;" accesskey="&tablecellafter.accesskey;" observes="cmd_InsertCellAfter"/>
</menupopup>
</menu>
<menu id="tableSelectMenu_cm" label="&tableSelectMenu2.label;" accesskey="&tableselectmenu.accesskey;">
<menupopup>
<menuitem id="menu_SelectTable_cm" label="&tableTable.label;" accesskey="&tabletable.accesskey;" observes="cmd_SelectTable" />
<menuitem id="menu_SelectRow_cm" label="&tableRow.label;" accesskey="&tablerow.accesskey;" observes="cmd_SelectRow" />
<menuitem id="menu_SelectColumn_cm" label="&tableColumn.label;" accesskey="&tablecolumn.accesskey;" observes="cmd_SelectColumn" />
<menuitem id="menu_SelectCell_cm" label="&tableCell.label;" accesskey="&tablecell.accesskey;" observes="cmd_SelectCell" />
<menuitem id="menu_SelectAllCells_cm" label="&tableAllCells.label;" accesskey="&tableallcells.accesskey;" observes="cmd_SelectAllCells" />
</menupopup>
</menu>
<menu id="tableDeleteMenu_cm" label="&tableDeleteMenu2.label;" accesskey="&tabledeletemenu.accesskey;">
<menupopup>
<menuitem id="menu_DeleteTable_cm" label="&tableTable.label;" accesskey="&tabletable.accesskey;" observes="cmd_DeleteTable"/>
<menuitem id="menu_DeleteRow_cm" label="&tableRows.label;" accesskey="&tablerow.accesskey;" observes="cmd_DeleteRow"/>
<menuitem id="menu_DeleteColumn_cm" label="&tableColumns.label;" accesskey="&tablecolumn.accesskey;" observes="cmd_DeleteColumn"/>
<menuitem id="menu_DeleteCell_cm" label="&tableCells.label;" accesskey="&tablecell.accesskey;" observes="cmd_DeleteCell"/>
<menuitem id="menu_DeleteCellContents_cm" label="&tableCellContents.label;" accesskey="&tablecellcontents.accesskey;" observes="cmd_DeleteCellContents"/>
</menupopup>
</menu>
<!-- menu label is set in InitTableMenu -->
<menuitem id="joinTableCells_cm" label="&tableJoinCells.label;" accesskey="&tablejoincells.accesskey;" observes="cmd_JoinTableCells"/>
<menuitem id="splitTableCell_cm" label="&tableSplitCell.label;" accesskey="&tablesplitcell.accesskey;" observes="cmd_SplitTableCell"/>
<menuitem id="tableOrCellColor_cm" label="&tableOrCellColor.label;" accesskey="&tableOrCellColor.accesskey;" observes="cmd_TableOrCellColor"/>
</popup>
<popup id="editorSourceContext">
<menuitem label="&undoCmd.label;" accesskey="&undo.accesskey;" command="cmd_undo"/>
<menuitem label="&redoCmd.label;" accesskey="&redo.accesskey;" command="cmd_redo"/>
<menuseparator/>
<menuitem label="&cutCmd.label;" accesskey="&cut.accesskey;" command="cmd_cut"/>
<menuitem label="&copyCmd.label;" accesskey="&copy.accesskey;" command="cmd_copy"/>
<menuitem label="&pasteCmd.label;" accesskey="&paste.accesskey;" command="cmd_paste"/>
<menuitem label="&deleteCmd.label;" accesskey="&delete.accesskey;" command="cmd_delete"/>
<menuseparator/>
<menuitem label="&selectAllCmd.label;" accesskey="&selectall.accesskey;" command="cmd_selectAll"/>
</popup>
<popup id="structToolbarContext">
<menuitem id="structSelect" label="&structSelect.label;"
accesskey="&structSelect.accesskey;"
oncommand="StructSelectTag()"/>
<menuseparator/>
<menuitem id="structRemoveTag" label="&structRemoveTag.label;"
accesskey="&structRemoveTag.accesskey;"
oncommand="StructRemoveTag()"/>
<menuitem id="structChangeTag" label="&structChangeTag.label;"
accesskey="&structChangeTag.accesskey;"
oncommand="StructChangeTag()"/>
<menuseparator/>
<menuitem id="advancedPropsTag" label="&advancedPropertiesCmd.label;"
accesskey="&advancedproperties.accesskey;"
oncommand="OpenAdvancedProperties()"/>
</popup>
</popupset>
</overlay>

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

@ -1,49 +0,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/
*
* 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 the Initial Developer are Copyright (C) 1998-1999
* 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 ***** */
/* This adds the standard paragraph symbol
* after paragraphs (block container tags)
*/
p:after,br:after,
h1:after,h2:after,h3:after,h4:after,h5:after,h6:after,
address:after,blockquote:after,listing:after,
plaintext:after, xmp:after, pre:after,
li:after,dt:after,dd:after
{
content: "\B6 ";
}

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

@ -1,212 +0,0 @@
/* -*- Mode: Java; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* ***** 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/
*
* 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.org code.
*
* The Initial Developer of the Original Code is
* Netscape Communications Corporation.
* Portions created by the Initial Developer are Copyright (C) 2002
* the Initial Developer. All Rights Reserved.
*
* Contributor(s):
* Daniel Glazman (glazman@netscape.com), original author
*
* Alternatively, the contents of this file may be used under the terms of
* either 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 gContextMenuNode;
var gContextMenuFiringDocumentElement;
function InitStructBarContextMenu(button, docElement)
{
gContextMenuFiringDocumentElement = docElement;
gContextMenuNode = button;
var tag = docElement.nodeName.toLowerCase();
var structRemoveTag = document.getElementById("structRemoveTag");
var enableRemove;
switch (tag) {
case "body":
case "tbody":
case "thead":
case "tfoot":
case "col":
case "colgroup":
case "tr":
case "th":
case "td":
case "caption":
enableRemove = false;
break;
default:
enableRemove = true;
break;
}
SetElementEnabled(structRemoveTag, enableRemove);
var structChangeTag = document.getElementById("structChangeTag");
SetElementEnabled(structChangeTag, (tag != "body"));
}
function TableCellFilter(node)
{
switch (node.nodeName.toLowerCase())
{
case "td":
case "th":
case "caption":
return NodeFilter.FILTER_ACCEPT;
break;
default:
return NodeFilter.FILTER_SKIP;
break;
}
return NodeFilter.FILTER_SKIP;
}
function StructRemoveTag()
{
var editor = GetCurrentEditor();
if (!editor) return;
var element = gContextMenuFiringDocumentElement;
var offset = 0;
var childNodes = element.parentNode.childNodes;
while (childNodes[offset] != element) {
++offset;
}
editor.beginTransaction();
try {
var tag = element.nodeName.toLowerCase();
if (tag != "table") {
MoveChildNodesAfterElement(editor, element, element, offset);
}
else {
var nodeIterator = document.createTreeWalker(element,
NodeFilter.SHOW_ELEMENT,
TableCellFilter,
true);
var node = nodeIterator.lastChild();
while (node) {
MoveChildNodesAfterElement(editor, node, element, offset);
node = nodeIterator.previousSibling();
}
}
editor.deleteNode(element);
}
catch (e) {};
editor.endTransaction();
}
function MoveChildNodesAfterElement(editor, element, targetElement, targetOffset)
{
var childNodes = element.childNodes;
var childNodesLength = childNodes.length;
var i;
for (i = childNodesLength - 1; i >= 0; i--) {
var clone = childNodes.item(i).cloneNode(true);
editor.insertNode(clone, targetElement.parentNode, targetOffset + 1);
}
}
function StructChangeTag()
{
var textbox = document.createElementNS(XUL_NS, "textbox");
textbox.setAttribute("value", gContextMenuNode.getAttribute("value"));
textbox.setAttribute("width", gContextMenuNode.boxObject.width);
textbox.className = "struct-textbox";
gContextMenuNode.parentNode.replaceChild(textbox, gContextMenuNode);
textbox.addEventListener("keypress", OnKeyPress, false);
textbox.addEventListener("blur", ResetStructToolbar, true);
textbox.select();
}
function StructSelectTag()
{
SelectFocusNodeAncestor(gContextMenuFiringDocumentElement);
}
function OpenAdvancedProperties()
{
doAdvancedProperties(gContextMenuFiringDocumentElement);
}
function OnKeyPress(event)
{
var editor = GetCurrentEditor();
var keyCode = event.keyCode;
if (keyCode == 13) {
var newTag = event.target.value;
var element = gContextMenuFiringDocumentElement;
var offset = 0;
var childNodes = element.parentNode.childNodes;
while (childNodes.item(offset) != element) {
offset++;
}
editor.beginTransaction();
try {
var newElt = editor.document.createElement(newTag);
if (newElt) {
childNodes = element.childNodes;
var childNodesLength = childNodes.length;
var i;
for (i = 0; i < childNodesLength; i++) {
var clone = childNodes.item(i).cloneNode(true);
newElt.appendChild(clone);
}
editor.insertNode(newElt, element.parentNode, offset+1);
editor.deleteNode(element);
editor.selectElement(newElt);
window.content.focus();
}
}
catch (e) {}
editor.endTransaction();
}
else if (keyCode == 27) {
// if the user hits Escape, we discard the changes
window.content.focus();
}
}

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

@ -1,48 +0,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/
-
- 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 the Initial Developer are Copyright (C) 1999
- the Initial Developer. All Rights Reserved.
-
- Contributor(s):
- Charles Manske (cmanske@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 ***** -->
<overlay id="composerOverlay"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<!-- Items in the Edit menu used only by Composer app -->
<menupopup id="edEditMenuPopup">
<menuitem id="menu_publishSettings" insertafter="menu_prefsSep" observes="cmd_publishSettings"/>
</menupopup>
</overlay>

Разница между файлами не показана из-за своего большого размера Загрузить разницу

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

@ -1,311 +0,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/
-
- 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 the Initial Developer are Copyright (C) 1999-2000
- the Initial Developer. All Rights Reserved.
-
- Contributor(s):
- Ben Goodger
- Michael Lowe
- Sammy Ford
-
- 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://editor/skin/" type="text/css"?>
<?xml-stylesheet href="chrome://editor/skin/editorPrimaryToolbar.css" type="text/css"?>
<?xml-stylesheet href="chrome://editor/skin/editorFormatToolbar.css" type="text/css"?>
<?xml-stylesheet href="chrome://editor/skin/editorModeToolbar.css" type="text/css"?>
<?xul-overlay href="chrome://editor/content/editorOverlay.xul"?>
<?xul-overlay href="chrome://editor/content/composerOverlay.xul"?>
<?xul-overlay href="chrome://editor/content/EditorContextMenuOverlay.xul"?>
<?xul-overlay href="chrome://global/content/globalOverlay.xul"?>
<?xul-overlay href="chrome://global/content/charsetOverlay.xul"?>
<?xul-overlay href="chrome://communicator/content/utilityOverlay.xul"?>
<?xul-overlay href="chrome://communicator/content/tasksOverlay.xul"?>
<?xul-overlay href="chrome://communicator/content/contentAreaContextOverlay.xul"?>
<?xul-overlay href="chrome://communicator/content/sidebar/sidebarOverlay.xul"?>
<!DOCTYPE window [
<!ENTITY % editorDTD SYSTEM "chrome://editor/locale/editor.dtd" >
%editorDTD;
<!ENTITY % editorOverlayDTD SYSTEM "chrome://editor/locale/editorOverlay.dtd" >
%editorOverlayDTD;
<!ENTITY % brandDTD SYSTEM "chrome://branding/locale/brand.dtd" >
%brandDTD;
]>
<window id="editorWindow"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
onload="EditorOnLoad()"
onunload="EditorShutdown()"
onclose="return EditorCanClose()"
onfocus="EditorOnFocus()"
contenttitlesetting="true"
titlemodifier="&editorWindow.titlemodifier;"
titlemenuseparator="&editorWindow.titlemodifiermenuseparator;"
windowtype="composer:html"
width="640" height="480"
screenX="10" screenY="10"
persist="screenX screenY width height sizemode">
<script type="application/x-javascript" src="chrome://editor/content/editor.js"/>
<script type="application/x-javascript" src="chrome://editor/content/EditorContextMenu.js"/>
<script type="application/x-javascript" src="chrome://editor/content/StructBarContextMenu.js"/>
<script type="application/x-javascript" src="chrome://editor/content/editorApplicationOverlay.js"/>
<script type="application/x-javascript" src="chrome://editor/content/publishprefs.js"/>
<script type="application/x-javascript" src="chrome://communicator/content/contentAreaDD.js"/>
<script type="application/x-javascript" src="chrome://communicator/content/contentAreaClick.js"/>
<script type="application/x-javascript" src="chrome://global/content/printUtils.js"/>
<script type="application/x-javascript" src="chrome://global/content/nsDragAndDrop.js"/>
<popupset id="editorContentContextSet"/>
<popup id="sidebarPopup"/>
<popup id="popupNotificationMenu"/>
<commandset id="tasksCommands">
<commandset id="globalEditMenuItems"/>
<commandset id="selectEditMenuItems"/>
<commandset id="undoEditMenuItems"/>
<commandset id="clipboardEditMenuItems"/>
<commandset id="commonEditorMenuItems"/>
<commandset id="composerMenuItems"/>
<commandset id="composerEditMenuItems"/>
<commandset id="composerSaveMenuItems"/>
<commandset id="composerStyleMenuItems"/>
<commandset id="composerTableMenuItems"/>
<commandset id="composerListMenuItems"/>
<command id="toggleSidebar"/>
</commandset>
<tooltip id="aHTMLTooltip" onpopupshowing="return FillInHTMLTooltipEditor(this);"/>
<broadcaster id="args" value="about:blank"/>
<broadcaster id="canPrint"/>
<!-- Interim hack to transition from nsIXULWindowCallbacks/ShowWindowWithArgs
<broadcaster id="dialog.start" ready="false"/>
<observes element="dialog.start" attribute="ready" onbroadcast="EditorStartup('html')"/>
-->
<broadcasterset id="broadcasterset">
<broadcaster id="Editor:Throbber" busy="false"/>
<broadcaster id="Communicator:WorkMode"/>
</broadcasterset>
<!-- keys are appended from the overlay -->
<keyset id="editorKeys">
<keyset id="tasksKeys"/>
<key id="showHideSidebar"/>
<!-- eat these tab events here to stop focus from moving -->
<key keycode="VK_TAB" oncommand="return true;"/>
<key keycode="VK_TAB" modifiers="shift" oncommand="return true;"/>
<key keycode="VK_TAB" modifiers="control" oncommand="return true;"/>
<key keycode="VK_TAB" modifiers="control,shift" oncommand="return true;"/>
</keyset>
<toolbox class="toolbox-top" id="EditorToolbox">
<menubar id="main-menubar" class="chromeclass-menubar" persist="collapsed" grippytooltiptext="&menuBar.tooltip;">
<menu id="fileMenu"/>
<menu id="editMenu"/>
<menu id="viewMenu" label="&viewMenu.label;" accesskey="&viewmenu.accesskey;">
<!-- id pulls in "Show Sidebar" item from sidebarOverlay -->
<menupopup id="menu_View_Popup">
<menu id="menu_Toolbars">
<menupopup id="view_toolbars_popup">
<menuitem id="viewComposerToolbar" label="&compositionToolbarCmd.label;" type="checkbox" accesskey="&compositiontb.accesskey;" command="cmd_viewCompToolbar" />
<menuitem id="viewFormatToolbar" label="&formattingToolbarCmd.label;" type="checkbox" accesskey="&formattingtb.accesskey;" command="cmd_viewFormatToolbar" />
<menuitem id="viewEditModeToolbar" label="&editmodeToolbarCmd.label;" type="checkbox" accesskey="&editmodetb.accesskey;" command="cmd_viewEditModeToolbar" />
<menuitem id="menu_showTaskbar"/>
</menupopup>
</menu>
<menuseparator id="viewSep1"/>
<menuitem id="viewNormalMode" checked="true"/>
<menuitem id="viewAllTagsMode"/>
<menuitem id="viewSourceMode"/>
<menuitem id="viewPreviewMode"/>
<menuseparator id="viewSep2"/>
<menu id = "composerCharsetMenu" />
</menupopup>
</menu>
<menu id="insertMenu"/>
<menu id="formatMenu" label="&formatMenu.label;" accesskey="&formatmenu.accesskey;">
<menupopup id="formatMenuPopup">
<menuitem id="snapToGrid"/>
<menuseparator/>
<menuitem id="objectProperties"/>
<menuitem id="colorsAndBackground"/>
<menuitem id="pageProperties"/>
</menupopup>
</menu>
<menu id="tableMenu"/>
<!-- tasks menu filled from tasksOverlay -->
<menu id="tasksMenu">
<menupopup id="taskPopup">
<menuitem id="menu_validate" observes="cmd_validate"/>
<menuseparator id="sep_validate"/>
</menupopup>
</menu>
<menu id="windowMenu"/>
<!-- help menu filled from globalOverlay -->
<menu id="menu_Help"/>
<spacer flex="1"/>
</menubar>
<!-- toolbar filled out from editorOverlay -->
<!-- add class="standard" for dark blue background (icons need rework first) -->
<toolbar class="chromeclass-toolbar toolbar-primary" id="EditToolbar" persist="collapsed"
grippytooltiptext="&compositionToolbar.tooltip;">
<toolbarbutton id="newButton"/>
<toolbarbutton id="openButton"/>
<toolbarbutton id="saveButton"/>
<toolbarbutton id="publishButton"/>
<toolbarbutton id="previewButton"/>
<toolbarbutton id="cutButton"/>
<toolbarbutton id="copyButton"/>
<toolbarbutton id="pasteButton"/>
<toolbarbutton id="printButton"/>
<toolbarbutton id="findButton"/>
<toolbarseparator class="toolbarseparator-primary"/>
<toolbarbutton id="linkButton"/>
<toolbarbutton id="namedAnchorButton"/>
<toolbarbutton id="imageButton"/>
<toolbarbutton id="hlineButton"/>
<toolbarbutton id="tableButton"/>
<toolbarbutton id="spellingButton"/>
<spacer flex="1"/>
<hbox id="throbber-box" align="center">
<button id="navigator-throbber" oncommand="goClickThrobber('editor.throbber.url')" tooltiptext="&throbber.tooltip;">
<observes element="Editor:Throbber" attribute="busy"/>
</button>
</hbox>
</toolbar>
<toolbar class="chromeclass-toolbar" id="FormatToolbar" persist="collapsed" grippytooltiptext="&formatToolbar.tooltip;">
<!-- from editorOverlay -->
<menulist id="ParagraphSelect"/>
<stack id="ColorButtons"/>
<toolbarbutton id="HighlightColorButton"/>
<toolbarseparator class="toolbarseparator-standard"/>
<toolbarbutton id="DecreaseFontSizeButton"/>
<toolbarbutton id="IncreaseFontSizeButton"/>
<toolbarseparator class="toolbarseparator-standard"/>
<toolbarbutton id="boldButton"/>
<toolbarbutton id="italicButton"/>
<toolbarbutton id="underlineButton"/>
<toolbarseparator class="toolbarseparator-standard"/>
<toolbarbutton id="ulButton"/>
<toolbarbutton id="olButton"/>
<toolbarbutton id="outdentButton"/>
<toolbarbutton id="indentButton"/>
<toolbarseparator class="toolbarseparator-standard"/>
<toolbarbutton id="align-left-button"/>
<toolbarbutton id="align-center-button"/>
<toolbarbutton id="align-right-button"/>
<toolbarbutton id="align-justify-button"/>
<toolbarbutton id="absolutePositionButton"/>
<toolbarbutton id="decreaseZIndexButton"/>
<toolbarbutton id="increaseZIndexButton"/>
<!-- TODO: Change to a menulist? -->
<!-- menu>
<button id="AlignPopupButton"/>
<menupopup id="AlignmentPopup"/>
</menu -->
<spacer flex="1"/>
</toolbar>
</toolbox>
<!-- sidebar/toolbar/content/status -->
<hbox id="sidebar-parent" flex="1">
<!-- From sidebarOverlay.xul -->
<vbox id="sidebar-box" class="chromeclass-extrachrome" hidden="true"/>
<splitter id="sidebar-splitter" class="chromeclass-extrachrome" hidden="true"/>
<vbox id="appcontent" flex="1">
<deck id="ContentWindowDeck" selectedIndex="0" flex="1">
<!-- KLUDGE: Temporary fix for bug 34414:
The current editor tag doesn't have a view,
which breaks deck frame-hiding mechanism
-->
<stack>
<editor editortype="html" type="content-primary" id="content-frame"
context="editorContentContext" flex="1" tooltip="aHTMLTooltip"/>
</stack>
<vbox>
<label id="doctype-text" crop="right"/>
<editor type="content" id="content-source" context="editorSourceContext" flex="1"/>
</vbox>
</deck>
<hbox id="EditModeToolbar" align="center" hidden="false" persist="collapsed">
<tabs id="EditModeTabs" class="tabs-bottom" flex="1">
<tab id="NormalModeButton"/>
<tab id="TagModeButton"/>
<tab id="SourceModeButton"/>
<tab id="PreviewModeButton"/>
</tabs>
</hbox>
</vbox> <!-- appcontent -->
</hbox><!-- sidebar-parent -->
<!-- Some of this is from globarOverlay.xul -->
<statusbar class="chromeclass-status" id="status-bar">
<statusbarpanel id="component-bar"/>
<statusbarpanel id="structToolbar" flex="1" pack="end">
<label id="structSpacer" value="" flex="1"/>
</statusbarpanel>
<statusbarpanel class="statusbarpanel-iconic" id="offline-status"/>
</statusbar>
</window>

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

@ -1,169 +0,0 @@
/* -*- Mode: Java; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* ***** 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/
*
* 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.org code.
*
* 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):
*
* 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 ***** */
/* Implementations of nsIControllerCommand for composer commands */
function initEditorContextMenuItems(aEvent)
{
var shouldShowEditPage = !gContextMenu.onImage && !gContextMenu.onLink && !gContextMenu.onTextInput && !gContextMenu.inDirList;
gContextMenu.showItem( "context-editpage", shouldShowEditPage );
var shouldShowEditLink = gContextMenu.onSaveableLink;
gContextMenu.showItem( "context-editlink", shouldShowEditLink );
// Hide the applications separator if there's no add-on apps present.
gContextMenu.showItem("context-sep-apps", gContextMenu.shouldShowSeparator("context-sep-apps"));
}
function initEditorContextMenuListener(aEvent)
{
var popup = document.getElementById("contentAreaContextMenu");
if (popup)
popup.addEventListener("popupshowing", initEditorContextMenuItems, false);
}
addEventListener("load", initEditorContextMenuListener, false);
function editDocument(aDocument)
{
if (!aDocument)
aDocument = window.content.document;
editPage(aDocument.URL);
}
function editPageOrFrame()
{
var focusedWindow = document.commandDispatcher.focusedWindow;
// if the uri is a specific frame, grab it, else use the frameset uri
// and let Composer handle error if necessary
editPage(getContentFrameURI(focusedWindow));
}
// Any non-editor window wanting to create an editor with a URL
// should use this instead of "window.openDialog..."
// We must always find an existing window with requested URL
function editPage(url)
{
// Always strip off "view-source:" and #anchors
url = url.replace(/^view-source:/, "").replace(/#.*/, "");
// if the current window is a browser window, then extract the current charset menu setting from the current
// document and use it to initialize the new composer window...
var wintype = document.documentElement.getAttribute('windowtype');
var charsetArg;
if (wintype == "navigator:browser" && content.document)
charsetArg = "charset=" + content.document.characterSet;
try {
var uri = createURI(url, null, null);
var windowManager = Components.classes['@mozilla.org/appshell/window-mediator;1'].getService();
var windowManagerInterface = windowManager.QueryInterface( Components.interfaces.nsIWindowMediator);
var enumerator = windowManagerInterface.getEnumerator( "composer:html" );
var emptyWindow;
while ( enumerator.hasMoreElements() )
{
var win = enumerator.getNext().QueryInterface(Components.interfaces.nsIDOMWindowInternal);
if ( win && win.IsWebComposer())
{
if (CheckOpenWindowForURIMatch(uri, win))
{
// We found an editor with our url
win.focus();
return;
}
else if (!emptyWindow && win.PageIsEmptyAndUntouched())
{
emptyWindow = win;
}
}
}
if (emptyWindow)
{
// we have an empty window we can use
if (emptyWindow.IsInHTMLSourceMode())
emptyWindow.SetEditMode(emptyWindow.PreviousNonSourceDisplayMode);
emptyWindow.EditorLoadUrl(url);
emptyWindow.focus();
emptyWindow.SetSaveAndPublishUI(url);
return;
}
// Create new Composer window
openDialog("chrome://editor/content", "_blank", "chrome,all,dialog=no", url, charsetArg);
} catch(e) {}
}
function createURI(urlstring)
{
try {
var ioserv = Components.classes["@mozilla.org/network/io-service;1"]
.getService(Components.interfaces.nsIIOService);
return ioserv.newURI(urlstring, null, null);
} catch (e) {}
return null;
}
function CheckOpenWindowForURIMatch(uri, win)
{
try {
var contentWindow = win.content; // need to QI win to nsIDOMWindowInternal?
var contentDoc = contentWindow.document;
var htmlDoc = contentDoc.QueryInterface(Components.interfaces.nsIDOMHTMLDocument);
var winuri = createURI(htmlDoc.URL);
return winuri.equals(uri);
} catch (e) {}
return false;
}
function NewEditorFromTemplate()
{
// XXX not implemented
}
function NewEditorFromDraft()
{
// XXX not implemented
}

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

@ -1,27 +0,0 @@
<?xml version="1.0"?>
<!-- retrieve generic commands -->
<?xul-overlay href="chrome://messenger/content/mailOverlay.xul"?>
<!DOCTYPE overlay SYSTEM "chrome://editor/locale/editorNavigatorOverlay.dtd" >
<overlay id="editorMailOverlay"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<script type="application/x-javascript" src="editorApplicationOverlay.js"/>
<!-- navigator specific commands -->
<commandset id="tasksCommands">
<!-- XXX insert commands here -->
</commandset>
<!-- navigator specific UI items -->
<menupopup id="menu_NewPopup">
<!-- XXX insert File->New Menu add-ins here -->
</menupopup>
<menupopup id="menu_FilePopup">
<!-- XXX insert File Menu add-ins here -->
</menupopup>
</overlay>

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

@ -1,27 +0,0 @@
<?xml version="1.0"?>
<!-- retrieve generic commands -->
<!-- <?xul-overlay href="chrome://messenger/content/mailOverlay.xul"?> -->
<!DOCTYPE overlay SYSTEM "chrome://editor/locale/editorNavigatorOverlay.dtd" >
<overlay id="editorNavigatorOverlay"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<script type="application/x-javascript" src="editorApplicationOverlay.js"/>
<!-- navigator specific commands -->
<commandset id="tasksCommands">
<!-- XXX insert commands here -->
</commandset>
<!-- navigator specific UI items -->
<menupopup id="menu_NewPopup">
<!-- XXX insert File->New Menu add-ins here -->
</menupopup>
<menupopup id="menu_FilePopup">
<!-- XXX insert File Menu add-ins here -->
</menupopup>
</overlay>

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

@ -1,51 +0,0 @@
/* -*- Mode: Java; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* ***** 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/
*
* 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.org code.
*
* 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):
*
* 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 ***** */
function EditorNew()
{
dump("In EditorNew..\n");
}
function EditorNewFromTemplate()
{
dump("In EditorNewFromTemplate..\n");
}
function EditorNewFromDraft()
{
dump("In EditorNewFromDraft..\n");
}

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

@ -1,918 +0,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/
-
- 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 the Initial Developer are Copyright (C) 1999
- the Initial Developer. All Rights Reserved.
-
- Contributor(s):
- Ryan Cassin (rcassin@supernova.org)
- Daniel Glazman (glazman@netscape.com)
- Aaron Kaluszka (ask@swva.net)
- Stephen Donner (technutz@netscape.net)
-
- 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 ***** -->
<!DOCTYPE overlay [
<!ENTITY % editorOverlayDTD SYSTEM "chrome://editor/locale/editorOverlay.dtd">
%editorOverlayDTD;
<!ENTITY % platformCommunicatorDTD SYSTEM
"chrome://communicator-platform/locale/platformCommunicatorOverlay.dtd">
%platformCommunicatorDTD;
]>
<overlay id="editorOverlay"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<script type="application/x-javascript" src="chrome://editor/content/editorUtilities.js"/>
<script type="application/x-javascript" src="chrome://editor/content/ComposerCommands.js"/>
<keyset id="editorKeys">
<!-- defined in globalOverlay -->
<key id="key_newNavigator"/>
<key id="key_newBlankPage"/>
<key id="openeditorkb" key="&fileopen.keybinding;" observes="cmd_open" modifiers="accel"/>
<key id="openremoteeditorkb" key="&fileopenremote.keybinding;" observes="cmd_openRemote" modifiers="accel,shift"/>
<key id="savekb" key="&filesave.keybinding;" observes="cmd_save" modifiers="accel"/>
<key id="publishkb" key="&filesave.keybinding;" observes="cmd_publish" modifiers="accel,shift"/>
<key id="closekb" key="&fileclose.keybinding;" observes="cmd_close" modifiers="accel"/>
<key id="printkb" key="&fileprint.keybinding;" observes="cmd_print" modifiers="accel"/>
<key id="key_quit"/>
<key id="key_undo"/>
<key id="key_redo"/>
<key id="key_cut"/>
<key id="key_copy"/>
<key id="key_paste"/>
<key id="key_delete"/>
<key id="key_selectAll"/>
<key id="pastequotationkb" key="&editpastequotation.keybinding;" observes="cmd_pasteQuote" modifiers="accel, shift"/>
<key id="findkb" key="&editfind.keybinding;" observes="cmd_find" modifiers="accel"/>
<key id="findnextkb" key="&editfindnext.keybinding;" observes="cmd_findNext" modifiers="accel"/>
<key id="findprevkb" key="&editfindprev.keybinding;" observes="cmd_findPrev" modifiers="accel,shift"/>
<key keycode="&editfindnext.keybinding2;" observes="cmd_findNext"/>
<key keycode="&editfindprev.keybinding2;" observes="cmd_findPrev" modifiers="shift"/>
#ifdef MOZ_X11
<key keycode="&editfind.keybinding2;" observes="cmd_find"/>
#endif
<key id="checkspellingkb"
key="&editcheckspelling.keybinding;"
observes="cmd_spelling"
modifiers="&accel.emacs_conflict;"
disabled="true"
/>
<key id="boldkb" key="&stylebold.keybinding;" observes="cmd_bold" modifiers="accel"/>
<key id="italickb" key="&styleitalic.keybinding;" observes="cmd_italic" modifiers="accel"/>
<key id="underlinekb" key="&styleunderline.keybinding;" observes="cmd_underline" modifiers="accel"/>
<key id="fixedwidthkb" key="&formatfontfixed.keybinding;" observes="cmd_tt" modifiers="accel"/>
<key id="increaseindentkb" key="&formatindent.keybinding;" observes="cmd_indent" modifiers="accel"/>
<key id="decreaseindentkb" key="&formatoutdent.keybinding;" observes="cmd_outdent" modifiers="accel"/>
<key id="removestyleskb" key="&formatremovestyles.keybinding;" observes="cmd_removeStyles" modifiers="accel, shift"/>
<key id="removestyleskb2" key=" " observes="cmd_removeStyles" modifiers="accel"/>
<key id="removelinkskb" key="&formatremovelinks.keybinding;" observes="cmd_removeLinks" modifiers="accel, shift"/>
<key id="removenamedanchorskb" key="&formatremovenamedanchors.keybinding;" observes="cmd_removeNamedAnchors" modifiers="accel, shift"/>
<key id="decreasefontsizekb" key="&decreaseFontSize.keybinding;" observes="cmd_decreaseFont" modifiers="accel"/>
<key id="increasefontsizekb" key="&increaseFontSize.keybinding;" observes="cmd_increaseFont" modifiers="accel"/>
<key key="&increaseFontSize.keybinding;" observes="cmd_increaseFont" modifiers="accel,shift"/>
<key key="&increaseFontSize.keybinding2;" observes="cmd_increaseFont" modifiers="accel"/>
<key id="insertlinkkb" key="&insertlink.keybinding;" observes="cmd_link" modifiers="accel"/>
</keyset>
<!-- commands updated when the editor gets created -->
<commandset id="commonEditorMenuItems"
commandupdater="true"
events="create"
oncommandupdate="goUpdateComposerMenuItems(this)"
>
<command id="cmd_open" oncommand="goDoCommand('cmd_open')"/>
<command id="cmd_openRemote" label="&openremoteCmd.label;" oncommand="goDoCommand('cmd_openRemote')"/>
<command id="cmd_close" label="&closeCmd.label;" oncommand="goDoCommand('cmd_close')"/>
<command id="cmd_printSetup" oncommand="goDoCommand('cmd_printSetup')"/>
<!--
<command id="cmd_printPreview" label="&printPreviewCmd.label;" oncommand="goDoCommand('cmd_printPreview')"/>
-->
<command id="cmd_print" oncommand="goDoCommand('cmd_print')"/>
<command id="cmd_quit" oncommand="goDoCommand('cmd_quit')"/>
</commandset>
<commandset id="composerMenuItems"
commandupdater="true"
events="create, mode_switch"
oncommandupdate="goUpdateComposerMenuItems(this)"
>
<!-- format menu -->
<command id="cmd_listProperties" oncommand="goDoCommand('cmd_listProperties')"/>
<command id="cmd_pageProperties" oncommand="goDoCommand('cmd_pageProperties')"/>
<command id="cmd_colorProperties" oncommand="goDoCommand('cmd_colorProperties')"/>
<command id="cmd_link" oncommand="goDoCommand('cmd_link')"/>
<command id="cmd_anchor" oncommand="goDoCommand('cmd_anchor')"/>
<command id="cmd_image" oncommand="goDoCommand('cmd_image')"/>
<command id="cmd_hline" oncommand="goDoCommand('cmd_hline')"/>
<command id="cmd_table" oncommand="goDoCommand('cmd_table')"/>
<command id="cmd_form" oncommand="goDoCommand('cmd_form')"/>
<command id="cmd_inputtag" oncommand="goDoCommand('cmd_inputtag')"/>
<command id="cmd_inputimage" oncommand="goDoCommand('cmd_inputimage')"/>
<command id="cmd_textarea" oncommand="goDoCommand('cmd_textarea')"/>
<command id="cmd_select" oncommand="goDoCommand('cmd_select')"/>
<command id="cmd_button" oncommand="goDoCommand('cmd_button')"/>
<command id="cmd_label" oncommand="goDoCommand('cmd_label')"/>
<command id="cmd_fieldset" oncommand="goDoCommand('cmd_fieldset')"/>
<command id="cmd_isindex" oncommand="goDoCommand('cmd_isindex')"/>
<command id="cmd_objectProperties" oncommand="goDoCommand('cmd_objectProperties')"/>
<command id="cmd_insertChars" oncommand="goDoCommand('cmd_insertChars')" label="&insertCharsCmd.label;"/>
<command id="cmd_insertHTMLWithDialog" oncommand="goDoCommand('cmd_insertHTMLWithDialog')" label="&insertHTMLCmd.label;"/>
<command id="cmd_insertBreak" oncommand="goDoCommand('cmd_insertBreak')"/>
<command id="cmd_insertBreakAll" oncommand="goDoCommand('cmd_insertBreakAll')"/>
<command id="cmd_NormalMode" oncommand="goDoCommand('cmd_NormalMode')" label="&NormalMode.label;"/>
<command id="cmd_AllTagsMode" oncommand="goDoCommand('cmd_AllTagsMode')" label="&AllTagsMode.label;"/>
<command id="cmd_HTMLSourceMode" oncommand="goDoCommand('cmd_HTMLSourceMode')"/>
<command id="cmd_PreviewMode" oncommand="goDoCommand('cmd_PreviewMode')" label="&PreviewMode.label;"/>
<!-- only used in context popup menu -->
<command id="cmd_editLink" oncommand="goDoCommand('cmd_editLink')"/>
<!-- dummy command used just to disable things in non-HTML modes -->
<command id="cmd_renderedHTMLEnabler"/>
</commandset>
<commandset id="composerSaveMenuItems"
commandupdater="true"
events="create, save"
oncommandupdate="goUpdateComposerMenuItems(this)"
>
<command id="cmd_save" label="&saveCmd.label;" oncommand="goDoCommand('cmd_save')"/>
<command id="cmd_saveAs" label="&saveAsCmd.label;" oncommand="goDoCommand('cmd_saveAs')"/>
<command id="cmd_exportToText" label="&exportToTextCmd.label;" oncommand="goDoCommand('cmd_exportToText')"/>
<command id="cmd_saveAndChangeEncoding" label="&saveAsChangeEncodingCmd.label;" oncommand="goDoCommand('cmd_saveAndChangeEncoding')"/>
<command id="cmd_publish" label="&publishCmd.label;" oncommand="goDoCommand('cmd_publish')"/>
<command id="cmd_publishAs" label="&publishAsCmd.label;" oncommand="goDoCommand('cmd_publishAs')"/>
<command id="cmd_revert" label="&fileRevert.label;" oncommand="goDoCommand('cmd_revert')"/>
<command id="cmd_preview" oncommand="goDoCommand('cmd_preview')"/>
<command id="cmd_editSendPage" label="&sendPageCmd.label;"
accesskey="&sendPage.accesskey;" oncommand="goDoCommand('cmd_editSendPage')"/>
</commandset>
<!-- edit menu commands. These get updated by code in globalOverlay.js -->
<commandset id="composerEditMenuItems"
commandupdater="true"
events="create, mode_switch"
oncommandupdate="goUpdateComposerMenuItems(this)"
>
<command id="cmd_undo"/>
<command id="cmd_redo"/>
<command id="cmd_cut"/>
<command id="cmd_copy"/>
<command id="cmd_paste"/>
<command id="cmd_pasteNoFormatting" oncommand="goDoCommand('cmd_pasteNoFormatting')"
label="&pasteNoFormatting.label;" accesskey="&pasteNoFormatting.accesskey;"/>
<command id="cmd_delete"/>
<command id="cmd_selectAll"/>
<command id="cmd_preferences" oncommand="goDoCommand('cmd_preferences')"/>
<command id="cmd_find" oncommand="goDoCommand('cmd_find')"/>
<command id="cmd_findNext" oncommand="goDoCommand('cmd_findNext')" label="&findAgainCmd.label;"/>
<command id="cmd_findPrev" oncommand="goDoCommand('cmd_findPrev')" label="&findPrevCmd.label;"/>
<command id="cmd_spelling" oncommand="goDoCommand('cmd_spelling')"/>
<command id="cmd_validate" label="&validateCmd.label;" accesskey="&validate.accesskey;" oncommand="goDoCommand('cmd_validate')"/>
<command id="cmd_checkLinks" oncommand="goDoCommand('cmd_checkLinks')"/>
<command id="cmd_pasteQuote" oncommand="goDoCommand('cmd_pasteQuote')" label="&pasteAsQuotationCmd.label;"/>
<command id="cmd_publishSettings" label="&publishSettings.label;" accesskey="&publishSettings.accesskey;" oncommand="goDoCommand('cmd_publishSettings')"/>
</commandset>
<!-- style related commands that update on creation, and on selection change -->
<commandset id="composerStyleMenuItems"
commandupdater="true"
events="create, style, mode_switch"
oncommandupdate="goUpdateComposerMenuItems(this)"
>
<command id="cmd_bold" state="false" oncommand="doStyleUICommand('cmd_bold')"/>
<command id="cmd_italic" state="false" oncommand="doStyleUICommand('cmd_italic')"/>
<command id="cmd_underline" state="false" oncommand="doStyleUICommand('cmd_underline')"/>
<command id="cmd_tt" state="false" oncommand="doStyleUICommand('cmd_tt')"/>
<command id="cmd_smiley"/>
<command id="cmd_strikethrough" state="false" oncommand="doStyleUICommand('cmd_strikethrough');"/>
<command id="cmd_superscript" state="false" oncommand="doStyleUICommand('cmd_superscript');"/>
<command id="cmd_subscript" state="false" oncommand="doStyleUICommand('cmd_subscript');"/>
<command id="cmd_nobreak" state="false" oncommand="doStyleUICommand('cmd_nobreak');"/>
<command id="cmd_em" state="false" oncommand="doStyleUICommand('cmd_em')"/>
<command id="cmd_strong" state="false" oncommand="doStyleUICommand('cmd_strong')"/>
<command id="cmd_cite" state="false" oncommand="doStyleUICommand('cmd_cite')"/>
<command id="cmd_abbr" state="false" oncommand="doStyleUICommand('cmd_abbr')"/>
<command id="cmd_acronym" state="false" oncommand="doStyleUICommand('cmd_acronym')"/>
<command id="cmd_code" state="false" oncommand="doStyleUICommand('cmd_code')"/>
<command id="cmd_samp" state="false" oncommand="doStyleUICommand('cmd_samp')"/>
<command id="cmd_var" state="false" oncommand="doStyleUICommand('cmd_var')"/>
<command id="cmd_ul" state="false" oncommand="doStyleUICommand('cmd_ul')"/>
<command id="cmd_ol" state="false" oncommand="doStyleUICommand('cmd_ol')"/>
<command id="cmd_indent" oncommand="goDoCommand('cmd_indent')"/>
<command id="cmd_outdent" oncommand="goDoCommand('cmd_outdent')"/>
<!-- the state attribute gets filled with the paragraph format before the command is exectued -->
<command id="cmd_paragraphState" state="" oncommand="doStatefulCommand('cmd_paragraphState', event.target.value)"/>
<command id="cmd_fontFace" state="" oncommand="doStatefulCommand('cmd_fontFace', event.target.value)"/>
<!-- No "oncommand", use EditorSelectColor() to bring up color dialog -->
<command id="cmd_fontColor" state=""/>
<command id="cmd_backgroundColor" state=""/>
<command id="cmd_highlight" state="transparent" oncommand="EditorSelectColor('Highlight', event);"/>
<command id="cmd_fontSize" oncommand="goDoCommand('cmd_fontSize')"/>
<command id="cmd_align" state=""/>
<command id="cmd_absPos" state="" oncommand="goDoCommand('cmd_absPos')"/>
<command id="cmd_increaseZIndex" state="" oncommand="goDoCommand('cmd_increaseZIndex')"/>
<command id="cmd_decreaseZIndex" state="" oncommand="goDoCommand('cmd_decreaseZIndex')"/>
<command id="cmd_advancedProperties" oncommand="goDoCommand('cmd_advancedProperties')"/>
<command id="cmd_increaseFont" oncommand="goDoCommand('cmd_increaseFont')"/>
<command id="cmd_decreaseFont" oncommand="goDoCommand('cmd_decreaseFont')"/>
<command id="cmd_removeStyles" oncommand="goDoCommand('cmd_removeStyles')"/>
<command id="cmd_removeLinks" oncommand="goDoCommand('cmd_removeLinks')"/>
<command id="cmd_removeNamedAnchors" oncommand="goDoCommand('cmd_removeNamedAnchors')"/>
<command id="cmd_updateStructToolbar" oncommand="goDoCommand('cmd_updateStructToolbar')"/>
</commandset>
<!-- commands updated only when the menu gets created -->
<commandset id="composerListMenuItems"
commandupdater="true"
events="create, mode_switch"
oncommandupdate="goUpdateComposerMenuItems(this)">
<!-- List menu -->
<command id="cmd_dt" oncommand="doStyleUICommand('cmd_dt')"/>
<command id="cmd_dd" oncommand="doStyleUICommand('cmd_dd')"/>
<command id="cmd_removeList" oncommand="goDoCommand('cmd_removeList')"/>
<!-- cmd_ul and cmd_ol are shared with toolbar and are in composerStyleMenuItems commandset -->
</commandset>
<commandset id="composerTableMenuItems"
commandupdater="true"
events="create, mode_switch"
oncommandupdate="goUpdateTableMenuItems(this)">
<!-- Table menu -->
<command id="cmd_SelectTable" oncommand="goDoCommand('cmd_SelectTable')"/>
<command id="cmd_SelectRow" oncommand="goDoCommand('cmd_SelectRow')"/>
<command id="cmd_SelectColumn" oncommand="goDoCommand('cmd_SelectColumn')"/>
<command id="cmd_SelectCell" oncommand="goDoCommand('cmd_SelectCell')"/>
<command id="cmd_SelectAllCells" oncommand="goDoCommand('cmd_SelectAllCells')"/>
<command id="cmd_InsertTable" oncommand="goDoCommand('cmd_InsertTable')"/>
<command id="cmd_InsertRowAbove" oncommand="goDoCommand('cmd_InsertRowAbove')"/>
<command id="cmd_InsertRowBelow" oncommand="goDoCommand('cmd_InsertRowBelow')"/>
<command id="cmd_InsertColumnBefore" oncommand="goDoCommand('cmd_InsertColumnBefore')"/>
<command id="cmd_InsertColumnAfter" oncommand="goDoCommand('cmd_InsertColumnAfter')"/>
<command id="cmd_InsertCellBefore" oncommand="goDoCommand('cmd_InsertCellBefore')"/>
<command id="cmd_InsertCellAfter" oncommand="goDoCommand('cmd_InsertCellAfter')"/>
<command id="cmd_DeleteTable" oncommand="goDoCommand('cmd_DeleteTable')"/>
<command id="cmd_DeleteRow" oncommand="goDoCommand('cmd_DeleteRow')"/>
<command id="cmd_DeleteColumn" oncommand="goDoCommand('cmd_DeleteColumn')"/>
<command id="cmd_DeleteCell" oncommand="goDoCommand('cmd_DeleteCell')"/>
<command id="cmd_DeleteCellContents" oncommand="goDoCommand('cmd_DeleteCellContents')"/>
<command id="cmd_NormalizeTable" oncommand="goDoCommand('cmd_NormalizeTable')"/>
<command id="cmd_JoinTableCells" oncommand="goDoCommand('cmd_JoinTableCells')"/>
<command id="cmd_SplitTableCell" oncommand="goDoCommand('cmd_SplitTableCell')"/>
<command id="cmd_ConvertToTable" oncommand="goDoCommand('cmd_ConvertToTable')"/>
<command id="cmd_TableOrCellColor" oncommand="goDoCommand('cmd_TableOrCellColor')"/>
<command id="cmd_editTable" oncommand="goDoCommand('cmd_editTable')"/>
</commandset>
<broadcasterset id="broadcasterset">
<!-- Broadcasters/commands with no other home -->
<!-- view menu -->
<command id="cmd_newNavigator"/>
<command id="cmd_newEditor"/>
<command id="cmd_newEditorTemplate"/>
<command id="cmd_newEditorDraft"/>
<command id="cmd_viewCompToolbar" oncommand="goToggleToolbar('EditToolbar','cmd_viewCompToolbar');" checked="true"/>
<command id="cmd_viewFormatToolbar" oncommand="goToggleToolbar('FormatToolbar','cmd_viewFormatToolbar');" checked="true"/>
<command id="cmd_viewEditModeToolbar" oncommand="goToggleToolbar('EditModeToolbar','cmd_viewEditModeToolbar');" checked="true"/>
<!-- Obsolete; these will go away -->
<command id="Editor:Font:Size" fontsize=""/>
</broadcasterset>
<!-- File menu items -->
<!-- Note: globalOverlay.xul uses menu_newEditor, but we want different menu item text
so we use our own id, label, and accesskey but connect to the same global key and broadcaster node
-->
<menu id="fileMenu" label="&fileMenu.label;" accesskey="&filemenu.accesskey;">
<menupopup id="menu_FilePopup" onpopupshowing="EditorInitFileMenu();">
<menu id="menu_New">
<menupopup id="menu_NewPopup">
<menuitem id="menu_newBlankPage" label="&newBlankPageCmd.label;"
accesskey="&newBlankPage.accesskey;" key="key_newBlankPage"
command="cmd_newEditor"/>
<menuseparator id="composerBeginGlobalNewItems"/>
<!-- From globalOverlay.xul -->
<menuitem id="menu_newNavigator" observes="cmd_newNavigator"/>
</menupopup>
</menu>
<menuitem accesskey="&fileopenremote.accesskey;" key="openremoteeditorkb" observes="cmd_openRemote"/>
<menuitem accesskey="&fileopen.accesskey;" key="openeditorkb" observes="cmd_open" label="&openFileCmd.label;"/>
<menu id="menu_RecentFiles" accesskey="&filerecentmenu.accesskey;" label="&fileRecentMenu.label;"
onpopupshowing="BuildRecentPagesMenu();">
<menupopup id="menupopup_RecentFiles" oncommand="editPage(event.target.getAttribute('value'), window, false);"/>
<!-- menuitems appended at runtime -->
</menu>
<menuitem accesskey="&fileclose.accesskey;" key="closekb" observes="cmd_close"/>
<menuseparator/>
<menuitem id="saveMenuitem" accesskey="&filesave.accesskey;" key="savekb" observes="cmd_save"/>
<menuitem accesskey="&filesaveas.accesskey;" observes="cmd_saveAs"/>
<menuitem accesskey="&filesaveandchangeencoding.accesskey;" observes="cmd_saveAndChangeEncoding"/>
<menuseparator/>
<menuitem id="publishMenuitem" accesskey="&publishcmd.accesskey;" key="publishkb" observes="cmd_publish"/>
<menuitem accesskey="&publishas.accesskey;" observes="cmd_publishAs"/>
<menuseparator/>
<menuitem accesskey="&filerevert.accesskey;" observes="cmd_revert"/>
<menuseparator/>
<menuitem id="fileExportToText" accesskey="&fileexporttotext.accesskey;" observes="cmd_exportToText"/>
<menuitem id="previewInBrowser" label="&previewCmd.label;" accesskey="&filepreview.accesskey;" observes="cmd_preview"/>
<!-- menuitem id="menu_SendPage" is merged here from mailEditorOverlay.xul,
where "position" is assumed to be just after 'previewInBrowser' -->
<menuitem id="printSetupMenuItem" accesskey="&fileprintsetup.accesskey;" label="&printSetupCmd.label;" command="cmd_printSetup"/>
<menuitem id="printMenuItem" accesskey="&fileprint.accesskey;" key="printkb" observes="cmd_print" label="&printCmd.label;"/>
<!-- The Exit/Quit item is merged from platformGlobalOverlay.xul -->
</menupopup>
</menu>
<menu id="editMenu" label="&editMenu.label;" accesskey="&editmenu.accesskey;">
<menupopup id="edEditMenuPopup">
<!-- from utilityOverlay.xul -->
<menuitem id="menu_undo"/>
<menuitem id="menu_redo"/>
<menuseparator id="edEditMenuSep1" />
<menuitem id="menu_cut"/>
<menuitem id="menu_copy"/>
<menuitem id="menu_paste"/>
<menuitem id="menu_pasteNoFormatting" observes="cmd_pasteNoFormatting"/>
<!-- PasteAs not implemented yet
<menu id="menu_pasteAs" label="&pasteAs.label;" accesskey="&pasteAs.accesskey;">
<menupopup onpopupshowing="InitPasteAsMenu();">
<menuitem id="menu_pasteText" label="&pasteTextCmd.label;" accesskey="&pasteText.accesskey;"/>
<menuitem id="menu_pasteImage" label="&pasteImageCmd.label;" accesskey="&pasteImage.accesskey;"/>
<menuseparator/>
<menuitem id="menu_pasteRows" label="&pasteRowsCmd.label;" accesskey="&pasteRows.accesskey;"/>
<menuitem id="menu_pasteColumns" label="&pasteColumnsCmd.label;" accesskey="&pasteColumns.accesskey;"/>
<menuitem id="menu_pasteTable" accesskey="&pasteTable.accesskey;"/>
</menupopup>
</menu>
-->
<menuitem id="menu_delete"/>
<menuseparator id="edEditMenuSep2" />
<menuitem id="menu_selectAll"/>
<menuseparator id="sep_find"/>
<menuitem id="menu_find" accesskey="&editfind.accesskey;" key="findkb" observes="cmd_find" label="&findCmd.label;"/>
<menuitem id="menu_findnext" accesskey="&editfindnext.accesskey;" key="findnextkb" observes="cmd_findNext"/>
<menuitem id="menu_findprev" accesskey="&editfindprev.accesskey;" key="findprevkb" observes="cmd_findPrev"/>
<menuseparator id="sep_checkspelling"/>
<menuitem id="menu_checkspelling" accesskey="&editcheckspelling.accesskey;"
key="checkspellingkb" observes="cmd_spelling" disabled="true"
label="&checkSpellingCmd.label;"/>
<menuitem id="menu_inlinespellcheck" type="checkbox"
label="&enableInlineSpellChecker.label;"
accesskey="&enableInlineSpellChecker.accesskey;"
oncommand="InlineSpellCheckerUI.enabled = !InlineSpellCheckerUI.enabled"/>
<menuseparator id="menu_prefsSep"/>
<menuitem id="menu_preferences" observes="cmd_preferences"/>
<!-- Note: other Edit items (menu_validate, menu_publishSettings) are inserted from composerOverlay.xul -->
</menupopup>
</menu>
<menuitem id="viewNormalMode" type="radio" group="mode" accesskey="&NormalMode.accesskey;" observes="cmd_NormalMode"/>
<menuitem id="viewAllTagsMode" type="radio" group="mode" accesskey="&AllTagsMode.accesskey;" observes="cmd_AllTagsMode"/>
<menuitem id="viewSourceMode" type="radio" group="mode" accesskey="&HTMLSourceMode.accesskey;" observes="cmd_HTMLSourceMode" label="&HTMLSourceMode.label;"/>
<menuitem id="viewPreviewMode" type="radio" group="mode" accesskey="&PreviewMode.accesskey;" observes="cmd_PreviewMode"/>
<menupopup id = "composerCharsetMenuPopup" onpopupshowing="updateCharsetPopupMenu(this)" />
<!-- Insert menu -->
<menu id="insertMenu" label="&insertMenu.label;" accesskey="&insertmenu.accesskey;">
<menupopup id="insertMenuPopup">
<menuitem id="insertImage" accesskey="&insertimage.accesskey;" observes="cmd_image" label="&insertImageCmd.label;"/>
<menuitem id="insertTable" accesskey="&inserttable.accesskey;" observes="cmd_InsertTable" label="&insertTableCmd.label;"/>
<menuitem id="insertLink" accesskey="&insertlink.accesskey;" observes="cmd_link" label="&insertLinkCmd.label;" key="insertlinkkb"/>
<menuitem id="insertAnchor" accesskey="&insertanchor.accesskey;" observes="cmd_anchor" label="&insertAnchorCmd.label;"/>
<menuitem id="insertHline" accesskey="&inserthline.accesskey;" observes="cmd_hline" label="&insertHLineCmd.label;"/>
<menuitem id="insertHTMLSource" accesskey="&insertHTMLCmd.accesskey;" observes="cmd_insertHTMLWithDialog" key="inserthtmlkb"/>
<menuitem accesskey="&insertchars.accesskey;" observes="cmd_insertChars" id="insertChars"/>
<menu id="insertTOC" label="&tocMenu.label;" accesskey="&tocMenu.accesskey;">
<menupopup onpopupshowing="InitTOCMenu()">
<menuitem id="insertTOCMenuitem"
label="&insertTOC.label;"
accesskey="&insertTOC.accesskey;"
oncommand="UpdateTOC()"/>
<menuitem id="updateTOCMenuitem"
label="&updateTOC.label;"
accesskey="&updateTOC.accesskey;"
oncommand="UpdateTOC()"/>
<menuitem id="removeTOCMenuitem"
label="&removeTOC.label;"
accesskey="&removeTOC.accesskey;"
oncommand="RemoveTOC()"/>
</menupopup>
</menu>
<menuseparator id="insertMenuSeparator"/>
<!-- Activate this after Enter key inserts P tag and not BR
<menuitem accesskey="&insertbreak.accesskey;" observes="cmd_insertBreak" label="&insertBreakCmd.label;"/>
-->
<menuitem id="insertBreakAll" accesskey="&insertbreakall.accesskey;" observes="cmd_insertBreakAll" label="&insertBreakAllCmd.label;"/>
</menupopup>
</menu>
<!-- Insert menu for PlainText editor -->
<menu id="insertMenuPlainText" label="&insertMenu.label;" accesskey="&insertmenu.accesskey;">
<menupopup>
<menuitem accesskey="&insertchars.accesskey;" observes="cmd_insertChars" />
</menupopup>
</menu>
<!-- Format Menu -->
<menupopup id="formatMenuPopup" onpopupshowing="EditorInitFormatMenu()">
<!-- Font face submenu -->
<menu id="fontFaceMenu" label="&fontfaceMenu.label;" accesskey="&formatfontmenu.accesskey;"
position="1">
<menupopup oncommand="if (event.target.localName == 'menuitem')
doStatefulCommand('cmd_fontFace', event.target.getAttribute('value'));"
onpopupshowing="initFontFaceMenu(this);">
<menuitem label="&fontVarWidth.label;" accesskey="&fontvarwidth.accesskey;" value="" type="radio" name="1" observes="cmd_renderedHTMLEnabler"/>
<menuitem label="&fontFixedWidth.label;" accesskey="&fontfixedwidth.accesskey;" value="tt" type="radio" name="1" observes="cmd_renderedHTMLEnabler"/>
<menuseparator/>
<menuitem label="&fontHelveticaFont.label;" accesskey="&fonthelvetica.accesskey;" value="Helvetica, Arial, sans-serif" type="radio" name="2" observes="cmd_renderedHTMLEnabler"/>
<menuitem label="&fontTimes.label;" accesskey="&fonttimes.accesskey;" value="Times New Roman, Times, serif" type="radio" name="2" observes="cmd_renderedHTMLEnabler"/>
<menuitem label="&fontCourier.label;" accesskey="&fontcourier.accesskey;" value="Courier New, Courier, monospace" type="radio" name="2" observes="cmd_renderedHTMLEnabler"/>
<menuseparator/>
<!-- Local font face items added here by initLocalFontFaceMenu() -->
</menupopup>
</menu>
<!-- Font size submenu -->
<menu id="fontSizeMenu" label="&fontsizeMenu.label;"
accesskey="&formatsizemenu.accesskey;"
position="2">
<menupopup onpopupshowing="initFontSizeMenu(this)">
<menuitem label="&decreaseFontSize.label;" accesskey="&decreasefontsize.accesskey;" observes="cmd_decreaseFont" type="radio" name="1" key="decreasefontsizekb"/>
<menuitem label="&increaseFontSize.label;" accesskey="&increasefontsize.accesskey;" observes="cmd_increaseFont" type="radio" name="1" key="increasefontsizekb"/>
<menuseparator/>
<!-- Not supported in current font size implementation
<menuitem label="&size-xx-smallCmd.label;" accesskey="&size-xx-small.accesskey;" oncommand="EditorSetFontSize('xx-small')" type="radio" name="2" />
-->
<menuitem label="&size-x-smallCmd.label;" accesskey="&size-x-small.accesskey;" oncommand="EditorSetFontSize('x-small')" type="radio" name="2" observes="cmd_renderedHTMLEnabler"/>
<menuitem label="&size-smallCmd.label;" accesskey="&size-small.accesskey;" oncommand="EditorSetFontSize('small')" type="radio" name="2" observes="cmd_renderedHTMLEnabler"/>
<menuitem label="&size-mediumCmd.label;" accesskey="&size-medium.accesskey;" oncommand="EditorSetFontSize('medium')" type="radio" name="2" observes="cmd_renderedHTMLEnabler"/>
<menuitem label="&size-largeCmd.label;" accesskey="&size-large.accesskey;" oncommand="EditorSetFontSize('large')" type="radio" name="2" observes="cmd_renderedHTMLEnabler"/>
<menuitem label="&size-x-largeCmd.label;" accesskey="&size-x-large.accesskey;" oncommand="EditorSetFontSize('x-large')" type="radio" name="2" observes="cmd_renderedHTMLEnabler"/>
<menuitem label="&size-xx-largeCmd.label;" accesskey="&size-xx-large.accesskey;" oncommand="EditorSetFontSize('xx-large')" type="radio" name="2" observes="cmd_renderedHTMLEnabler"/>
</menupopup>
</menu>
<!-- Font style submenu -->
<menu id="fontStyleMenu" label="&fontStyleMenu.label;"
accesskey="&formatstylemenu.accesskey;"
position="3">
<menupopup onpopupshowing="initFontStyleMenu(this)">
<menuitem label="&styleBoldCmd.label;" accesskey="&stylebold.accesskey;" observes="cmd_bold" type="checkbox" key="boldkb"/>
<menuitem label="&styleItalicCmd.label;" accesskey="&styleitalic.accesskey;" observes="cmd_italic" type="checkbox" key="italickb" />
<menuitem label="&styleUnderlineCmd.label;" accesskey="&styleunderline.accesskey;" observes="cmd_underline" type="checkbox" key="underlinekb"/>
<menuitem label="&styleStrikeThruCmd.label;" accesskey="&stylestrikethru.accesskey;" observes="cmd_strikethrough" type="checkbox"/>
<menuitem label="&styleSuperscriptCmd.label;" accesskey="&stylesuperscript.accesskey;" observes="cmd_superscript" type="checkbox"/>
<menuitem label="&styleSubscriptCmd.label;" accesskey="&stylesubscript.accesskey;" observes="cmd_subscript" type="checkbox"/>
<menuitem label="&fontFixedWidth.label;" accesskey="&fontfixedwidth.accesskey;" observes="cmd_tt" type="checkbox" key="fixedwidthkb"/>
<menuitem label="&styleNonbreakingCmd.label;" accesskey="&stylenonbreaking.accesskey;" observes="cmd_nobreak" type="checkbox"/>
<menuseparator/>
<menuitem label="&styleEm.label;" accesskey="&styleEm.accesskey;" observes="cmd_em" type="checkbox"/>
<menuitem label="&styleStrong.label;" accesskey="&styleStrong.accesskey;" observes="cmd_strong" type="checkbox"/>
<menuitem label="&styleCite.label;" accesskey="&styleCite.accesskey;" observes="cmd_cite" type="checkbox"/>
<menuitem label="&styleAbbr.label;" accesskey="&styleAbbr.accesskey;" observes="cmd_abbr" type="checkbox"/>
<menuitem label="&styleAcronym.label;" accesskey="&styleAcronym.accesskey;" observes="cmd_acronym" type="checkbox"/>
<menuitem label="&styleCode.label;" accesskey="&styleCode.accesskey;" observes="cmd_code" type="checkbox"/>
<menuitem label="&styleSamp.label;" accesskey="&styleSamp.accesskey;" observes="cmd_samp" type="checkbox"/>
<menuitem label="&styleVar.label;" accesskey="&styleVar.accesskey;" observes="cmd_var" type="checkbox"/>
</menupopup>
</menu>
<!-- Note: "cmd_fontColor" only monitors color state, it doesn't execute the command
(We should use "cmd_fontColorState" and "cmd_backgroundColorState" ?) -->
<menuitem id="fontColor" label="&formatFontColor.label;"
accesskey="&formatfontcolor.accesskey;"
observes="cmd_fontColor"
oncommand="EditorSelectColor('Text', null);"
position="4"/>
<menuseparator id="removeSep" position="5"/>
<!-- label and accesskey set at runtime from strings -->
<menuitem id="removeStylesMenuitem" key="removestyleskb"
observes="cmd_removeStyles"
position="6"/>
<menuitem id="removeLinksMenuitem" key="removelinkskb"
observes="cmd_removeLinks"
position="7"/>
<menuitem id="removeNamedAnchorsMenuitem" label="&formatRemoveNamedAnchors.label;"
key="removenamedanchorskb"
accesskey="&formatRemoveNamedAnchors.accesskey;"
observes="cmd_removeNamedAnchors"
position="8"/>
<menuseparator id="tabSep" position="9"/>
<!-- Note: the 'Init' menu methods for Paragraph, List, and Align
assume that the id = 'menu_'+tagName (the 'value' label),
except for the first ('none') item
-->
<!-- Paragraph Style submenu -->
<menu id="paragraphMenu" label="&paragraphMenu.label;"
accesskey="&formatparagraphmenu.accesskey;"
position="10" onpopupshowing="InitParagraphMenu()">
<menupopup oncommand="doStatefulCommand('cmd_paragraphState', event.target.getAttribute('value'))">
<menuitem id="menu_bodyText" type="radio" name="1" label="&bodyTextCmd.label;" accesskey="&bodytext.accesskey;" value="" observes="cmd_renderedHTMLEnabler"/>
<menuitem id="menu_p" type="radio" name="1" label="&paragraphParagraphCmd.label;" accesskey="&paragraphparagraph.accesskey;" value="p" observes="cmd_renderedHTMLEnabler"/>
<menuitem id="menu_h1" type="radio" name="1" label="&heading1Cmd.label;" accesskey="&heading1.accesskey;" value="h1" observes="cmd_renderedHTMLEnabler"/>
<menuitem id="menu_h2" type="radio" name="1" label="&heading2Cmd.label;" accesskey="&heading2.accesskey;" value="h2" observes="cmd_renderedHTMLEnabler"/>
<menuitem id="menu_h3" type="radio" name="1" label="&heading3Cmd.label;" accesskey="&heading3.accesskey;" value="h3" observes="cmd_renderedHTMLEnabler"/>
<menuitem id="menu_h4" type="radio" name="1" label="&heading4Cmd.label;" accesskey="&heading4.accesskey;" value="h4" observes="cmd_renderedHTMLEnabler"/>
<menuitem id="menu_h5" type="radio" name="1" label="&heading5Cmd.label;" accesskey="&heading5.accesskey;" value="h5" observes="cmd_renderedHTMLEnabler"/>
<menuitem id="menu_h6" type="radio" name="1" label="&heading6Cmd.label;" accesskey="&heading6.accesskey;" value="h6" observes="cmd_renderedHTMLEnabler"/>
<menuitem id="menu_address" type="radio" name="1" label="&paragraphAddressCmd.label;" accesskey="&paragraphaddress.accesskey;" value="address" observes="cmd_renderedHTMLEnabler"/>
<menuitem id="menu_pre" type="radio" name="1" label="&paragraphPreformatCmd.label;" accesskey="&paragraphpreformat.accesskey;" value="pre" observes="cmd_renderedHTMLEnabler"/>
</menupopup>
</menu>
<!-- List Style submenu -->
<menu id="listMenu" label="&formatlistMenu.label;"
accesskey="&formatlistmenu.accesskey;"
position="11" onpopupshowing="InitListMenu()">
<menupopup>
<menuitem id="menu_noList" type="radio" name="1" label="&noneCmd.label;" accesskey="&none.accesskey;" observes="cmd_removeList"/>
<menuitem id="menu_ul" type="radio" name="1" label="&listBulletCmd.label;" accesskey="&listbullet.accesskey;" observes="cmd_ul"/>
<menuitem id="menu_ol" type="radio" name="1" label="&listNumberedCmd.label;" accesskey="&listnumbered.accesskey;" observes="cmd_ol"/>
<menuitem id="menu_dt" type="radio" name="1" label="&listTermCmd.label;" accesskey="&listterm.accesskey;" observes="cmd_dt"/>
<menuitem id="menu_dd" type="radio" name="1" label="&listDefinitionCmd.label;" accesskey="&listdefinition.accesskey;" observes="cmd_dd"/>
<menuseparator/>
<menuitem id="listProps" label="&listProps.label;" accesskey="&listprops.accesskey;" observes="cmd_listProperties"/>
</menupopup>
</menu>
<menuseparator id="identingSep" position="12"/>
<menuitem id="increaseIndent" label="&increaseIndent.label;" accesskey="&increaseindent.accesskey;" key="increaseindentkb"
observes="cmd_indent" position="13"/>
<menuitem id="decreaseIndent" label="&decreaseIndent.label;" accesskey="&decreaseindent.accesskey;" key="decreaseindentkb"
observes="cmd_outdent" position="14"/>
<menu id="alignMenu" label="&alignMenu.label;" accesskey="&formatalignmenu.accesskey;"
onpopupshowing="InitAlignMenu()"
position="15">
<!-- Align submenu -->
<menupopup oncommand="doStatefulCommand('cmd_align', event.target.getAttribute('value'))">
<menuitem id="menu_left" label="&alignLeft.label;" accesskey="&alignleft.accesskey;" type="radio" name="1" value="left" observes="cmd_renderedHTMLEnabler"/>
<menuitem id="menu_center" label="&alignCenter.label;" accesskey="&aligncenter.accesskey;" type="radio" name="1" value="center" observes="cmd_renderedHTMLEnabler"/>
<menuitem id="menu_right" label="&alignRight.label;" accesskey="&alignright.accesskey;" type="radio" name="1" value="right" observes="cmd_renderedHTMLEnabler"/>
<menuitem id="menu_justify" label="&alignJustify.label;" accesskey="&alignjustify.accesskey;" type="radio" name="1" value="justify" observes="cmd_renderedHTMLEnabler"/>
</menupopup>
</menu>
<menuseparator id="tableSep" position="16"/>
<!-- Merge Table Menu and separator in Messenger Composer here -->
<!-- Merge property items here -->
</menupopup>
<menuitem id="snapToGrid" label="&grid.label;" accesskey="&grid.accesskey;"
oncommand="goDoCommand('cmd_grid')" observes="cmd_renderedHTMLEnabler"/>
<!-- Next 3 are items to append at the bottom of the formatMenuPopup -->
<!-- label and accesskey filled in during menu creation -->
<menuitem id="objectProperties" oncommand="goDoCommand('cmd_objectProperties')" observes="cmd_renderedHTMLEnabler"/>
<!-- Don't use 'observes', must call command correctly -->
<menuitem id="pageProperties" label="&pageProperties.label;" accesskey="&pageproperties.accesskey;"
oncommand="goDoCommand('cmd_pageProperties')" observes="cmd_renderedHTMLEnabler"/>
<menuitem id="colorsAndBackground" label="&colorsAndBackground.label;" accesskey="&colorsandbackground.accesskey;"
oncommand="goDoCommand('cmd_colorProperties')" observes="cmd_renderedHTMLEnabler"/>
<menu id="tableMenu" label="&tableMenu.label;" accesskey="&tablemenu.accesskey;">
<menupopup onpopupshowing="EditorInitTableMenu()">
<!-- From EditorCommandOverlay.xul (shared with context popup) -->
<menu id="tableInsertMenu" label="&tableInsertMenu.label;" accesskey="&tableinsertmenu.accesskey;">
<menupopup>
<menuitem label="&insertTableCmd.label;" accesskey="&tabletable.accesskey;" observes="cmd_InsertTable"/>
<menuseparator />
<menuitem label="&tableRowAbove.label;" accesskey="&tablerow.accesskey;" observes="cmd_InsertRowAbove"/>
<menuitem label="&tableRowBelow.label;" accesskey="&tablerowbelow.accesskey;" observes="cmd_InsertRowBelow"/>
<menuseparator />
<menuitem label="&tableColumnBefore.label;" accesskey="&tablecolumn.accesskey;" observes="cmd_InsertColumnBefore"/>
<menuitem label="&tableColumnAfter.label;" accesskey="&tablecolumnafter.accesskey;" observes="cmd_InsertColumnAfter"/>
<menuseparator />
<menuitem label="&tableCellBefore.label;" accesskey="&tablecell.accesskey;" observes="cmd_InsertCellBefore"/>
<menuitem label="&tableCellAfter.label;" accesskey="&tablecellafter.accesskey;" observes="cmd_InsertCellAfter"/>
</menupopup>
</menu>
<menu id="tableSelectMenu" label="&tableSelectMenu.label;" accesskey="&tableselectmenu.accesskey;">
<menupopup id="tableSelectPopup">
<menuitem id="menu_SelectTable" label="&tableTable.label;" accesskey="&tabletable.accesskey;" observes="cmd_SelectTable" />
<menuitem id="menu_SelectRow" label="&tableRow.label;" accesskey="&tablerow.accesskey;" observes="cmd_SelectRow" />
<menuitem id="menu_SelectColumn" label="&tableColumn.label;" accesskey="&tablecolumn.accesskey;" observes="cmd_SelectColumn" />
<menuitem id="menu_SelectCell" label="&tableCell.label;" accesskey="&tablecell.accesskey;" observes="cmd_SelectCell" />
<menuitem id="menu_SelectAllCells" label="&tableAllCells.label;" accesskey="&tableallcells.accesskey;" observes="cmd_SelectAllCells" />
</menupopup>
</menu>
<menu id="tableDeleteMenu" label="&tableDeleteMenu.label;" accesskey="&tabledeletemenu.accesskey;">
<menupopup id="tableDeletePopup">
<menuitem id="menu_DeleteTable" label="&tableTable.label;" accesskey="&tabletable.accesskey;" observes="cmd_DeleteTable"/>
<menuitem id="menu_DeleteRow" label="&tableRows.label;" accesskey="&tablerow.accesskey;" observes="cmd_DeleteRow"/>
<menuitem id="menu_DeleteColumn" label="&tableColumns.label;" accesskey="&tablecolumn.accesskey;" observes="cmd_DeleteColumn"/>
<menuitem id="menu_DeleteCell" label="&tableCells.label;" accesskey="&tablecell.accesskey;" observes="cmd_DeleteCell"/>
<menuitem id="menu_DeleteCellContents" label="&tableCellContents.label;" accesskey="&tablecellcontents.accesskey;" observes="cmd_DeleteCellContents"/>
</menupopup>
</menu>
<menuseparator />
<!-- menu label is set in InitTableMenu -->
<menuitem id="menu_JoinTableCells" label="&tableJoinCells.label;" accesskey="&tablejoincells.accesskey;" observes="cmd_JoinTableCells"/>
<menuitem id="menu_SlitTableCell" label="&tableSplitCell.label;" accesskey="&tablesplitcell.accesskey;" observes="cmd_SplitTableCell"/>
<menuitem id="menu_ConvertToTable" label="&convertToTable.label;" accesskey="&converttotable.accesskey;" observes="cmd_ConvertToTable"/>
<menuseparator />
<menuitem id="menu_TableOrCellColor" label="&tableOrCellColor.label;" accesskey="&tableOrCellColor.accesskey;" observes="cmd_TableOrCellColor"/>
<menuitem id="menu_tableProperties" label="&tableProperties.label;" accesskey="&tableProperties.accesskey;" observes="cmd_editTable"/>
</menupopup>
</menu>
<!-- this is only used in messengercompose.xul -->
<toolbarbutton type="menu" id="AlignPopupButton" observes="cmd_align"
tooltiptext="&AlignPopupButton.tooltip;">
<menupopup id="AlignPopup">
<menuitem id="AlignLeftItem" class="menuitem-iconic" label="&alignLeft.label;"
oncommand="doStatefulCommand('cmd_align', 'left')"
tooltiptext="&alignLeftButton.tooltip;" />
<menuitem id="AlignCenterItem" class="menuitem-iconic" label="&alignCenter.label;"
oncommand="doStatefulCommand('cmd_align', 'center')"
tooltiptext="&alignCenterButton.tooltip;" />
<menuitem id="AlignRightItem" class="menuitem-iconic" label="&alignRight.label;"
oncommand="doStatefulCommand('cmd_align', 'right')"
tooltiptext="&alignRightButton.tooltip;" />
<menuitem id="AlignJustifyItem" class="menuitem-iconic" label="&alignJustify.label;"
oncommand="doStatefulCommand('cmd_align', 'justify')"
tooltiptext="&alignjustifyButton.tooltip;" />
</menupopup>
</toolbarbutton>
<!-- InsertPopupButton is used by messengercompose.xul -->
<toolbarbutton type="menu" id="InsertPopupButton" observes="cmd_renderedHTMLEnabler"
tooltiptext="&InsertPopupButton.tooltip;">
<menupopup id="InsertPopup">
<menuitem id="InsertLinkItem" class="menuitem-iconic" observes="cmd_link"
oncommand="goDoCommand('cmd_link')" label="&linkToolbarCmd.label;"
tooltiptext="&linkToolbarCmd.tooltip;" />
<menuitem id="InsertAnchorItem" class="menuitem-iconic" observes="cmd_anchor"
oncommand="goDoCommand('cmd_anchor')" label="&anchorToolbarCmd.label;"
tooltiptext="&anchorToolbarCmd.tooltip;" />
<menuitem id="InsertImageItem" class="menuitem-iconic" observes="cmd_image"
oncommand="goDoCommand('cmd_image')" label="&imageToolbarCmd.label;"
tooltiptext="&imageToolbarCmd.tooltip;" />
<menuitem id="InsertHRuleItem" class="menuitem-iconic" observes="cmd_hline"
oncommand="goDoCommand('cmd_hline')" label="&hruleToolbarCmd.label;"
tooltiptext="&hruleToolbarCmd.tooltip;" />
<menuitem id="InsertTableItem" class="menuitem-iconic" observes="cmd_table"
oncommand="goDoCommand('cmd_table')" label="&tableToolbarCmd.label;"
tooltiptext="&tableToolbarCmd.tooltip;" />
</menupopup>
</toolbarbutton>
<!-- Editor toolbar items -->
<!-- note that we override the submenu item label "Blank Window" with "New" used for the menu -->
<toolbarbutton id="newButton" class="toolbarbutton-1"
label="&newMenu.label;" command="cmd_newEditor"
tooltiptext="&newToolbarCmd.tooltip;"/>
<toolbarbutton id="openButton" class="toolbarbutton-1"
label="&openToolbarCmd.label;" observes="cmd_open"
tooltiptext="&openToolbarCmd.tooltip;"/>
<toolbarbutton id="saveButton" class="toolbarbutton-1" observes="cmd_save"
tooltiptext="&saveToolbarCmd.tooltip;"/>
<toolbarbutton id="publishButton" class="toolbarbutton-1"
observes="cmd_publish"
tooltiptext="&publishToolbarCmd.tooltip;"/>
<toolbarbutton id="previewButton" class="toolbarbutton-1"
label="&previewToolbarCmd.label;" observes="cmd_preview"
tooltiptext="&previewToolbarCmd.tooltip;"/>
<toolbarbutton id="cutButton" class="toolbarbutton-1"
label="&cutCmd.label;" command="cmd_cut"
tooltiptext="&cutCmd.label;"/>
<toolbarbutton id="copyButton" class="toolbarbutton-1"
label="&copyCmd.label;" command="cmd_copy"
tooltiptext="&copyCmd.label;"/>
<toolbarbutton id="pasteButton" class="toolbarbutton-1"
label="&pasteCmd.label;" command="cmd_paste"
tooltiptext="&pasteCmd.label;"/>
<toolbarbutton id="printButton" type="menu-button" class="toolbarbutton-1"
label="&printToolbarCmd.label;"
tooltiptext="&printToolbarCmd.tooltip;"
oncommand="if (event.target==this) goDoCommand('cmd_print');">
<menupopup id="printMenu">
<menuitem id="printMenuItemToolbar" accesskey="&fileprint.accesskey;" label="&printCmd.label;" default="true"
oncommand="goDoCommand('cmd_print');"/>
<!-- 'printSetupToolbar' is merged in here from platformGlobalOverlay.xul -->
</menupopup>
</toolbarbutton>
<toolbarbutton id="findButton" class="toolbarbutton-1"
label="&findToolbarCmd.label;" observes="cmd_find"
tooltiptext="&findToolbarCmd.tooltip;"/>
<toolbarbutton id="spellingButton" class="toolbarbutton-1" disabled="true"
label="&spellToolbarCmd.label;" observes="cmd_spelling"
tooltiptext="&spellToolbarCmd.tooltip;"/>
<toolbarbutton id="imageButton" class="toolbarbutton-1"
label="&imageToolbarCmd.label;" observes="cmd_image"
tooltiptext="&imageToolbarCmd.tooltip;"/>
<toolbarbutton id="hlineButton" class="toolbarbutton-1"
label="&hruleToolbarCmd.label;" observes="cmd_hline"
tooltiptext="&hruleToolbarCmd.tooltip;"/>
<toolbarbutton id="tableButton" class="toolbarbutton-1"
label="&tableToolbarCmd.label;" observes="cmd_table"
tooltiptext="&tableToolbarCmd.tooltip;"/>
<toolbarbutton id="linkButton" class="toolbarbutton-1"
label="&linkToolbarCmd.label;" observes="cmd_link"
tooltiptext="&linkToolbarCmd.tooltip;"/>
<toolbarbutton id="namedAnchorButton" class="toolbarbutton-1"
label="&anchorToolbarCmd.label;" observes="cmd_anchor"
tooltiptext="&anchorToolbarCmd.tooltip;"/>
<!-- Formatting toolbar items. "value" are HTML tagnames, don't translate -->
<menulist class="toolbar-focustarget" id="ParagraphSelect" observes="cmd_renderedHTMLEnabler"
tooltiptext="&ParagraphSelect.tooltip;" crop="right">
<observes element="cmd_paragraphState" attribute="state" onbroadcast="onParagraphFormatChange(this.parentNode, 'cmd_paragraphState')"/>
<menupopup id="ParagraphPopup" oncommand="doStatefulCommand('cmd_paragraphState', event.target.value)">
<menuitem label="&bodyTextCmd.label;" value=""/>
<menuitem label="&paragraphParagraphCmd.label;" value="p"/>
<menuitem label="&heading1Cmd.label;" value="h1"/>
<menuitem label="&heading2Cmd.label;" value="h2"/>
<menuitem label="&heading3Cmd.label;" value="h3"/>
<menuitem label="&heading4Cmd.label;" value="h4"/>
<menuitem label="&heading5Cmd.label;" value="h5"/>
<menuitem label="&heading6Cmd.label;" value="h6"/>
<menuitem label="&paragraphAddressCmd.label;" value="address"/>
<menuitem label="&paragraphPreformatCmd.label;" value="pre"/>
</menupopup>
</menulist>
<!-- "value" are HTML tagnames, don't translate -->
<menulist class="toolbar-focustarget" id="FontFaceSelect" observes="cmd_renderedHTMLEnabler"
tooltiptext="&FontFaceSelect.tooltip;" crop="right">
<observes element="cmd_fontFace" attribute="state" onbroadcast="onFontFaceChange(this.parentNode, 'cmd_fontFace')"/>
<menupopup id="FontFacePopup" oncommand="doStatefulCommand('cmd_fontFace', event.target.value)">
<menuitem label="&fontVarWidth.label;" value=""/>
<menuitem label="&fontFixedWidth.label;" value="tt"/>
<menuseparator/>
<menuitem label="&fontHelveticaFont.label;" value="Helvetica, Arial, sans-serif"/>
<menuitem label="&fontTimes.label;" value="Times New Roman, Times, serif"/>
<menuitem label="&fontCourier.label;" value="Courier New, Courier, monospace"/>
<menuseparator/>
</menupopup>
</menulist>
<menulist class="toolbar-focustarget" id="FontSizeSelect" oncommand="EditorSelectFontSize()" tooltiptext="&FontSizeSelect.tooltip;" crop="right">
<observes element="cmd_fontSize" attribute="state" onbroadcast="onFontSizeChange(this.parentNode, 'cmd_fontSize')"/>
<menupopup>
<menuitem label="&size-xx-smallCmd.label;"/>
<menuitem label="&size-x-smallCmd.label;"/>
<menuitem label="&size-smallCmd.label;"/>
<menuitem label="&size-mediumCmd.label;"/>
<menuitem label="&size-largeCmd.label;"/>
<menuitem label="&size-x-largeCmd.label;"/>
<menuitem label="&size-xx-largeCmd.label;"/>
</menupopup>
</menulist>
<stack id="ColorButtons" align="center">
<observes element="cmd_fontColor" attribute="state" onbroadcast="onFontColorChange()"/>
<observes element="cmd_backgroundColor" attribute="state" onbroadcast="onBackgroundColorChange()"/>
<box class="color-button" id="BackgroundColorButton"
onclick="EditorSelectColor('', event);"
tooltiptext="&BackgroundColorButton.tooltip;"/>
<box class="color-button" id="TextColorButton"
onclick="EditorSelectColor('Text', event);"
tooltiptext="&TextColorButton.tooltip;"/>
</stack>
<toolbarbutton id="HighlightColorButton"
tooltiptext="&HighlightColorButton.tooltip;" command="cmd_highlight">
<observes element="cmd_highlight" attribute="state" onbroadcast="onHighlightColorChange()"/>
<observes element="cmd_highlight" attribute="collapsed"/>
</toolbarbutton>
<!-- A BUG IN CSS/BOXES MAKES THIS ASSERT WHEN CLASS= IS PRESENT AND WE TRY TO COLLAPSE THE TOOLBOX -->
<toolbarbutton id="DecreaseFontSizeButton" observes="cmd_decreaseFont"
tooltiptext="&decreaseFontSizeToolbarCmd.tooltip;"/>
<toolbarbutton id="IncreaseFontSizeButton" observes="cmd_increaseFont"
tooltiptext="&increaseFontSizeToolbarCmd.tooltip;"/>
<toolbarbutton id="boldButton" type="checkbox" autoCheck="false" observes="cmd_bold"
tooltiptext="&boldToolbarCmd.tooltip;">
<observes element="cmd_bold" type="checkbox" attribute="state" onbroadcast="onButtonUpdate(this.parentNode, 'cmd_bold')"/>
</toolbarbutton>
<toolbarbutton id="italicButton" type="checkbox" autoCheck="false" observes="cmd_italic"
tooltiptext="&italicToolbarCmd.tooltip;">
<observes element="cmd_italic" attribute="state" onbroadcast="onButtonUpdate(this.parentNode, 'cmd_italic')"/>
</toolbarbutton>
<toolbarbutton id="underlineButton" type="checkbox" autoCheck="false" observes="cmd_underline"
tooltiptext="&underlineToolbarCmd.tooltip;">
<observes element="cmd_underline" attribute="state" onbroadcast="onButtonUpdate(this.parentNode, 'cmd_underline')"/>
</toolbarbutton>
<toolbarbutton id="ulButton" type="radio" group="lists" autoCheck="false" observes="cmd_ul"
tooltiptext="&bulletListToolbarCmd.tooltip;">
<observes element="cmd_ul" attribute="state" onbroadcast="onButtonUpdate(this.parentNode, 'cmd_ul')"/>
</toolbarbutton>
<toolbarbutton id="olButton" type="radio" group="lists" autoCheck="false" observes="cmd_ol"
tooltiptext="&numberListToolbarCmd.tooltip;">
<observes element="cmd_ol" attribute="state" onbroadcast="onButtonUpdate(this.parentNode, 'cmd_ol')"/>
</toolbarbutton>
<toolbarbutton id="outdentButton" observes="cmd_outdent"
tooltiptext="&outdentToolbarCmd.tooltip;"/>
<toolbarbutton id="indentButton" observes="cmd_indent"
tooltiptext="&indentToolbarCmd.tooltip;"/>
<!-- alignment buttons -->
<toolbarbutton id="align-left-button" type="radio" group="align" autoCheck="false"
oncommand="doStatefulCommand('cmd_align', 'left')"
tooltiptext="&alignLeft.tooltip;" >
<observes element="cmd_align" attribute="state"
onbroadcast="onStateButtonUpdate(this.parentNode, 'cmd_align', 'left')" />
</toolbarbutton>
<toolbarbutton id="align-center-button" type="radio" group="align" autoCheck="false"
oncommand="doStatefulCommand('cmd_align', 'center')"
tooltiptext="&alignCenter.tooltip;" >
<observes element="cmd_align" attribute="state"
onbroadcast="onStateButtonUpdate(this.parentNode, 'cmd_align', 'center')"/>
</toolbarbutton>
<toolbarbutton id="align-right-button" type="radio" group="align" autoCheck="false"
oncommand="doStatefulCommand('cmd_align', 'right')"
tooltiptext="&alignRight.tooltip;" >
<observes element="cmd_align" attribute="state"
onbroadcast="onStateButtonUpdate(this.parentNode, 'cmd_align', 'right')"/>
</toolbarbutton>
<toolbarbutton id="align-justify-button" type="radio" group="align" autoCheck="false"
oncommand="doStatefulCommand('cmd_align', 'justify')"
tooltiptext="&alignJustify.tooltip;" >
<observes element="cmd_align" attribute="state"
onbroadcast="onStateButtonUpdate(this.parentNode, 'cmd_align', 'justify')"/>
</toolbarbutton>
<toolbarbutton id="absolutePositionButton" type="checkbox" tooltiptext="&layer.tooltip;" observes="cmd_absPos">
<observes element="cmd_absPos" attribute="state" onbroadcast="onStateButtonUpdate(this.parentNode, 'cmd_absPos', 'absolute')"/>
</toolbarbutton>
<toolbarbutton id="decreaseZIndexButton" observes="cmd_decreaseZIndex"
tooltiptext="&layerSendToBack.tooltip;"/>
<toolbarbutton id="increaseZIndexButton" observes="cmd_increaseZIndex"
tooltiptext="&layerBringToFront.tooltip;"/>
<!-- Edit Mode toolbar -->
<tabs id="EditModeTabs" onselect="this.selectedItem.doCommand()"/>
<tab id="NormalModeButton" class="tab-bottom edit-mode _plain" type="text" selected="1" label="&NormalModeTab.label;" oncommand="goDoCommand('cmd_NormalMode');"
tooltiptext="&NormalMode.tooltip;"/>
<tab id="TagModeButton" class="tab-bottom edit-mode _plain" type="text" selected="0" label="&AllTagsMode.label;" oncommand="goDoCommand('cmd_AllTagsMode');"
tooltiptext="&AllTagsMode.tooltip;"/>
<tab id="SourceModeButton" class="tab-bottom edit-mode _plain" type="text" selected="0" label="&SourceMode.label;" oncommand="goDoCommand('cmd_HTMLSourceMode');"
tooltiptext="&HTMLSourceMode.tooltip;" dir="&SourceTabDirection;"/>
<tab id="PreviewModeButton" class="tab-bottom edit-mode _plain" type="text" selected="0" label="&PreviewMode.label;" oncommand="goDoCommand('cmd_PreviewMode');"
tooltiptext="&PreviewMode.tooltip;"/>
<!-- Paste as quotation is used by mail compose,
but in composer it has to go in the debug menu
-->
<menuitem id="menu_pasteQuote" accesskey="&editpastequotation.accesskey;" command="cmd_pasteQuote" key="pastequotationkb"/>
</overlay>

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

@ -1,72 +0,0 @@
<?xml version="1.0"?>
<!DOCTYPE overlay [
<!ENTITY % brandDTD SYSTEM "chrome://branding/locale/brand.dtd" >
%brandDTD;
<!ENTITY % editorPrefsOverlayDTD SYSTEM "chrome://editor/locale/editorPrefsOverlay.dtd" >
%editorPrefsOverlayDTD;
]>
<overlay id="editorPrefsOverlay"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<preferences id="appearance_preferences">
<preference id="general.startup.editor"
name="general.startup.editor"
type="bool"/>
</preferences>
<!-- editor startup toggle -->
<groupbox id="generalStartupPreferences">
<checkbox id="generalStartupEditor"
insertafter="generalStartupMail,generalStartupBrowser"
label="&editorCheck.label;"
accesskey="&editorCheck.accesskey;"
preference="general.startup.editor"/>
</groupbox>
<!-- category tree entries for editor -->
<treechildren id="prefsPanelChildren">
<treeitem container="true"
id="composerItem"
insertafter="mailnews,navigator"
label="&compose.label;"
prefpane="composer_pane"
url="chrome://editor/content/pref-composer.xul"
helpTopic="composer_prefs_general">
<treechildren id="composerChildren">
<treeitem id="editingItem"
label="&editing.label;"
prefpane="editing_pane"
url="chrome://editor/content/pref-editing.xul"
helpTopic="composer_prefs_newpage"/>
<treeitem id="toolbarsItem"
label="&toolbars.label;"
prefpane="toolbars_pane"
url="chrome://editor/content/pref-toolbars.xul"
helpTopic="composer_prefs_toolbars"/>
</treechildren>
</treeitem>
</treechildren>
<!-- category tree entries for editor -->
<treechildren id="panelChildren">
<treeitem container="true" id="editor" insertafter="mailnews,navigator">
<treerow>
<treecell label="Migrated: &compose.label;"/>
</treerow>
<treechildren>
<treeitem>
<treerow>
<treecell label="Migrated: &editing.label;"/>
</treerow>
</treeitem>
<treeitem>
<treerow>
<treecell label="Migrated: &toolbars.label;"/>
</treerow>
</treeitem>
</treechildren>
</treeitem>
</treechildren>
</overlay>

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

@ -1,139 +0,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/
-
- 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 Editor Smiley Overlay.
-
- The Initial Developer of the Original Code is
- Neil Rashbrook.
- Portions created by the Initial Developer are Copyright (C) 2003
- the Initial Developer. All Rights Reserved.
-
- Contributor(s):
- Neil Rashbrook <neil@parkwaycc.co.uk>
-
- Alternatively, the contents of this file may be used under the terms of
- either 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 LGPL or the GPL. 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 ***** -->
<!DOCTYPE overlay SYSTEM "chrome://editor/locale/editorSmileyOverlay.dtd">
<overlay xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<!-- smiley menu -->
<toolbarbutton type="menu" id="smileButtonMenu"
observes="cmd_smiley"
tooltiptext="&SmileButton.tooltip;">
<menupopup id="smilyPopup">
<menuitem class="smiley insert-smile menuitem-iconic" label="&smiley1Cmd.label;"
oncommand="doStatefulCommand('cmd_smiley', ':-)' )"
tooltiptext="&smiley1Cmd.tooltip;" />
<menuitem class="smiley insert-frown menuitem-iconic" label="&smiley2Cmd.label;"
oncommand="doStatefulCommand('cmd_smiley', ':-(' )"
tooltiptext="&smiley2Cmd.tooltip;" />
<menuitem class="smiley insert-wink menuitem-iconic" label="&smiley3Cmd.label;"
oncommand="doStatefulCommand('cmd_smiley', ';-)' )"
tooltiptext="&smiley3Cmd.tooltip;" />
<menuitem class="smiley insert-tongue menuitem-iconic" label="&smiley4Cmd.label;"
oncommand="doStatefulCommand('cmd_smiley', ':-P' )"
tooltiptext="&smiley4Cmd.tooltip;" />
<menuitem class="smiley insert-laughing menuitem-iconic" label="&smiley5Cmd.label;"
oncommand="doStatefulCommand('cmd_smiley', ':-D' )"
tooltiptext="&smiley5Cmd.tooltip;" />
<menuitem class="smiley insert-embarrassed menuitem-iconic" label="&smiley6Cmd.label;"
oncommand="doStatefulCommand('cmd_smiley', ':-[' )"
tooltiptext="&smiley6Cmd.tooltip;" />
<menuitem class="smiley insert-undecided menuitem-iconic" label="&smiley7Cmd.label;"
oncommand="doStatefulCommand('cmd_smiley', ':-\\' )"
tooltiptext="&smiley7Cmd.tooltip;" />
<menuitem class="smiley insert-surprise menuitem-iconic" label="&smiley8Cmd.label;"
oncommand="doStatefulCommand('cmd_smiley', '=-O' )"
tooltiptext="&smiley8Cmd.tooltip;" />
<menuitem class="smiley insert-kiss menuitem-iconic" label="&smiley9Cmd.label;"
oncommand="doStatefulCommand('cmd_smiley', ':-*' )"
tooltiptext="&smiley9Cmd.tooltip;" />
<menuitem class="smiley insert-yell menuitem-iconic" label="&smiley10Cmd.label;"
oncommand="doStatefulCommand('cmd_smiley', '>:o' )"
tooltiptext="&smiley10Cmd.tooltip;" />
<menuitem class="smiley insert-cool menuitem-iconic" label="&smiley11Cmd.label;"
oncommand="doStatefulCommand('cmd_smiley', '8-)' )"
tooltiptext="&smiley11Cmd.tooltip;" />
<menuitem class="smiley insert-money menuitem-iconic" label="&smiley12Cmd.label;"
oncommand="doStatefulCommand('cmd_smiley', ':-$' )"
tooltiptext="&smiley12Cmd.tooltip;" />
<menuitem class="smiley insert-foot menuitem-iconic" label="&smiley13Cmd.label;"
oncommand="doStatefulCommand('cmd_smiley', ':-!' )"
tooltiptext="&smiley13Cmd.tooltip;" />
<menuitem class="smiley insert-innocent menuitem-iconic" label="&smiley14Cmd.label;"
oncommand="doStatefulCommand('cmd_smiley', 'O:-)' )"
tooltiptext="&smiley14Cmd.tooltip;" />
<menuitem class="smiley insert-cry menuitem-iconic" label="&smiley15Cmd.label;"
oncommand="doStatefulCommand('cmd_smiley', ':\'(' )"
tooltiptext="&smiley15Cmd.tooltip;" />
<menuitem class="smiley insert-sealed menuitem-iconic" label="&smiley16Cmd.label;"
oncommand="doStatefulCommand('cmd_smiley', ':-X' )"
tooltiptext="&smiley16Cmd.tooltip;" />
</menupopup>
</toolbarbutton>
<menu id="insertMenu">
<menupopup id="insertMenuPopup">
<menu id="insertSmiley" label="&insertSmiley.label;" accesskey="&insertSmiley.accesskey;" insertbefore="insertMenuSeparator">
<menupopup id="smilyPopup">
<menuitem class="smiley insert-smile menuitem-iconic" label="&smiley1Cmd.label;"
oncommand="doStatefulCommand('cmd_smiley', ':-)' )" accesskey="&smiley1Cmd.accesskey;"/>
<menuitem class="smiley insert-frown menuitem-iconic" label="&smiley2Cmd.label;"
oncommand="doStatefulCommand('cmd_smiley', ':-(' )" accesskey="&smiley2Cmd.accesskey;"/>
<menuitem class="smiley insert-wink menuitem-iconic" label="&smiley3Cmd.label;"
oncommand="doStatefulCommand('cmd_smiley', ';-)' )" accesskey="&smiley3Cmd.accesskey;"/>
<menuitem class="smiley insert-tongue menuitem-iconic" label="&smiley4Cmd.label;"
oncommand="doStatefulCommand('cmd_smiley', ':-P' )" accesskey="&smiley4Cmd.accesskey;"/>
<menuitem class="smiley insert-laughing menuitem-iconic" label="&smiley5Cmd.label;"
oncommand="doStatefulCommand('cmd_smiley', ':-D' )" accesskey="&smiley5Cmd.accesskey;"/>
<menuitem class="smiley insert-embarrassed menuitem-iconic" label="&smiley6Cmd.label;"
oncommand="doStatefulCommand('cmd_smiley', ':-[' )" accesskey="&smiley6Cmd.accesskey;"/>
<menuitem class="smiley insert-undecided menuitem-iconic" label="&smiley7Cmd.label;"
oncommand="doStatefulCommand('cmd_smiley', ':-\\' )" accesskey="&smiley7Cmd.accesskey;"/>
<menuitem class="smiley insert-surprise menuitem-iconic" label="&smiley8Cmd.label;"
oncommand="doStatefulCommand('cmd_smiley', '=-O' )" accesskey="&smiley8Cmd.accesskey;"/>
<menuitem class="smiley insert-kiss menuitem-iconic" label="&smiley9Cmd.label;"
oncommand="doStatefulCommand('cmd_smiley', ':-*' )" accesskey="&smiley9Cmd.accesskey;"/>
<menuitem class="smiley insert-yell menuitem-iconic" label="&smiley10Cmd.label;"
oncommand="doStatefulCommand('cmd_smiley', '>:o' )" accesskey="&smiley10Cmd.accesskey;"/>
<menuitem class="smiley insert-cool menuitem-iconic" label="&smiley11Cmd.label;"
oncommand="doStatefulCommand('cmd_smiley', '8-)' )" accesskey="&smiley11Cmd.accesskey;"/>
<menuitem class="smiley insert-money menuitem-iconic" label="&smiley12Cmd.label;"
oncommand="doStatefulCommand('cmd_smiley', ':-$' )" accesskey="&smiley12Cmd.accesskey;"/>
<menuitem class="smiley insert-foot menuitem-iconic" label="&smiley13Cmd.label;"
oncommand="doStatefulCommand('cmd_smiley', ':-!' )" accesskey="&smiley13Cmd.accesskey;"/>
<menuitem class="smiley insert-innocent menuitem-iconic" label="&smiley14Cmd.label;"
oncommand="doStatefulCommand('cmd_smiley', 'O:-)' )" accesskey="&smiley14Cmd.accesskey;"/>
<menuitem class="smiley insert-cry menuitem-iconic" label="&smiley15Cmd.label;"
oncommand="doStatefulCommand('cmd_smiley', ':\'(' )" accesskey="&smiley15Cmd.accesskey;"/>
<menuitem class="smiley insert-sealed menuitem-iconic" label="&smiley16Cmd.label;"
oncommand="doStatefulCommand('cmd_smiley', ':-X' )" accesskey="&smiley16Cmd.accesskey;"/>
</menupopup>
</menu>
</menupopup>
</menu>
</overlay>

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

@ -1,76 +0,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/
-
- 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 Editor Tasks Overlay.
-
- The Initial Developer of the Original Code is
- Neil Rashbrook.
- Portions created by the Initial Developer are Copyright (C) 2001
- the Initial Developer. All Rights Reserved.
-
- Contributor(s): Neil Rashbrook <neil@parkwaycc.co.uk>
-
- Alternatively, the contents of this file may be used under the terms of
- either 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 LGPL or the GPL. 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 ***** -->
<!DOCTYPE overlay SYSTEM "chrome://communicator/locale/tasksOverlay.dtd">
<overlay id="editorTasksOverlay"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<script type="application/x-javascript">
<![CDATA[
function toEditor()
{
if (!CycleWindow("composer:html"))
NewEditorWindow();
}
function NewEditorWindow()
{
// Open editor window with blank page
window.openDialog( "chrome://editor/content", "_blank", "chrome,all,dialog=no", "about:blank");
}
]]>
</script>
<keyset id="tasksKeys">
<key id="key_editor" key="&editorCmd.commandkey;" command="Tasks:Editor" modifiers="accel"/>
</keyset>
<commandset id="tasksCommands">
<command id="Tasks:Editor" oncommand="toEditor();"/>
</commandset>
<statusbarpanel id="component-bar">
<toolbarbutton class="taskbutton" id="mini-comp" command="Tasks:Editor"
tooltiptext="&taskComposer.tooltip;" insertafter="mini-nav"/>
</statusbarpanel>
<menupopup id="windowPopup">
<menuitem label="&editorCmd.label;" accesskey="&editorCmd.accesskey;" key="key_editor" command="Tasks:Editor" id="tasksMenuEditor" insertafter="IMMenuItem,tasksMenuNavigator" class="menuitem-iconic icon-composer16 menu-iconic"/>
</menupopup>
</overlay>

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 893 B

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 145 B

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 897 B

Двоичные данные
editor/ui/composer/content/images/sendtoback.gif

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 148 B

Двоичные данные
editor/ui/composer/content/images/tag-a.gif

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 138 B

Двоичные данные
editor/ui/composer/content/images/tag-abr.gif

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 202 B

Двоичные данные
editor/ui/composer/content/images/tag-acr.gif

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 279 B

Двоичные данные
editor/ui/composer/content/images/tag-adr.gif

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 240 B

Двоичные данные
editor/ui/composer/content/images/tag-anchor.gif

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 127 B

Двоичные данные
editor/ui/composer/content/images/tag-app.gif

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 230 B

Двоичные данные
editor/ui/composer/content/images/tag-ara.gif

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 212 B

Двоичные данные
editor/ui/composer/content/images/tag-b.gif

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 138 B

Двоичные данные
editor/ui/composer/content/images/tag-bas.gif

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 216 B

Двоичные данные
editor/ui/composer/content/images/tag-bdo.gif

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 186 B

Двоичные данные
editor/ui/composer/content/images/tag-big.gif

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 176 B

Двоичные данные
editor/ui/composer/content/images/tag-blq.gif

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 281 B

Двоичные данные
editor/ui/composer/content/images/tag-body.gif

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 214 B

Двоичные данные
editor/ui/composer/content/images/tag-br.gif

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 158 B

Двоичные данные
editor/ui/composer/content/images/tag-bsf.gif

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 264 B

Двоичные данные
editor/ui/composer/content/images/tag-btn.gif

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 247 B

Двоичные данные
editor/ui/composer/content/images/tag-cit.gif

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 192 B

Двоичные данные
editor/ui/composer/content/images/tag-clg.gif

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 251 B

Двоичные данные
editor/ui/composer/content/images/tag-cod.gif

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 211 B

Двоичные данные
editor/ui/composer/content/images/tag-col.gif

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 183 B

Двоичные данные
editor/ui/composer/content/images/tag-cpt.gif

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 262 B

Двоичные данные
editor/ui/composer/content/images/tag-ctr.gif

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 229 B

Двоичные данные
editor/ui/composer/content/images/tag-dd.gif

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 159 B

Двоичные данные
editor/ui/composer/content/images/tag-del.gif

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 175 B

Двоичные данные
editor/ui/composer/content/images/tag-dfn.gif

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 185 B

Двоичные данные
editor/ui/composer/content/images/tag-dir.gif

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 176 B

Двоичные данные
editor/ui/composer/content/images/tag-div.gif

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 168 B

Двоичные данные
editor/ui/composer/content/images/tag-dl.gif

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 145 B

Двоичные данные
editor/ui/composer/content/images/tag-dt.gif

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 153 B

Двоичные данные
editor/ui/composer/content/images/tag-em.gif

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 155 B

Двоичные данные
editor/ui/composer/content/images/tag-fld.gif

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 226 B

Двоичные данные
editor/ui/composer/content/images/tag-fnt.gif

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 206 B

Двоичные данные
editor/ui/composer/content/images/tag-for.gif

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 209 B

Двоичные данные
editor/ui/composer/content/images/tag-frm.gif

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 221 B

Двоичные данные
editor/ui/composer/content/images/tag-fst.gif

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 267 B

Двоичные данные
editor/ui/composer/content/images/tag-h1.gif

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 137 B

Двоичные данные
editor/ui/composer/content/images/tag-h2.gif

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 151 B

Двоичные данные
editor/ui/composer/content/images/tag-h3.gif

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 149 B

Двоичные данные
editor/ui/composer/content/images/tag-h4.gif

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 145 B

Двоичные данные
editor/ui/composer/content/images/tag-h5.gif

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 148 B

Двоичные данные
editor/ui/composer/content/images/tag-h6.gif

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 149 B

Двоичные данные
editor/ui/composer/content/images/tag-hed.gif

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 204 B

Двоичные данные
editor/ui/composer/content/images/tag-hr.gif

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 152 B

Двоичные данные
editor/ui/composer/content/images/tag-html.gif

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 198 B

Двоичные данные
editor/ui/composer/content/images/tag-i.gif

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 126 B

Двоичные данные
editor/ui/composer/content/images/tag-ifr.gif

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 238 B

Двоичные данные
editor/ui/composer/content/images/tag-img.gif

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 182 B

Двоичные данные
editor/ui/composer/content/images/tag-inp.gif

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 207 B

Двоичные данные
editor/ui/composer/content/images/tag-ins.gif

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 178 B

Двоичные данные
editor/ui/composer/content/images/tag-isx.gif

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 267 B

Двоичные данные
editor/ui/composer/content/images/tag-kbd.gif

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 186 B

Двоичные данные
editor/ui/composer/content/images/tag-lbl.gif

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 210 B

Двоичные данные
editor/ui/composer/content/images/tag-lgn.gif

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 244 B

Двоичные данные
editor/ui/composer/content/images/tag-li.gif

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 143 B

Двоичные данные
editor/ui/composer/content/images/tag-lnk.gif

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 187 B

Двоичные данные
editor/ui/composer/content/images/tag-lst.gif

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 248 B

Двоичные данные
editor/ui/composer/content/images/tag-map.gif

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 188 B

Двоичные данные
editor/ui/composer/content/images/tag-men.gif

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 214 B

Двоичные данные
editor/ui/composer/content/images/tag-met.gif

Двоичный файл не отображается.

До

Ширина:  |  Высота:  |  Размер: 202 B

Некоторые файлы не были показаны из-за слишком большого количества измененных файлов Показать больше