зеркало из https://github.com/mozilla/pjs.git
Fixed bugs 17098, 17808, and a lot of UI cleanup. Rewrote Image Properties dialog so More/Fewer works and layout is better. Moved image URLs from DTD to CSS files. r=brade
This commit is contained in:
Родитель
0a1343a9fe
Коммит
25771bd9e4
|
@ -1738,7 +1738,7 @@ nsEditorShell::SetDocumentTitle(const PRUnichar *title)
|
|||
if (NS_SUCCEEDED(res) && textNode)
|
||||
{
|
||||
// Go through the editor API so action is undoable
|
||||
res = editor->InsertNode(textNode, headNode, 0);
|
||||
res = editor->InsertNode(textNode, titleNode, 0);
|
||||
// This is the non-undoable code:
|
||||
//res = titleNode->AppendChild(textNode,getter_AddRefs(resultNode));
|
||||
}
|
||||
|
|
|
@ -143,12 +143,14 @@ nsInterfaceState::ForceUpdate()
|
|||
// update underline
|
||||
rv = UpdateTextState("u", "Editor:Underline", "underline", mUnderlineState);
|
||||
|
||||
// update the paragraph format popup
|
||||
rv = UpdateParagraphState("Editor:Paragraph:Format", "format", mParagraphFormat);
|
||||
|
||||
// udpate the font face
|
||||
rv = UpdateFontFace("Editor:Font:Face", "font", mFontString);
|
||||
|
||||
// update the paragraph format popup
|
||||
rv = UpdateParagraphState("Editor:Paragraph:Format", "format", mParagraphFormat);
|
||||
|
||||
// TODO: FINISH FONT FACE AND ADD FONT SIZE ("Editor:Font:Size", "size", mFontSize)
|
||||
|
||||
// update the list buttons
|
||||
rv = UpdateListState("Editor:Paragraph:ListType");
|
||||
|
||||
|
@ -183,18 +185,33 @@ nsInterfaceState::UpdateParagraphState(const char* observerName, const char* att
|
|||
mEditor->GetParagraphTags(&tagList);
|
||||
|
||||
PRInt32 numTags = tagList.Count();
|
||||
nsAutoString thisTag;
|
||||
//Note: If numTags == 0, we probably have a text node not in a container
|
||||
// (directly under <body>). Consider it normal
|
||||
if (numTags > 0)
|
||||
{
|
||||
nsAutoString thisTag;
|
||||
#ifdef DEBUG_cmanske
|
||||
if (thisTag.Length() > 0)
|
||||
printf (thisTag.ToNewCString());
|
||||
else
|
||||
printf("[emtpy string]");
|
||||
printf(",");
|
||||
if (mParagraphFormat.Length() > 0)
|
||||
printf (mParagraphFormat.ToNewCString());
|
||||
else
|
||||
printf("[mParagraph is empty]");
|
||||
printf(" = ParagraphTag,mParagraphFormat in nsInterfaceState::UpdateParagraphState()\n");
|
||||
#endif
|
||||
// This will never show the "mixed state"
|
||||
// TODO: Scan list of tags and if any are different, set to "mixed"
|
||||
tagList.StringAt(0, thisTag);
|
||||
if (thisTag != mParagraphFormat)
|
||||
{
|
||||
nsresult rv = SetNodeAttribute(observerName, attributeName, thisTag);
|
||||
if (NS_FAILED(rv)) return rv;
|
||||
mParagraphFormat = thisTag;
|
||||
}
|
||||
}
|
||||
|
||||
if (thisTag != mParagraphFormat)
|
||||
{
|
||||
nsresult rv = SetNodeAttribute(observerName, attributeName, thisTag);
|
||||
if (NS_FAILED(rv)) return rv;
|
||||
mParagraphFormat = thisTag;
|
||||
}
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
|
@ -252,16 +269,47 @@ nsInterfaceState::UpdateFontFace(const char* observerName, const char* attribute
|
|||
|
||||
nsCOMPtr<nsIAtom> styleAtom = getter_AddRefs(NS_NewAtom("font"));
|
||||
nsAutoString faceStr("face");
|
||||
nsAutoString thisFace;
|
||||
|
||||
// Use to test for "Default Fixed Width"
|
||||
nsCOMPtr<nsIAtom> fixedStyleAtom = getter_AddRefs(NS_NewAtom("tt"));
|
||||
|
||||
PRBool testBoolean;
|
||||
|
||||
if (SelectionIsCollapsed())
|
||||
{
|
||||
rv = mEditor->GetTypingStateValue(styleAtom, ioFontString);
|
||||
if (ioFontString.Length() == 0)
|
||||
{
|
||||
// We don't have a font set, so check for "tt" (= "Default Fixed Width")
|
||||
PRBool stateHasProp = PR_FALSE;
|
||||
rv = mEditor->GetTypingState(fixedStyleAtom, testBoolean);
|
||||
testBoolean = stateHasProp;
|
||||
if (stateHasProp)
|
||||
thisFace = faceStr;
|
||||
}
|
||||
else
|
||||
testBoolean = PR_TRUE;
|
||||
}
|
||||
else
|
||||
{
|
||||
rv = mEditor->GetInlineProperty(styleAtom, &faceStr, nsnull, firstOfSelectionHasProp, anyOfSelectionHasProp, allOfSelectionHasProp);
|
||||
if( !anyOfSelectionHasProp )
|
||||
{
|
||||
// No font face set -- check for "tt"
|
||||
rv = mEditor->GetInlineProperty(fixedStyleAtom, nsnull, nsnull, firstOfSelectionHasProp, anyOfSelectionHasProp, allOfSelectionHasProp);
|
||||
testBoolean = anyOfSelectionHasProp;
|
||||
thisFace = faceStr;
|
||||
}
|
||||
}
|
||||
// TODO: HANDLE "MIXED" STATE
|
||||
if (thisFace != mFontString)
|
||||
{
|
||||
nsresult rv = SetNodeAttribute(observerName, faceStr.GetBuffer(), thisFace);
|
||||
if (NS_FAILED(rv)) return rv;
|
||||
|
||||
mFontString = thisFace;
|
||||
}
|
||||
// XXX this needs finishing.
|
||||
return rv;
|
||||
}
|
||||
|
||||
|
|
|
@ -1738,7 +1738,7 @@ nsEditorShell::SetDocumentTitle(const PRUnichar *title)
|
|||
if (NS_SUCCEEDED(res) && textNode)
|
||||
{
|
||||
// Go through the editor API so action is undoable
|
||||
res = editor->InsertNode(textNode, headNode, 0);
|
||||
res = editor->InsertNode(textNode, titleNode, 0);
|
||||
// This is the non-undoable code:
|
||||
//res = titleNode->AppendChild(textNode,getter_AddRefs(resultNode));
|
||||
}
|
||||
|
|
|
@ -143,12 +143,14 @@ nsInterfaceState::ForceUpdate()
|
|||
// update underline
|
||||
rv = UpdateTextState("u", "Editor:Underline", "underline", mUnderlineState);
|
||||
|
||||
// update the paragraph format popup
|
||||
rv = UpdateParagraphState("Editor:Paragraph:Format", "format", mParagraphFormat);
|
||||
|
||||
// udpate the font face
|
||||
rv = UpdateFontFace("Editor:Font:Face", "font", mFontString);
|
||||
|
||||
// update the paragraph format popup
|
||||
rv = UpdateParagraphState("Editor:Paragraph:Format", "format", mParagraphFormat);
|
||||
|
||||
// TODO: FINISH FONT FACE AND ADD FONT SIZE ("Editor:Font:Size", "size", mFontSize)
|
||||
|
||||
// update the list buttons
|
||||
rv = UpdateListState("Editor:Paragraph:ListType");
|
||||
|
||||
|
@ -183,18 +185,33 @@ nsInterfaceState::UpdateParagraphState(const char* observerName, const char* att
|
|||
mEditor->GetParagraphTags(&tagList);
|
||||
|
||||
PRInt32 numTags = tagList.Count();
|
||||
nsAutoString thisTag;
|
||||
//Note: If numTags == 0, we probably have a text node not in a container
|
||||
// (directly under <body>). Consider it normal
|
||||
if (numTags > 0)
|
||||
{
|
||||
nsAutoString thisTag;
|
||||
#ifdef DEBUG_cmanske
|
||||
if (thisTag.Length() > 0)
|
||||
printf (thisTag.ToNewCString());
|
||||
else
|
||||
printf("[emtpy string]");
|
||||
printf(",");
|
||||
if (mParagraphFormat.Length() > 0)
|
||||
printf (mParagraphFormat.ToNewCString());
|
||||
else
|
||||
printf("[mParagraph is empty]");
|
||||
printf(" = ParagraphTag,mParagraphFormat in nsInterfaceState::UpdateParagraphState()\n");
|
||||
#endif
|
||||
// This will never show the "mixed state"
|
||||
// TODO: Scan list of tags and if any are different, set to "mixed"
|
||||
tagList.StringAt(0, thisTag);
|
||||
if (thisTag != mParagraphFormat)
|
||||
{
|
||||
nsresult rv = SetNodeAttribute(observerName, attributeName, thisTag);
|
||||
if (NS_FAILED(rv)) return rv;
|
||||
mParagraphFormat = thisTag;
|
||||
}
|
||||
}
|
||||
|
||||
if (thisTag != mParagraphFormat)
|
||||
{
|
||||
nsresult rv = SetNodeAttribute(observerName, attributeName, thisTag);
|
||||
if (NS_FAILED(rv)) return rv;
|
||||
mParagraphFormat = thisTag;
|
||||
}
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
|
@ -252,16 +269,47 @@ nsInterfaceState::UpdateFontFace(const char* observerName, const char* attribute
|
|||
|
||||
nsCOMPtr<nsIAtom> styleAtom = getter_AddRefs(NS_NewAtom("font"));
|
||||
nsAutoString faceStr("face");
|
||||
nsAutoString thisFace;
|
||||
|
||||
// Use to test for "Default Fixed Width"
|
||||
nsCOMPtr<nsIAtom> fixedStyleAtom = getter_AddRefs(NS_NewAtom("tt"));
|
||||
|
||||
PRBool testBoolean;
|
||||
|
||||
if (SelectionIsCollapsed())
|
||||
{
|
||||
rv = mEditor->GetTypingStateValue(styleAtom, ioFontString);
|
||||
if (ioFontString.Length() == 0)
|
||||
{
|
||||
// We don't have a font set, so check for "tt" (= "Default Fixed Width")
|
||||
PRBool stateHasProp = PR_FALSE;
|
||||
rv = mEditor->GetTypingState(fixedStyleAtom, testBoolean);
|
||||
testBoolean = stateHasProp;
|
||||
if (stateHasProp)
|
||||
thisFace = faceStr;
|
||||
}
|
||||
else
|
||||
testBoolean = PR_TRUE;
|
||||
}
|
||||
else
|
||||
{
|
||||
rv = mEditor->GetInlineProperty(styleAtom, &faceStr, nsnull, firstOfSelectionHasProp, anyOfSelectionHasProp, allOfSelectionHasProp);
|
||||
if( !anyOfSelectionHasProp )
|
||||
{
|
||||
// No font face set -- check for "tt"
|
||||
rv = mEditor->GetInlineProperty(fixedStyleAtom, nsnull, nsnull, firstOfSelectionHasProp, anyOfSelectionHasProp, allOfSelectionHasProp);
|
||||
testBoolean = anyOfSelectionHasProp;
|
||||
thisFace = faceStr;
|
||||
}
|
||||
}
|
||||
// TODO: HANDLE "MIXED" STATE
|
||||
if (thisFace != mFontString)
|
||||
{
|
||||
nsresult rv = SetNodeAttribute(observerName, faceStr.GetBuffer(), thisFace);
|
||||
if (NS_FAILED(rv)) return rv;
|
||||
|
||||
mFontString = thisFace;
|
||||
}
|
||||
// XXX this needs finishing.
|
||||
return rv;
|
||||
}
|
||||
|
||||
|
|
|
@ -27,22 +27,10 @@ var toolbar;
|
|||
var documentModified;
|
||||
var EditorDisplayMode = 0; // Normal Editor mode
|
||||
|
||||
var gTagToFormat = {
|
||||
"P" : "Normal", // these should really be entities. Not sure how to do that from JS
|
||||
"H1" : "Heading 1",
|
||||
"H2" : "Heading 2",
|
||||
"H3" : "Heading 3",
|
||||
"H4" : "Heading 4",
|
||||
"H5" : "Heading 5",
|
||||
"H6" : "Heading 6",
|
||||
"BLOCKQUOTE" : "Blockquote",
|
||||
"ADDRESS" : "Address",
|
||||
"PRE" : "Preformatted",
|
||||
"LI" : "List Item",
|
||||
"DT" : "Definition Term",
|
||||
"DD" : "Definition Description"
|
||||
};
|
||||
|
||||
// These must be kept in synch with the XUL <options> lists
|
||||
var gParagraphTagNames = new Array("P","H1","H2","H3","H4","H5","H6","BLOCKQUOTE","ADDRESS","PRE","DT","DD");
|
||||
var gFontFaceNames = new Array("","tt","Arial, Helvetica","Times","Courier");
|
||||
var gFontSizeNames = new Array("-2","-1","0","+1","+2","+3","+4");
|
||||
|
||||
var gStyleTags = {
|
||||
"bold" : "b",
|
||||
|
@ -83,18 +71,7 @@ function EditorStartup(editorType, editorElement)
|
|||
window.addEventListener("load", EditorDocumentLoaded, true, false);
|
||||
|
||||
dump("Trying to make an Editor Shell through the component manager...\n");
|
||||
/* var editorShell = Components.classes["component://netscape/editor/editorshell"].createInstance();
|
||||
if (editorShell)
|
||||
editorShell = editorShell.QueryInterface(Components.interfaces.nsIEditorShell);
|
||||
|
||||
if (!editorShell)
|
||||
{
|
||||
dump("Failed to create editor shell\n");
|
||||
// 7/12/99 THIS DOESN'T WORK YET!
|
||||
window.close();
|
||||
return;
|
||||
}
|
||||
*/
|
||||
// store the editor shell in the window, so that child windows can get to it.
|
||||
var editorShell = window.editorShell = editorElement.editorShell;
|
||||
|
||||
|
@ -110,6 +87,7 @@ function EditorStartup(editorType, editorElement)
|
|||
editorShell.LoadUrl(url);
|
||||
|
||||
dump("EditorAppCore windows have been set.\n");
|
||||
|
||||
SetupToolbarElements();
|
||||
|
||||
// Set focus to the edit window
|
||||
|
@ -138,7 +116,7 @@ function TestMenuCreation()
|
|||
dump("Failed to find new menu item\n");
|
||||
}
|
||||
|
||||
|
||||
// NOT USED?
|
||||
function GenerateFormatToolbar()
|
||||
{
|
||||
var toolbarButtons = [
|
||||
|
@ -208,7 +186,6 @@ function GenerateFormatToolbar()
|
|||
|
||||
}
|
||||
|
||||
|
||||
function SetupToolbarElements()
|
||||
{
|
||||
// Create an object to store controls for easy access
|
||||
|
@ -372,41 +349,96 @@ function EditorSetTextProperty(property, attribute, value)
|
|||
contentWindow.focus();
|
||||
}
|
||||
|
||||
function EditorSelectParagraphFormat()
|
||||
{
|
||||
var select = document.getElementById("ParagraphSelect");
|
||||
if (select)
|
||||
{
|
||||
if (select.selectedIndex == -1)
|
||||
return;
|
||||
editorShell.SetParagraphFormat(gParagraphTagNames[select.selectedIndex]);
|
||||
}
|
||||
}
|
||||
|
||||
function onParagraphFormatChange()
|
||||
{
|
||||
var select = document.getElementById("ParagraphSelect");
|
||||
if (select)
|
||||
{
|
||||
// If we don't match anything, set to "normal"
|
||||
var newIndex = 0;
|
||||
var format = select.getAttribute("format");
|
||||
if ( format == "mixed")
|
||||
{
|
||||
// No single type selected
|
||||
newIndex = -1;
|
||||
}
|
||||
else
|
||||
{
|
||||
for( var i = 0; i < gParagraphTagNames.length; i++)
|
||||
{
|
||||
if( gParagraphTagNames[i] == format )
|
||||
{
|
||||
newIndex = i;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (select.selectedIndex != newIndex)
|
||||
select.selectedIndex = newIndex;
|
||||
}
|
||||
}
|
||||
|
||||
function EditorSetParagraphFormat(paraFormat)
|
||||
{
|
||||
editorShell.SetParagraphFormat(paraFormat);
|
||||
contentWindow.focus();
|
||||
}
|
||||
|
||||
function EditorListProperties()
|
||||
function EditorSelectFontFace()
|
||||
{
|
||||
window.openDialog("chrome://editor/content/EdListProps.xul","_blank", "chrome,close,titlebar,modal");
|
||||
contentWindow.focus();
|
||||
var select = document.getElementById("FontFaceSelect");
|
||||
dump("EditorSelectFontFace: "+gFontFaceNames[select.selectedIndex]+"\n");
|
||||
if (select)
|
||||
{
|
||||
if (select.selectedIndex == -1)
|
||||
return;
|
||||
|
||||
EditorSetFontFace(gFontFaceNames[select.selectedIndex]);
|
||||
}
|
||||
}
|
||||
|
||||
function EditorSetFontSize(size)
|
||||
function onFontFaceChange()
|
||||
{
|
||||
if( size == "0" || size == "normal" ||
|
||||
size == "+0" )
|
||||
{
|
||||
editorShell.RemoveTextProperty("font", size);
|
||||
dump("Removing font size\n");
|
||||
} else {
|
||||
dump("Setting font size\n");
|
||||
editorShell.SetTextProperty("font", "size", size);
|
||||
var select = document.getElementById("FontFaceSelect");
|
||||
if (select)
|
||||
{
|
||||
// Default selects "Variable Width"
|
||||
var newIndex = 0;
|
||||
var face = select.getAttribute("face");
|
||||
if ( face == "mixed")
|
||||
{
|
||||
// No single type selected
|
||||
newIndex = -1;
|
||||
}
|
||||
else
|
||||
{
|
||||
for( var i = 0; i < gFontFaceNames.length; i++)
|
||||
{
|
||||
if( gFontFaceNames[i] == face )
|
||||
{
|
||||
newIndex = i;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (select.selectedIndex != newIndex)
|
||||
select.selectedIndex = newIndex;
|
||||
}
|
||||
contentWindow.focus();
|
||||
}
|
||||
|
||||
function EditorSetFontFace(fontFace)
|
||||
{
|
||||
/* Testing returning out params
|
||||
var first = new Object();
|
||||
var all = new Object();
|
||||
var any = new Object();
|
||||
editorShell.GetTextProperty("tt", "", "", first, any, all);
|
||||
dump("GetTextProperty: first: "+first.value+", any: "+any.value+", all: "+all.value+"\n");
|
||||
*/
|
||||
if( fontFace == "tt") {
|
||||
// The old "teletype" attribute
|
||||
editorShell.SetTextProperty("tt", "", "");
|
||||
|
@ -425,6 +457,62 @@ function EditorSetFontFace(fontFace)
|
|||
contentWindow.focus();
|
||||
}
|
||||
|
||||
function EditorSelectFontSize()
|
||||
{
|
||||
var select = document.getElementById("FontSizeSelect");
|
||||
dump("EditorSelectFontSize: "+gFontSizeNames[select.selectedIndex]+"\n");
|
||||
if (select)
|
||||
{
|
||||
if (select.selectedIndex == -1)
|
||||
return;
|
||||
|
||||
EditorSetFontSize(gFontSizeNames[select.selectedIndex]);
|
||||
}
|
||||
}
|
||||
|
||||
function onFontSizeChange()
|
||||
{
|
||||
var select = document.getElementById("FontFaceSelect");
|
||||
if (select)
|
||||
{
|
||||
// If we don't match anything, set to "0 (normal)"
|
||||
var newIndex = 2;
|
||||
var size = select.getAttribute("size");
|
||||
if ( size == "mixed")
|
||||
{
|
||||
// No single type selected
|
||||
newIndex = -1;
|
||||
}
|
||||
else
|
||||
{
|
||||
for( var i = 0; i < gFontSizeNames.length; i++)
|
||||
{
|
||||
if( gFontSizeNames[i] == size )
|
||||
{
|
||||
newIndex = i;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (select.selectedIndex != newIndex)
|
||||
select.selectedIndex = newIndex;
|
||||
}
|
||||
}
|
||||
|
||||
function EditorSetFontSize(size)
|
||||
{
|
||||
if( size == "0" || size == "normal" ||
|
||||
size == "+0" )
|
||||
{
|
||||
editorShell.RemoveTextProperty("font", size);
|
||||
dump("Removing font size\n");
|
||||
} else {
|
||||
dump("Setting font size\n");
|
||||
editorShell.SetTextProperty("font", "size", size);
|
||||
}
|
||||
contentWindow.focus();
|
||||
}
|
||||
|
||||
function EditorSetFontColor(color)
|
||||
{
|
||||
editorShell.SetTextProperty("font", "color", color);
|
||||
|
@ -481,6 +569,12 @@ function EditorRemoveLinks()
|
|||
contentWindow.focus();
|
||||
}
|
||||
|
||||
function EditorListProperties()
|
||||
{
|
||||
window.openDialog("chrome://editor/content/EdListProps.xul","_blank", "chrome,close,titlebar,modal");
|
||||
contentWindow.focus();
|
||||
}
|
||||
|
||||
function EditorApplyStyleSheet(styleSheetURL)
|
||||
{
|
||||
// Second param is true for "override" type of sheet
|
||||
|
@ -1203,26 +1297,15 @@ function onDirtyChange()
|
|||
var theButton = document.getElementById("saveButton");
|
||||
if (theButton)
|
||||
{
|
||||
var isDirty = theButton.getAttribute("dirty");
|
||||
var isDirty = theButton.getAttribute("dirty");
|
||||
if (isDirty == "true") {
|
||||
theButton.setAttribute("src", "chrome://editor/skin/images/ED_SaveMod.gif");
|
||||
theButton.setAttribute("src", "chrome://editor/skin/images/savemod.gif");
|
||||
} else {
|
||||
theButton.setAttribute("src", "chrome://editor/skin/images/ED_SaveFile.gif");
|
||||
theButton.setAttribute("src", "chrome://editor/skin/images/savefile.gif");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function onParagraphFormatChange()
|
||||
{
|
||||
var theButton = document.getElementById("ParagraphPopupButton");
|
||||
if (theButton)
|
||||
{
|
||||
var theFormat = theButton.getAttribute("format");
|
||||
theButton.setAttribute("value", gTagToFormat[theFormat]);
|
||||
dump("Setting value\n");
|
||||
}
|
||||
}
|
||||
|
||||
function onListFormatChange(listType)
|
||||
{
|
||||
var theButton = document.getElementById(listType + "Button");
|
||||
|
|
|
@ -38,7 +38,7 @@
|
|||
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
|
||||
onload="EditorOnLoad()"
|
||||
onunload="EditorShutdown()"
|
||||
titlemodifier="&textEditorWindow.titlemodifier;"
|
||||
titlemodifier="&editorWindow.titlemodifier;"
|
||||
titlemenuseparator="&editorWindow.titlemodifiermenuseparator;"
|
||||
align="vertical"
|
||||
width="640" height="480">
|
||||
|
@ -157,19 +157,13 @@
|
|||
</toolbar>
|
||||
|
||||
<toolbar id="FormatToolbar" persist="collapsed">
|
||||
<!-- buttons are filled out from editorOverlay -->
|
||||
<menu>
|
||||
<titledbutton id="ParagraphPopupButton"/>
|
||||
<menupopup id="ParagraphPopup"/>
|
||||
</menu>
|
||||
<menu>
|
||||
<titledbutton id="FontFacePopupButton"/>
|
||||
<menupopup id="FontFacePopup"/>
|
||||
</menu>
|
||||
<menu>
|
||||
<titledbutton id="FontSizePopupButton"/>
|
||||
<menupopup id="FontSizePopup"/>
|
||||
</menu>
|
||||
<html:div class="toolbar-middle">
|
||||
<!-- items are filled out from editorOverlay -->
|
||||
<html:select id="ParagraphSelect"/>
|
||||
<html:select id="FontFaceSelect"/>
|
||||
<html:select id="FontSizeSelect"/>
|
||||
</html:div>
|
||||
|
||||
<menu>
|
||||
<titledbutton id="TextColorPopupButton"/>
|
||||
<menupopup id="TextColorPopup"/>
|
||||
|
|
|
@ -127,11 +127,10 @@
|
|||
|
||||
<broadcaster id="Editor:Paragraph:Format" format=""/>
|
||||
<broadcaster id="Editor:Paragraph:ListType" format=""/>
|
||||
<broadcaster id="Editor:Font:Face" font=""/>
|
||||
<broadcaster id="Editor:Font:Face" face=""/>
|
||||
<broadcaster id="Editor:Font:Size" size=""/>
|
||||
|
||||
|
||||
<!-- Broadcaster nodes -->
|
||||
<!-- Command Broadcaster nodes -->
|
||||
<broadcaster id="Editor:Open" value="&openCmd.label;" oncommand="EditorOpen()"/>
|
||||
<broadcaster id="Editor:Save" value="&saveCmd.label;" disabled="true" oncommand="EditorSave()"/>
|
||||
<broadcaster id="Editor:SaveAs" value="&saveAsCmd.label;" disabled="false" oncommand="EditorSaveAs()"/>
|
||||
|
@ -227,86 +226,86 @@
|
|||
<menuitem id="formatToolbarMenuitem" accesskey="&viewformattingtb.accesskey;" observes="Editor:ToggleFormattingToolbar"/>
|
||||
<menuitem id="viewSourceMenuitem" value="&viewPageSource.label;" accesskey="&viewpagesource.accesskey;" oncommand="EditorViewSource();" />
|
||||
|
||||
<menu id="charsetMenu" value="&dcharMenu.label;" accesskey="&viewcharsetmenu.accesskey;">
|
||||
<menupopup>
|
||||
<menuitem value="&dcharIso1Cmd.label;" accesskey="&charsetLatin1.accesskey;" oncommand="EditorSetDocumentCharacterSet('ISO-8859-1');"/>
|
||||
<menuitem value="&dcharIso15Cmd.label;" accesskey="&charsetLatin9.accesskey;" oncommand="EditorSetDocumentCharacterSet('ISO-8859-15');"/>
|
||||
<menuitem value="&dcharIso2Cmd.label;" accesskey="&charsetLatin2.accesskey;" oncommand="EditorSetDocumentCharacterSet('ISO-8859-2');"/>
|
||||
<menuitem value="&dcharIso3Cmd.label;" accesskey="&charsetLatin3.accesskey;" oncommand="EditorSetDocumentCharacterSet('ISO-8859-3');"/>
|
||||
<menuitem value="&dcharIso4Cmd.label;" accesskey="&charsetLatin4.accesskey;" oncommand="EditorSetDocumentCharacterSet('ISO-8859-4');"/>
|
||||
<menuitem value="&dcharIsoGreekCmd.label;" accesskey="&charsetGreek.accesskey;" oncommand="EditorSetDocumentCharacterSet('ISO-8859-7');"/>
|
||||
<menuitem value="&dcharIso9Cmd.label;" accesskey="&charsetLatin5.accesskey;" oncommand="EditorSetDocumentCharacterSet('ISO-8859-9');"/>
|
||||
<menuitem value="&dcharIso10Cmd.label;" accesskey="&charsetLatin6.accesskey;" oncommand="EditorSetDocumentCharacterSet('ISO-8859-10');"/>
|
||||
<menuitem value="&dcharIso13Cmd.label;" accesskey="&charsetLatin7.accesskey;" oncommand="EditorSetDocumentCharacterSet('ISO-8859-13');"/>
|
||||
<menuitem value="&dcharIso14Cmd.label;" accesskey="&charsetLatin8.accesskey;" oncommand="EditorSetDocumentCharacterSet('ISO-8859-14');"/>
|
||||
</menupopup>
|
||||
</menu>
|
||||
<menu id="charsetMenu1" value="&dcharMenu1.label;" accesskey="&viewcharsetmenu1.accesskey;">
|
||||
<menupopup>
|
||||
<menuitem value="&dcharJapanCmd.label;" accesskey="&charsetJIS.accesskey;" oncommand="EditorSetDocumentCharacterSet('ISO-2022-JP');"/>
|
||||
<menuitem value="&dcharJapanShiftjsCmd.label;" accesskey="&charsetshiftJIS.accesskey;" oncommand="EditorSetDocumentCharacterSet('Shift_JIS');"/>
|
||||
<menuitem value="&dcharJapanEucCmd.label;" accesskey="&charsetJapaneseEUC.accesskey;" oncommand="EditorSetDocumentCharacterSet('EUC-JP');"/>
|
||||
<menuseparator />
|
||||
<menuitem value="&dcharTradChiBigCmd.label;" accesskey="&charsetChineseBig5.accesskey;" oncommand="EditorSetDocumentCharacterSet('Big5');"/>
|
||||
<menuitem value="&dcharTriChiEucCmd.label;" accesskey="&charsetChineseEUC.accesskey;" oncommand="EditorSetDocumentCharacterSet('x-euc-tw');"/>
|
||||
<menuitem value="&dcharSimpChiGbCmd.label;" accesskey="&charsetChineseSimplified.accesskey;" oncommand="EditorSetDocumentCharacterSet('GB2312');"/>
|
||||
<menuseparator />
|
||||
<menuitem value="&dcharKoreanCmd.label;" accesskey="&charsetKorean.accesskey;" oncommand="EditorSetDocumentCharacterSet('EUC-KR');"/>
|
||||
<menuseparator />
|
||||
<menuitem value="&dcharUtf7Cmd.label;" accesskey="&charsetUTF7.accesskey;" oncommand="EditorSetDocumentCharacterSet('UTF-7');"/>
|
||||
<menuitem value="&dcharUtf8Cmd.label;" accesskey="&charsetUTF8.accesskey;" oncommand="EditorSetDocumentCharacterSet('UTF-8');"/>
|
||||
</menupopup>
|
||||
</menu>
|
||||
<menu id="charsetMenu2" value="&dcharMenu2.label;" accesskey="&viewcharsetmenu2.accesskey;">
|
||||
<menupopup>
|
||||
<menuitem value="&dcharRusCmd.label;" accesskey="&charsetRussian.accesskey;" oncommand="EditorSetDocumentCharacterSet('KOI8-R');"/>
|
||||
<menuitem value="&dcharIsoCyrCmd.label;" accesskey="&charsetISOCyrillic.accesskey;" oncommand="EditorSetDocumentCharacterSet('ISO-8859-5');"/>
|
||||
<menuitem value="&dcharWinCyrCmd.label;" accesskey="&charsetWinCyrillic.accesskey;" oncommand="EditorSetDocumentCharacterSet('windows-1251');"/>
|
||||
<menuitem value="&dcharEcmaCyrCmd.label;" accesskey="&charsetECMACyrillic.accesskey;" oncommand="EditorSetDocumentCharacterSet('ISO-IR-111');"/>
|
||||
<menuitem value="&dcharDosCyrCmd.label;" accesskey="&charsetDOSCyrillic.accesskey;" oncommand="EditorSetDocumentCharacterSet('IBM866');"/>
|
||||
<menuitem value="&dcharMacCyrCmd.label;" accesskey="&charsetMacCyrillic.accesskey;" oncommand="EditorSetDocumentCharacterSet('x-mac-cyrillic');"/>
|
||||
<menuitem value="&dcharUkrCmd.label;" accesskey="&charsetUkrainian.accesskey;" oncommand="EditorSetDocumentCharacterSet('KOI8-U');"/>
|
||||
<menuitem value="&dcharMacUkrCmd.label;" accesskey="&charsetMacUkrainian.accesskey;" oncommand="EditorSetDocumentCharacterSet('x-mac-ukrainian');"/>
|
||||
</menupopup>
|
||||
</menu>
|
||||
<menu id="charsetMenu3" value="&dcharMenu3.label;" accesskey="&viewcharsetmenu3.accesskey;">
|
||||
<menupopup>
|
||||
<menuitem value="&dcharWinVietCmd.label;" accesskey="&charsetWinVietnamese.accesskey;" oncommand="EditorSetDocumentCharacterSet('windows-1258');"/>
|
||||
<menuitem value="&dcharVietTcnCmd.label;" accesskey="&charsetVietnameseTCN.accesskey;" oncommand="EditorSetDocumentCharacterSet('x-viet-tcvn5712');"/>
|
||||
<menuitem value="&dcharVietViCmd.label;" accesskey="&charsetVietnameseVIS.accesskey;" oncommand="EditorSetDocumentCharacterSet('VISCII');"/>
|
||||
<menuitem value="&dcharVieVpCmd.label;" accesskey="&charsetVietnameseVPS.accesskey;" oncommand="EditorSetDocumentCharacterSet('x-viet-vps');"/>
|
||||
<menuseparator />
|
||||
<menuitem value="&dcharThaiCmd.label;" accesskey="&charsetThai.accesskey;" oncommand="EditorSetDocumentCharacterSet('TIS-620');"/>
|
||||
<menuseparator />
|
||||
<menuitem value="&dcharArmCmd.label;" accesskey="&charsetArmenian.accesskey;" oncommand="EditorSetDocumentCharacterSet('ARMSCII-8');"/>
|
||||
<menuseparator />
|
||||
<menuitem value="&dcharIso6Cmd.label;" accesskey="&charsetArabic.accesskey;" oncommand="EditorSetDocumentCharacterSet('ISO-8859-6');"/>
|
||||
<menuitem value="&dcharCp1256Cmd.label;" accesskey="&charsetWinArabic.accesskey;" oncommand="EditorSetDocumentCharacterSet('windows-1256');"/>
|
||||
<menuseparator />
|
||||
<menuitem value="&dcharIso8Cmd.label;" accesskey="&charsetHebrew.accesskey;" oncommand="EditorSetDocumentCharacterSet('ISO-8859-8');"/>
|
||||
<menuitem value="&dcharCp1255Cmd.label;" accesskey="&charsetWinHebrew.accesskey;" oncommand="EditorSetDocumentCharacterSet('windows-1255');"/>
|
||||
</menupopup>
|
||||
</menu>
|
||||
<menu id="charsetMenu4" value="&dcharMenu4.label;" accesskey="&viewcharsetmenu4.accesskey;">
|
||||
<menupopup>
|
||||
<menuitem value="&dcharMacRomCmd.label;" accesskey="&charsetMacRoman.accesskey;" oncommand="EditorSetDocumentCharacterSet('x-mac-roman');"/>
|
||||
<menuitem value="&dcharMacCenEuroCmd.label;" accesskey="&charsetMacCentralEurope.accesskey;" oncommand="EditorSetDocumentCharacterSet('x-mac-ce');"/>
|
||||
<menuitem value="&dcharMacTurCmd.label;" accesskey="&charsetMacTurkish.accesskey;" oncommand="EditorSetDocumentCharacterSet('x-mac-turkish');"/>
|
||||
<menuitem value="&dcharMacCroaCmd.label;" accesskey="&charsetMacCroatian.accesskey;" oncommand="EditorSetDocumentCharacterSet('x-mac-croatian');"/>
|
||||
<menuitem value="&dcharMacRomanianCmd.label;" accesskey="&charsetMacRomanian.accesskey;" oncommand="EditorSetDocumentCharacterSet('x-mac-romanian');"/>
|
||||
<menuitem value="&dcharMacIceCmd.label;" accesskey="&charsetMacIcelandic.accesskey;" oncommand="EditorSetDocumentCharacterSet('x-mac-icelandic');"/>
|
||||
<menuitem value="&dcharMacGreekCmd.label;" accesskey="&charsetMacGreek.accesskey;" oncommand="EditorSetDocumentCharacterSet('x-mac-greek');"/>
|
||||
</menupopup>
|
||||
</menu>
|
||||
<menu id="charsetMenu5" value="&dcharMenu5.label;" accesskey="&viewcharsetmenu4.accesskey;">
|
||||
<menupopup>
|
||||
<menuitem value="&dcharWinLat1Cmd.label;" accesskey="&charsetWinLatin1.accesskey;" oncommand="EditorSetDocumentCharacterSet('windows-1252');"/>
|
||||
<menuitem value="&dcharWinLat2Cmd.label;" accesskey="&charsetWinLatin2.accesskey;" oncommand="EditorSetDocumentCharacterSet('windows-1250');"/>
|
||||
<menuitem value="&dcharWinLat5Cmd.label;" accesskey="&charsetWinLatin5.accesskey;" oncommand="EditorSetDocumentCharacterSet('windows-1254');"/>
|
||||
<menuitem value="&dcharWinBalRimCmd.label;" accesskey="&charsetWinBaltic.accesskey;" oncommand="EditorSetDocumentCharacterSet('windows-1257');"/>
|
||||
<menuitem value="&dcharWinGreekCmd.label;" accesskey="&charsetWinGreek.accesskey;" oncommand="EditorSetDocumentCharacterSet('windows-1253');"/>
|
||||
</menupopup>
|
||||
</menu>
|
||||
<menu id="charsetMenu" value="&dcharMenu.label;" accesskey="&viewcharsetmenu.accesskey;">
|
||||
<menupopup>
|
||||
<menuitem value="&dcharIso1Cmd.label;" accesskey="&charsetLatin1.accesskey;" oncommand="EditorSetDocumentCharacterSet('ISO-8859-1');"/>
|
||||
<menuitem value="&dcharIso15Cmd.label;" accesskey="&charsetLatin9.accesskey;" oncommand="EditorSetDocumentCharacterSet('ISO-8859-15');"/>
|
||||
<menuitem value="&dcharIso2Cmd.label;" accesskey="&charsetLatin2.accesskey;" oncommand="EditorSetDocumentCharacterSet('ISO-8859-2');"/>
|
||||
<menuitem value="&dcharIso3Cmd.label;" accesskey="&charsetLatin3.accesskey;" oncommand="EditorSetDocumentCharacterSet('ISO-8859-3');"/>
|
||||
<menuitem value="&dcharIso4Cmd.label;" accesskey="&charsetLatin4.accesskey;" oncommand="EditorSetDocumentCharacterSet('ISO-8859-4');"/>
|
||||
<menuitem value="&dcharIsoGreekCmd.label;" accesskey="&charsetGreek.accesskey;" oncommand="EditorSetDocumentCharacterSet('ISO-8859-7');"/>
|
||||
<menuitem value="&dcharIso9Cmd.label;" accesskey="&charsetLatin5.accesskey;" oncommand="EditorSetDocumentCharacterSet('ISO-8859-9');"/>
|
||||
<menuitem value="&dcharIso10Cmd.label;" accesskey="&charsetLatin6.accesskey;" oncommand="EditorSetDocumentCharacterSet('ISO-8859-10');"/>
|
||||
<menuitem value="&dcharIso13Cmd.label;" accesskey="&charsetLatin7.accesskey;" oncommand="EditorSetDocumentCharacterSet('ISO-8859-13');"/>
|
||||
<menuitem value="&dcharIso14Cmd.label;" accesskey="&charsetLatin8.accesskey;" oncommand="EditorSetDocumentCharacterSet('ISO-8859-14');"/>
|
||||
</menupopup>
|
||||
</menu>
|
||||
<menu id="charsetMenu1" value="&dcharMenu1.label;" accesskey="&viewcharsetmenu1.accesskey;">
|
||||
<menupopup>
|
||||
<menuitem value="&dcharJapanCmd.label;" accesskey="&charsetJIS.accesskey;" oncommand="EditorSetDocumentCharacterSet('ISO-2022-JP');"/>
|
||||
<menuitem value="&dcharJapanShiftjsCmd.label;" accesskey="&charsetshiftJIS.accesskey;" oncommand="EditorSetDocumentCharacterSet('Shift_JIS');"/>
|
||||
<menuitem value="&dcharJapanEucCmd.label;" accesskey="&charsetJapaneseEUC.accesskey;" oncommand="EditorSetDocumentCharacterSet('EUC-JP');"/>
|
||||
<menuseparator />
|
||||
<menuitem value="&dcharTradChiBigCmd.label;" accesskey="&charsetChineseBig5.accesskey;" oncommand="EditorSetDocumentCharacterSet('Big5');"/>
|
||||
<menuitem value="&dcharTriChiEucCmd.label;" accesskey="&charsetChineseEUC.accesskey;" oncommand="EditorSetDocumentCharacterSet('x-euc-tw');"/>
|
||||
<menuitem value="&dcharSimpChiGbCmd.label;" accesskey="&charsetChineseSimplified.accesskey;" oncommand="EditorSetDocumentCharacterSet('GB2312');"/>
|
||||
<menuseparator />
|
||||
<menuitem value="&dcharKoreanCmd.label;" accesskey="&charsetKorean.accesskey;" oncommand="EditorSetDocumentCharacterSet('EUC-KR');"/>
|
||||
<menuseparator />
|
||||
<menuitem value="&dcharUtf7Cmd.label;" accesskey="&charsetUTF7.accesskey;" oncommand="EditorSetDocumentCharacterSet('UTF-7');"/>
|
||||
<menuitem value="&dcharUtf8Cmd.label;" accesskey="&charsetUTF8.accesskey;" oncommand="EditorSetDocumentCharacterSet('UTF-8');"/>
|
||||
</menupopup>
|
||||
</menu>
|
||||
<menu id="charsetMenu2" value="&dcharMenu2.label;" accesskey="&viewcharsetmenu2.accesskey;">
|
||||
<menupopup>
|
||||
<menuitem value="&dcharRusCmd.label;" accesskey="&charsetRussian.accesskey;" oncommand="EditorSetDocumentCharacterSet('KOI8-R');"/>
|
||||
<menuitem value="&dcharIsoCyrCmd.label;" accesskey="&charsetISOCyrillic.accesskey;" oncommand="EditorSetDocumentCharacterSet('ISO-8859-5');"/>
|
||||
<menuitem value="&dcharWinCyrCmd.label;" accesskey="&charsetWinCyrillic.accesskey;" oncommand="EditorSetDocumentCharacterSet('windows-1251');"/>
|
||||
<menuitem value="&dcharEcmaCyrCmd.label;" accesskey="&charsetECMACyrillic.accesskey;" oncommand="EditorSetDocumentCharacterSet('ISO-IR-111');"/>
|
||||
<menuitem value="&dcharDosCyrCmd.label;" accesskey="&charsetDOSCyrillic.accesskey;" oncommand="EditorSetDocumentCharacterSet('IBM866');"/>
|
||||
<menuitem value="&dcharMacCyrCmd.label;" accesskey="&charsetMacCyrillic.accesskey;" oncommand="EditorSetDocumentCharacterSet('x-mac-cyrillic');"/>
|
||||
<menuitem value="&dcharUkrCmd.label;" accesskey="&charsetUkrainian.accesskey;" oncommand="EditorSetDocumentCharacterSet('KOI8-U');"/>
|
||||
<menuitem value="&dcharMacUkrCmd.label;" accesskey="&charsetMacUkrainian.accesskey;" oncommand="EditorSetDocumentCharacterSet('x-mac-ukrainian');"/>
|
||||
</menupopup>
|
||||
</menu>
|
||||
<menu id="charsetMenu3" value="&dcharMenu3.label;" accesskey="&viewcharsetmenu3.accesskey;">
|
||||
<menupopup>
|
||||
<menuitem value="&dcharWinVietCmd.label;" accesskey="&charsetWinVietnamese.accesskey;" oncommand="EditorSetDocumentCharacterSet('windows-1258');"/>
|
||||
<menuitem value="&dcharVietTcnCmd.label;" accesskey="&charsetVietnameseTCN.accesskey;" oncommand="EditorSetDocumentCharacterSet('x-viet-tcvn5712');"/>
|
||||
<menuitem value="&dcharVietViCmd.label;" accesskey="&charsetVietnameseVIS.accesskey;" oncommand="EditorSetDocumentCharacterSet('VISCII');"/>
|
||||
<menuitem value="&dcharVieVpCmd.label;" accesskey="&charsetVietnameseVPS.accesskey;" oncommand="EditorSetDocumentCharacterSet('x-viet-vps');"/>
|
||||
<menuseparator />
|
||||
<menuitem value="&dcharThaiCmd.label;" accesskey="&charsetThai.accesskey;" oncommand="EditorSetDocumentCharacterSet('TIS-620');"/>
|
||||
<menuseparator />
|
||||
<menuitem value="&dcharArmCmd.label;" accesskey="&charsetArmenian.accesskey;" oncommand="EditorSetDocumentCharacterSet('ARMSCII-8');"/>
|
||||
<menuseparator />
|
||||
<menuitem value="&dcharIso6Cmd.label;" accesskey="&charsetArabic.accesskey;" oncommand="EditorSetDocumentCharacterSet('ISO-8859-6');"/>
|
||||
<menuitem value="&dcharCp1256Cmd.label;" accesskey="&charsetWinArabic.accesskey;" oncommand="EditorSetDocumentCharacterSet('windows-1256');"/>
|
||||
<menuseparator />
|
||||
<menuitem value="&dcharIso8Cmd.label;" accesskey="&charsetHebrew.accesskey;" oncommand="EditorSetDocumentCharacterSet('ISO-8859-8');"/>
|
||||
<menuitem value="&dcharCp1255Cmd.label;" accesskey="&charsetWinHebrew.accesskey;" oncommand="EditorSetDocumentCharacterSet('windows-1255');"/>
|
||||
</menupopup>
|
||||
</menu>
|
||||
<menu id="charsetMenu4" value="&dcharMenu4.label;" accesskey="&viewcharsetmenu4.accesskey;">
|
||||
<menupopup>
|
||||
<menuitem value="&dcharMacRomCmd.label;" accesskey="&charsetMacRoman.accesskey;" oncommand="EditorSetDocumentCharacterSet('x-mac-roman');"/>
|
||||
<menuitem value="&dcharMacCenEuroCmd.label;" accesskey="&charsetMacCentralEurope.accesskey;" oncommand="EditorSetDocumentCharacterSet('x-mac-ce');"/>
|
||||
<menuitem value="&dcharMacTurCmd.label;" accesskey="&charsetMacTurkish.accesskey;" oncommand="EditorSetDocumentCharacterSet('x-mac-turkish');"/>
|
||||
<menuitem value="&dcharMacCroaCmd.label;" accesskey="&charsetMacCroatian.accesskey;" oncommand="EditorSetDocumentCharacterSet('x-mac-croatian');"/>
|
||||
<menuitem value="&dcharMacRomanianCmd.label;" accesskey="&charsetMacRomanian.accesskey;" oncommand="EditorSetDocumentCharacterSet('x-mac-romanian');"/>
|
||||
<menuitem value="&dcharMacIceCmd.label;" accesskey="&charsetMacIcelandic.accesskey;" oncommand="EditorSetDocumentCharacterSet('x-mac-icelandic');"/>
|
||||
<menuitem value="&dcharMacGreekCmd.label;" accesskey="&charsetMacGreek.accesskey;" oncommand="EditorSetDocumentCharacterSet('x-mac-greek');"/>
|
||||
</menupopup>
|
||||
</menu>
|
||||
<menu id="charsetMenu5" value="&dcharMenu5.label;" accesskey="&viewcharsetmenu4.accesskey;">
|
||||
<menupopup>
|
||||
<menuitem value="&dcharWinLat1Cmd.label;" accesskey="&charsetWinLatin1.accesskey;" oncommand="EditorSetDocumentCharacterSet('windows-1252');"/>
|
||||
<menuitem value="&dcharWinLat2Cmd.label;" accesskey="&charsetWinLatin2.accesskey;" oncommand="EditorSetDocumentCharacterSet('windows-1250');"/>
|
||||
<menuitem value="&dcharWinLat5Cmd.label;" accesskey="&charsetWinLatin5.accesskey;" oncommand="EditorSetDocumentCharacterSet('windows-1254');"/>
|
||||
<menuitem value="&dcharWinBalRimCmd.label;" accesskey="&charsetWinBaltic.accesskey;" oncommand="EditorSetDocumentCharacterSet('windows-1257');"/>
|
||||
<menuitem value="&dcharWinGreekCmd.label;" accesskey="&charsetWinGreek.accesskey;" oncommand="EditorSetDocumentCharacterSet('windows-1253');"/>
|
||||
</menupopup>
|
||||
</menu>
|
||||
|
||||
<!-- Insert menu -->
|
||||
<menu id="insertMenu" value="&insertMenu.label;" accesskey="&insertmenu.accesskey;">
|
||||
|
@ -346,22 +345,22 @@
|
|||
<!-- Font size submenu -->
|
||||
<menu id="fontSizeMenu" value="&fontsizeMenu.label;" accesskey="&formatsizemenu.accesskey;">
|
||||
<menupopup>
|
||||
<menuitem value="&sizeMinusTwoCmd.label;" accesskey="&sizeminus2.accesskey;" oncommand="EditorSetFontSize('-2')"/>
|
||||
<menuitem value="&sizeMinusOneCmd.label;" accesskey="&sizeminus1.accesskey;" oncommand="EditorSetFontSize('-1')"/>
|
||||
<menuitem value="&sizeNormalCmd.label;" accesskey="&sizenormal.accesskey;" oncommand="EditorSetFontSize('0')"/>
|
||||
<menuitem value="&sizePlusOneCmd.label;" accesskey="&size1.accesskey;" oncommand="EditorSetFontSize('+1')"/>
|
||||
<menuitem value="&sizePlusTwoCmd.label;" accesskey="&size2.accesskey;" oncommand="EditorSetFontSize('+2')"/>
|
||||
<menuitem value="&sizePlusThreeCmd.label;" accesskey="&size3.accesskey;" oncommand="EditorSetFontSize('+3')"/>
|
||||
<menuitem value="&sizePlusFourCmd.label;" accesskey="&size4.accesskey;" oncommand="EditorSetFontSize('+4')"/>
|
||||
<menuitem value="&size-2Cmd.label;" accesskey="&size-2.accesskey;" oncommand="EditorSetFontSize('-2')"/>
|
||||
<menuitem value="&size-1Cmd.label;" accesskey="&size-1.accesskey;" oncommand="EditorSetFontSize('-1')"/>
|
||||
<menuitem value="&size0Cmd.label;" accesskey="&size0.accesskey;" oncommand="EditorSetFontSize('0')"/>
|
||||
<menuitem value="&size1Cmd.label;" accesskey="&size1.accesskey;" oncommand="EditorSetFontSize('+1')"/>
|
||||
<menuitem value="&size2Cmd.label;" accesskey="&size2.accesskey;" oncommand="EditorSetFontSize('+2')"/>
|
||||
<menuitem value="&size3Cmd.label;" accesskey="&size3.accesskey;" oncommand="EditorSetFontSize('+3')"/>
|
||||
<menuitem value="&size4Cmd.label;" accesskey="&size4.accesskey;" oncommand="EditorSetFontSize('+4')"/>
|
||||
</menupopup>
|
||||
</menu>
|
||||
|
||||
<!-- Font style submenu -->
|
||||
<menu id="fontStyleMenu" value="&fontStyleMenu.label;" accesskey="&formatstylemenu.accesskey;">
|
||||
<menupopup>
|
||||
<menuitem value="&styleBoldCmd.label;" accesskey="&stylebold.accesskey;" key="boldkb" observes="Editor:Bold"/>
|
||||
<menuitem value="&styleItalicCmd.label;" accesskey="&styleitalic.accesskey;" key="italickb" observes="Editor:Italic"/>
|
||||
<menuitem value="&styleUnderlineCmd.label;" accesskey="&styleunderline.accesskey;" key="underlinekb" observes="Editor:Underline"/>
|
||||
<menuitem value="&styleBoldCmd.label;" accesskey="&stylebold.accesskey;" key="boldkb" observes="Editor:Bold"/>
|
||||
<menuitem value="&styleItalicCmd.label;" accesskey="&styleitalic.accesskey;" key="italickb" observes="Editor:Italic"/>
|
||||
<menuitem value="&styleUnderlineCmd.label;" accesskey="&styleunderline.accesskey;" key="underlinekb" observes="Editor:Underline"/>
|
||||
<menuitem value="&styleStrikeThruCmd.label;" accesskey="&stylestrikethru.accesskey;" oncommand="EditorApplyStyle('strike')"/>
|
||||
<menuitem value="&styleSuperscriptCmd.label;" accesskey="&stylesuperscript.accesskey;" oncommand="EditorApplyStyle('sup')"/>
|
||||
<menuitem value="&styleSubscriptCmd.label;" accesskey="&stylesubscript.accesskey;" oncommand="EditorApplyStyle('sub')"/>
|
||||
|
@ -406,12 +405,12 @@
|
|||
<menu id="headingMenu" value="&headingMenu.label;" accesskey="&formatheadingmenu.accesskey;">
|
||||
<menupopup>
|
||||
<menuitem value="&headingNormalCmd.label;" accesskey="&headingnone.accesskey;" oncommand="EditorSetParagraphFormat('normal')"/>
|
||||
<menuitem value="&headingOneCmd.label;" accesskey="&heading1.accesskey;" oncommand="EditorSetParagraphFormat('h1')"/>
|
||||
<menuitem value="&headingTwoCmd.label;" accesskey="&heading2.accesskey;" oncommand="EditorSetParagraphFormat('h2')"/>
|
||||
<menuitem value="&headingThreeCmd.label;" accesskey="&heading3.accesskey;" oncommand="EditorSetParagraphFormat('h3')"/>
|
||||
<menuitem value="&headingFourCmd.label;" accesskey="&heading4.accesskey;" oncommand="EditorSetParagraphFormat('h4')"/>
|
||||
<menuitem value="&headingFiveCmd.label;" accesskey="&heading5.accesskey;" oncommand="EditorSetParagraphFormat('h5')"/>
|
||||
<menuitem value="&headingSixCmd.label;" accesskey="&heading6.accesskey;" oncommand="EditorSetParagraphFormat('h6')"/>
|
||||
<menuitem value="&heading1Cmd.label;" accesskey="&heading1.accesskey;" oncommand="EditorSetParagraphFormat('h1')"/>
|
||||
<menuitem value="&heading2Cmd.label;" accesskey="&heading2.accesskey;" oncommand="EditorSetParagraphFormat('h2')"/>
|
||||
<menuitem value="&heading3Cmd.label;" accesskey="&heading3.accesskey;" oncommand="EditorSetParagraphFormat('h3')"/>
|
||||
<menuitem value="&heading4Cmd.label;" accesskey="&heading4.accesskey;" oncommand="EditorSetParagraphFormat('h4')"/>
|
||||
<menuitem value="&heading5Cmd.label;" accesskey="&heading5.accesskey;" oncommand="EditorSetParagraphFormat('h5')"/>
|
||||
<menuitem value="&heading6Cmd.label;" accesskey="&heading6.accesskey;" oncommand="EditorSetParagraphFormat('h6')"/>
|
||||
</menupopup>
|
||||
</menu>
|
||||
|
||||
|
@ -422,7 +421,6 @@
|
|||
<menuitem value="¶graphBlockquoteCmd.label;" accesskey="¶graphblockquote.accesskey;" oncommand="EditorSetParagraphFormat('blockquote')"/>
|
||||
<menuitem value="¶graphAddressCmd.label;" accesskey="¶graphaddress.accesskey;" oncommand="EditorSetParagraphFormat('address')"/>
|
||||
<menuitem value="¶graphPreformatCmd.label;" accesskey="¶graphpreformat.accesskey;" oncommand="EditorSetParagraphFormat('pre')"/>
|
||||
<menuitem value="¶graphListCmd.label;" accesskey="¶graphlist.accesskey;" oncommand="EditorSetParagraphFormat('li')"/>
|
||||
<menuitem value="¶graphDfnTermCmd.label;" accesskey="¶graphterm.accesskey;" oncommand="EditorSetParagraphFormat('dt')"/>
|
||||
<menuitem value="¶graphDfnDescCmd.label;" accesskey="¶graphdesc.accesskey;" oncommand="EditorSetParagraphFormat('dd')"/>
|
||||
</menupopup>
|
||||
|
@ -471,40 +469,7 @@
|
|||
</menu>
|
||||
|
||||
<!-- Toolbar popups -->
|
||||
<menupopup id="ParagraphPopup">
|
||||
<menuitem value="&headingNormalCmd.label;" oncommand="EditorSetParagraphFormat('normal')"/>
|
||||
<menuitem value="&headingOneCmd.label;" oncommand="EditorSetParagraphFormat('h1')"/>
|
||||
<menuitem value="&headingTwoCmd.label;" oncommand="EditorSetParagraphFormat('h2')"/>
|
||||
<menuitem value="&headingThreeCmd.label;" oncommand="EditorSetParagraphFormat('h3')"/>
|
||||
<menuitem value="&headingFourCmd.label;" oncommand="EditorSetParagraphFormat('h4')"/>
|
||||
<menuitem value="&headingFiveCmd.label;" oncommand="EditorSetParagraphFormat('h5')"/>
|
||||
<menuitem value="&headingSixCmd.label;" oncommand="EditorSetParagraphFormat('h6')"/>
|
||||
<menuitem value="¶graphAddressCmd.label;" oncommand="EditorSetParagraphFormat('address')"/>
|
||||
<menuitem value="¶graphPreformatCmd.label;" oncommand="EditorSetParagraphFormat('pre')"/>
|
||||
<menuitem value="¶graphListCmd.label;" oncommand="EditorSetParagraphFormat('li')"/>
|
||||
<menuitem value="¶graphDfnTermCmd.label;" oncommand="EditorSetParagraphFormat('dt')"/>
|
||||
<menuitem value="¶graphDfnDescCmd.label;" oncommand="EditorSetParagraphFormat('dd')"/>
|
||||
</menupopup>
|
||||
|
||||
<menupopup id="FontFacePopup">
|
||||
<menuitem value="&defaultVariableWidthCmd.label;" oncommand="EditorSetFontFace('')"/>
|
||||
<menuitem value="&defaultFixedWidthCmd.label;" oncommand="EditorSetFontFace('tt')"/>
|
||||
<menuseparator/>
|
||||
<menuitem value="&arialHelveticaFont.label;" oncommand="EditorSetFontFace('Arial, Helvetica, sans-serif')"/>
|
||||
<menuitem value="×Font.label;" oncommand="EditorSetFontFace('Times New Roman, Times, serif')"/>
|
||||
<menuitem value="&courierFont.label;" oncommand="EditorSetFontFace('Courier New, Courier, mono')"/>
|
||||
</menupopup>
|
||||
|
||||
<menupopup id="FontSizePopup">
|
||||
<menuitem value="&sizeMinusTwoCmd.label;" oncommand="EditorSetFontSize('-2')"/>
|
||||
<menuitem value="&sizeMinusOneCmd.label;" oncommand="EditorSetFontSize('-1')"/>
|
||||
<menuitem value="&sizeNormalCmd.label;" oncommand="EditorSetFontSize('0')"/>
|
||||
<menuitem value="&sizePlusOneCmd.label;" oncommand="EditorSetFontSize('+1')"/>
|
||||
<menuitem value="&sizePlusTwoCmd.label;" oncommand="EditorSetFontSize('+2')"/>
|
||||
<menuitem value="&sizePlusThreeCmd.label;" oncommand="EditorSetFontSize('+3')"/>
|
||||
<menuitem value="&sizePlusFourCmd.label;" oncommand="EditorSetFontSize('+4')"/>
|
||||
</menupopup>
|
||||
|
||||
<!-- TODO: REPLACE WITH COLOR WIDGET -->
|
||||
<menupopup id="BackColorPopup">
|
||||
<menuitem value="&colorBlackCmd.label;" oncommand="EditorSetBackgroundColor('black')"/>
|
||||
<menuitem value="&colorGrayCmd.label;" oncommand="EditorSetBackgroundColor('gray')"/>
|
||||
|
@ -533,42 +498,75 @@
|
|||
|
||||
<menupopup id="AlignmentPopup">
|
||||
<menuitem oncommand="EditorAlign('left')">
|
||||
<titledbutton src="chrome://editor/skin/images/left.gif" align="left" value="&alignLeft.label;"/>
|
||||
<titledbutton id="text-align-left" align="left" value="&alignLeft.label;"/>
|
||||
</menuitem>
|
||||
<menuitem oncommand="EditorAlign('center')">
|
||||
<titledbutton src="chrome://editor/skin/images/center.gif" align="left" value="&alignCenter.label;"/>
|
||||
<titledbutton id="text-align-center" align="left" value="&alignCenter.label;"/>
|
||||
</menuitem>
|
||||
<menuitem oncommand="EditorAlign('right')">
|
||||
<titledbutton src="chrome://editor/skin/images/right.gif" align="left" value="&alignRight.label;"/>
|
||||
<titledbutton id="text-align-right" align="left" value="&alignRight.label;"/>
|
||||
</menuitem>
|
||||
<menuitem oncommand="EditorAlign('justify')">
|
||||
<titledbutton src="chrome://editor/skin/images/justify.gif" align="left" value="&alignJustify.label;"/>
|
||||
<titledbutton id="text-align-justify" align="left" value="&alignJustify.label;"/>
|
||||
</menuitem>
|
||||
</menupopup>
|
||||
|
||||
<!-- Editor toolbar items -->
|
||||
<!-- note that we override the submenu item label "Blank Window" with "New" used for the menu -->
|
||||
<titledbutton id="newButton" class="button28" src="&newEditorIcon.url;" observes="cmd_newEditor" value="&newMenu.label;" />
|
||||
<titledbutton id="openButton" class="button28" src="&openEditorIcon.url;" observes="Editor:Open"/>
|
||||
<titledbutton id="saveButton" class="button28" src="&saveIcon.url;" observes="Editor:Save"/>
|
||||
<titledbutton id="printButton" class="other28" src="&printIcon.url;" observes="Editor:Print"/>
|
||||
<titledbutton id="findButton" class="other28" src="&findIcon.url;" observes="Editor:Find"/>
|
||||
<titledbutton id="spellingButton" class="other28" src="&spellingIcon.url;" value="&spellToolbarCmd.label;" onclick="CheckSpelling()"/>
|
||||
<titledbutton id="newButton" class="button28" observes="cmd_newEditor" value="&newMenu.label;" />
|
||||
<titledbutton id="openButton" class="button28" observes="Editor:Open"/>
|
||||
<titledbutton id="saveButton" class="button28" observes="Editor:Save"/>
|
||||
<titledbutton id="printButton" class="other28" observes="Editor:Print"/>
|
||||
<titledbutton id="findButton" class="other28" observes="Editor:Find"/>
|
||||
<titledbutton id="spellingButton" class="other28" value="&spellToolbarCmd.label;" onclick="CheckSpelling()"/>
|
||||
|
||||
<titledbutton id="imageButton" class="other28" src="&imageIcon.url;" value="&imageToolbarCmd.label;" onclick="EditorInsertImage()"/>
|
||||
<titledbutton id="hlineButton" class="other28" src="&hlineIcon.url;" value="&hruleToolbarCmd.label;" onclick="EditorInsertHLine()"/>
|
||||
<titledbutton id="tableButton" class="other28" src="&tableIcon.url;" value="&tableToolbarCmd.label;" onclick="EditorInsertOrEditTable(true)"/>
|
||||
<titledbutton id="linkButton" class="other28" src="&linkIcon.url;" value="&linkToolbarCmd.label;" onclick="EditorInsertLink()"/>
|
||||
<titledbutton id="namedAnchorButton" class="other28" src="&anchorIcon.url;" value="&anchorToolbarCmd.label;" onclick="EditorInsertNamedAnchor()"/>
|
||||
<titledbutton id="imageButton" class="other28" value="&imageToolbarCmd.label;" onclick="EditorInsertImage()"/>
|
||||
<titledbutton id="hlineButton" class="other28" value="&hruleToolbarCmd.label;" onclick="EditorInsertHLine()"/>
|
||||
<titledbutton id="tableButton" class="other28" value="&tableToolbarCmd.label;" onclick="EditorInsertOrEditTable(true)"/>
|
||||
<titledbutton id="linkButton" class="other28" value="&linkToolbarCmd.label;" onclick="EditorInsertLink()"/>
|
||||
<titledbutton id="namedAnchorButton" class="other28" value="&anchorToolbarCmd.label;" onclick="EditorInsertNamedAnchor()"/>
|
||||
|
||||
<!-- Formatting toolbar items -->
|
||||
<titledbutton style="width:68pt" id="ParagraphPopupButton" value="¶graphToolbarMenu.label;" class="popup" align="left" popupanchor="bottomleft">
|
||||
<observes element="Editor:Paragraph:Format" attribute="format" onbroadcast="onParagraphFormatChange()"/>
|
||||
</titledbutton>
|
||||
<titledbutton id="FontFacePopupButton" class="format popup" value="&fontToolbarMenu.label;" align="right" popupanchor="bottomleft"/>
|
||||
<titledbutton id="FontSizePopupButton" class="format popup" value="&sizeToolbarMenu.label;" align="right" popupanchor="bottomleft"/>
|
||||
<titledbutton id="TextColorPopupButton" class="format popup" src="chrome://editor/skin/images/text-color.gif" popupanchor="bottomleft"/>
|
||||
<titledbutton id="BackColorPopupButton" class="format popup" src="chrome://editor/skin/images/backcolor.gif" popupanchor="bottomleft"/>
|
||||
<html:select class="toolbar" id="ParagraphSelect" size="1" onchange="EditorSelectParagraphFormat()">
|
||||
<observes element="Editor:Paragraph:Format" attribute="format" onbroadcast="onParagraphFormatChange()"/>
|
||||
<html:option>&headingNormalCmd.label;</html:option>
|
||||
<html:option>&heading1Cmd.label;</html:option>
|
||||
<html:option>&heading2Cmd.label;</html:option>
|
||||
<html:option>&heading3Cmd.label;</html:option>
|
||||
<html:option>&heading4Cmd.label;</html:option>
|
||||
<html:option>&heading5Cmd.label;</html:option>
|
||||
<html:option>&heading6Cmd.label;</html:option>
|
||||
<html:option>¶graphBlockquoteCmd.label;</html:option>
|
||||
<html:option>¶graphAddressCmd.label;</html:option>
|
||||
<html:option>¶graphPreformatCmd.label;</html:option>
|
||||
<html:option>¶graphDfnTermCmd.label;</html:option>
|
||||
<html:option>¶graphDfnDescCmd.label;</html:option>
|
||||
</html:select>
|
||||
|
||||
<!-- TODO: Use actual "face" value when combobox can display arbitrary HTML -->
|
||||
<html:select class="toolbar" id="FontFaceSelect" size="1" onchange="EditorSelectFontFace()">
|
||||
<observes element="Editor:Font:Face" attribute="face" onbroadcast="onFontFaceChange()"/>
|
||||
<html:option>&defaultVariableWidthCmd.label;</html:option>
|
||||
<html:option>&defaultFixedWidthCmd.label;</html:option>
|
||||
<html:option>&arialHelveticaFont.label;</html:option>
|
||||
<html:option>×Font.label;</html:option>
|
||||
<html:option>&courierFont.label;</html:option>
|
||||
</html:select>
|
||||
|
||||
<html:select class="toolbar" id="FontSizeSelect" size="1" onchange="EditorSelectFontSize()">
|
||||
<observes element="Editor:Font:Size" attribute="size" onbroadcast="onFontSizeChange()"/>
|
||||
<html:option>&size-2Cmd.label;</html:option>
|
||||
<html:option>&size-1Cmd.label;</html:option>
|
||||
<html:option>&size0Cmd.label;</html:option>
|
||||
<html:option>&size1Cmd.label;</html:option>
|
||||
<html:option>&size2Cmd.label;</html:option>
|
||||
<html:option>&size3Cmd.label;</html:option>
|
||||
<html:option>&size4Cmd.label;</html:option>
|
||||
</html:select>
|
||||
|
||||
<!-- CSS not working to pull buttons together with -margin -->
|
||||
<titledbutton id="TextColorPopupButton" class="popup" popupanchor="bottomleft"/>
|
||||
<titledbutton id="BackColorPopupButton" class="popup" popupanchor="bottomleft"/>
|
||||
|
||||
<!-- can't just use observes here because we don't want the value from the broadcaster -->
|
||||
<titledbutton id="boldButton" class="format TextAttribute" value="&formatToolbar.boldChar;" align="center" onclick="EditorToggleStyle('bold')">
|
||||
|
@ -581,17 +579,17 @@
|
|||
<observes element="Editor:Underline" attribute="underline" onbroadcast="onStyleChange('underline')"/>
|
||||
</titledbutton>
|
||||
|
||||
<titledbutton id="ulButton" class="format" src="&bulletListIcon.url;" onclick="EditorMakeOrChangeList('ul')">
|
||||
<titledbutton id="ulButton" class="format" onclick="EditorMakeOrChangeList('ul')">
|
||||
<observes element="Editor:Paragraph:ListType" attribute="format" onbroadcast="onListFormatChange('ul')"/>
|
||||
</titledbutton>
|
||||
|
||||
<titledbutton id="olButton" class="format" src="&numberListIcon.url;" align="bottom" onclick="EditorMakeOrChangeList('ol')">
|
||||
<titledbutton id="olButton" class="format" onclick="EditorMakeOrChangeList('ol')">
|
||||
<observes element="Editor:Paragraph:ListType" attribute="format" onbroadcast="onListFormatChange('ol')"/>
|
||||
</titledbutton>
|
||||
|
||||
<titledbutton id="outdentButton" class="format" src="&outdentIcon.url;" align="bottom" onclick="EditorIndent('outdent')"/>
|
||||
<titledbutton id="indentButton" class="format" src="&indentIcon.url;" align="bottom" onclick="EditorIndent('indent')"/>
|
||||
<titledbutton id="AlignPopupButton" class="format popup" src="&alignpopupIcon.url;" align="bottom" popupanchor="bottomleft"/>
|
||||
<titledbutton id="outdentButton" class="format" onclick="EditorIndent('outdent')"/>
|
||||
<titledbutton id="indentButton" class="format" onclick="EditorIndent('indent')"/>
|
||||
<titledbutton id="AlignPopupButton" class="format popup" popupanchor="bottomleft"/>
|
||||
|
||||
|
||||
<!-- DEBUG only -->
|
||||
|
|
|
@ -14,6 +14,8 @@ Fewer=Fewer
|
|||
Less=Less
|
||||
MoreAttributes=More Attributes
|
||||
FewerAttributes=Fewer Attributes
|
||||
MoreProperties=More Properties
|
||||
FewerProperties=Fewer Properties
|
||||
None=None
|
||||
none=none
|
||||
OpenHTMLFile=Open HTML File
|
||||
|
|
|
@ -219,11 +219,11 @@
|
|||
<!-- Font Face SubMenu -->
|
||||
<!ENTITY fontfaceMenu.label "Font Face">
|
||||
<!ENTITY formatfontmenu.accesskey "f">
|
||||
<!ENTITY defaultVariableWidthCmd.label "Default Variable Width">
|
||||
<!ENTITY defaultVariableWidthCmd.label "Variable Width">
|
||||
<!ENTITY fontvarwidth.accesskey "v">
|
||||
<!ENTITY defaultFixedWidthCmd.label "Default Fixed Width">
|
||||
<!ENTITY defaultFixedWidthCmd.label "Fixed Width">
|
||||
<!ENTITY fontfixedwidth.accesskey "x">
|
||||
<!ENTITY arialHelveticaFont.label "Arial, Helvetica">
|
||||
<!ENTITY arialHelveticaFont.label "Arial, Helv.">
|
||||
<!ENTITY fonthelvetica.accesskey "l">
|
||||
<!ENTITY timesFont.label "Times">
|
||||
<!ENTITY fonttimes.accesskey "t">
|
||||
|
@ -233,19 +233,19 @@
|
|||
<!-- Font Size SubMenu -->
|
||||
<!ENTITY fontsizeMenu.label "Size">
|
||||
<!ENTITY formatsizemenu.accesskey "s">
|
||||
<!ENTITY sizeMinusTwoCmd.label " -2">
|
||||
<!ENTITY sizeminus2.accesskey "-">
|
||||
<!ENTITY sizeMinusOneCmd.label " -1 (smaller)">
|
||||
<!ENTITY sizeminus1.accesskey "s">
|
||||
<!ENTITY sizeNormalCmd.label " Normal">
|
||||
<!ENTITY sizenormal.accesskey "n">
|
||||
<!ENTITY sizePlusOneCmd.label " +1 (bigger)">
|
||||
<!ENTITY size-2Cmd.label " -2">
|
||||
<!ENTITY size-2.accesskey "-">
|
||||
<!ENTITY size-1Cmd.label " -1">
|
||||
<!ENTITY size-1.accesskey "s">
|
||||
<!ENTITY size0Cmd.label " 0">
|
||||
<!ENTITY size0.accesskey "n">
|
||||
<!ENTITY size1Cmd.label " +1">
|
||||
<!ENTITY size1.accesskey "1">
|
||||
<!ENTITY sizePlusTwoCmd.label " +2">
|
||||
<!ENTITY size2Cmd.label " +2">
|
||||
<!ENTITY size2.accesskey "2">
|
||||
<!ENTITY sizePlusThreeCmd.label " +3">
|
||||
<!ENTITY size3Cmd.label " +3">
|
||||
<!ENTITY size3.accesskey "3">
|
||||
<!ENTITY sizePlusFourCmd.label " +4">
|
||||
<!ENTITY size4Cmd.label " +4">
|
||||
<!ENTITY size4.accesskey "4">
|
||||
|
||||
<!-- Font Style SubMenu -->
|
||||
|
@ -302,17 +302,17 @@
|
|||
<!ENTITY formatheadingmenu.accesskey "h">
|
||||
<!ENTITY headingNormalCmd.label "Normal">
|
||||
<!ENTITY headingnone.accesskey "n">
|
||||
<!ENTITY headingOneCmd.label "Heading 1">
|
||||
<!ENTITY heading1Cmd.label "Heading 1">
|
||||
<!ENTITY heading1.accesskey "1">
|
||||
<!ENTITY headingTwoCmd.label "Heading 2">
|
||||
<!ENTITY heading2Cmd.label "Heading 2">
|
||||
<!ENTITY heading2.accesskey "2">
|
||||
<!ENTITY headingThreeCmd.label "Heading 3">
|
||||
<!ENTITY heading3Cmd.label "Heading 3">
|
||||
<!ENTITY heading3.accesskey "3">
|
||||
<!ENTITY headingFourCmd.label "Heading 4">
|
||||
<!ENTITY heading4Cmd.label "Heading 4">
|
||||
<!ENTITY heading4.accesskey "4">
|
||||
<!ENTITY headingFiveCmd.label "Heading 5">
|
||||
<!ENTITY heading5Cmd.label "Heading 5">
|
||||
<!ENTITY heading5.accesskey "5">
|
||||
<!ENTITY headingSixCmd.label "Heading 6">
|
||||
<!ENTITY heading6Cmd.label "Heading 6">
|
||||
<!ENTITY heading6.accesskey "6">
|
||||
|
||||
<!ENTITY paragraphMenu.label "Paragraph">
|
||||
|
@ -327,9 +327,9 @@
|
|||
<!ENTITY paragraphpreformat.accesskey "p">
|
||||
<!ENTITY paragraphListCmd.label "List item">
|
||||
<!ENTITY paragraphlist.accesskey "l">
|
||||
<!ENTITY paragraphDfnTermCmd.label "Definition term">
|
||||
<!ENTITY paragraphDfnTermCmd.label "Def. term">
|
||||
<!ENTITY paragraphterm.accesskey "t">
|
||||
<!ENTITY paragraphDfnDescCmd.label "Definition description">
|
||||
<!ENTITY paragraphDfnDescCmd.label "Def. description">
|
||||
<!ENTITY paragraphdesc.accesskey "d">
|
||||
|
||||
<!-- List menu items -->
|
||||
|
@ -438,19 +438,6 @@
|
|||
<!ENTITY toolspellcheck.accesskey "s">
|
||||
|
||||
<!-- editor toolbar -->
|
||||
<!ENTITY newEditorIcon.url "chrome://editor/skin/images/newfile.gif">
|
||||
<!ENTITY openEditorIcon.url "chrome://editor/skin/images/openfile.gif">
|
||||
<!ENTITY saveIcon.url "chrome://editor/skin/images/savefile.gif">
|
||||
<!ENTITY publishIcon.url "chrome://editor/skin/images/publish.gif">
|
||||
<!ENTITY previewIcon.url "chrome://editor/skin/images/preview.gif">
|
||||
<!ENTITY printIcon.url "chrome://editor/skin/images/print.gif">
|
||||
<!ENTITY findIcon.url "chrome://editor/skin/images/find.gif">
|
||||
<!ENTITY linkIcon.url "chrome://editor/skin/images/link.gif">
|
||||
<!ENTITY imageIcon.url "chrome://editor/skin/images/image.gif">
|
||||
<!ENTITY anchorIcon.url "chrome://editor/skin/images/anchor.gif">
|
||||
<!ENTITY hlineIcon.url "chrome://editor/skin/images/hline.gif">
|
||||
<!ENTITY tableIcon.url "chrome://editor/skin/images/table.gif">
|
||||
<!ENTITY spellingIcon.url "chrome://editor/skin/images/spell.gif">
|
||||
|
||||
<!-- formatting toolbar -->
|
||||
<!ENTITY paragraphToolbarMenu.label "Paragraph">
|
||||
|
@ -459,15 +446,10 @@
|
|||
<!ENTITY formatToolbar.boldChar "B">
|
||||
<!ENTITY formatToolbar.italicChar "I">
|
||||
<!ENTITY formatToolbar.underlineChar "U">
|
||||
<!ENTITY bulletListIcon.url "chrome://editor/skin/images/bullets.gif">
|
||||
<!ENTITY numberListIcon.url "chrome://editor/skin/images/numbers.gif">
|
||||
<!ENTITY outdentIcon.url "chrome://editor/skin/images/outdent.gif">
|
||||
<!ENTITY indentIcon.url "chrome://editor/skin/images/indent.gif">
|
||||
<!ENTITY alignpopupIcon.url "chrome://editor/skin/images/align.gif">
|
||||
<!ENTITY alignLeft.label "Left">
|
||||
<!ENTITY alignCenter.label "Center">
|
||||
<!ENTITY alignRight.label "Right">
|
||||
<!ENTITY alignJustify.label "Justify">
|
||||
|
||||
<!ENTITY tempNotification.label "Some random notification">
|
||||
<!ENTITY tempDoneLoading.label "Document: Done">
|
||||
<!ENTITY tempNotification.label "[status message]">
|
||||
<!ENTITY tempDoneLoading.label "[Document loading message]">
|
||||
|
|
|
@ -46,43 +46,34 @@ box#DisplayModeBar {
|
|||
background-color: #999999;
|
||||
}
|
||||
|
||||
toolbar#EditToolbar titledbutton#SaveButton {
|
||||
list-style-image:url(chrome://editor/skin/images/savefile.gif);
|
||||
}
|
||||
|
||||
toolbar#EditToolbar titledbutton#SaveButton[dirty="true"] {
|
||||
list-style-image:url(chrome://editor/skin/images/savemod.gif);
|
||||
}
|
||||
|
||||
toolbar#FormatToolbar titledbutton[class~=format] {
|
||||
margin: 2px 2px 2px 2px;
|
||||
toolbar#FormatToolbar titledbutton.format {
|
||||
border: 1px solid transparent;
|
||||
margin: 1px 1px 1px 1px;
|
||||
padding: 2px;
|
||||
text-decoration: none;
|
||||
color: inherit;
|
||||
}
|
||||
|
||||
toolbar#FormatToolbar titledbutton[class~=format]:hover {
|
||||
toolbar#FormatToolbar titledbutton.format[toggled="1"] {
|
||||
border: 1px white inset;
|
||||
}
|
||||
|
||||
toolbar#FormatToolbar titledbutton.format:hover {
|
||||
/* What we should use, but this has a blue border that doesn't look good against gray toolbars
|
||||
background-image:url("chrome://global/skin/otherbutton28-bg-hover.gif");
|
||||
*/
|
||||
background-image:url("chrome://editor/skin/images/hover-teal.gif");
|
||||
background-repeat: no-repeat;
|
||||
background-position: center center;
|
||||
*/
|
||||
border: 1px solid white;
|
||||
text-decoration: none;
|
||||
/* global class="plain" should do this! */
|
||||
}
|
||||
|
||||
toolbar#FormatToolbar titledbutton[class~=format]:active {
|
||||
margin: 3px 1px 1px 3px;
|
||||
margin: 2px 0px 0px 2px;
|
||||
}
|
||||
|
||||
/*
|
||||
Experimental: a flat look for buttons that show "set" state, like bold
|
||||
toolbar#FormatToolbar titledbutton[class~=format][toggled="1"] {
|
||||
border: 1px solid #003366;
|
||||
}
|
||||
*/
|
||||
|
||||
toolbar#FormatToolbar titledbutton[class~=TextAttribute] {
|
||||
/* Make these narrower */
|
||||
padding: 2px 0px;
|
||||
|
@ -108,13 +99,18 @@ toolbar#FormatToolbar titledbutton#underlineButton {
|
|||
text-decoration: underline;
|
||||
}
|
||||
|
||||
/* Use negative margins to bring buttons together to look like one */
|
||||
toolbar#FormatToolbar titledbutton#TextColorPopupButton {
|
||||
margin-right: -2px;
|
||||
div.toolbar-middle {
|
||||
/* trying to center vertically in the toolbar! */
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
toolbar#FormatToolbar titledbutton#BackColorPopupButton {
|
||||
margin-left: -2px;
|
||||
select.toolbar {
|
||||
/* I'd prefer to have this centered */
|
||||
margin-top: 3px;
|
||||
margin-left: 3px;
|
||||
margin-right: 3px;
|
||||
/* This is ignored! */
|
||||
font-size: smaller;
|
||||
max-width: 20em;
|
||||
}
|
||||
|
||||
box#DisplayModeBar titledbutton[class~=DisplayModeButton] {
|
||||
|
@ -128,12 +124,11 @@ box#DisplayModeBar titledbutton[class~=DisplayModeButton] {
|
|||
}
|
||||
|
||||
box#DisplayModeBar titledbutton[class~=DisplayModeButton]:hover {
|
||||
/*border: 1px solid white;
|
||||
padding: 0px 4px 0px 4px;
|
||||
margin: 0px;
|
||||
*/
|
||||
border: 1px solid white;
|
||||
/* Alternate hover style: change background
|
||||
color: white;
|
||||
background-color: #66AAAA;
|
||||
*/
|
||||
}
|
||||
|
||||
box#DisplayModeBar titledbutton[class~=DisplayModeButton]:active {
|
||||
|
@ -151,8 +146,11 @@ box#DisplayModeBar titledbutton[class~=DisplayModeButton][selected="1"] {
|
|||
}
|
||||
|
||||
box#DisplayModeBar titledbutton[class~=DisplayModeButton][selected="1"]:hover {
|
||||
border: 1px solid white;
|
||||
/* Alternate hover style: change background
|
||||
background-color: #66AAAA;
|
||||
color: white;
|
||||
*/
|
||||
}
|
||||
|
||||
box#DisplayModeBar titledbutton[class~=DisplayModeButton][selected="1"]:active {
|
||||
|
@ -176,3 +174,98 @@ spring.spacer5 {
|
|||
width: 5px;
|
||||
height: 5px;
|
||||
}
|
||||
|
||||
/* Image URLs for all Editor toolbar buttons */
|
||||
|
||||
titledbutton#newButton {
|
||||
list-style-image:url("chrome://editor/skin/images/newfile.gif");
|
||||
}
|
||||
titledbutton#openButton {
|
||||
list-style-image:url("chrome://editor/skin/images/openfile.gif");
|
||||
}
|
||||
|
||||
titledbutton#saveButton {
|
||||
list-style-image:url("chrome://editor/skin/images/savefile.gif");
|
||||
}
|
||||
titledbutton#saveButton[dirty="true"] {
|
||||
list-style-image:url(chrome://editor/skin/images/savemod.gif);
|
||||
}
|
||||
|
||||
titledbutton#publishButton {
|
||||
list-style-image:url("chrome://editor/skin/images/publish.gif");
|
||||
}
|
||||
titledbutton#printButton {
|
||||
list-style-image:url("chrome://editor/skin/images/print.gif");
|
||||
}
|
||||
titledbutton#findButton {
|
||||
list-style-image:url("chrome://editor/skin/images/find.gif");
|
||||
}
|
||||
titledbutton#linkButton {
|
||||
list-style-image:url("chrome://editor/skin/images/link.gif");
|
||||
}
|
||||
titledbutton#imageButton {
|
||||
list-style-image:url("chrome://editor/skin/images/image.gif");
|
||||
}
|
||||
titledbutton#namedAnchorButton {
|
||||
list-style-image:url("chrome://editor/skin/images/anchor.gif");
|
||||
}
|
||||
titledbutton#hlineButton {
|
||||
list-style-image:url("chrome://editor/skin/images/hline.gif");
|
||||
}
|
||||
titledbutton#tableButton {
|
||||
list-style-image:url("chrome://editor/skin/images/table.gif");
|
||||
}
|
||||
titledbutton#spellingButton {
|
||||
list-style-image:url("chrome://editor/skin/images/spell.gif");
|
||||
}
|
||||
titledbutton#ulButton {
|
||||
list-style-image:url("chrome://editor/skin/images/bullets.gif");
|
||||
}
|
||||
titledbutton#olButton {
|
||||
list-style-image:url("chrome://editor/skin/images/numbers.gif");
|
||||
}
|
||||
titledbutton#outdentButton {
|
||||
list-style-image:url("chrome://editor/skin/images/outdent.gif");
|
||||
}
|
||||
titledbutton#indentButton {
|
||||
list-style-image:url("chrome://editor/skin/images/indent.gif");
|
||||
}
|
||||
titledbutton#AlignPopupButton {
|
||||
list-style-image:url("chrome://editor/skin/images/align.gif");
|
||||
}
|
||||
|
||||
/* Use negative margins to bring buttons together to look like one */
|
||||
titledbutton#TextColorPopupButton {
|
||||
list-style-image:url("chrome://editor/skin/images/text-color.gif");
|
||||
border: 1px solid transparent;
|
||||
margin: 1px -1px 1px 1px;
|
||||
padding: 0px;
|
||||
}
|
||||
titledbutton#TextColorPopupButton:hover {
|
||||
list-style-image:url("chrome://editor/skin/images/text-color.gif");
|
||||
border: 1px solid white;
|
||||
}
|
||||
|
||||
titledbutton#BackColorPopupButton {
|
||||
list-style-image:url("chrome://editor/skin/images/backcolor.gif");
|
||||
border: 1px solid transparent;
|
||||
margin: 1px 1px 1px -1px;
|
||||
padding: 0px;
|
||||
}
|
||||
titledbutton#BackColorPopupButton:hover {
|
||||
list-style-image:url("chrome://editor/skin/images/backcolor.gif");
|
||||
border: 1px solid white;
|
||||
}
|
||||
|
||||
titledbutton#text-align-left {
|
||||
list-style-image:url("chrome://editor/skin/images/left.gif");
|
||||
}
|
||||
titledbutton#text-align-center {
|
||||
list-style-image:url("chrome://editor/skin/images/center.gif");
|
||||
}
|
||||
titledbutton#text-align-right {
|
||||
list-style-image:url("chrome://editor/skin/images/right.gif");
|
||||
}
|
||||
titledbutton#text-align-justify {
|
||||
list-style-image:url("chrome://editor/skin/images/justify.gif");
|
||||
}
|
||||
|
|
|
@ -63,6 +63,7 @@ function StringExists(string)
|
|||
|
||||
function ClearList(list)
|
||||
{
|
||||
dump("Clear List: list="+list+"\n");
|
||||
if (list) {
|
||||
list.selectedIndex = -1;
|
||||
for( i=list.length-1; i >= 0; i--)
|
||||
|
@ -227,7 +228,7 @@ function PrepareStringForURL(string)
|
|||
// or disabled (setAttribute) as specified in the "doEnable" parameter
|
||||
function SetElementEnabledByID( elementID, doEnable )
|
||||
{
|
||||
element = document.getElementById(elementID);
|
||||
element = document.getElementById(elementID);
|
||||
if ( element )
|
||||
{
|
||||
if ( doEnable )
|
||||
|
@ -336,7 +337,6 @@ function InitPixelOrPercentPopupButton(element, attribute, buttonID)
|
|||
function SetPixelOrPercentByID(elementID, percentString)
|
||||
{
|
||||
percentChar = percentString;
|
||||
dump("SetPixelOrPercent. PercentChar="+percentChar+"\n");
|
||||
|
||||
btn = document.getElementById( elementID );
|
||||
if ( btn )
|
||||
|
@ -346,7 +346,6 @@ function SetPixelOrPercentByID(elementID, percentString)
|
|||
var containing = getContainer();
|
||||
if (containing != null)
|
||||
{
|
||||
dump("Containing Element = " + containing + "\n");
|
||||
if (containing.nodeName == "TD")
|
||||
btn.setAttribute("value", GetString("PercentOfCell"));
|
||||
else
|
||||
|
@ -397,7 +396,6 @@ function onAdvancedEdit()
|
|||
// (the copy named "globalElement")
|
||||
window.openDialog("chrome://editor/content/EdAdvancedEdit.xul", "_blank", "chrome,close,titlebar,modal", "", globalElement);
|
||||
if (window.AdvancedEditOK) {
|
||||
dump("Advanced Dialog closed with OK\n");
|
||||
// Copy edited attributes to the dialog widgets:
|
||||
// to setup for validation
|
||||
InitDialog();
|
||||
|
@ -415,7 +413,6 @@ function onAdvancedEdit()
|
|||
|
||||
function onCancel()
|
||||
{
|
||||
dump("Cancel button clicked: closing window\n");
|
||||
window.close();
|
||||
}
|
||||
|
||||
|
|
|
@ -30,6 +30,8 @@
|
|||
|
||||
<box id="AdvancedEditButton" align="vertical">
|
||||
<box align="horizontal" id="AdvancedEditButtonNoHR" style="margin-top: 0.2em">
|
||||
<!-- This will right-align the button -->
|
||||
<!-- spring flex="100%"/ -->
|
||||
<titledbutton class="push" id="AdvancedEdit" onclick="onAdvancedEdit()" value="&AdvancedEditButton.label;"/>
|
||||
</box>
|
||||
<html:div class="separator" align="horizontal"/>
|
||||
|
|
|
@ -150,7 +150,6 @@ function ValidateData()
|
|||
{
|
||||
// Height is always pixels
|
||||
height = ValidateNumberString(dialog.heightInput.value, 1, maxPixels);
|
||||
var isPercent = (dialog.pixelOrPercentSelect.selectedIndex == 1);
|
||||
if (height == "") {
|
||||
// Set focus to the offending control
|
||||
dump("Height is empty\n");
|
||||
|
@ -160,6 +159,7 @@ function ValidateData()
|
|||
dump("Setting height="+height+"\n");
|
||||
globalElement.setAttribute("size", height);
|
||||
|
||||
var isPercent = (dialog.pixelOrPercentSelect.selectedIndex == 1);
|
||||
var maxLimit;
|
||||
if (isPercent) {
|
||||
maxLimit = 100;
|
||||
|
|
|
@ -23,11 +23,11 @@
|
|||
* Ben Goodger
|
||||
*/
|
||||
|
||||
var insertNew = true;
|
||||
var insertNew = true;
|
||||
var SeeMore = true;
|
||||
var wasEnableAll = false;
|
||||
var oldSourceInt = 0;
|
||||
var imageElement;
|
||||
var SeeMore = true;
|
||||
var wasEnableAll = false;
|
||||
var oldSourceInt = 0;
|
||||
|
||||
// dialog initialization code
|
||||
|
||||
|
@ -39,59 +39,47 @@ function Startup()
|
|||
doSetOKCancel(onOK, null);
|
||||
|
||||
// Create dialog object to store controls for easy access
|
||||
dialog = new Object;
|
||||
|
||||
dialog = new Object;
|
||||
|
||||
// This is the "combined" widget:
|
||||
|
||||
dialog.srcInput = document.getElementById("image.srcInput");
|
||||
dialog.altTextInput = document.getElementById("image.altTextInput");
|
||||
|
||||
dialog.MoreFewerButton = document.getElementById("MoreFewerButton");
|
||||
dialog.MoreRow = document.getElementById("MoreRow");
|
||||
|
||||
dialog.customsizeRadio = document.getElementById( "customsizeRadio" );
|
||||
dialog.imagewidthInput = document.getElementById( "imagewidthInput" );
|
||||
dialog.imageheightInput = document.getElementById( "imageheightInput" );
|
||||
dialog.imagewidthSelect = document.getElementById( "widthunitSelect" );
|
||||
dialog.imageheightSelect = document.getElementById( "heightunitSelect" );
|
||||
|
||||
dialog.imagelrInput = document.getElementById( "imageleftrightInput" );
|
||||
dialog.imagetbInput = document.getElementById( "imagetopbottomInput" );
|
||||
dialog.imageborderInput = document.getElementById( "imageborderInput" );
|
||||
dialog.srcInput = document.getElementById( "srcInput" );
|
||||
dialog.altTextInput = document.getElementById( "altTextInput" );
|
||||
dialog.MoreFewerButton = document.getElementById( "MoreFewerButton" );
|
||||
dialog.MoreSection = document.getElementById( "MoreSection" );
|
||||
dialog.customsizeRadio = document.getElementById( "customsizeRadio" );
|
||||
dialog.constrainCheckbox = document.getElementById( "constrainCheckbox" );
|
||||
dialog.widthInput = document.getElementById( "widthInput" );
|
||||
dialog.heightInput = document.getElementById( "heightInput" );
|
||||
dialog.widthUnitsSelect = document.getElementById( "widthUnitsSelect" );
|
||||
dialog.heightUnitsSelect = document.getElementById( "heightUnitsSelect" );
|
||||
dialog.imagelrInput = document.getElementById( "imageleftrightInput" );
|
||||
dialog.imagetbInput = document.getElementById( "imagetopbottomInput" );
|
||||
dialog.border = document.getElementById( "border" );
|
||||
dialog.alignTypeSelect = document.getElementById( "alignTypeSelect" );
|
||||
|
||||
// Set SeeMore bool to the OPPOSITE of the current state,
|
||||
// which is automatically saved by using the 'persist="more"'
|
||||
// attribute on the MoreFewerButton button
|
||||
// onMoreFewer will toggle it and redraw the dialog
|
||||
// onMoreFewer will toggle the state and redraw the dialog
|
||||
SeeMore = (dialog.MoreFewerButton.getAttribute("more") != "1");
|
||||
onMoreFewer();
|
||||
|
||||
if (null == dialog.srcInput ||
|
||||
null == dialog.altTextInput )
|
||||
{
|
||||
dump("Not all dialog controls were found!!!\n");
|
||||
}
|
||||
|
||||
// Get a single selected image element
|
||||
|
||||
var tagName = "img"
|
||||
imageElement = editorShell.GetSelectedElement(tagName);
|
||||
var tagName = "img"
|
||||
imageElement = editorShell.GetSelectedElement(tagName);
|
||||
|
||||
if (imageElement)
|
||||
{
|
||||
// We found an element and don't need to insert one
|
||||
|
||||
insertNew = false;
|
||||
insertNew = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
insertNew = true;
|
||||
insertNew = true;
|
||||
|
||||
// We don't have an element selected,
|
||||
// so create one with default attributes
|
||||
|
||||
imageElement = editorShell.CreateElementWithDefaults(tagName);
|
||||
imageElement = editorShell.CreateElementWithDefaults(tagName);
|
||||
if( !imageElement )
|
||||
{
|
||||
dump("Failed to get selected element or create a new one!\n");
|
||||
|
@ -111,87 +99,66 @@ function Startup()
|
|||
// Set dialog widgets with attribute data
|
||||
// We get them from globalElement copy so this can be used
|
||||
// by AdvancedEdit(), which is shared by all property dialogs
|
||||
function InitDialog() {
|
||||
|
||||
function InitDialog()
|
||||
{
|
||||
// Set the controls to the image's attributes
|
||||
|
||||
str = globalElement.getAttribute("src");
|
||||
if ( str == "null" )
|
||||
{
|
||||
str = "";
|
||||
}
|
||||
|
||||
dialog.srcInput.value = str;
|
||||
str = globalElement.getAttribute("src");
|
||||
if (str)
|
||||
dialog.srcInput.value = str;
|
||||
|
||||
str = globalElement.getAttribute("alt");
|
||||
|
||||
if ( str == "null" )
|
||||
{
|
||||
str = "";
|
||||
}
|
||||
dialog.altTextInput.value = str;
|
||||
str = globalElement.getAttribute("alt");
|
||||
if (str)
|
||||
dialog.altTextInput.value = str;
|
||||
|
||||
// set height and width
|
||||
// note: need to set actual image size if no attributes
|
||||
|
||||
dimvalue = globalElement.getAttribute("width");
|
||||
|
||||
if ( dimvalue == "null" )
|
||||
{
|
||||
dimvalue = "";
|
||||
}
|
||||
dialog.imagewidthInput.value = dimvalue;
|
||||
// setup the height and width widgets
|
||||
dialog.widthInput.value = InitPixelOrPercentCombobox(globalElement, "width", "widthUnitsSelect");
|
||||
dialog.heightInput.value = InitPixelOrPercentCombobox(globalElement, "height", "heightUnitsSelect");
|
||||
|
||||
dimvalue = globalElement.getAttribute("height");
|
||||
if ( dimvalue == "null" )
|
||||
{
|
||||
dimvalue = "";
|
||||
}
|
||||
dialog.imageheightInput.value = dimvalue;
|
||||
// TODO: We need to get the actual image dimensions.
|
||||
// If different from attribute dimensions, then "custom" is checked.
|
||||
// For now, always check custom, so we don't trash existing values
|
||||
dialog.customsizeRadio.checked = true;
|
||||
|
||||
// Mods Brian King XML Workshop
|
||||
// Set H & W pop-up on start-up
|
||||
if (insertNew == false)
|
||||
{
|
||||
|
||||
var wdh = globalElement.getAttribute("width");
|
||||
var hgt = globalElement.getAttribute("height");
|
||||
ispercentw = wdh.substr(wdh.length-1, 1);
|
||||
ispercenth = hgt.substr(hgt.length-1, 1);
|
||||
|
||||
if (ispercentw == "%")
|
||||
setPopup("w");
|
||||
|
||||
if (ispercenth == "%")
|
||||
setPopup("h");
|
||||
|
||||
}
|
||||
// End Mods BK
|
||||
|
||||
// this is not the correct way to determine if custom or original
|
||||
|
||||
if ( dimvalue != "" )
|
||||
{
|
||||
dialog.customsizeRadio.checked = true;
|
||||
}
|
||||
|
||||
alignpopup = document.getElementById("image.alignType");
|
||||
dump(dialog.customsizeRadio.checked+" dialog.customsizeRadio.checked\n");
|
||||
|
||||
// set spacing editfields
|
||||
dialog.imagelrInput.value = globalElement.getAttribute("hspace");
|
||||
dialog.imagetbInput.value = globalElement.getAttribute("vspace");
|
||||
dialog.border.value = globalElement.getAttribute("border");
|
||||
|
||||
sizevalue = globalElement.getAttribute("hspace");
|
||||
dialog.imagelrInput.value = sizevalue;
|
||||
|
||||
sizevalue = globalElement.getAttribute("vspace");
|
||||
dialog.imagetbInput.value = sizevalue;
|
||||
|
||||
sizevalue = globalElement.getAttribute("border");
|
||||
dialog.imageborderInput.value = sizevalue;
|
||||
// Get alignment setting
|
||||
var align = globalElement.getAttribute("align");
|
||||
if (align) {
|
||||
align.toLowerCase();
|
||||
dump("Image Align exists = "+align+"\n");
|
||||
}
|
||||
|
||||
|
||||
dump("Image Align="+align+"\n");
|
||||
switch ( align )
|
||||
{
|
||||
case "top":
|
||||
dialog.alignTypeSelect.selectedIndex = 0;
|
||||
break;
|
||||
case "center":
|
||||
dialog.alignTypeSelect.selectedIndex = 1;
|
||||
break;
|
||||
case "left":
|
||||
dialog.alignTypeSelect.selectedIndex = 3;
|
||||
break;
|
||||
case "right":
|
||||
dialog.alignTypeSelect.selectedIndex = 4;
|
||||
break;
|
||||
default: // Default or "bottom"
|
||||
dialog.alignTypeSelect.selectedIndex = 2;
|
||||
break;
|
||||
}
|
||||
|
||||
dump( "Image Align Select Index after setting="+dialog.alignTypeSelect.selectedIndex+"\n");
|
||||
|
||||
imageTypeExtension = checkForImage();
|
||||
// we want to force an update so initialize "wasEnableAll" to be the opposite of what the actual state is
|
||||
imageTypeExtension = checkForImage();
|
||||
wasEnableAll = !imageTypeExtension;
|
||||
wasEnableAll = !imageTypeExtension;
|
||||
doOverallEnabling();
|
||||
}
|
||||
|
||||
|
@ -199,15 +166,16 @@ function chooseFile()
|
|||
{
|
||||
// Get a local file, converted into URL format
|
||||
|
||||
fileName = editorShell.GetLocalFileURL(window, "img");
|
||||
fileName = editorShell.GetLocalFileURL(window, "img");
|
||||
if (fileName && fileName != "") {
|
||||
dialog.srcInput.value = fileName;
|
||||
// imageTypeExtension = checkForImage();
|
||||
dialog.srcInput.value = fileName;
|
||||
// imageTypeExtension = checkForImage();
|
||||
doValueChanged();
|
||||
}
|
||||
|
||||
|
||||
checkForImage( "srcInput" );
|
||||
|
||||
// Put focus into the input field
|
||||
|
||||
dialog.srcInput.focus();
|
||||
}
|
||||
|
||||
|
@ -215,22 +183,20 @@ function onMoreFewer()
|
|||
{
|
||||
if (SeeMore)
|
||||
{
|
||||
SeeMore = false;
|
||||
dialog.MoreFewerButton.setAttribute("value",GetString("MoreAttributes"));
|
||||
// This has too many bugs to use now (10/22/99)
|
||||
dialog.MoreRow.style.visibility = "collapse";
|
||||
// dialog.MoreRow.setAttribute("style","display: none");
|
||||
dialog.MoreSection.setAttribute("style","display: none");
|
||||
window.sizeToContent();
|
||||
dialog.MoreFewerButton.setAttribute("more","0");
|
||||
dialog.MoreFewerButton.setAttribute("value",GetString("MoreProperties"));
|
||||
SeeMore = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
SeeMore = true;
|
||||
dialog.MoreFewerButton.setAttribute("value",GetString("FewerAttributes"));
|
||||
dialog.MoreRow.style.visibility = "inherit";
|
||||
// dialog.MoreRow.setAttribute("style","display: inherit");
|
||||
dialog.MoreSection.setAttribute("style","display: inherit");
|
||||
window.sizeToContent();
|
||||
dialog.MoreFewerButton.setAttribute("more","1");
|
||||
dialog.MoreFewerButton.setAttribute("value",GetString("FewerProperties"));
|
||||
SeeMore = true;
|
||||
}
|
||||
window.sizeToContent();
|
||||
}
|
||||
|
||||
function doValueChanged()
|
||||
|
@ -238,16 +204,6 @@ function doValueChanged()
|
|||
doOverallEnabling();
|
||||
}
|
||||
|
||||
function SelectWidthUnits()
|
||||
{
|
||||
list = document.getElementById("WidthUnits");
|
||||
value = list.options[list.selectedIndex].value;
|
||||
|
||||
dump("Selected item: "+value+"\n");
|
||||
|
||||
doValueChanged();
|
||||
}
|
||||
|
||||
function OnChangeSrc()
|
||||
{
|
||||
doValueChanged();
|
||||
|
@ -255,145 +211,98 @@ function OnChangeSrc()
|
|||
|
||||
function doDimensionEnabling( doEnable )
|
||||
{
|
||||
// Make associated text labels look disabled or not
|
||||
SetElementEnabledByID( "originalsizeLabel", doEnable );
|
||||
SetElementEnabledByID( "customsizeLabel", doEnable );
|
||||
SetElementEnabledByID( "dimensionsLabel", doEnable );
|
||||
|
||||
SetClassEnabledByID( "originalsizeLabel", doEnable );
|
||||
SetClassEnabledByID( "customsizeLabel", doEnable );
|
||||
SetElementEnabledByID( "originalsizeRadio", doEnable );
|
||||
SetElementEnabledByID( "customsizeRadio", doEnable );
|
||||
|
||||
SetClassEnabledByID( "dimensionsLegend", doEnable );
|
||||
// Rest are enabled only if "Custom" is checked
|
||||
var enable = (doEnable && dialog.customsizeRadio.checked);
|
||||
|
||||
customradio = document.getElementById( "customsizeRadio" );
|
||||
SetElementEnabledByID( "widthInput", enable );
|
||||
SetElementEnabledByID( "widthLabel", enable);
|
||||
SetElementEnabledByID( "widthUnitsSelect", enable );
|
||||
|
||||
SetElementEnabledByID( "heightInput", enable );
|
||||
SetElementEnabledByID( "heightLabel", enable );
|
||||
SetElementEnabledByID( "heightUnitsSelect", enable );
|
||||
|
||||
|
||||
if ( customradio && customradio.checked )
|
||||
{
|
||||
// disable or enable custom setting controls
|
||||
|
||||
SetElementEnabledByID( "imagewidthInput", doEnable && customradio.checked );
|
||||
|
||||
////////////////// this is currently the only way i can get it to work /////////////////
|
||||
|
||||
// SetElementEnabledByID( "widthunitSelect", doEnable && customradio.checked );
|
||||
|
||||
element = document.getElementById( "widthunitSelect" );
|
||||
element.setAttribute( "disabled", false );
|
||||
|
||||
SetElementEnabledByID( "imageheightInput", doEnable && customradio.checked );
|
||||
|
||||
element = document.getElementById( "heightunitSelect" );
|
||||
element.setAttribute( "disabled", false );
|
||||
|
||||
//SetElementEnabledByID( "heightunitSelect", doEnable && customradio.checked );
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
SetElementEnabledByID( "constrainCheckbox", doEnable && customradio.checked );
|
||||
|
||||
SetClassEnabledByID( "imagewidthLabel", doEnable && customradio.checked );
|
||||
SetClassEnabledByID( "imageheightLabel", doEnable && customradio.checked );
|
||||
SetClassEnabledByID( "constrainLabel", doEnable && customradio.checked );
|
||||
}
|
||||
|
||||
SetElementEnabledByID( "constrainCheckbox", enable );
|
||||
SetElementEnabledByID( "constrainLabel", enable );
|
||||
}
|
||||
|
||||
function doOverallEnabling()
|
||||
{
|
||||
|
||||
var imageTypeExtension = checkForImage();
|
||||
var canEnableAll = imageTypeExtension != 0;
|
||||
var imageTypeExtension = checkForImage();
|
||||
var canEnableAll = imageTypeExtension != 0;
|
||||
if ( wasEnableAll == canEnableAll )
|
||||
return;
|
||||
|
||||
wasEnableAll = canEnableAll;
|
||||
wasEnableAll = canEnableAll;
|
||||
|
||||
SetElementEnabledByID("ok", canEnableAll );
|
||||
SetElementEnabledByID( "altTextLabel", canEnableAll );
|
||||
|
||||
fieldset = document.getElementById("imagedimensionsFieldset");
|
||||
if ( fieldset )
|
||||
{
|
||||
SetElementEnabledByID("imagedimensionsFieldset", canEnableAll );
|
||||
doDimensionEnabling( canEnableAll );
|
||||
}
|
||||
// Do widgets for sizing
|
||||
doDimensionEnabling( canEnableAll );
|
||||
|
||||
// handle altText and MoreFewer button
|
||||
SetElementEnabledByID("alignLabel", canEnableAll );
|
||||
SetElementEnabledByID("alignTypeSelect", canEnableAll );
|
||||
|
||||
SetClassEnabledByID( "image.altTextLabel", canEnableAll );
|
||||
SetElementEnabledByID("image.altTextInput", canEnableAll );
|
||||
SetClassEnabledByID("MoreFewerButton", canEnableAll );
|
||||
SetElementEnabledByID("AdvancedEdit", canEnableAll );
|
||||
// spacing fieldset
|
||||
SetElementEnabledByID( "spacingLabel", canEnableAll );
|
||||
SetElementEnabledByID( "imageleftrightInput", canEnableAll );
|
||||
SetElementEnabledByID( "leftrightLabel", canEnableAll );
|
||||
SetElementEnabledByID( "leftrighttypeLabel", canEnableAll );
|
||||
|
||||
// alignment
|
||||
SetElementEnabledByID( "imagetopbottomInput", canEnableAll );
|
||||
SetElementEnabledByID( "topbottomLabel", canEnableAll );
|
||||
SetElementEnabledByID( "topbottomtypeLabel", canEnableAll );
|
||||
|
||||
SetClassEnabledByID( "imagealignmentLabel", canEnableAll );
|
||||
SetElementEnabledByID("image.alignType", canEnableAll );
|
||||
SetElementEnabledByID( "border", canEnableAll );
|
||||
SetElementEnabledByID( "borderLabel", canEnableAll );
|
||||
SetElementEnabledByID( "bordertypeLabel", canEnableAll );
|
||||
|
||||
/* this shouldn't be needed here; doDimensionEnabling should do this */
|
||||
customradio = document.getElementById( "customsizeRadio" );
|
||||
if(customradio.checked){
|
||||
SetElementEnabledByID("heightunitSelect", canEnableAll );
|
||||
SetElementEnabledByID("widthunitSelect", canEnableAll );
|
||||
}
|
||||
|
||||
// spacing fieldset
|
||||
|
||||
SetClassEnabledByID( "spacingLegend", canEnableAll );
|
||||
SetElementEnabledByID("spacing.fieldset", canEnableAll );
|
||||
SetElementEnabledByID("imageleftrightInput", canEnableAll );
|
||||
SetElementEnabledByID("imagetopbottomInput", canEnableAll );
|
||||
SetElementEnabledByID("imageborderInput", canEnableAll );
|
||||
|
||||
// do spacing labels
|
||||
|
||||
SetClassEnabledByID( "leftrightLabel", canEnableAll );
|
||||
SetClassEnabledByID( "leftrighttypeLabel", canEnableAll );
|
||||
SetClassEnabledByID( "topbottomLabel", canEnableAll );
|
||||
SetClassEnabledByID( "topbottomtypeLabel", canEnableAll );
|
||||
SetClassEnabledByID( "borderLabel", canEnableAll );
|
||||
SetClassEnabledByID( "bordertypeLabel", canEnableAll );
|
||||
}
|
||||
|
||||
function SetImageAlignment(align)
|
||||
{
|
||||
// do stuff
|
||||
|
||||
// contentWindow.focus();
|
||||
SetElementEnabledByID( "AdvancedEdit", canEnableAll );
|
||||
}
|
||||
|
||||
// an API to validate and image by sniffing out the extension
|
||||
/* assumes that the element id is "image.srcInput" */
|
||||
/* assumes that the element id is "srcInput" */
|
||||
/* returns lower-case extension or 0 */
|
||||
function checkForImage() {
|
||||
|
||||
image = document.getElementById( "image.srcInput" ).value;
|
||||
|
||||
function checkForImage()
|
||||
{
|
||||
image = dialog.srcInput.value.trimString();
|
||||
if ( !image )
|
||||
return 0;
|
||||
return 0;
|
||||
|
||||
/* look for an extension */
|
||||
var tailindex = image.lastIndexOf(".");
|
||||
var tailindex = image.lastIndexOf(".");
|
||||
if ( tailindex == 0 || tailindex == -1 ) /* -1 is not found */
|
||||
return 0;
|
||||
return 0;
|
||||
|
||||
/* move past period, get the substring from the first character after the '.' to the last character (length) */
|
||||
tailindex = tailindex + 1;
|
||||
var type = image.substring(tailindex,image.length);
|
||||
var type = image.substring(tailindex,image.length);
|
||||
|
||||
/* convert extension to lower case */
|
||||
if (type)
|
||||
type = type.toLowerCase();
|
||||
|
||||
|
||||
// TODO: Will we convert .BMPs to a web format?
|
||||
switch( type ) {
|
||||
|
||||
case "gif":
|
||||
case "jpg":
|
||||
case "jpeg":
|
||||
case "png":
|
||||
return type;
|
||||
break;
|
||||
|
||||
default : return 0;
|
||||
|
||||
}
|
||||
|
||||
return type;
|
||||
break;
|
||||
default :
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
@ -402,7 +311,7 @@ function checkForImage() {
|
|||
|
||||
function constrainProportions( srcID, destID )
|
||||
{
|
||||
srcElement = document.getElementById ( srcID );
|
||||
srcElement = document.getElementById ( srcID );
|
||||
if ( !srcElement )
|
||||
return;
|
||||
|
||||
|
@ -410,13 +319,11 @@ function constrainProportions( srcID, destID )
|
|||
|
||||
// now find out if we should be constraining or not
|
||||
|
||||
checkbox = document.getElementById( "constrainCheckbox" );
|
||||
if ( !checkbox)
|
||||
return;
|
||||
if ( !checkbox.checked )
|
||||
var constrainChecked = (dialog.constrainCheckbox.checked);
|
||||
if ( !constrainChecked )
|
||||
return;
|
||||
|
||||
destElement = document.getElementById( destID );
|
||||
destElement = document.getElementById( destID );
|
||||
if ( !destElement )
|
||||
return;
|
||||
|
||||
|
@ -425,18 +332,18 @@ function constrainProportions( srcID, destID )
|
|||
// newDest = (newSrc * oldDest / oldSrc)
|
||||
|
||||
if ( oldSourceInt == 0 )
|
||||
destElement.value = srcElement.value;
|
||||
destElement.value = srcElement.value;
|
||||
else
|
||||
destElement.value = Math.round( srcElement.value * destElement.value / oldSourceInt );
|
||||
destElement.value = Math.round( srcElement.value * destElement.value / oldSourceInt );
|
||||
|
||||
oldSourceInt = srcElement.value;
|
||||
oldSourceInt = srcElement.value;
|
||||
}
|
||||
|
||||
// Get data from widgets, validate, and set for the global element
|
||||
// accessible to AdvancedEdit() [in EdDialogCommon.js]
|
||||
function ValidateData()
|
||||
{
|
||||
var imageTypeExtension = checkForImage();
|
||||
var imageTypeExtension = checkForImage();
|
||||
if ( !imageTypeExtension ) {
|
||||
ShowInputErrorMessage(GetString("MissingImageError"));
|
||||
return false;
|
||||
|
@ -444,63 +351,104 @@ function ValidateData()
|
|||
|
||||
//TODO: WE NEED TO DO SOME URL VALIDATION HERE, E.G.:
|
||||
// We must convert to "file:///" or "http://" format else image doesn't load!
|
||||
globalElement.setAttribute("src",dialog.srcInput.value);
|
||||
var src = dialog.srcInput.value.trimString();
|
||||
globalElement.setAttribute("src", src);
|
||||
|
||||
// TODO: Should we confirm with user if no alt tag? Or just set to empty string?
|
||||
globalElement.setAttribute("alt", dialog.altTextInput.value);
|
||||
var alt = dialog.altTextInput.value.trimString();
|
||||
globalElement.setAttribute("alt", alt);
|
||||
|
||||
// set width if custom size and width is greater than 0
|
||||
// Note: This accepts and empty string as meaning "don't set
|
||||
// BUT IT ALSO ACCEPTS 0. Should use ValidateNumberString() to tell user proper range
|
||||
if ( dialog.customsizeRadio.checked
|
||||
&& ( dialog.imagewidthInput.value.length > 0 )
|
||||
&& ( dialog.imageheightInput.value.length > 0 ) )
|
||||
var isPercentWidth = (dialog.widthUnitsSelect.selectedIndex == 1);
|
||||
var maxLimitWidth = isPercentWidth ? 100 : maxPixels; // Defined in EdDialogCommon.js
|
||||
var isPercentHeight = (dialog.heightUnitsSelect.selectedIndex == 1);
|
||||
var maxLimitHeight = isPercentHeight ? 100 : maxPixels; // Defined in EdDialogCommon.js
|
||||
|
||||
//TODO: WE SHOULD ALWAYS SET WIDTH AND HEIGHT FOR FASTER IMAGE LAYOUT
|
||||
// IF USER DOESN'T SET IT, WE NEED TO GET VALUE FROM ORIGINAL IMAGE
|
||||
var width = "";
|
||||
var height = "";
|
||||
if ( dialog.customsizeRadio.checked )
|
||||
{
|
||||
setDimensions(); // width and height
|
||||
}
|
||||
else
|
||||
{
|
||||
//TODO: WE SHOULD ALWAYS SET WIDTH AND HEIGHT FOR FASTER IMAGE LAYOUT
|
||||
// IF USER DOESN'T SET IT, WE NEED TO GET VALUE FROM ORIGINAL IMAGE
|
||||
globalElement.removeAttribute( "width" );
|
||||
globalElement.removeAttribute( "height" );
|
||||
width = ValidateNumberString(dialog.widthInput.value, 1, maxLimitWidth);
|
||||
if (width == "") {
|
||||
dump("Image Width is empty\n");
|
||||
dialog.widthInput.focus();
|
||||
return false;
|
||||
}
|
||||
if (isPercentWidth)
|
||||
width = width + "%";
|
||||
|
||||
height = ValidateNumberString(dialog.heightInput.value, 1, maxLimitHeight);
|
||||
if (height == "") {
|
||||
dump("Image Height is empty\n");
|
||||
dialog.heightInput.focus();
|
||||
return false;
|
||||
}
|
||||
if (isPercentHeight)
|
||||
height = height + "%";
|
||||
}
|
||||
|
||||
dump("Image width,heigth: "+width+","+height+"\n");
|
||||
if (width.length > 0)
|
||||
globalElement.setAttribute("width", width);
|
||||
if (height.length > 0)
|
||||
globalElement.setAttribute("width", width);
|
||||
|
||||
// spacing attributes
|
||||
// All of these should use ValidateNumberString() to
|
||||
// ensure value is within acceptable range
|
||||
if ( dialog.imagelrInput.value.length > 0 )
|
||||
globalElement.setAttribute( "hspace", dialog.imagelrInput.value );
|
||||
{
|
||||
var hspace = ValidateNumberString(dialog.imagelrInput.value, 0, maxPixels);
|
||||
if (hspace == "")
|
||||
return false;
|
||||
globalElement.setAttribute( "hspace", hspace );
|
||||
}
|
||||
else
|
||||
globalElement.removeAttribute( "hspace" );
|
||||
|
||||
if ( dialog.imagetbInput.value.length > 0 )
|
||||
globalElement.setAttribute( "vspace", dialog.imagetbInput.value );
|
||||
{
|
||||
var vspace = ValidateNumberString(dialog.imagetbInput.value, 0, maxPixels);
|
||||
if (vspace == "")
|
||||
return false;
|
||||
globalElement.setAttribute( "vspace", vspace );
|
||||
}
|
||||
else
|
||||
globalElement.removeAttribute( "vspace" );
|
||||
|
||||
// note this is deprecated and should be converted to stylesheets
|
||||
|
||||
if ( dialog.imageborderInput.value.length > 0 )
|
||||
globalElement.setAttribute( "border", dialog.imageborderInput.value );
|
||||
if ( dialog.border.value.length > 0 )
|
||||
{
|
||||
var border = ValidateNumberString(dialog.border.value, 0, maxPixels);
|
||||
if (border == "")
|
||||
return false;
|
||||
globalElement.setAttribute( "border", border );
|
||||
}
|
||||
else
|
||||
globalElement.removeAttribute( "border" );
|
||||
|
||||
// This currently triggers a "Not implemented" assertion, preventing inserting an image
|
||||
// TODO: FIX THIS!
|
||||
/*
|
||||
alignpopup = document.getElementById("image.alignType");
|
||||
if ( alignpopup )
|
||||
// Default or setting "bottom" means don't set the attribute
|
||||
var align = "";
|
||||
switch ( dialog.alignTypeSelect.selectedIndex )
|
||||
{
|
||||
var alignurl;
|
||||
alignpopup.getAttribute( "src", alignurl );
|
||||
dump( "popup value = " + alignurl + "\n" );
|
||||
if ( alignurl == "&bottomIcon.url;" )
|
||||
globalElement.removeAttribute("align");
|
||||
// else
|
||||
// globalElement.setAttribute("align", alignurl );
|
||||
case 0:
|
||||
align = "top";
|
||||
break;
|
||||
case 1:
|
||||
align = "center";
|
||||
break;
|
||||
case 3:
|
||||
break;
|
||||
case 4:
|
||||
break;
|
||||
}
|
||||
*/
|
||||
if (align == "")
|
||||
globalElement.removeAttribute( "align" );
|
||||
else
|
||||
globalElement.setAttribute( "align", align );
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -526,77 +474,3 @@ function onOK()
|
|||
return false;
|
||||
}
|
||||
|
||||
|
||||
// setDimensions()
|
||||
// sets height and width attributes to inserted image
|
||||
// Brian King - XML Workshop
|
||||
function setDimensions()
|
||||
{
|
||||
|
||||
var wtype = dialog.imagewidthSelect.getAttribute("value");
|
||||
var htype = dialog.imageheightSelect.getAttribute("value");
|
||||
|
||||
// width
|
||||
// TODO: NO! this is not the way to do it! Depends on english strings
|
||||
// Instead, store which index is selected when popup "pixel" or "percent of..." is used
|
||||
if (wtype.substr(0,4) == "% of")
|
||||
{
|
||||
//var Iwidth = eval("dialog.imagewidthInput.value + '%';");
|
||||
globalElement.setAttribute("width", dialog.imagewidthInput.value + "%");
|
||||
}
|
||||
else
|
||||
globalElement.setAttribute("width", dialog.imagewidthInput.value);
|
||||
|
||||
//height
|
||||
if (htype.substr(0,4) == "% of")
|
||||
{
|
||||
//var Iheight = eval("dialog.imageheightInput.value + '%';");
|
||||
globalElement.setAttribute("height", dialog.imageheightInput.value + "%");
|
||||
}
|
||||
else
|
||||
globalElement.setAttribute("height", dialog.imageheightInput.value);
|
||||
|
||||
}
|
||||
|
||||
// setPopup()
|
||||
// sets height and width popups on during initialisation
|
||||
// Brian King - XML Workshop
|
||||
|
||||
function setPopup(dim)
|
||||
{
|
||||
|
||||
select = getContainer();
|
||||
if (select.nodeName == "TD")
|
||||
{
|
||||
if (dim == "w")
|
||||
dialog.imagewidthSelect.setAttribute("value",GetString("PercentOfCell"));
|
||||
else
|
||||
dialog.imageheightSelect.setAttribute("value",GetString("PercentOfCell"));
|
||||
|
||||
} else
|
||||
{
|
||||
if (dim == "w")
|
||||
dialog.imagewidthSelect.setAttribute("value",GetString("PercentOfWindow"));
|
||||
else
|
||||
dialog.imageheightSelect.setAttribute("value",GetString("PercentOfWindow"));
|
||||
}
|
||||
}
|
||||
|
||||
// This function moves the selected item into view
|
||||
|
||||
function popupSelectedImage( item, elementID, node ){
|
||||
|
||||
selectedItem = document.getElementById(elementID);
|
||||
selectedItem.setAttribute(node, item);
|
||||
|
||||
|
||||
}
|
||||
|
||||
function SetPixelOrPercentByID(fu, bar){
|
||||
|
||||
dump("comming soon . . . SetPixelOrPercentByID\n\n");
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -36,620 +36,369 @@
|
|||
xmlns:xul ="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
|
||||
xmlns="http://www.w3.org/TR/REC-html40"
|
||||
onload = "Startup()"
|
||||
align="vertical"
|
||||
style="width: auto; height: auto;">
|
||||
|
||||
|
||||
<!-- Methods common to all editor dialogs -->
|
||||
<script language="JavaScript" src="chrome://editor/content/EdDialogCommon.js">
|
||||
</script>
|
||||
<script language="JavaScript" src="chrome://editor/content/EdImageProps.js">
|
||||
</script>
|
||||
<script language="JavaScript" src="chrome://global/content/dialogOverlay.js" />
|
||||
align="vertical">
|
||||
|
||||
<script language="JavaScript" src="chrome://editor/content/EdDialogCommon.js"/>
|
||||
<script language="JavaScript" src="chrome://editor/content/EdImageProps.js"/>
|
||||
<script language="JavaScript" src="chrome://global/content/dialogOverlay.js"/>
|
||||
|
||||
<xul:broadcaster id="args" value=""/>
|
||||
<xul:keyset id="keyset"/>
|
||||
|
||||
<!-- /////////////////////// Parent table //////////////////////////////// -->
|
||||
<fieldset>
|
||||
<legend
|
||||
class = "dialog"
|
||||
align = "left">
|
||||
&locationFieldset.label;
|
||||
</legend>
|
||||
<table>
|
||||
|
||||
<!--/////// Src URL and ALT Text //////-->
|
||||
<tr>
|
||||
<td align="right">
|
||||
<label
|
||||
class = "dialog"
|
||||
for = "srcInput">
|
||||
&locationEditField.label;
|
||||
</label>
|
||||
</td>
|
||||
<td>
|
||||
<input
|
||||
type = "text"
|
||||
id = "srcInput"
|
||||
size = "30"
|
||||
onkeypress = "OnChangeSrc()"
|
||||
onkeyup = "checkForImage( this.id ); doValueChanged()"
|
||||
onmouseup = "checkForImage( this.id ); doValueChanged()"
|
||||
onchange = "OnChangeSrc(); doOverallEnabling()" />
|
||||
</td>
|
||||
<td>
|
||||
<xul:titledbutton
|
||||
class = "push dialog"
|
||||
id = "ChooseFile"
|
||||
onclick = "chooseFile()"
|
||||
value = "&chooseButton.label;"/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<label
|
||||
class = "dialog"
|
||||
id = "altTextLabel"
|
||||
for = "altTextInput">
|
||||
&altTextEditField.label;
|
||||
</label>
|
||||
</td>
|
||||
<td>
|
||||
<input
|
||||
type ="text"
|
||||
id ="altTextInput"
|
||||
size ="30"
|
||||
onchange = "doValueChanged()"/>
|
||||
</td>
|
||||
<td/>
|
||||
</tr>
|
||||
</table>
|
||||
</fieldset>
|
||||
|
||||
<div>
|
||||
<xul:titledbutton
|
||||
class = "push dialog"
|
||||
id = "MoreFewerButton"
|
||||
align = "left"
|
||||
onclick = "onMoreFewer()"
|
||||
style = "width: 10em"
|
||||
persist = "more"/>
|
||||
</div>
|
||||
<!--
|
||||
<xul:box align="horizontal">
|
||||
<xul:titledbutton
|
||||
class = "push dialog"
|
||||
id = "MoreFewerButton"
|
||||
align = "left"
|
||||
onclick = "onMoreFewer()"
|
||||
persist = "more"/>
|
||||
<xul:spring flex="100%"/>
|
||||
</xul:box>
|
||||
-->
|
||||
<!-- Area that shows and hides via MoreFewerButton -->
|
||||
<!-- xul:box id="MoreSection" align="horizontal" -->
|
||||
<!-- div id="MoreSection" align="vertical" flex="100%" -->
|
||||
<table id="MoreSection" style="width: 100% height: 100%">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td rowspan="2" valign="bottom">
|
||||
<!-- //////// Image Dimensions //////// -->
|
||||
<fieldset>
|
||||
<legend
|
||||
class="dialog"
|
||||
id="dimensionsLabel">
|
||||
&dimensionsFieldset.label;
|
||||
</legend>
|
||||
<!-- THIS NEEDS TO BE onchange RATHER THAN onclick -->
|
||||
<input
|
||||
type = "radio"
|
||||
name = "dimensionType"
|
||||
id = "originalsizeRadio"
|
||||
onclick = "doDimensionEnabling( false );"/>
|
||||
<!-- onclick was: "doValueChanged();" -->
|
||||
<label
|
||||
class = "dialog"
|
||||
id = "originalsizeLabel"
|
||||
for = "originalsizeRadio">
|
||||
&originalSizeRadio.label;
|
||||
</label>
|
||||
<br/>
|
||||
<!-- THIS NEEDS TO BE onchange RATHER THAN onclick -->
|
||||
<input
|
||||
type ="radio"
|
||||
name = "dimensionType"
|
||||
id = "customsizeRadio"
|
||||
onclick = "doDimensionEnabling( true );" />
|
||||
<label
|
||||
class = "dialog"
|
||||
id = "customsizeLabel"
|
||||
for = "customsizeRadio">
|
||||
&customSizeRadio.label;
|
||||
</label>
|
||||
|
||||
<table>
|
||||
<!--////// IMAGE WIDTH //////-->
|
||||
<tr>
|
||||
<td>
|
||||
<label
|
||||
class = "dialog"
|
||||
id = "widthLabel"
|
||||
for = "widthInput">
|
||||
&widthEditField.label;
|
||||
</label>
|
||||
</td>
|
||||
<td>
|
||||
<input
|
||||
type = "text"
|
||||
id = "widthInput"
|
||||
size = "4"
|
||||
length = "4"
|
||||
onfocus = "oldSourceInt = this.value;"
|
||||
onkeyup = "constrainProportions(this.id, 'heightInput')"
|
||||
onchange = "doValueChanged()" />
|
||||
</td>
|
||||
<td>
|
||||
<select
|
||||
id = "widthUnitsSelect"
|
||||
size = "1"
|
||||
onclick = "doValueChanged()"/>
|
||||
<!-- option elements are appended by JS -->
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<!--////// IMAGE HEIGHT //////-->
|
||||
<tr>
|
||||
<td>
|
||||
<label
|
||||
class = "dialog"
|
||||
id = "heightLabel"
|
||||
for = "heightInput">
|
||||
&heightEditField.label;
|
||||
</label>
|
||||
</td>
|
||||
<td>
|
||||
<input
|
||||
type = "text"
|
||||
size = "4"
|
||||
length = "4"
|
||||
id = "heightInput"
|
||||
onfocus = "oldSourceInt = this.value;"
|
||||
onkeyup = "constrainProportions(this.id, 'widthInput')"
|
||||
onchange = "doValueChanged()" />
|
||||
</td>
|
||||
<td>
|
||||
<select
|
||||
id = "heightUnitsSelect"
|
||||
size = "1"
|
||||
onclick = "doValueChanged()"/>
|
||||
<!-- option elements are appended by JS -->
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<!--////// CONSTRAIN DIMENSIONS //////-->
|
||||
<input type="checkbox" id="constrainCheckbox"/>
|
||||
<label
|
||||
class = "dialog"
|
||||
id = "constrainLabel"
|
||||
for = "constrainCheckbox">
|
||||
&constrainCheckbox.label;
|
||||
</label>
|
||||
</fieldset>
|
||||
</td>
|
||||
<!-- End of Bottom Left Region -->
|
||||
<!-- Bottom Right Region -->
|
||||
<td>
|
||||
<!--//////// Alignment ////////-->
|
||||
<label
|
||||
class = "dialog"
|
||||
id = "alignLabel"
|
||||
for = "alignTypeSelect">
|
||||
&alignment.label;
|
||||
</label>
|
||||
<br/>
|
||||
<!-- BUG: Select contents can be nothing but text! -->
|
||||
<select
|
||||
id = "alignTypeSelect"
|
||||
size = "1">
|
||||
<option>
|
||||
&topPopup.value;
|
||||
</option>
|
||||
<option>
|
||||
¢erPopup.value;
|
||||
</option>
|
||||
<option>
|
||||
&bottomPopup.value;
|
||||
</option>
|
||||
<option>
|
||||
&wrapLeftPopup.value;
|
||||
</option>
|
||||
<option>
|
||||
&wrapRightPopup.value;
|
||||
</option>
|
||||
<!--
|
||||
<table>
|
||||
Use this when option content bug is fixed:
|
||||
<option>
|
||||
<titledbutton id="img-align-top" value="&topPopup.value;" align="left"/>
|
||||
</option>
|
||||
<option>
|
||||
<titledbutton id="img-align-center" value="¢erPopup.value;" align="left"/>
|
||||
</option>
|
||||
<option>
|
||||
<titledbutton id="img-align-bottom" value="&bottomPopup.value;" align="left"/>
|
||||
</option>
|
||||
<option>
|
||||
<titledbutton id="img-align-left" value="&wrapLeftPopup.value;" align="left"/>
|
||||
</option>
|
||||
<option>
|
||||
<titledbutton id="img-align-right" value="&wrapRightPopup.value;" align="left"/>
|
||||
</option>
|
||||
-->
|
||||
</select>
|
||||
<!--
|
||||
<xul:titledbutton
|
||||
id = "alignTypeSelect"
|
||||
src = "resource:/chrome/editor/skin/default/images/img-align-bottom.gif"
|
||||
class = "push dialog popup"
|
||||
popup = "ImageTextAlignment"
|
||||
popupanchor = "bottomleft"
|
||||
align = "left"
|
||||
onchange = "doValueChanged()" />
|
||||
-->
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
-->
|
||||
|
||||
<!-- /////////////////////// Choose File Alt text table /////////////////// -->
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<fieldset id="imageInfo.fieldset" ><legend align="left"> &locationFieldset.label; </legend>
|
||||
<table>
|
||||
<tr>
|
||||
<td align="right" valign="middle">
|
||||
|
||||
<label
|
||||
class = "enabled"
|
||||
for = "image.srcInput">
|
||||
|
||||
&locationEditField.label;
|
||||
</label>
|
||||
|
||||
</td>
|
||||
<td valign="middle">
|
||||
|
||||
<input
|
||||
type = "text"
|
||||
size = "30"
|
||||
length = "30"
|
||||
id = "image.srcInput"
|
||||
onkeypress = "OnChangeSrc()"
|
||||
onkeyup = "checkForImage( this.id ); doValueChanged()"
|
||||
onmouseup = "checkForImage( this.id ); doValueChanged()"
|
||||
onblur = "/*checkForImage( this.id ); doValueChanged()*/"
|
||||
onfocus = "checkForImage( this.id ); doValueChanged()"
|
||||
onchange = "OnChangeSrc(); doOverallEnabling()" />
|
||||
|
||||
<!-- onmouseup checks for a paste
|
||||
onkeyup checks for typing
|
||||
onblur is for good luck
|
||||
-->
|
||||
|
||||
|
||||
</td>
|
||||
<td>
|
||||
|
||||
<button
|
||||
id = "ChooseFile"
|
||||
onclick = "chooseFile(); checkForImage( 'image.srcInput' );">
|
||||
|
||||
&chooseButton.label;
|
||||
</button>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td align="right" valign="middle">
|
||||
|
||||
<label
|
||||
class = "enabled"
|
||||
for = "image.altTextInput"
|
||||
id = "image.altTextLabel">
|
||||
|
||||
&altTextEditField.label;
|
||||
</label>
|
||||
|
||||
</td>
|
||||
<td>
|
||||
|
||||
<input
|
||||
type ="text"
|
||||
size = "30"
|
||||
id = "image.altTextInput"
|
||||
onchange = "doValueChanged()"/>
|
||||
|
||||
</td>
|
||||
<td/>
|
||||
</tr>
|
||||
</table>
|
||||
</fieldset>
|
||||
</td>
|
||||
<td/>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<xul:titledbutton class="push" id="MoreFewerButton" align="left" style="width: 10em" onclick="onMoreFewer()" persist="more"/>
|
||||
</td>
|
||||
<td/>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<!-- ////////////////////// "More" controls table ///////////////////////////////// -->
|
||||
|
||||
<div id="MoreRow" style="visibility: inherit; display: block;">
|
||||
<xul:box align="vertical">
|
||||
<table>
|
||||
<tr>
|
||||
<td>
|
||||
<fieldset
|
||||
id = "imagedimensionsFieldset" >
|
||||
|
||||
<legend
|
||||
id = "dimensionsLegend"
|
||||
class = "disabled"
|
||||
align = "left">
|
||||
|
||||
&dimensionsFieldset.label;
|
||||
</legend>
|
||||
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tr>
|
||||
<td>
|
||||
|
||||
<!-- THIS NEEDS TO BE onchange RATHER THAN onclick -->
|
||||
|
||||
<input
|
||||
type = "radio"
|
||||
name = "image.dimensionType"
|
||||
id = "originalsizeRadio"
|
||||
onclick = " doValueChanged();"
|
||||
checked = "true" />
|
||||
|
||||
</td>
|
||||
<td colspan="3">
|
||||
|
||||
<label
|
||||
class = "disabled"
|
||||
for = "originalsizeRadio"
|
||||
id = "originalsizeLabel" >
|
||||
|
||||
&originalSizeRadio.label;
|
||||
</label>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
|
||||
<!-- THIS NEEDS TO BE onchange RATHER THAN onclick -->
|
||||
|
||||
<input type="radio"
|
||||
name = "image.dimensionType"
|
||||
id = "customsizeRadio"
|
||||
onclick = "doDimensionEnabling( true );" />
|
||||
|
||||
</td>
|
||||
<td colspan="3">
|
||||
|
||||
<label
|
||||
class = "disabled"
|
||||
for = "customsizeRadio"
|
||||
id = "customsizeLabel" >
|
||||
|
||||
&customSizeRadio.label;
|
||||
</label>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<!-- IMAGE WIDTH -->
|
||||
|
||||
<tr valign="middle">
|
||||
<td/>
|
||||
<td>
|
||||
|
||||
<label
|
||||
class = "disabled"
|
||||
for = "imagewidthInput"
|
||||
id = "imagewidthLabel">
|
||||
|
||||
&widthEditField.label;
|
||||
</label>
|
||||
|
||||
</td>
|
||||
<td>
|
||||
|
||||
|
||||
<input
|
||||
type = "text"
|
||||
size = "4"
|
||||
length = "4"
|
||||
id = "imagewidthInput"
|
||||
disabled = "true"
|
||||
onfocus = "oldSourceInt = this.value;"
|
||||
onkeyup = "constrainProportions(this.id, 'imageheightInput')"
|
||||
onchange = "doValueChanged()" />
|
||||
|
||||
</td>
|
||||
<td>
|
||||
|
||||
<xul:titledbutton
|
||||
class = "push popup"
|
||||
id = "widthunitSelect"
|
||||
style = "width: 50px;"
|
||||
disabled = "true"
|
||||
value = "&pixelsPopup.value;"
|
||||
align = "left"
|
||||
popup = "PixelOrPercentMenu1"
|
||||
popupanchor = "bottomleft"
|
||||
onchange = "doValueChanged()" />
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<!-- IMAGE HEIGHT -->
|
||||
|
||||
<tr valign="middle">
|
||||
<td/>
|
||||
<td>
|
||||
|
||||
<label
|
||||
class = "disabled"
|
||||
for = "imageheightInput"
|
||||
id = "imageheightLabel">
|
||||
|
||||
&heightEditField.label;
|
||||
</label>
|
||||
|
||||
</td>
|
||||
<td>
|
||||
|
||||
<input
|
||||
type = "text"
|
||||
size = "4"
|
||||
length = "4"
|
||||
id = "imageheightInput"
|
||||
disabled = "true"
|
||||
onfocus = "oldSourceInt = this.value;"
|
||||
onkeyup = "constrainProportions(this.id, 'imagewidthInput')"
|
||||
onchange = "doValueChanged()" />
|
||||
|
||||
</td>
|
||||
<td>
|
||||
|
||||
<xul:titledbutton
|
||||
class = "push popup"
|
||||
id = "heightunitSelect"
|
||||
style = "width: 50px;"
|
||||
disabled = "true"
|
||||
value = "&pixelsPopup.value;"
|
||||
align = "left"
|
||||
popup = "PixelOrPercentMenu2"
|
||||
popupanchor = "bottomleft"
|
||||
onchange = "doValueChanged()" />
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
|
||||
<!-- CONSTRAIN DIMENSIONS -->
|
||||
|
||||
<tr valign="middle">
|
||||
<td/>
|
||||
<td/>
|
||||
<td colspan="2">
|
||||
|
||||
<input
|
||||
type = "checkbox"
|
||||
id = "constrainCheckbox" />
|
||||
|
||||
<label
|
||||
class = "disabled"
|
||||
id = "constrainLabel"
|
||||
for = "constrainCheckbox">
|
||||
|
||||
&constrainCheckbox.label;
|
||||
</label>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</fieldset>
|
||||
</td>
|
||||
<td align="right">
|
||||
|
||||
<!-- IMAGE ALIGNMENT -->
|
||||
|
||||
<label
|
||||
class = "selectbox"
|
||||
for = "image.alignType"
|
||||
id = "imagealignmentLabel">
|
||||
|
||||
&alignment.label;
|
||||
</label>
|
||||
|
||||
<xul:titledbutton
|
||||
id = "image.alignType"
|
||||
src = "resource:/chrome/editor/skin/default/images/img-align-bottom.gif"
|
||||
class = "push popup"
|
||||
popup = "ImageTextAlignment"
|
||||
popupanchor = "bottomleft"
|
||||
align = "left"
|
||||
onchange = "doValueChanged()" />
|
||||
|
||||
<fieldset
|
||||
id = "spacing.fieldset">
|
||||
|
||||
<legend
|
||||
id = "spacingLegend"
|
||||
class = "disabled"
|
||||
align = "left">
|
||||
|
||||
&spacingFieldset.label;
|
||||
</legend>
|
||||
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tr valign="middle">
|
||||
<td align="right">
|
||||
|
||||
<label
|
||||
class = "disabled"
|
||||
for = "imageleftrightInput"
|
||||
id = "leftrightLabel">
|
||||
|
||||
&leftRightEditField.label;
|
||||
</label>
|
||||
|
||||
</td>
|
||||
<td>
|
||||
<input
|
||||
type = "text"
|
||||
size = "4"
|
||||
length = "4"
|
||||
maxlength = "4"
|
||||
id = "imageleftrightInput"
|
||||
onkeyup = "forceInteger(this.id)"
|
||||
onchange = "doValueChanged()"/>
|
||||
|
||||
</td>
|
||||
<td valign="middle">
|
||||
|
||||
<label
|
||||
class = "disabled"
|
||||
for = "imageleftrightInput"
|
||||
id = "leftrighttypeLabel">
|
||||
|
||||
&pixelsPopup.value;
|
||||
</label>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr valign="middle">
|
||||
<td align="right">
|
||||
|
||||
<label
|
||||
class = "disabled"
|
||||
for = "imagetopbottomInput"
|
||||
id = "topbottomLabel">
|
||||
|
||||
&topBottomEditField.label;
|
||||
</label>
|
||||
|
||||
</td>
|
||||
<td>
|
||||
|
||||
<input
|
||||
type = "text"
|
||||
size = "4"
|
||||
length = "4"
|
||||
maxlength = "4"
|
||||
id = "imagetopbottomInput"
|
||||
onkeyup = "forceInteger(this.id)"
|
||||
onchange = "doValueChanged()"/>
|
||||
|
||||
</td>
|
||||
<td valign="middle">
|
||||
|
||||
<label
|
||||
class = "disabled"
|
||||
for = "imagetopbottomInput"
|
||||
id = "topbottomtypeLabel">
|
||||
|
||||
&pixelsPopup.value;
|
||||
</label>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr valign="middle">
|
||||
<td align="right">
|
||||
|
||||
<label
|
||||
class = "disabled"
|
||||
for = "imageborderInput"
|
||||
id = "borderLabel">
|
||||
|
||||
&borderEditField.label;
|
||||
</label>
|
||||
|
||||
</td>
|
||||
<td>
|
||||
|
||||
<input
|
||||
type ="text"
|
||||
size = "4"
|
||||
length = "4"
|
||||
maxlength = "4"
|
||||
id = "imageborderInput"
|
||||
onkeyup = "forceInteger(this.id)"
|
||||
onchange = "doValueChanged()" />
|
||||
|
||||
</td>
|
||||
<td valign="middle">
|
||||
|
||||
<label
|
||||
class = "disabled"
|
||||
for = "imageborderInput"
|
||||
id = "bordertypeLabel">
|
||||
|
||||
&pixelsPopup.value;
|
||||
</label>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</fieldset>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</xul:box>
|
||||
</div> <!-- END of block that is hidden by More/Less button -->
|
||||
|
||||
<!-- from EdDialogOverlay -->
|
||||
<xul:box id="AdvancedEditButtonNoHR"/>
|
||||
|
||||
<!-- ///////////////////// End Parent Table //////////////////////////////////// -->
|
||||
<!--
|
||||
</td>
|
||||
<!--//////// Borders and Spacing ////////-->
|
||||
<fieldset>
|
||||
<legend
|
||||
class = "dialog"
|
||||
id = "spacingLabel"
|
||||
align = "left">
|
||||
&spacingFieldset.label;
|
||||
</legend>
|
||||
<table>
|
||||
<tr>
|
||||
<td align="right">
|
||||
<label
|
||||
class = "dialog"
|
||||
id = "leftrightLabel"
|
||||
for = "imageleftrightInput">
|
||||
&leftRightEditField.label;
|
||||
</label>
|
||||
</td>
|
||||
<td>
|
||||
<input
|
||||
type = "text"
|
||||
id = "imageleftrightInput"
|
||||
size = "4"
|
||||
length = "4"
|
||||
maxlength = "4"
|
||||
onkeyup = "forceInteger(this.id)"
|
||||
onchange = "doValueChanged()"/>
|
||||
</td>
|
||||
<td>
|
||||
<label
|
||||
class = "dialog"
|
||||
id = "leftrighttypeLabel"
|
||||
for = "imageleftrightInput">
|
||||
&pixelsPopup.value;
|
||||
</label>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right">
|
||||
<label
|
||||
class = "dialog"
|
||||
id = "topbottomLabel"
|
||||
for = "imagetopbottomInput">
|
||||
&topBottomEditField.label;
|
||||
</label>
|
||||
</td>
|
||||
<td>
|
||||
<input
|
||||
type = "text"
|
||||
id = "imagetopbottomInput"
|
||||
size = "4"
|
||||
length = "4"
|
||||
maxlength = "4"
|
||||
onkeyup = "forceInteger(this.id)"
|
||||
onchange = "doValueChanged()"/>
|
||||
</td>
|
||||
<td>
|
||||
<label
|
||||
class = "dialog"
|
||||
id = "topbottomtypeLabel"
|
||||
for = "imagetopbottomInput">
|
||||
&pixelsPopup.value;
|
||||
</label>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right">
|
||||
<label
|
||||
class = "dialog"
|
||||
id = "borderLabel"
|
||||
for = "border">
|
||||
&borderEditField.label;
|
||||
</label>
|
||||
</td>
|
||||
<td>
|
||||
<input
|
||||
type ="text"
|
||||
id = "border"
|
||||
size = "4"
|
||||
length = "4"
|
||||
maxlength = "4"
|
||||
onkeyup = "forceInteger(this.id)"
|
||||
onchange = "doValueChanged()" />
|
||||
</td>
|
||||
<td valign="middle">
|
||||
<label
|
||||
class = "dialog"
|
||||
id = "bordertypeLabel"
|
||||
for = "border">
|
||||
&pixelsPopup.value;
|
||||
</label>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</fieldset>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
-->
|
||||
<div class="separator" align="horizontal"/>
|
||||
<!-- ////////////////////////// OK CANCEL Box /////////////////////////////// -->
|
||||
<!--/div-->
|
||||
|
||||
<!-- from global dialogOverlay -->
|
||||
<xul:box id="okCancelButtons"/>
|
||||
|
||||
|
||||
<!-- ///////////////////// Image Percent 1 PopUp Window //////////////////////// -->
|
||||
|
||||
<xul:popup id = "PixelOrPercentMenu1">
|
||||
<xul:window
|
||||
class = "popup"
|
||||
xmlns = "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
|
||||
name = "menu2"
|
||||
align = "vertical"
|
||||
flex = "100%"
|
||||
|
||||
style="
|
||||
background-color: #CCCCDD;
|
||||
width: 70px;
|
||||
height: auto;
|
||||
display: block;
|
||||
overflow: hidden;
|
||||
font: 3mm tahoma,arial,helvetica,sans-serif;
|
||||
padding: 0px;"
|
||||
>
|
||||
|
||||
<xul:box align="vertical" flex="100%" style="border: 1px outset white;">
|
||||
|
||||
<xul:titledbutton
|
||||
class = "push select"
|
||||
value = "&pixelsPopup.value;"
|
||||
align = "center"
|
||||
style = "height:20px; vertical-align: middle;"
|
||||
onclick = "opener.SetPixelOrPercentByID('heightunitSelect', '');
|
||||
opener.popupSelectedImage('&pixelsPopup.value;', 'widthunitSelect', 'value');
|
||||
window.close();"/>
|
||||
|
||||
<xul:titledbutton
|
||||
class = "push select"
|
||||
value = "&percentPopup.value;"
|
||||
align = "center"
|
||||
style = "height:20px; vertical-align: middle;"
|
||||
onclick = "opener.SetPixelOrPercentByID('heightunitSelect', '%');
|
||||
opener.popupSelectedImage('&percentPopup.value;', 'widthunitSelect', 'value');
|
||||
window.close();"/>
|
||||
|
||||
|
||||
</xul:box>
|
||||
</xul:window>
|
||||
</xul:popup>
|
||||
|
||||
<!-- ///////////////////// Image Percent 2 PopUp Window //////////////////////// -->
|
||||
|
||||
<xul:popup id = "PixelOrPercentMenu2">
|
||||
<xul:window
|
||||
class = "popup"
|
||||
xmlns = "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
|
||||
name = "menu2"
|
||||
align = "vertical"
|
||||
flex = "100%"
|
||||
|
||||
style="
|
||||
background-color: #CCCCDD;
|
||||
width: 70px;
|
||||
height: auto;
|
||||
display: block;
|
||||
overflow: hidden;
|
||||
font: 3mm tahoma,arial,helvetica,sans-serif;
|
||||
padding: 0px;"
|
||||
>
|
||||
|
||||
|
||||
<xul:box align="vertical" flex="100%" style="border: 1px outset white;">
|
||||
|
||||
<xul:titledbutton
|
||||
class = "push select"
|
||||
value = "&pixelsPopup.value;"
|
||||
align = "center"
|
||||
style = "height:20px; vertical-align: middle;"
|
||||
onclick = "opener.SetPixelOrPercentByID('heightunitSelect', '');
|
||||
opener.popupSelectedImage('&pixelsPopup.value;', 'heightunitSelect', 'value');
|
||||
window.close();"/>
|
||||
|
||||
<xul:titledbutton
|
||||
class = "push select"
|
||||
value = "&percentPopup.value;"
|
||||
align = "center"
|
||||
style = "height:20px; vertical-align: middle;"
|
||||
onclick = "opener.SetPixelOrPercentByID('heightunitSelect', '%');
|
||||
opener.popupSelectedImage('&percentPopup.value;', 'heightunitSelect', 'value');
|
||||
window.close();"/>
|
||||
|
||||
</xul:box>
|
||||
</xul:window>
|
||||
</xul:popup>
|
||||
|
||||
<!-- ///////////////////// Image Align PopUp Window //////////////////////// -->
|
||||
|
||||
<xul:popup id="ImageTextAlignment">
|
||||
|
||||
<xul:window
|
||||
class = "popup"
|
||||
xmlns = "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
|
||||
name = "imageAlignPopup"
|
||||
align = "vertical"
|
||||
flex = "100%"
|
||||
|
||||
style="
|
||||
background-color: #CCCCDD;
|
||||
width: auto;
|
||||
height: auto;
|
||||
display: block;
|
||||
overflow: hidden;
|
||||
font: 3mm tahoma,arial,helvetica,sans-serif;
|
||||
padding: 0px;"
|
||||
>
|
||||
|
||||
<xul:box align="vertical" flex="100%" style="border: 1px outset white;">
|
||||
|
||||
<xul:titledbutton class="push"
|
||||
src = "&topIcon.url;"
|
||||
value = "&topPopup.value;"
|
||||
onclick = "opener.SetImageAlignment('top');
|
||||
opener.popupSelectedImage('&topIcon.url;', 'image.alignType', 'src');
|
||||
window.close();" />
|
||||
|
||||
<titledbutton class="push"
|
||||
src = "¢erIcon.url;"
|
||||
value ="¢erPopup.value;"
|
||||
onclick = "opener.SetImageAlignment('middle');
|
||||
opener.popupSelectedImage('¢erIcon.url;', 'image.alignType', 'src');
|
||||
window.close();" />
|
||||
|
||||
<titledbutton class="push"
|
||||
src = "&bottomIcon.url;"
|
||||
value = "&bottomPopup.value;"
|
||||
onclick = "opener.SetImageAlignment('bottom', 'image.alignType');
|
||||
opener.popupSelectedImage('&bottomIcon.url;', 'image.alignType', 'src');
|
||||
window.close();" />
|
||||
|
||||
<titledbutton class="push"
|
||||
src = "&wrapRightIcon.url;"
|
||||
value = "&wrapRightPopup.value;"
|
||||
onclick = "opener.SetImageAlignment('left', 'image.alignType');
|
||||
opener.popupSelectedImage('&wrapRightIcon.url;', 'image.alignType', 'src');
|
||||
window.close();" />
|
||||
|
||||
<titledbutton class="push"
|
||||
src = "&wrapLeftIcon.url;"
|
||||
value = "&wrapLeftPopup.value;"
|
||||
onclick = "opener.SetImageAlignment('right');
|
||||
opener.popupSelectedImage('&wrapLeftIcon.url;', 'image.alignType', 'src');
|
||||
window.close();" />
|
||||
|
||||
</xul:box>
|
||||
</xul:window>
|
||||
</xul:popup>
|
||||
<!-- from EdDialogOverlay -->
|
||||
<xul:box id="AdvancedEditButton"/>
|
||||
<!-- from global dialogOverlay -->
|
||||
<xul:box id="okCancelButtons"/>
|
||||
|
||||
</xul:window>
|
||||
|
||||
<!-- The old stuff:
|
||||
<input type="checkbox"> Leave Image at Original Location
|
||||
<input type="checkbox"> Page Background
|
||||
<input type="button" value=" Edit Image "/>
|
||||
<input type="button" value=" Remove Image Map " disabled />
|
||||
-->
|
||||
|
||||
|
|
|
@ -44,7 +44,7 @@
|
|||
<xul:keyset id="keyset"/>
|
||||
|
||||
<table>
|
||||
<tr class="vcenter">
|
||||
<tr>
|
||||
<td align="right">
|
||||
<label for="rows"> &numRowsEditField.label; </label>
|
||||
</td>
|
||||
|
@ -53,7 +53,7 @@
|
|||
onkeyup="forceInteger('rows')" />
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="vcenter">
|
||||
<tr>
|
||||
<td align="right">
|
||||
<label for="columns"> &numColumnsEditField.label; </label>
|
||||
</td>
|
||||
|
@ -62,7 +62,7 @@
|
|||
onkeyup="forceInteger('columns')" />
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="vcenter">
|
||||
<tr>
|
||||
<td align="right">
|
||||
<label for="width" > &widthEditField.label; </label>
|
||||
</td>
|
||||
|
@ -75,7 +75,7 @@
|
|||
<!-- option elements are appended by JS -->
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="vcenter">
|
||||
<tr>
|
||||
<td align="right">
|
||||
<label for="border"> &borderEditField.label; </label>
|
||||
</td>
|
||||
|
|
|
@ -218,6 +218,7 @@ function FillListboxes()
|
|||
} else {
|
||||
// Message to tell user there are none
|
||||
AppendStringToList(NamedAnchorList,GetString("NoNamedAnchors"));
|
||||
NamedAnchorList.setAttribute("disabled", "true");
|
||||
}
|
||||
var firstHeading = true;
|
||||
for (var j = 1; j <= 6; j++) {
|
||||
|
@ -263,6 +264,7 @@ function FillListboxes()
|
|||
} else {
|
||||
// Message to tell user there are none
|
||||
AppendStringToList(HeadingsList,GetString("NoHeadings"));
|
||||
HeadingsList.setAttribute("disabled", "true");
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -295,24 +297,20 @@ function onMoreFewer()
|
|||
{
|
||||
if (SeeMore)
|
||||
{
|
||||
SeeMore = false;
|
||||
// This doesn't work very well - lots of layout bugs
|
||||
// MoreSection.setAttribute("style","visibility:collapse");
|
||||
MoreSection.setAttribute("style","display: none");
|
||||
MoreFewerButton.setAttribute("value",GetString("MoreAttributes"));
|
||||
window.sizeToContent();
|
||||
MoreFewerButton.setAttribute("more","0");
|
||||
//AdvancedEditSection.setAttribute("style","display: none");
|
||||
MoreFewerButton.setAttribute("value",GetString("MoreProperties"));
|
||||
SeeMore = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
SeeMore = true;
|
||||
// MoreSection.setAttribute("style","visibility: inherit");
|
||||
MoreSection.setAttribute("style","display: inherit");
|
||||
MoreFewerButton.setAttribute("value",GetString("FewerAttributes"));
|
||||
window.sizeToContent();
|
||||
MoreFewerButton.setAttribute("more","1");
|
||||
//AdvancedEditSection.setAttribute("style","display: inherit");
|
||||
MoreFewerButton.setAttribute("value",GetString("FewerProperties"));
|
||||
SeeMore = true;
|
||||
}
|
||||
window.sizeToContent();
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -66,7 +66,7 @@
|
|||
</box>
|
||||
</box>
|
||||
<!-- ***** The style: width setting is need to cover a bug in button width resizing when text changes ***** -->
|
||||
<html:div><titledbutton class="push" id="MoreFewerButton" align="left" style="width: 10em" onclick="onMoreFewer()" persist="more"/></html:div>
|
||||
<html:div><titledbutton class="push" id="MoreFewerButton" style="width: 10em" align="left" onclick="onMoreFewer()" persist="more"/></html:div>
|
||||
<box id="MoreSection" align="vertical">
|
||||
<spring class="spacer"/>
|
||||
<html:div>&NamedAnchorMsg.label;</html:div>
|
||||
|
|
|
@ -40,27 +40,27 @@
|
|||
<xul:broadcaster id="args" value=""/>
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<tr valign="top">
|
||||
<td colspan="3">
|
||||
<label for="Word"> &wordEditField.label; </label>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<tr valign="top">
|
||||
<td>
|
||||
<input type="text" class="SpellCheckWord" id="Word" size="24"/>
|
||||
</td>
|
||||
<td>
|
||||
<xul:titledbutton class="SizeToParent" id="CheckWord" onclick="CheckWord()" value="&checkwordButton.label;"/>
|
||||
<xul:titledbutton class="push SizeToParent" id="CheckWord" onclick="CheckWord()" value="&checkwordButton.label;"/>
|
||||
</td>
|
||||
<td>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<tr valign="top">
|
||||
<td colspan="3">
|
||||
<label> &suggestions.label; </label>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<tr valign="top">
|
||||
<td rowspan="5">
|
||||
<select class="SpellCheckList" id="SuggestedList" size="8" onchange="SelectSuggestedWord()">
|
||||
</select>
|
||||
|
@ -68,18 +68,18 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<xul:titledbutton class="SizeToParent" id="Ignore" onclick="Ignore()" value="&ignoreButton.label;"/>
|
||||
<xul:titledbutton class="push SizeToParent" id="Ignore" onclick="Ignore()" value="&ignoreButton.label;"/>
|
||||
</td>
|
||||
<td>
|
||||
<xul:titledbutton class="SizeToParent" id="IgnoreAll" onclick="IgnoreAll()" value="&ignoreallButton.label;"/>
|
||||
<xul:titledbutton class="push SizeToParent" id="IgnoreAll" onclick="IgnoreAll()" value="&ignoreallButton.label;"/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<tr valign="top">
|
||||
<td>
|
||||
<xul:titledbutton class="SizeToParent" id="Replace" onclick="Replace()" value="&changeButton.label;"/>
|
||||
<xul:titledbutton class="push SizeToParent" id="Replace" onclick="Replace()" value="&changeButton.label;"/>
|
||||
</td>
|
||||
<td>
|
||||
<xul:titledbutton class="SizeToParent" id="ReplaceAll" onclick="ReplaceAll()" value="&changeallButton.label;"/>
|
||||
<xul:titledbutton class="push SizeToParent" id="ReplaceAll" onclick="ReplaceAll()" value="&changeallButton.label;"/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
|
@ -87,27 +87,27 @@
|
|||
<label> &userDictionary.label; </label>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<tr valign="top">
|
||||
<td>
|
||||
<xul:titledbutton class="SizeToParent" id="AddToDictionary" onclick="AddToDictionary()" value="&addtouserdictionaryButton.label;"/>
|
||||
<xul:titledbutton class="push SizeToParent" id="AddToDictionary" onclick="AddToDictionary()" value="&addtouserdictionaryButton.label;"/>
|
||||
</td>
|
||||
<td>
|
||||
<xul:titledbutton class="SizeToParent" id="EditDictionary" onclick="EditDictionary()" value="&edituserdictionaryButton.label;"/>
|
||||
<xul:titledbutton class="push SizeToParent" id="EditDictionary" onclick="EditDictionary()" value="&edituserdictionaryButton.label;"/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<tr valign="top">
|
||||
<td colspan="3">
|
||||
<label> &languagePopup.label; </label>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<tr valign="top">
|
||||
<td colspan="2">
|
||||
<select class="SpellCheckLanguage" id="LanguageList" size="1" onchange="SelectLanguage()">
|
||||
<option> &englishLanguagePopup.value; </option>
|
||||
</select>
|
||||
</td>
|
||||
<td>
|
||||
<xul:titledbutton class="SizeToParent" id="Close" onclick="Close()" value="&closeButton.label;"/>
|
||||
<xul:titledbutton class="push SizeToParent" id="Close" onclick="Close()" value="&closeButton.label;"/>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
|
|
@ -21,5 +21,3 @@
|
|||
-->
|
||||
|
||||
<!ENTITY AdvancedEditButton.label "Advanced Edit...">
|
||||
<!ENTITY pixelsPopup.value "pixels">
|
||||
<!ENTITY percentPopup.value "percent">
|
||||
|
|
|
@ -20,12 +20,6 @@
|
|||
- Contributor(s):
|
||||
-->
|
||||
|
||||
<!-- These strings are generic to all or most of the editor's dialogs. -->
|
||||
<!-- This button is for the progressive disclosure of additional editing functionality -->
|
||||
<!-- THIS TEXT WILL CHANGE DYNAMICALLY, SO VALUES SHOULD BE IN Editor.properties STRING BUNDLE FILE -->
|
||||
<!ENTITY MoreButton.label "More">
|
||||
<!ENTITY FewerButton.label "Fewer">
|
||||
|
||||
<!-- These strings are for use specifically in the editor's image dialog. -->
|
||||
|
||||
<!-- Window title -->
|
||||
|
@ -49,17 +43,12 @@
|
|||
<!ENTITY constrainCheckbox.label "Constrain">
|
||||
|
||||
<!-- These are the options for image alignment -->
|
||||
<!ENTITY alignment.label "Align Text to Image">
|
||||
<!ENTITY alignment.label "Align Text to Image:">
|
||||
<!ENTITY bottomPopup.value "at the bottom">
|
||||
<!ENTITY topPopup.value "at the top">
|
||||
<!ENTITY centerPopup.value "in the center">
|
||||
<!ENTITY wrapRightPopup.value "wrap around right side">
|
||||
<!ENTITY wrapLeftPopup.value "wrap around left side">
|
||||
<!ENTITY bottomIcon.url "chrome://editor/skin/images/img-align-bottom.gif">
|
||||
<!ENTITY topIcon.url "chrome://editor/skin/images/img-align-top.gif">
|
||||
<!ENTITY centerIcon.url "chrome://editor/skin/images/img-align-middle.gif">
|
||||
<!ENTITY wrapRightIcon.url "chrome://editor/skin/images/img-align-left.gif">
|
||||
<!ENTITY wrapLeftIcon.url "chrome://editor/skin/images/img-align-right.gif">
|
||||
<!ENTITY wrapRightPopup.value "wrap to the right">
|
||||
<!ENTITY wrapLeftPopup.value "wrap to the left">
|
||||
|
||||
<!-- These controls are in the Spacing Fieldset of the expanded area -->
|
||||
<!ENTITY spacingFieldset.label "Spacing">
|
||||
|
|
|
@ -26,44 +26,23 @@
|
|||
CHANGES REVIEWED BY cmanske@netscape.com.
|
||||
*/
|
||||
|
||||
/* XUL ELEMENTS */
|
||||
|
||||
/* values = margin, padding. Padding doesn't work yet */
|
||||
/* HTML ELEMENTS */
|
||||
|
||||
/* Should be in XUL.css? */
|
||||
tab {
|
||||
padding: 0px 3px;
|
||||
}
|
||||
table { cell-spacing: 0px; }
|
||||
td, table { border: 0px;}
|
||||
|
||||
titledbutton#MoreFewerButton[more="0"] {
|
||||
list-style-image: url(chrome://global/skin/scroll-down.gif)
|
||||
}
|
||||
titledbutton#MoreFewerButton[more="1"] {
|
||||
list-style-image: url(chrome://global/skin/scroll-up.gif);
|
||||
/* Use to center vertically in a table cell */
|
||||
tr {
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
select.SpellCheckList, select.SpellCheckLanguage, input.SpellCheckWord {
|
||||
width: 20em;
|
||||
}
|
||||
|
||||
/* HTML ELEMENTS */
|
||||
|
||||
table { cell-spacing: 5px; }
|
||||
td, table { border: 0px;}
|
||||
|
||||
/* Use to center vertically in a table cell */
|
||||
.vcenter {
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
spring.spacer {
|
||||
width: 5px;
|
||||
height: 5px;
|
||||
}
|
||||
|
||||
spring.bigspacer {
|
||||
width: 10px;
|
||||
height: 10px;
|
||||
select.dialog {
|
||||
font-size: smaller;
|
||||
}
|
||||
|
||||
div.spacer [align~=horizontal] {
|
||||
|
@ -76,12 +55,95 @@ div#message {
|
|||
margin-left: 10px
|
||||
|
||||
}
|
||||
|
||||
/* XUL ELEMENTS */
|
||||
|
||||
/* values = margin, padding. Padding doesn't work yet */
|
||||
|
||||
/* Should be in XUL.css? */
|
||||
tab {
|
||||
padding: 0px 3px;
|
||||
}
|
||||
|
||||
select#alignTypeSelect,label#alignLabel {
|
||||
margin-left: 5px;
|
||||
}
|
||||
|
||||
titledbutton#AdvancedEdit {
|
||||
margin-left: 6px;
|
||||
min-width: 10em;
|
||||
}
|
||||
|
||||
titledbutton#MoreFewerButton[more="0"] {
|
||||
margin-left: 6px;
|
||||
list-style-image: url(chrome://global/skin/scroll-down.gif);
|
||||
/* use this after Eric fixes button width bug */
|
||||
/* width: 10em */
|
||||
}
|
||||
titledbutton#MoreFewerButton[more="1"] {
|
||||
margin-left: 6px;
|
||||
list-style-image: url(chrome://global/skin/scroll-up.gif);
|
||||
/* width: 10em */
|
||||
}
|
||||
|
||||
/* THIS SHOULD BE IN GLOBAL.CSS */
|
||||
label.dialog[disabled],legend.dialog[disabled] {
|
||||
color: gray;
|
||||
}
|
||||
|
||||
/* Link Properties */
|
||||
titledbutton#SaveDefault {
|
||||
margin-right: 6px;
|
||||
width: 7em;
|
||||
}
|
||||
|
||||
titledbutton[class~=SizeToParent] {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
spring.spacer {
|
||||
width: 5px;
|
||||
height: 5px;
|
||||
}
|
||||
|
||||
spring.bigspacer {
|
||||
width: 10px;
|
||||
height: 10px;
|
||||
}
|
||||
|
||||
box.tabpanel {
|
||||
border: 1px outset #CCCCDD;
|
||||
padding: 10px;
|
||||
}
|
||||
|
||||
img.AlignIcon {
|
||||
margin-right: 5px;
|
||||
/* To make all align the same */
|
||||
/*vertical-align: middle;*/
|
||||
}
|
||||
|
||||
titledbutton#img-align-top {
|
||||
list-style-image:url("chrome://editor/skin/images/img-align-top.gif");
|
||||
}
|
||||
titledbutton#img-align-middle {
|
||||
list-style-image:url("chrome://editor/skin/images/img-align-middle.gif");
|
||||
}
|
||||
titledbutton#img-align-bottom {
|
||||
list-style-image:url("chrome://editor/skin/images/img-align-bottom.gif");
|
||||
}
|
||||
titledbutton#img-align-left {
|
||||
list-style-image:url("chrome://editor/skin/images/img-align-left.gif");
|
||||
}
|
||||
titledbutton#img-align-right {
|
||||
list-style-image:url("chrome://editor/skin/images/img-align-right.gif");
|
||||
}
|
||||
|
||||
/* Rest are from Ben Goodger for Advanced Edit dialog
|
||||
These need reviewing and eliminate all but essential attributes */
|
||||
|
||||
div.tagname {
|
||||
font-weight: bold;
|
||||
font-size : 17px;
|
||||
/*font-size : 17px;*/
|
||||
}
|
||||
|
||||
div#tagLabel {
|
||||
|
@ -159,23 +221,9 @@ input.AttributesCell {
|
|||
border: none;
|
||||
height: 100%;
|
||||
}
|
||||
/*
|
||||
input.AttributesCell:active {
|
||||
border: 1px white inset;
|
||||
}
|
||||
|
||||
input.AttributesCell:hover {
|
||||
border: 1px white inset;
|
||||
}
|
||||
*/
|
||||
|
||||
treecell input:hover {
|
||||
background-color: #ECECEC;
|
||||
font-weight : bold;
|
||||
border : 2px solid #666699;
|
||||
}
|
||||
|
||||
box.tabpanel {
|
||||
border: 1px outset #CCCCDD;
|
||||
padding: 10px;
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче