Bug 435079 - Migrate Composer's New Page Settings prefs to the new prefpane

r=NeilAway, sr=NeilAway
This commit is contained in:
Stefan 2008-07-17 12:04:44 -04:00
Родитель 91ec284cb7
Коммит f3d7e65612
5 изменённых файлов: 332 добавлений и 370 удалений

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

@ -34,7 +34,11 @@
url="chrome://editor/content/pref-composer.xul"
helpTopic="composer_prefs_general">
<treechildren id="composerChildren">
<!-- XXX Move pref panes from below to here as they are migrated -->
<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"
@ -50,20 +54,12 @@
<treerow>
<treecell label="Migrated: &compose.label;"/>
</treerow>
<!-- XXX Move these up as we migrate the panels -->
<treechildren>
<treeitem>
<treerow>
<treecell url="chrome://editor/content/pref-editing.xul" label="&editing.label;"/>
<treecell label="Migrated: &editing.label;"/>
</treerow>
</treeitem>
<!--
<treeitem>
<treerow>
<treecell url="chrome://editor/content/pref-publish.xul" label="&publish.label;"/>
</treerow>
</treeitem>
-->
<treeitem>
<treerow>
<treecell label="Migrated: &toolbars.label;"/>

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

@ -20,6 +20,7 @@
* the Initial Developer. All Rights Reserved.
*
* Contributor(s):
* Stefan Hermes <stefanh@inbox.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"),
@ -34,119 +35,60 @@
* the terms of any one of the MPL, the GPL or the LGPL.
*
* ***** END LICENSE BLOCK ***** */
// This is mostly a modified version of code in EdColorProps.xul
// Initialize in case we can't get them from prefs???
var defaultTextColor = "#000000";
var defaultLinkColor = "#000099";
var defaultActiveColor = "#000099";
var defaultVisitedColor = "#990099";
var defaultBackgroundColor = "#FFFFFF";
var gPrefService = Components.classes["@mozilla.org/preferences-service;1"]
.getService(Components.interfaces.nsIPrefBranch2);
const browserPrefsObserver =
{
observe: function(aSubject, aTopic, aData)
{
if (aTopic != "nsPref:changed" || document.getElementById("editor.use_custom_colors").value)
return;
var customTextColor;
var customLinkColor;
var customActiveColor;
var customVisitedColor;
var customBackgroundColor;
var previewBGColor;
var backgroundImage = "";
// Strings we use often
const styleStr = "style";
const textStr = "text";
const linkStr = "link";
const vlinkStr = "vlink";
const alinkStr = "alink";
const bgcolorStr = "bgcolor";
const backgroundStr = "background";
const colorStyle = "color: ";
const backColorStyle = "background-color: ";
const backImageStyle = "; background-image: url(";
var browserColors;
var dialog;
switch (aData)
{
case "browser.anchor_color":
SetColorPreview("linkText", gPrefService.getCharPref(aData));
break;
case "browser.active_color":
SetColorPreview("activeLinkText", gPrefService.getCharPref(aData));
break;
case "browser.visited_color":
SetColorPreview("visitedLinkText", gPrefService.getCharPref(aData));
break;
default:
SetBgAndFgColors(gPrefService.getBoolPref("browser.display.use_system_colors"))
}
}
};
function Startup()
{
gDialog.ColorPreview = document.getElementById("ColorPreview");
gDialog.NormalText = document.getElementById("NormalText");
gDialog.LinkText = document.getElementById("LinkText");
gDialog.ActiveLinkText = document.getElementById("ActiveLinkText");
gDialog.VisitedLinkText = document.getElementById("VisitedLinkText");
gDialog.DefaultColorsRadio = document.getElementById("DefaultColorsRadio");
gDialog.CustomColorsRadio = document.getElementById("CustomColorsRadio");
gDialog.BackgroundImageInput = document.getElementById("BackgroundImageInput");
// Add browser prefs observers
gPrefService.addObserver("browser.display.use_system_colors", browserPrefsObserver, false);
gPrefService.addObserver("browser.display.foreground_color", browserPrefsObserver, false);
gPrefService.addObserver("browser.display.background_color", browserPrefsObserver, false);
gPrefService.addObserver("browser.anchor_color", browserPrefsObserver, false);
gPrefService.addObserver("browser.active_color", browserPrefsObserver, false);
gPrefService.addObserver("browser.visited_color", browserPrefsObserver, false);
// The data elements that hold the pref values
gDialog.NormalData = document.getElementById("textData");
gDialog.LinkData = document.getElementById("linkData");
gDialog.ActiveLinkData = document.getElementById("aLinkData");
gDialog.VisitedLinkData = document.getElementById("fLinkData");
gDialog.BackgroundColorData = document.getElementById("backgroundColorData");
gDialog.BackgroundImageData = document.getElementById("backgroundImageData");
browserColors = GetDefaultBrowserColors();
// Use author's browser pref colors passed into dialog
defaultTextColor = browserColors.TextColor;
defaultLinkColor = browserColors.LinkColor;
defaultActiveColor = browserColors.ActiveLinkColor;
defaultVisitedColor = browserColors.VisitedLinkColor;
defaultBackgroundColor= browserColors.BackgroundColor;
// Get the colors and image set by prefs init code
customTextColor = gDialog.NormalData.getAttribute("value");
customLinkColor = gDialog.LinkData.getAttribute("value");
customActiveColor = gDialog.ActiveLinkData.getAttribute("value");
customVisitedColor = gDialog.VisitedLinkData.getAttribute("value");
customBackgroundColor = gDialog.BackgroundColorData.getAttribute("value");
backgroundImage = gDialog.BackgroundImageData.getAttribute("value");
if (backgroundImage)
gDialog.BackgroundImageInput.value = backgroundImage;
// "value" attribute value is a string conversion of boolean!
if( document.getElementById( "useCustomColors" ).value == "true" )
UseCustomColors();
else
UseDefaultColors();
return true;
// Add event listener so we can remove our observers
window.addEventListener("unload", WindowOnUnload, false);
UpdateDependent(document.getElementById("editor.use_custom_colors").value);
}
function GetColorAndUpdate(ColorWellID)
function GetColorAndUpdatePref(aType, aButtonID)
{
// Only allow selecting when in custom mode
if (!gDialog.CustomColorsRadio.selected) return;
var colorWell = document.getElementById(ColorWellID);
if (!colorWell) return;
// Don't allow a blank color, i.e., using the "default"
var colorObj = { NoDefault:true, Type:"", TextColor:0, PageColor:0, Cancel:false };
var preference = document.getElementById("editor." + aButtonID + "_color");
switch( ColorWellID )
{
case "textCW":
colorObj.Type = "Text";
colorObj.TextColor = customTextColor;
break;
case "linkCW":
colorObj.Type = "Link";
colorObj.TextColor = customLinkColor;
break;
case "activeCW":
colorObj.Type = "ActiveLink";
colorObj.TextColor = customActiveColor;
break;
case "visitedCW":
colorObj.Type = "VisitedLink";
colorObj.TextColor = customVisitedColor;
break;
case "backgroundCW":
colorObj.Type = "Page";
colorObj.PageColor = customBackgroundColor;
break;
}
if (aButtonID == "background")
colorObj.PageColor = preference.value;
else
colorObj.TextColor = preference.value;
colorObj.Type = aType;
window.openDialog("chrome://editor/content/EdColorPicker.xul", "_blank", "chrome,close,titlebar,modal", "", colorObj);
@ -154,162 +96,126 @@ function GetColorAndUpdate(ColorWellID)
if (colorObj.Cancel)
return;
var color = "";
switch( ColorWellID )
{
case "textCW":
color = customTextColor = colorObj.TextColor;
gDialog.NormalData.setAttribute("value", color);
break;
case "linkCW":
color = customLinkColor = colorObj.TextColor;
gDialog.LinkData.setAttribute("value", color);
break;
case "activeCW":
color = customActiveColor = colorObj.TextColor;
gDialog.ActiveLinkData.setAttribute("value", color);
break;
case "visitedCW":
color = customVisitedColor = colorObj.TextColor;
gDialog.VisitedLinkData.setAttribute("value", color);
break;
case "backgroundCW":
color = customBackgroundColor = colorObj.BackgroundColor;
gDialog.BackgroundColorData.setAttribute("value", color);
break;
}
setColorWell(ColorWellID, color);
SetColorPreview(ColorWellID, color);
// Update preference with picked color
if (aType == "Page")
preference.value = colorObj.BackgroundColor;
else
preference.value = colorObj.TextColor;
}
function SetColorPreview(ColorWellID, color)
function UpdateDependent(aCustomEnabled)
{
switch( ColorWellID )
{
case "textCW":
gDialog.NormalText.setAttribute(styleStr,colorStyle+color);
break;
case "linkCW":
gDialog.LinkText.setAttribute(styleStr,colorStyle+color);
break;
case "activeCW":
gDialog.ActiveLinkText.setAttribute(styleStr,colorStyle+color);
break;
case "visitedCW":
gDialog.VisitedLinkText.setAttribute(styleStr,colorStyle+color);
break;
case "backgroundCW":
// Must combine background color and image style values
var styleValue = backColorStyle+color;
if (backgroundImage)
styleValue += ";"+backImageStyle+backgroundImage+");";
ToggleElements(aCustomEnabled);
gDialog.ColorPreview.setAttribute(styleStr,styleValue);
previewBGColor = color;
break;
}
}
function UseCustomColors()
{
SetElementEnabledById("TextButton", true);
SetElementEnabledById("LinkButton", true);
SetElementEnabledById("ActiveLinkButton", true);
SetElementEnabledById("VisitedLinkButton", true);
SetElementEnabledById("BackgroundButton", true);
SetElementEnabledById("Text", true);
SetElementEnabledById("Link", true);
SetElementEnabledById("Active", true);
SetElementEnabledById("Visited", true);
SetElementEnabledById("Background", true);
SetColorPreview("textCW", customTextColor);
SetColorPreview("linkCW", customLinkColor);
SetColorPreview("activeCW", customActiveColor);
SetColorPreview("visitedCW", customVisitedColor);
SetColorPreview("backgroundCW", customBackgroundColor);
setColorWell("textCW", customTextColor);
setColorWell("linkCW", customLinkColor);
setColorWell("activeCW", customActiveColor);
setColorWell("visitedCW", customVisitedColor);
setColorWell("backgroundCW", customBackgroundColor);
gDialog.NormalData.setAttribute("value", customTextColor);
gDialog.LinkData.setAttribute("value", customLinkColor);
gDialog.ActiveLinkData.setAttribute("value", customActiveColor);
gDialog.VisitedLinkData.setAttribute("value", customVisitedColor);
gDialog.BackgroundColorData.setAttribute("value", customBackgroundColor);
}
function UseDefaultColors()
{
SetColorPreview("textCW", defaultTextColor);
SetColorPreview("linkCW", defaultLinkColor);
SetColorPreview("activeCW", defaultActiveColor);
SetColorPreview("visitedCW", defaultVisitedColor);
SetColorPreview("backgroundCW", defaultBackgroundColor);
// Setting to blank color will remove color from buttons,
setColorWell("textCW", "");
setColorWell("linkCW", "");
setColorWell("activeCW", "");
setColorWell("visitedCW", "");
setColorWell("backgroundCW", "");
// Disable color buttons and labels
SetElementEnabledById("TextButton", false);
SetElementEnabledById("LinkButton", false);
SetElementEnabledById("ActiveLinkButton", false);
SetElementEnabledById("VisitedLinkButton", false);
SetElementEnabledById("BackgroundButton", false);
SetElementEnabledById("Text", false);
SetElementEnabledById("Link", false);
SetElementEnabledById("Active", false);
SetElementEnabledById("Visited", false);
SetElementEnabledById("Background", false);
// Note that we leave custom colors set even if
// custom colors pref is false (we just ignore the colors)
}
function ChooseImageFile()
{
// Get a local image file, converted into URL format
var fileName = GetLocalFileURL("img");
if (fileName)
{
gDialog.BackgroundImageInput.value = fileName;
ValidateAndPreviewImage(true);
}
SetTextboxFocus(gDialog.BackgroundImageInput);
}
function ChangeBackgroundImage()
{
// Don't show error message for image while user is typing
ValidateAndPreviewImage(false);
}
function ValidateAndPreviewImage(ShowErrorMessage)
{
// First make a string with just background color
var styleValue = backColorStyle+previewBGColor+";";
var image = TrimString(gDialog.BackgroundImageInput.value);
if (image)
{
backgroundImage = image;
// Append image style
styleValue += backImageStyle+backgroundImage+");";
if (aCustomEnabled)
{ // Set current editor colors on preview and buttons
SetColors("textCW", "normalText", document.getElementById("editor.text_color").value);
SetColors("linkCW", "linkText", document.getElementById("editor.link_color").value);
SetColors("activeCW", "activeLinkText", document.getElementById("editor.active_link_color").value);
SetColors("visitedCW", "visitedLinkText", document.getElementById("editor.followed_link_color").value);
SetColors("backgroundCW", "ColorPreview", document.getElementById("editor.background_color").value);
}
else
backgroundImage = "";
// Set style on preview (removes image if not valid)
gDialog.ColorPreview.setAttribute(styleStr, styleValue);
// Set the pref data so pref code saves it
gDialog.BackgroundImageData.setAttribute("value", backgroundImage ? backgroundImage : "");
{ // Set current browser colors on preview
SetBgAndFgColors(gPrefService.getBoolPref("browser.display.use_system_colors"));
SetColorPreview("linkText", gPrefService.getCharPref("browser.anchor_color"));
SetColorPreview("activeLinkText", gPrefService.getCharPref("browser.active_color"));
SetColorPreview("visitedLinkText", gPrefService.getCharPref("browser.visited_color"));
}
}
function ToggleElements(aCustomEnabled)
{
var buttons = document.getElementById("color-rows").getElementsByTagName("button");
for (var i = 0; i < buttons.length; i++)
{
let isLocked = CheckLocked(buttons[i].id);
buttons[i].disabled = !aCustomEnabled || isLocked;
buttons[i].previousSibling.disabled = !aCustomEnabled || isLocked;
buttons[i].firstChild.setAttribute("default", !aCustomEnabled || isLocked);
}
}
function CheckLocked(aButtonID)
{
return document.getElementById("editor." + aButtonID + "_color").locked;
}
// Updates preview and button color when a editor color pref change
function UpdateColors(aColorWellID, aPreviewID, aColor)
{
// Only show editor colors from prefs if we're in custom mode
if (!document.getElementById("editor.use_custom_colors").value)
return;
SetColors(aColorWellID, aPreviewID, aColor)
}
function SetColors(aColorWellID, aPreviewID, aColor)
{
SetColorWell(aColorWellID, aColor);
SetColorPreview(aPreviewID, aColor);
}
function SetColorWell(aColorWellID, aColor)
{
document.getElementById(aColorWellID).style.backgroundColor = aColor;
}
function SetColorPreview(aPreviewID, aColor)
{
if (aPreviewID == "ColorPreview")
document.getElementById(aPreviewID).style.backgroundColor = aColor;
else
document.getElementById(aPreviewID).style.color = aColor;
}
function UpdateBgImagePreview(aImage)
{
var colorPreview = document.getElementById("ColorPreview");
colorPreview.style.backgroundImage = !aImage ? "" : "url(" + aImage + ")";
}
// Sets browser background/foreground colors
function SetBgAndFgColors(aSysPrefEnabled)
{
if (aSysPrefEnabled)
{ // Use system colors
SetColorPreview("normalText", "windowtext");
SetColorPreview("ColorPreview", "window");
}
else
{
SetColorPreview("normalText", gPrefService.getCharPref("browser.display.foreground_color"));
SetColorPreview("ColorPreview", gPrefService.getCharPref("browser.display.background_color"));
}
}
function ChooseImageFile()
{
const nsIFilePicker = Components.interfaces.nsIFilePicker;
var fp = Components.classes["@mozilla.org/filepicker;1"]
.createInstance(nsIFilePicker);
var editorBundle = document.getElementById("bundle_editor");
var title = editorBundle.getString("SelectImageFile");
fp.init(window, title, nsIFilePicker.modeOpen);
fp.appendFilters(nsIFilePicker.filterImages);
if (fp.show() == nsIFilePicker.returnOK)
document.getElementById("editor.default_background_image").value = fp.fileURL.spec;
var textbox = document.getElementById("backgroundImageInput");
textbox.focus();
textbox.select();
}
function WindowOnUnload()
{
gPrefService.removeObserver("browser.display.use_system_colors", browserPrefsObserver, false);
gPrefService.removeObserver("browser.display.foreground_color", browserPrefsObserver, false);
gPrefService.removeObserver("browser.display.background_color", browserPrefsObserver, false);
gPrefService.removeObserver("browser.anchor_color", browserPrefsObserver, false);
gPrefService.removeObserver("browser.active_color", browserPrefsObserver, false);
gPrefService.removeObserver("browser.visited_color", browserPrefsObserver, false);
window.removeEventListener("unload", WindowOnUnload, false);
}

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

@ -39,115 +39,177 @@
<?xml-stylesheet href="chrome://communicator/skin/" type="text/css"?>
<?xml-stylesheet href="chrome://editor/skin/EditorDialog.css" type="text/css"?>
<!DOCTYPE page SYSTEM "chrome://editor/locale/pref-editing.dtd">
<!DOCTYPE overlay SYSTEM "chrome://editor/locale/pref-editing.dtd">
<page xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
onload="parent.initPanel('chrome://editor/content/pref-editing.xul');"
headertitle="&pref.editing.title;">
<overlay xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<prefpane id="editing_pane"
label="&pref.editing.title;"
script="chrome://editor/content/pref-composer.js">
<script lanugage="JavaScript">
<![CDATA[
var _elementIDs = ["editorAuthor", "useCustomColors", "textData", "linkData", "aLinkData", "fLinkData", "backgroundColorData", "backgroundImageData"];
]]>
</script>
<preferences id="editing_preferences">
<preference id="editor.author"
name="editor.author"
type="string"/>
<preference id="editor.use_custom_colors"
name="editor.use_custom_colors"
type="bool"
onchange="UpdateDependent(this.value);"/>
<preference id="editor.text_color"
name="editor.text_color"
type="string"
onchange="UpdateColors('textCW', 'normalText', this.value);"/>
<preference id="editor.link_color"
name="editor.link_color"
type="string"
onchange="UpdateColors('linkCW', 'linkText', this.value);"/>
<preference id="editor.active_link_color"
name="editor.active_link_color"
type="string"
onchange="UpdateColors('activeCW', 'activeLinkText', this.value);"/>
<preference id="editor.followed_link_color"
name="editor.followed_link_color"
type="string"
onchange="UpdateColors('visitedCW', 'visitedLinkText', this.value);"/>
<preference id="editor.background_color"
name="editor.background_color"
type="string"
onchange="UpdateColors('backgroundCW', 'ColorPreview', this.value);"/>
<preference id="editor.default_background_image"
name="editor.default_background_image"
type="string"
onchange="UpdateBgImagePreview(this.value);"/>
</preferences>
<script type="application/x-javascript" src="chrome://editor/content/pref-composer.js"/>
<script type="application/x-javascript" src="chrome://editor/content/editorUtilities.js"/>
<script type="application/x-javascript" src="chrome://editor/content/EdDialogCommon.js"/>
<stringbundle id="bundle_editor"
src="chrome://editor/locale/editor.properties"/>
<vbox>
<label value="&authorName.label;" accesskey="&authorName.accesskey;" control="editorAuthor"/>
<hbox>
<textbox id="editorAuthor" flex="1"
prefstring="editor.author"/>
<spacer flex="1"/>
</hbox>
</vbox>
<spacer class="smallspacer"/>
<groupbox align="start">
<caption label="&pageColorHeader;"/>
<radiogroup id="useCustomColors"
preftype="bool" prefstring="editor.use_custom_colors">
<radio id="DefaultColorsRadio"
value="false"
label="&defaultColorsRadio.label;"
accesskey="&defaultColors.accesskey;"
oncommand="UseDefaultColors();"/>
<radio id="CustomColorsRadio"
value="true" label="&customColorsRadio.label;"
accesskey="&customColors.accesskey;"
oncommand="UseCustomColors()"/>
</radiogroup>
<hbox class="indent">
<grid>
<columns><column/><column/></columns>
<rows>
<row align="center">
<label id="Text" value="&normalText.label;&colon.character;"
accesskey="&normalText.accesskey;" control="TextButton"/>
<button id="TextButton" class="color-button" oncommand="GetColorAndUpdate('textCW');">
<spacer id="textCW" class="color-well"/>
</button>
<data id="textData" pref="true" preftype="color" prefstring="editor.text_color" prefattribute="value" wsm_attributes="value"/>
</row>
<row align="center">
<label id="Link" value="&linkText.label;&colon.character;"
accesskey="&linkText.accesskey;" control="LinkButton"/>
<button id="LinkButton" class="color-button" oncommand="GetColorAndUpdate('linkCW');">
<spacer id="linkCW" class="color-well"/>
</button>
<data id="linkData" pref="true" preftype="color" prefstring="editor.link_color" prefattribute="value" wsm_attributes="value"/>
</row>
<row align="center">
<label id="Active" value="&activeLinkText.label;&colon.character;"
accesskey="&activeLinkText.accesskey;" control="ActiveLinkButton"/>
<button id="ActiveLinkButton" class="color-button" oncommand="GetColorAndUpdate('activeCW');">
<spacer id="activeCW" class="color-well"/>
</button>
<data id="aLinkData" pref="true" preftype="color" prefstring="editor.active_link_color" prefattribute="value" wsm_attributes="value"/>
</row>
<row align="center">
<label id="Visited" value ="&visitedLinkText.label;&colon.character;"
accesskey="&visitedLinkText.accesskey;" control="VisitedLinkButton"/>
<button id="VisitedLinkButton" class="color-button" oncommand="GetColorAndUpdate('visitedCW');">
<spacer id="visitedCW" class="color-well"/>
</button>
<data id="fLinkData" pref="true" preftype="color" prefstring="editor.followed_link_color" prefattribute="value" wsm_attributes="value"/>
</row>
<row align="center">
<label id="Background" value="&background.label;"
accesskey="&background.accesskey;" control="BackgroundButton"/>
<button id="BackgroundButton" class="color-button" oncommand="GetColorAndUpdate('backgroundCW');">
<spacer id="backgroundCW" class="color-well"/>
</button>
<data id="backgroundColorData" pref="true" preftype="color" prefstring="editor.background_color" prefattribute="value" wsm_attributes="value"/>
</row>
</rows>
</grid>
<vbox id="ColorPreview" flex="1">
<vbox>
<label value="&authorName.label;"
accesskey="&authorName.accesskey;"
control="editorAuthor">
</label>
<hbox>
<textbox id="editorAuthor"
flex="1"
preference="editor.author"/>
<spacer flex="1"/>
<label class="larger" id="NormalText" value="&normalText.label;"/>
</hbox>
</vbox>
<spacer class="smallspacer"/>
<groupbox align="start">
<caption label="&pageColorHeader;"/>
<radiogroup id="useCustomColors"
preference="editor.use_custom_colors">
<radio id="defaultColorsRadio"
value="false"
label="&defaultColorsRadio.label;"
accesskey="&defaultColors.accesskey;"/>
<radio id="customColorsRadio"
value="true"
label="&customColorsRadio.label;"
accesskey="&customColors.accesskey;"/>
</radiogroup>
<hbox class="indent">
<grid>
<columns><column/><column/></columns>
<rows id="color-rows">
<row align="center">
<label id="textLabel"
value="&normalText.label;&colon.character;"
accesskey="&normalText.accesskey;"
control="text"/>
<button id="text"
class="color-button"
oncommand="GetColorAndUpdatePref('Text', 'text');">
<spacer id="textCW" class="color-well"/>
</button>
</row>
<row align="center">
<label id="linkLabel"
value="&linkText.label;&colon.character;"
accesskey="&linkText.accesskey;"
control="link"/>
<button id="link"
class="color-button"
oncommand="GetColorAndUpdatePref('Link', 'link');">
<spacer id="linkCW" class="color-well"/>
</button>
</row>
<row align="center">
<label id="activeLinkLabel"
value="&activeLinkText.label;&colon.character;"
accesskey="&activeLinkText.accesskey;"
control="active_link"/>
<button id="active_link"
class="color-button"
oncommand="GetColorAndUpdatePref('ActiveLink', 'active_link');">
<spacer id="activeCW" class="color-well"/>
</button>
</row>
<row align="center">
<label id="visitedLinkLabel"
value ="&visitedLinkText.label;&colon.character;"
accesskey="&visitedLinkText.accesskey;"
control="followed_link"/>
<button id="followed_link"
class="color-button"
oncommand="GetColorAndUpdatePref('VisitedLink', 'followed_link');">
<spacer id="visitedCW" class="color-well"/>
</button>
</row>
<row align="center">
<label id="backgroundLabel"
value="&background.label;"
accesskey="&background.accesskey;"
control="background"/>
<button id="background"
class="color-button"
oncommand="GetColorAndUpdatePref('Page', 'background');">
<spacer id="backgroundCW" class="color-well"/>
</button>
</row>
</rows>
</grid>
<vbox id="ColorPreview"
flex="1">
<spacer flex="1"/>
<label id="normalText"
class="larger"
value="&normalText.label;"/>
<spacer flex="1"/>
<label id="linkText"
class="larger"
value="&linkText.label;"/>
<spacer flex="1"/>
<label id="activeLinkText"
class="larger"
value="&activeLinkText.label;"/>
<spacer flex="1"/>
<label id="visitedLinkText"
class="larger"
value="&visitedLinkText.label;"/>
<spacer flex="1"/>
</vbox>
<spacer flex="1"/>
<label class="larger" id="LinkText" value="&linkText.label;"/>
<spacer flex="1"/>
<label class="larger" id="ActiveLinkText" value="&activeLinkText.label;"/>
<spacer flex="1"/>
<label class="larger" id="VisitedLinkText" value="&visitedLinkText.label;"/>
<spacer flex="1"/>
</vbox>
<spacer flex="1"/>
</hbox>
<spacer class="spacer"/>
<label value="&backgroundImage.label;" accesskey="&backgroundImage.accesskey;" control="BackgroundImageInput"/>
<hbox align="center">
<textbox id="BackgroundImageInput" oninput="ChangeBackgroundImage();" style="min-width: 23em" flex="1" class="uri-element">
<observes element="backgroundImageData" attribute="disabled"/>
</textbox>
<button label="&chooseFile.label;" accesskey="&chooseFile.accesskey;"
oncommand="ChooseImageFile()">
<observes element="backgroundImageData" attribute="disabled"/>
</button>
<data id="backgroundImageData" preftype="string" prefstring="editor.default_background_image" prefattribute="value"/>
</hbox>
</groupbox>
</page>
</hbox>
<spacer class="spacer"/>
<label id="backgroundImageLabel"
value="&backgroundImage.label;"
accesskey="&backgroundImage.accesskey;"
control="backgroundImageInput">
</label>
<hbox align="center">
<textbox id="backgroundImageInput"
class="uri-element"
preference="editor.default_background_image"
style="min-width: 23em;"
flex="1"/>
<button label="&chooseFile.label;"
accesskey="&chooseFile.accesskey;"
oncommand="ChooseImageFile();">
<observes element="backgroundImageInput" attribute="disabled"/>
</button>
</hbox>
</groupbox>
</prefpane>
</overlay>

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

@ -26,7 +26,6 @@ comm.jar:
content/editor/pref-editing.xul (composer/content/pref-editing.xul)
content/editor/pref-composer.js (composer/content/pref-composer.js)
content/editor/pref-composer.xul (composer/content/pref-composer.xul)
content/editor/pref-publish.xul (composer/content/pref-publish.xul)
content/editor/editorSmileyOverlay.xul (composer/content/editorSmileyOverlay.xul)
content/editor/editorPrefsOverlay.xul (composer/content/editorPrefsOverlay.xul)
content/editor/editorNavigatorOverlay.xul (composer/content/editorNavigatorOverlay.xul)

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

@ -41,7 +41,6 @@
locale/@AB_CD@/editor/pref-toolbars.dtd (%chrome/composer/pref-toolbars.dtd)
locale/@AB_CD@/editor/pref-editing.dtd (%chrome/composer/pref-editing.dtd)
locale/@AB_CD@/editor/pref-composer.dtd (%chrome/composer/pref-composer.dtd)
locale/@AB_CD@/editor/pref-publish.dtd (%chrome/composer/pref-publish.dtd)
locale/@AB_CD@/editor/EdLinkChecker.dtd (%chrome/dialogs/EdLinkChecker.dtd)
locale/@AB_CD@/editor/EditorPageProperties.dtd (%chrome/dialogs/EditorPageProperties.dtd)
locale/@AB_CD@/editor/EditorSnapToGrid.dtd (%chrome/dialogs/EditorSnapToGrid.dtd)