зеркало из https://github.com/mozilla/pjs.git
Lots of editor feature work: bugs 26286, 34519, 28498, 36998, 37089, 14342. r=sfraser
This commit is contained in:
Родитель
917ed76799
Коммит
0c4e2853d6
|
@ -44,6 +44,7 @@ CPPSRCS = \
|
|||
TextEditorTest.cpp \
|
||||
nsHTMLEditRules.cpp \
|
||||
nsEditorEventListeners.cpp \
|
||||
nsEditorShellMouseListener.cpp \
|
||||
nsEditProperty.cpp \
|
||||
nsHTMLEditor.cpp \
|
||||
ChangeAttributeTxn.cpp \
|
||||
|
|
|
@ -39,6 +39,7 @@ CPPSRCS = \
|
|||
nsHTMLEditUtils.cpp \
|
||||
TextEditorTest.cpp \
|
||||
nsEditorEventListeners.cpp \
|
||||
nsEditorShellMouseListener.cpp \
|
||||
nsEditProperty.cpp \
|
||||
EditTxn.cpp \
|
||||
EditAggregateTxn.cpp \
|
||||
|
@ -80,6 +81,7 @@ CPP_OBJS = \
|
|||
.\$(OBJDIR)\nsHTMLEditRules.obj \
|
||||
.\$(OBJDIR)\nsHTMLEditUtils.obj \
|
||||
.\$(OBJDIR)\nsEditorEventListeners.obj \
|
||||
.\$(OBJDIR)\nsEditorShellMouseListener.obj \
|
||||
.\$(OBJDIR)\nsEditProperty.obj \
|
||||
.\$(OBJDIR)\EditTxn.obj \
|
||||
.\$(OBJDIR)\EditAggregateTxn.obj \
|
||||
|
|
|
@ -603,6 +603,7 @@ nsParagraphStateCommand::DoCommand(const PRUnichar *aCommand, nsISupports * refC
|
|||
return rv;
|
||||
}
|
||||
|
||||
|
||||
#ifdef XP_MAC
|
||||
#pragma mark -
|
||||
#endif
|
||||
|
|
|
@ -164,5 +164,4 @@ NS_DECL_COMPOSER_COMMAND(nsIncreaseFontSizeCommand)
|
|||
NS_DECL_COMPOSER_COMMAND(nsDecreaseFontSizeCommand)
|
||||
|
||||
|
||||
|
||||
#endif // nsComposerCommands_h_
|
||||
|
|
|
@ -331,7 +331,7 @@ nsresult nsComposerController::RegisterComposerCommands(nsIControllerCommandMana
|
|||
NS_REGISTER_ONE_COMMAND(nsRemoveStylesCommand, "cmd_removeStyles");
|
||||
NS_REGISTER_ONE_COMMAND(nsIncreaseFontSizeCommand, "cmd_increaseFont");
|
||||
NS_REGISTER_ONE_COMMAND(nsDecreaseFontSizeCommand, "cmd_decreaseFont");
|
||||
|
||||
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
|
|
|
@ -25,6 +25,7 @@
|
|||
#include "nsVoidArray.h"
|
||||
#include "nsString.h"
|
||||
|
||||
#include "nsIDOMEvent.h"
|
||||
#include "nsIDOMDocument.h"
|
||||
#include "nsIDocument.h"
|
||||
#include "nsIPresShell.h"
|
||||
|
@ -352,8 +353,6 @@ nsTextEditorKeyListener::ScrollSelectionIntoView()
|
|||
* nsTextEditorMouseListener implementation
|
||||
*/
|
||||
|
||||
|
||||
|
||||
NS_IMPL_ADDREF(nsTextEditorMouseListener)
|
||||
|
||||
NS_IMPL_RELEASE(nsTextEditorMouseListener)
|
||||
|
@ -540,42 +539,9 @@ nsTextEditorMouseListener::MouseDown(nsIDOMEvent* aMouseEvent)
|
|||
nsresult
|
||||
nsTextEditorMouseListener::MouseUp(nsIDOMEvent* aMouseEvent)
|
||||
{
|
||||
nsCOMPtr<nsIDOMMouseEvent> mouseEvent ( do_QueryInterface(aMouseEvent) );
|
||||
if (!mouseEvent) {
|
||||
//non-ui event passed in. bad things.
|
||||
return NS_OK;
|
||||
}
|
||||
// Detect double click message:
|
||||
PRUint16 clickCount;
|
||||
nsresult res = mouseEvent->GetClickCount(&clickCount);
|
||||
if (NS_FAILED(res)) return res;
|
||||
|
||||
if (clickCount == 2)
|
||||
{
|
||||
nsCOMPtr<nsIHTMLEditor> htmlEditor = do_QueryInterface(mEditor);
|
||||
if (htmlEditor)
|
||||
{
|
||||
nsCOMPtr<nsIDOMElement> selectedElement;
|
||||
if (NS_SUCCEEDED(htmlEditor->GetSelectedElement(nsAutoString(), getter_AddRefs(selectedElement)))
|
||||
&& selectedElement)
|
||||
{
|
||||
nsAutoString TagName;
|
||||
selectedElement->GetTagName(TagName);
|
||||
TagName.ToLowerCase();
|
||||
|
||||
#if DEBUG_cmanske
|
||||
char szTagName[64];
|
||||
TagName.ToCString(szTagName, 64);
|
||||
printf("Single Selected element found: %s\n", szTagName);
|
||||
#endif
|
||||
}
|
||||
}
|
||||
}
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
|
||||
|
||||
nsresult
|
||||
nsTextEditorMouseListener::MouseClick(nsIDOMEvent* aMouseEvent)
|
||||
{
|
||||
|
@ -607,13 +573,10 @@ nsTextEditorMouseListener::MouseOut(nsIDOMEvent* aMouseEvent)
|
|||
}
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* nsTextEditorMouseListener implementation
|
||||
* nsTextEditorTextListener implementation
|
||||
*/
|
||||
|
||||
|
||||
|
||||
NS_IMPL_ADDREF(nsTextEditorTextListener)
|
||||
|
||||
NS_IMPL_RELEASE(nsTextEditorTextListener)
|
||||
|
|
|
@ -76,7 +76,7 @@ protected:
|
|||
};
|
||||
|
||||
|
||||
/** editor Implementation of the MouseListener interface
|
||||
/** editor Implementation of the TextListener interface
|
||||
*/
|
||||
class nsTextEditorTextListener : public nsIDOMTextListener
|
||||
{
|
||||
|
@ -140,7 +140,7 @@ protected:
|
|||
};
|
||||
|
||||
|
||||
/** editor Implementation of the TextListener interface
|
||||
/** editor Implementation of the MouseListener interface
|
||||
*/
|
||||
class nsTextEditorMouseListener : public nsIDOMMouseListener
|
||||
{
|
||||
|
@ -176,7 +176,7 @@ protected:
|
|||
};
|
||||
|
||||
|
||||
/** editor Implementation of the MouseListener interface
|
||||
/** editor Implementation of the DragListener interface
|
||||
*/
|
||||
class nsTextEditorDragListener : public nsIDOMDragListener
|
||||
{
|
||||
|
|
|
@ -44,6 +44,7 @@
|
|||
#include "nsIDOMNodeList.h"
|
||||
#include "nsICSSLoader.h"
|
||||
#include "nsICSSStyleSheet.h"
|
||||
#include "nsIContent.h"
|
||||
#include "nsIHTMLContentContainer.h"
|
||||
#include "nsIStyleSet.h"
|
||||
#include "nsIURI.h"
|
||||
|
@ -92,7 +93,6 @@
|
|||
///////////////////////////////////////
|
||||
// Editor Includes
|
||||
///////////////////////////////////////
|
||||
#include "nsIDOMEventReceiver.h"
|
||||
#include "nsIDOMEventCapturer.h"
|
||||
#include "nsString.h"
|
||||
#include "nsIDOMText.h"
|
||||
|
@ -117,6 +117,7 @@
|
|||
|
||||
#include "nsAOLCiter.h"
|
||||
#include "nsInternetCiter.h"
|
||||
#include "nsEditorShellMouseListener.h"
|
||||
|
||||
///////////////////////////////////////
|
||||
|
||||
|
@ -143,6 +144,11 @@ static NS_DEFINE_IID(kISupportsIID, NS_ISUPPORTS_IID);
|
|||
|
||||
#define EDITOR_BUNDLE_URL "chrome://editor/locale/editor.properties"
|
||||
|
||||
enum {
|
||||
eEditorController,
|
||||
eComposerController
|
||||
};
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
// Utility to extract document from a webshell object.
|
||||
static nsresult
|
||||
|
@ -267,6 +273,17 @@ nsEditorShell::~nsEditorShell()
|
|||
NS_IF_RELEASE(mStateMaintainer);
|
||||
NS_IF_RELEASE(mParserObserver);
|
||||
|
||||
// Remove our document mouse event listener
|
||||
if (mMouseListenerP)
|
||||
{
|
||||
nsCOMPtr<nsIDOMEventReceiver> erP;
|
||||
nsresult rv = GetDocumentEventReceiver(getter_AddRefs(erP));
|
||||
if (NS_SUCCEEDED(rv) && erP)
|
||||
{
|
||||
erP->RemoveEventListenerByIID(mMouseListenerP, NS_GET_IID(nsIDOMMouseListener));
|
||||
mMouseListenerP = nsnull;
|
||||
}
|
||||
}
|
||||
// the only other references we hold are in nsCOMPtrs, so they'll take
|
||||
// care of themselves.
|
||||
}
|
||||
|
@ -367,19 +384,32 @@ nsEditorShell::ResetEditingState()
|
|||
}
|
||||
}
|
||||
|
||||
nsresult rv;
|
||||
// now, unregister the selection listener, if there was one
|
||||
if (mStateMaintainer)
|
||||
{
|
||||
nsCOMPtr<nsIDOMSelection> domSelection;
|
||||
// using a scoped result, because we don't really care if this fails
|
||||
nsresult result = GetEditorSelection(getter_AddRefs(domSelection));
|
||||
if (NS_SUCCEEDED(result) && domSelection)
|
||||
rv = GetEditorSelection(getter_AddRefs(domSelection));
|
||||
if (NS_SUCCEEDED(rv) && domSelection)
|
||||
{
|
||||
domSelection->RemoveSelectionListener(mStateMaintainer);
|
||||
NS_IF_RELEASE(mStateMaintainer);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Remove our document mouse event listener
|
||||
if (mMouseListenerP)
|
||||
{
|
||||
nsCOMPtr<nsIDOMEventReceiver> erP;
|
||||
rv = GetDocumentEventReceiver(getter_AddRefs(erP));
|
||||
if (NS_SUCCEEDED(rv) && erP)
|
||||
{
|
||||
erP->RemoveEventListenerByIID(mMouseListenerP, NS_GET_IID(nsIDOMMouseListener));
|
||||
mMouseListenerP = nsnull;
|
||||
}
|
||||
}
|
||||
|
||||
// clear this editor out of the controller
|
||||
if (mEditorController)
|
||||
{
|
||||
|
@ -476,6 +506,28 @@ nsEditorShell::PrepareDocumentForEditing(nsIDocumentLoader* aLoader, nsIURI *aUr
|
|||
mEditorController->SetCommandRefCon(editorAsISupports);
|
||||
}
|
||||
|
||||
|
||||
// get a mouse listener for double click on tags
|
||||
// We can't use nsEditor listener because core editor shouldn't call UI commands
|
||||
rv = NS_NewEditorShellMouseListener(getter_AddRefs(mMouseListenerP), this);
|
||||
if (NS_FAILED(rv))
|
||||
{
|
||||
mMouseListenerP = nsnull;
|
||||
return rv;
|
||||
}
|
||||
|
||||
// Add mouse listener to document
|
||||
nsCOMPtr<nsIDOMEventReceiver> erP;
|
||||
rv = GetDocumentEventReceiver(getter_AddRefs(erP));
|
||||
if (NS_FAILED(rv))
|
||||
{
|
||||
mMouseListenerP = nsnull;
|
||||
return rv;
|
||||
}
|
||||
|
||||
rv = erP->AddEventListenerByIID(mMouseListenerP, NS_GET_IID(nsIDOMMouseListener));
|
||||
if (NS_FAILED(rv)) return rv;
|
||||
|
||||
// now all the listeners are set up, we can call PostCreate
|
||||
rv = editor->PostCreate();
|
||||
if (NS_FAILED(rv)) return rv;
|
||||
|
@ -498,7 +550,7 @@ nsEditorShell::PrepareDocumentForEditing(nsIDocumentLoader* aLoader, nsIURI *aUr
|
|||
nsCRT::strncmp(pageURLString,"about:blank", 11) != 0)
|
||||
{
|
||||
// Clutzy method of converting URL to local file format
|
||||
// nsIFileSpec is going away -- is nsFileSpec???
|
||||
// nsIFileSpec is going away -- WE NEED TO REWRITE nsIDiskDocument!
|
||||
nsFileURL pageURL(pageURLString);
|
||||
nsFileSpec pageSpec(pageURL);
|
||||
|
||||
|
@ -554,6 +606,53 @@ nsEditorShell::PrepareDocumentForEditing(nsIDocumentLoader* aLoader, nsIURI *aUr
|
|||
return NS_OK;
|
||||
}
|
||||
|
||||
nsresult nsEditorShell::GetDocumentEventReceiver(nsIDOMEventReceiver **aEventReceiver)
|
||||
{
|
||||
if (!aEventReceiver) return NS_ERROR_NULL_POINTER;
|
||||
if (!mContentWindow || !mEditor) return NS_ERROR_NOT_INITIALIZED;
|
||||
|
||||
nsCOMPtr<nsIDOMDocument> domDoc;
|
||||
mContentWindow->GetDocument(getter_AddRefs(domDoc));
|
||||
if (!domDoc) return NS_ERROR_NOT_INITIALIZED;
|
||||
|
||||
nsCOMPtr<nsIDOMElement> rootElement;
|
||||
nsCOMPtr<nsIEditor> editor = do_QueryInterface(mEditor);
|
||||
nsresult rv = editor->GetRootElement(getter_AddRefs(rootElement));
|
||||
|
||||
nsCOMPtr<nsIDOMEventReceiver> erP;
|
||||
|
||||
//(Copied from nsHTMLEditor::InstallEventListeners)
|
||||
//now hack to make sure we are not anonymous content if we are
|
||||
// grabbing the parent of root element for our observer
|
||||
nsCOMPtr<nsIContent> content = do_QueryInterface(rootElement);
|
||||
if (content)
|
||||
{
|
||||
nsCOMPtr<nsIContent> parent;
|
||||
if (NS_SUCCEEDED(content->GetParent(*getter_AddRefs(parent))) && parent)
|
||||
{
|
||||
PRInt32 index;
|
||||
if (NS_FAILED(parent->IndexOf(content, index)) || index<0 )
|
||||
{
|
||||
rootElement = do_QueryInterface(parent);
|
||||
rv = rootElement->QueryInterface(NS_GET_IID(nsIDOMEventReceiver), getter_AddRefs(erP));
|
||||
}
|
||||
else
|
||||
rootElement = 0;
|
||||
}
|
||||
}
|
||||
if (!rootElement && domDoc)
|
||||
rv = domDoc->QueryInterface(NS_GET_IID(nsIDOMEventReceiver), getter_AddRefs(erP));
|
||||
//end hack
|
||||
|
||||
if (erP)
|
||||
{
|
||||
*aEventReceiver = erP;
|
||||
NS_ADDREF(*aEventReceiver);
|
||||
}
|
||||
return rv;
|
||||
}
|
||||
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsEditorShell::SetContentWindow(nsIDOMWindow* aWin)
|
||||
{
|
||||
|
@ -592,12 +691,12 @@ nsEditorShell::SetContentWindow(nsIDOMWindow* aWin)
|
|||
|
||||
mEditorController = editorController; // temp weak link, so we can get it and set the editor later
|
||||
|
||||
rv = controllers->InsertControllerAt(0, controller);
|
||||
rv = controllers->InsertControllerAt(eEditorController, controller);
|
||||
if (NS_FAILED(rv)) return rv;
|
||||
}
|
||||
|
||||
{
|
||||
// the first is a composer controller, and takes an nsIEditorShell as the refCon
|
||||
// the second is a composer controller, and takes an nsIEditorShell as the refCon
|
||||
nsCOMPtr<nsIController> controller = do_CreateInstance("component://netscape/editor/composercontroller", &rv);
|
||||
if (NS_FAILED(rv)) return rv;
|
||||
nsCOMPtr<nsIEditorController> editorController = do_QueryInterface(controller);
|
||||
|
@ -606,7 +705,7 @@ nsEditorShell::SetContentWindow(nsIDOMWindow* aWin)
|
|||
rv = editorController->Init(shellAsISupports);
|
||||
if (NS_FAILED(rv)) return rv;
|
||||
|
||||
rv = controllers->InsertControllerAt(1, controller);
|
||||
rv = controllers->InsertControllerAt(eComposerController, controller);
|
||||
if (NS_FAILED(rv)) return rv;
|
||||
}
|
||||
|
||||
|
@ -2668,21 +2767,30 @@ nsEditorShell::ConfirmWithCancel(const nsString& aTitle, const nsString& aQuesti
|
|||
if ( NS_SUCCEEDED(rv) )
|
||||
{
|
||||
// Stuff in Parameters
|
||||
block->SetInt( nsICommonDialogs::eNumberButtons,3 );
|
||||
block->SetString( nsICommonDialogs::eMsg, aQuestion.GetUnicode());
|
||||
nsAutoString url; url.AssignWithConversion( "chrome://global/skin/question-icon.gif" );
|
||||
block->SetString( nsICommonDialogs::eIconURL, url.GetUnicode());
|
||||
|
||||
nsAutoString yesStr, noStr;
|
||||
// Default is Yes, No, Cancel
|
||||
PRInt32 numberOfButtons = 3;
|
||||
if (aYesString)
|
||||
yesStr.Assign(*aYesString);
|
||||
else
|
||||
// We always want a "Yes" string, so supply the default
|
||||
GetBundleString(NS_ConvertASCIItoUCS2("Yes"), yesStr);
|
||||
|
||||
if (aNoString)
|
||||
if (aNoString && aNoString->Length() > 0)
|
||||
{
|
||||
noStr.Assign(*aNoString);
|
||||
block->SetString( nsICommonDialogs::eButton2Text, noStr.GetUnicode() );
|
||||
}
|
||||
else
|
||||
GetBundleString(NS_ConvertASCIItoUCS2("No"), noStr);
|
||||
{
|
||||
// No string for "No" means we only want Yes, Cancel
|
||||
numberOfButtons = 2;
|
||||
}
|
||||
block->SetInt( nsICommonDialogs::eNumberButtons, numberOfButtons );
|
||||
|
||||
nsAutoString cancelStr;
|
||||
GetBundleString(NS_ConvertASCIItoUCS2("Cancel"), cancelStr);
|
||||
|
@ -2691,7 +2799,6 @@ nsEditorShell::ConfirmWithCancel(const nsString& aTitle, const nsString& aQuesti
|
|||
//Note: "button0" is always Ok or Yes action, "button1" is Cancel
|
||||
block->SetString( nsICommonDialogs::eButton0Text, yesStr.GetUnicode() );
|
||||
block->SetString( nsICommonDialogs::eButton1Text, cancelStr.GetUnicode() );
|
||||
block->SetString( nsICommonDialogs::eButton2Text, noStr.GetUnicode() );
|
||||
|
||||
NS_WITH_SERVICE(nsICommonDialogs, dialog, kCommonDialogsCID, &rv);
|
||||
if ( NS_SUCCEEDED( rv ) )
|
||||
|
@ -2922,7 +3029,6 @@ nsEditorShell::SetParagraphFormat(const PRUnichar * paragraphFormat)
|
|||
return err;
|
||||
}
|
||||
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsEditorShell::GetEditorDocument(nsIDOMDocument** aEditorDocument)
|
||||
{
|
||||
|
@ -4663,3 +4769,33 @@ nsEditorShell::DocumentIsRootDoc(nsIDocumentLoader* aLoader, PRBool& outIsRoot)
|
|||
return NS_OK;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsEditorShell::EditElementProperties(nsIDOMElement *aElement, int x, int y)
|
||||
{
|
||||
if (!aElement) return NS_OK;
|
||||
nsresult rv = NS_ERROR_FAILURE;
|
||||
|
||||
#if DEBUG_cmanske
|
||||
nsAutoString TagName;
|
||||
aElement->GetTagName(TagName);
|
||||
TagName.ToLowerCase();
|
||||
char szTagName[64];
|
||||
TagName.ToCString(szTagName, 64);
|
||||
printf("***** DBLClick: TagName of element clicked on: %s\n", szTagName);
|
||||
#endif
|
||||
// Get the ComposerController:
|
||||
nsCOMPtr<nsIControllers> controllers;
|
||||
rv = mContentWindow->GetControllers(getter_AddRefs(controllers));
|
||||
if (NS_FAILED(rv)) return rv;
|
||||
if (!controllers) return NS_ERROR_NULL_POINTER;
|
||||
|
||||
nsCOMPtr<nsIController> controller;
|
||||
rv = controllers->GetControllerAt(eComposerController, getter_AddRefs(controller));
|
||||
if (NS_FAILED(rv)) return rv;
|
||||
if (!controller) return NS_ERROR_NULL_POINTER;
|
||||
nsCOMPtr<nsIEditorController> composerController = do_QueryInterface(controller);
|
||||
|
||||
// Execute the command
|
||||
nsAutoString commandName(NS_ConvertASCIItoUCS2("cmd_advancedProperties"));
|
||||
return composerController->DoCommand(commandName.GetUnicode());
|
||||
}
|
||||
|
|
|
@ -33,9 +33,11 @@
|
|||
#include "nsIEditorController.h"
|
||||
#include "nsIDocumentLoaderObserver.h"
|
||||
#include "nsIDOMSelectionListener.h"
|
||||
#include "nsIDOMEventReceiver.h"
|
||||
#include "nsIPrompt.h"
|
||||
#include "nsIStreamObserver.h"
|
||||
#include "nsIDOMDocument.h"
|
||||
#include "nsIDOMEventListener.h"
|
||||
#include "nsVoidArray.h"
|
||||
#include "nsTextServicesCID.h"
|
||||
#include "nsIEditorSpellCheck.h"
|
||||
|
@ -143,9 +145,15 @@ class nsEditorShell : public nsIEditorShell,
|
|||
// is the document being loaded the root of a frameset, or a non-frameset doc?
|
||||
nsresult DocumentIsRootDoc(nsIDocumentLoader* aLoader, PRBool& outIsRoot);
|
||||
|
||||
nsCOMPtr<nsIHTMLEditor> mEditor; // this can be either an HTML or plain text (or other?) editor
|
||||
nsCOMPtr<nsISupports> mSearchContext; // context used for search and replace. Owned by the appshell.
|
||||
nsCOMPtr<nsISpellChecker> mSpellChecker;
|
||||
nsCOMPtr<nsIHTMLEditor> mEditor; // this can be either an HTML or plain text (or other?) editor
|
||||
nsCOMPtr<nsISupports> mSearchContext; // context used for search and replace. Owned by the appshell.
|
||||
nsCOMPtr<nsISpellChecker> mSpellChecker;
|
||||
|
||||
// Let UI detect and process double click on elements for AdvancedProperties
|
||||
// (see nsEditorShellMouseEventListener)
|
||||
nsCOMPtr<nsIDOMEventListener> mMouseListenerP;
|
||||
// We need this to add mMouseListenerP to document
|
||||
nsresult GetDocumentEventReceiver(nsIDOMEventReceiver **aEventReceiver);
|
||||
|
||||
PRBool mMailCompose;
|
||||
|
||||
|
|
|
@ -2767,9 +2767,9 @@ nsHTMLEditor::SetCaretAfterElement(nsIDOMElement* aElement)
|
|||
return res;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP nsHTMLEditor::SetParagraphFormat(const nsString& aParagraphFormat)
|
||||
NS_IMETHODIMP
|
||||
nsHTMLEditor::SetParagraphFormat(const nsString& aParagraphFormat)
|
||||
{
|
||||
//Kinda sad to waste memory just to force lower case
|
||||
nsAutoString tag; tag.Assign(aParagraphFormat);
|
||||
tag.ToLowerCase();
|
||||
return InsertBasicBlock(tag);
|
||||
|
@ -3340,25 +3340,50 @@ nsHTMLEditor::GetSelectedElement(const nsString& aTagName, nsIDOMElement** aRetu
|
|||
// default is null - no element found
|
||||
*aReturn = nsnull;
|
||||
|
||||
// First look for a single element in selection
|
||||
nsCOMPtr<nsIDOMSelection>selection;
|
||||
nsresult res = GetSelection(getter_AddRefs(selection));
|
||||
if (NS_FAILED(res)) return res;
|
||||
if (!selection) return NS_ERROR_NULL_POINTER;
|
||||
|
||||
PRBool bNodeFound = PR_FALSE;
|
||||
res=NS_ERROR_NOT_INITIALIZED;
|
||||
PRBool isCollapsed;
|
||||
selection->GetIsCollapsed(&isCollapsed);
|
||||
|
||||
nsCOMPtr<nsIDOMElement> selectedElement;
|
||||
nsCOMPtr<nsIDOMRange> range;
|
||||
res = selection->GetRangeAt(0, getter_AddRefs(range));
|
||||
if (NS_FAILED(res)) return res;
|
||||
|
||||
nsCOMPtr<nsIDOMNode> startParent;
|
||||
PRInt32 startOffset, endOffset;
|
||||
res = range->GetStartParent(getter_AddRefs(startParent));
|
||||
if (NS_FAILED(res)) return res;
|
||||
res = range->GetStartOffset(&startOffset);
|
||||
if (NS_FAILED(res)) return res;
|
||||
|
||||
nsCOMPtr<nsIDOMNode> endParent;
|
||||
res = range->GetEndParent(getter_AddRefs(endParent));
|
||||
if (NS_FAILED(res)) return res;
|
||||
res = range->GetEndOffset(&endOffset);
|
||||
if (NS_FAILED(res)) return res;
|
||||
|
||||
if (startParent && startParent == endParent && (endOffset-startOffset) == 1)
|
||||
{
|
||||
nsCOMPtr<nsIDOMNode> selectedNode = GetChildAt(startParent, startOffset);
|
||||
if (NS_FAILED(res)) return NS_OK;
|
||||
|
||||
selectedElement = do_QueryInterface(selectedNode);
|
||||
bNodeFound = PR_TRUE;
|
||||
}
|
||||
|
||||
nsAutoString TagName = aTagName;
|
||||
TagName.ToLowerCase();
|
||||
// Empty string indicates we should match any element tag
|
||||
PRBool anyTag = (TagName.IsEmpty());
|
||||
|
||||
//Note that this doesn't need to go through the transaction system
|
||||
|
||||
nsresult res=NS_ERROR_NOT_INITIALIZED;
|
||||
//PRBool first=PR_TRUE;
|
||||
nsCOMPtr<nsIDOMSelection>selection;
|
||||
res = GetSelection(getter_AddRefs(selection));
|
||||
if (NS_FAILED(res)) return res;
|
||||
if (!selection) return NS_ERROR_NULL_POINTER;
|
||||
|
||||
PRBool isCollapsed;
|
||||
selection->GetIsCollapsed(&isCollapsed);
|
||||
nsCOMPtr<nsIDOMElement> selectedElement;
|
||||
PRBool bNodeFound = PR_FALSE;
|
||||
|
||||
if (IsLink(TagName))
|
||||
{
|
||||
// Link tag is a special case - we return the anchor node
|
||||
|
|
|
@ -603,6 +603,7 @@ nsParagraphStateCommand::DoCommand(const PRUnichar *aCommand, nsISupports * refC
|
|||
return rv;
|
||||
}
|
||||
|
||||
|
||||
#ifdef XP_MAC
|
||||
#pragma mark -
|
||||
#endif
|
||||
|
|
|
@ -164,5 +164,4 @@ NS_DECL_COMPOSER_COMMAND(nsIncreaseFontSizeCommand)
|
|||
NS_DECL_COMPOSER_COMMAND(nsDecreaseFontSizeCommand)
|
||||
|
||||
|
||||
|
||||
#endif // nsComposerCommands_h_
|
||||
|
|
|
@ -44,6 +44,7 @@
|
|||
#include "nsIDOMNodeList.h"
|
||||
#include "nsICSSLoader.h"
|
||||
#include "nsICSSStyleSheet.h"
|
||||
#include "nsIContent.h"
|
||||
#include "nsIHTMLContentContainer.h"
|
||||
#include "nsIStyleSet.h"
|
||||
#include "nsIURI.h"
|
||||
|
@ -92,7 +93,6 @@
|
|||
///////////////////////////////////////
|
||||
// Editor Includes
|
||||
///////////////////////////////////////
|
||||
#include "nsIDOMEventReceiver.h"
|
||||
#include "nsIDOMEventCapturer.h"
|
||||
#include "nsString.h"
|
||||
#include "nsIDOMText.h"
|
||||
|
@ -117,6 +117,7 @@
|
|||
|
||||
#include "nsAOLCiter.h"
|
||||
#include "nsInternetCiter.h"
|
||||
#include "nsEditorShellMouseListener.h"
|
||||
|
||||
///////////////////////////////////////
|
||||
|
||||
|
@ -143,6 +144,11 @@ static NS_DEFINE_IID(kISupportsIID, NS_ISUPPORTS_IID);
|
|||
|
||||
#define EDITOR_BUNDLE_URL "chrome://editor/locale/editor.properties"
|
||||
|
||||
enum {
|
||||
eEditorController,
|
||||
eComposerController
|
||||
};
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
// Utility to extract document from a webshell object.
|
||||
static nsresult
|
||||
|
@ -267,6 +273,17 @@ nsEditorShell::~nsEditorShell()
|
|||
NS_IF_RELEASE(mStateMaintainer);
|
||||
NS_IF_RELEASE(mParserObserver);
|
||||
|
||||
// Remove our document mouse event listener
|
||||
if (mMouseListenerP)
|
||||
{
|
||||
nsCOMPtr<nsIDOMEventReceiver> erP;
|
||||
nsresult rv = GetDocumentEventReceiver(getter_AddRefs(erP));
|
||||
if (NS_SUCCEEDED(rv) && erP)
|
||||
{
|
||||
erP->RemoveEventListenerByIID(mMouseListenerP, NS_GET_IID(nsIDOMMouseListener));
|
||||
mMouseListenerP = nsnull;
|
||||
}
|
||||
}
|
||||
// the only other references we hold are in nsCOMPtrs, so they'll take
|
||||
// care of themselves.
|
||||
}
|
||||
|
@ -367,19 +384,32 @@ nsEditorShell::ResetEditingState()
|
|||
}
|
||||
}
|
||||
|
||||
nsresult rv;
|
||||
// now, unregister the selection listener, if there was one
|
||||
if (mStateMaintainer)
|
||||
{
|
||||
nsCOMPtr<nsIDOMSelection> domSelection;
|
||||
// using a scoped result, because we don't really care if this fails
|
||||
nsresult result = GetEditorSelection(getter_AddRefs(domSelection));
|
||||
if (NS_SUCCEEDED(result) && domSelection)
|
||||
rv = GetEditorSelection(getter_AddRefs(domSelection));
|
||||
if (NS_SUCCEEDED(rv) && domSelection)
|
||||
{
|
||||
domSelection->RemoveSelectionListener(mStateMaintainer);
|
||||
NS_IF_RELEASE(mStateMaintainer);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Remove our document mouse event listener
|
||||
if (mMouseListenerP)
|
||||
{
|
||||
nsCOMPtr<nsIDOMEventReceiver> erP;
|
||||
rv = GetDocumentEventReceiver(getter_AddRefs(erP));
|
||||
if (NS_SUCCEEDED(rv) && erP)
|
||||
{
|
||||
erP->RemoveEventListenerByIID(mMouseListenerP, NS_GET_IID(nsIDOMMouseListener));
|
||||
mMouseListenerP = nsnull;
|
||||
}
|
||||
}
|
||||
|
||||
// clear this editor out of the controller
|
||||
if (mEditorController)
|
||||
{
|
||||
|
@ -476,6 +506,28 @@ nsEditorShell::PrepareDocumentForEditing(nsIDocumentLoader* aLoader, nsIURI *aUr
|
|||
mEditorController->SetCommandRefCon(editorAsISupports);
|
||||
}
|
||||
|
||||
|
||||
// get a mouse listener for double click on tags
|
||||
// We can't use nsEditor listener because core editor shouldn't call UI commands
|
||||
rv = NS_NewEditorShellMouseListener(getter_AddRefs(mMouseListenerP), this);
|
||||
if (NS_FAILED(rv))
|
||||
{
|
||||
mMouseListenerP = nsnull;
|
||||
return rv;
|
||||
}
|
||||
|
||||
// Add mouse listener to document
|
||||
nsCOMPtr<nsIDOMEventReceiver> erP;
|
||||
rv = GetDocumentEventReceiver(getter_AddRefs(erP));
|
||||
if (NS_FAILED(rv))
|
||||
{
|
||||
mMouseListenerP = nsnull;
|
||||
return rv;
|
||||
}
|
||||
|
||||
rv = erP->AddEventListenerByIID(mMouseListenerP, NS_GET_IID(nsIDOMMouseListener));
|
||||
if (NS_FAILED(rv)) return rv;
|
||||
|
||||
// now all the listeners are set up, we can call PostCreate
|
||||
rv = editor->PostCreate();
|
||||
if (NS_FAILED(rv)) return rv;
|
||||
|
@ -498,7 +550,7 @@ nsEditorShell::PrepareDocumentForEditing(nsIDocumentLoader* aLoader, nsIURI *aUr
|
|||
nsCRT::strncmp(pageURLString,"about:blank", 11) != 0)
|
||||
{
|
||||
// Clutzy method of converting URL to local file format
|
||||
// nsIFileSpec is going away -- is nsFileSpec???
|
||||
// nsIFileSpec is going away -- WE NEED TO REWRITE nsIDiskDocument!
|
||||
nsFileURL pageURL(pageURLString);
|
||||
nsFileSpec pageSpec(pageURL);
|
||||
|
||||
|
@ -554,6 +606,53 @@ nsEditorShell::PrepareDocumentForEditing(nsIDocumentLoader* aLoader, nsIURI *aUr
|
|||
return NS_OK;
|
||||
}
|
||||
|
||||
nsresult nsEditorShell::GetDocumentEventReceiver(nsIDOMEventReceiver **aEventReceiver)
|
||||
{
|
||||
if (!aEventReceiver) return NS_ERROR_NULL_POINTER;
|
||||
if (!mContentWindow || !mEditor) return NS_ERROR_NOT_INITIALIZED;
|
||||
|
||||
nsCOMPtr<nsIDOMDocument> domDoc;
|
||||
mContentWindow->GetDocument(getter_AddRefs(domDoc));
|
||||
if (!domDoc) return NS_ERROR_NOT_INITIALIZED;
|
||||
|
||||
nsCOMPtr<nsIDOMElement> rootElement;
|
||||
nsCOMPtr<nsIEditor> editor = do_QueryInterface(mEditor);
|
||||
nsresult rv = editor->GetRootElement(getter_AddRefs(rootElement));
|
||||
|
||||
nsCOMPtr<nsIDOMEventReceiver> erP;
|
||||
|
||||
//(Copied from nsHTMLEditor::InstallEventListeners)
|
||||
//now hack to make sure we are not anonymous content if we are
|
||||
// grabbing the parent of root element for our observer
|
||||
nsCOMPtr<nsIContent> content = do_QueryInterface(rootElement);
|
||||
if (content)
|
||||
{
|
||||
nsCOMPtr<nsIContent> parent;
|
||||
if (NS_SUCCEEDED(content->GetParent(*getter_AddRefs(parent))) && parent)
|
||||
{
|
||||
PRInt32 index;
|
||||
if (NS_FAILED(parent->IndexOf(content, index)) || index<0 )
|
||||
{
|
||||
rootElement = do_QueryInterface(parent);
|
||||
rv = rootElement->QueryInterface(NS_GET_IID(nsIDOMEventReceiver), getter_AddRefs(erP));
|
||||
}
|
||||
else
|
||||
rootElement = 0;
|
||||
}
|
||||
}
|
||||
if (!rootElement && domDoc)
|
||||
rv = domDoc->QueryInterface(NS_GET_IID(nsIDOMEventReceiver), getter_AddRefs(erP));
|
||||
//end hack
|
||||
|
||||
if (erP)
|
||||
{
|
||||
*aEventReceiver = erP;
|
||||
NS_ADDREF(*aEventReceiver);
|
||||
}
|
||||
return rv;
|
||||
}
|
||||
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsEditorShell::SetContentWindow(nsIDOMWindow* aWin)
|
||||
{
|
||||
|
@ -592,12 +691,12 @@ nsEditorShell::SetContentWindow(nsIDOMWindow* aWin)
|
|||
|
||||
mEditorController = editorController; // temp weak link, so we can get it and set the editor later
|
||||
|
||||
rv = controllers->InsertControllerAt(0, controller);
|
||||
rv = controllers->InsertControllerAt(eEditorController, controller);
|
||||
if (NS_FAILED(rv)) return rv;
|
||||
}
|
||||
|
||||
{
|
||||
// the first is a composer controller, and takes an nsIEditorShell as the refCon
|
||||
// the second is a composer controller, and takes an nsIEditorShell as the refCon
|
||||
nsCOMPtr<nsIController> controller = do_CreateInstance("component://netscape/editor/composercontroller", &rv);
|
||||
if (NS_FAILED(rv)) return rv;
|
||||
nsCOMPtr<nsIEditorController> editorController = do_QueryInterface(controller);
|
||||
|
@ -606,7 +705,7 @@ nsEditorShell::SetContentWindow(nsIDOMWindow* aWin)
|
|||
rv = editorController->Init(shellAsISupports);
|
||||
if (NS_FAILED(rv)) return rv;
|
||||
|
||||
rv = controllers->InsertControllerAt(1, controller);
|
||||
rv = controllers->InsertControllerAt(eComposerController, controller);
|
||||
if (NS_FAILED(rv)) return rv;
|
||||
}
|
||||
|
||||
|
@ -2668,21 +2767,30 @@ nsEditorShell::ConfirmWithCancel(const nsString& aTitle, const nsString& aQuesti
|
|||
if ( NS_SUCCEEDED(rv) )
|
||||
{
|
||||
// Stuff in Parameters
|
||||
block->SetInt( nsICommonDialogs::eNumberButtons,3 );
|
||||
block->SetString( nsICommonDialogs::eMsg, aQuestion.GetUnicode());
|
||||
nsAutoString url; url.AssignWithConversion( "chrome://global/skin/question-icon.gif" );
|
||||
block->SetString( nsICommonDialogs::eIconURL, url.GetUnicode());
|
||||
|
||||
nsAutoString yesStr, noStr;
|
||||
// Default is Yes, No, Cancel
|
||||
PRInt32 numberOfButtons = 3;
|
||||
if (aYesString)
|
||||
yesStr.Assign(*aYesString);
|
||||
else
|
||||
// We always want a "Yes" string, so supply the default
|
||||
GetBundleString(NS_ConvertASCIItoUCS2("Yes"), yesStr);
|
||||
|
||||
if (aNoString)
|
||||
if (aNoString && aNoString->Length() > 0)
|
||||
{
|
||||
noStr.Assign(*aNoString);
|
||||
block->SetString( nsICommonDialogs::eButton2Text, noStr.GetUnicode() );
|
||||
}
|
||||
else
|
||||
GetBundleString(NS_ConvertASCIItoUCS2("No"), noStr);
|
||||
{
|
||||
// No string for "No" means we only want Yes, Cancel
|
||||
numberOfButtons = 2;
|
||||
}
|
||||
block->SetInt( nsICommonDialogs::eNumberButtons, numberOfButtons );
|
||||
|
||||
nsAutoString cancelStr;
|
||||
GetBundleString(NS_ConvertASCIItoUCS2("Cancel"), cancelStr);
|
||||
|
@ -2691,7 +2799,6 @@ nsEditorShell::ConfirmWithCancel(const nsString& aTitle, const nsString& aQuesti
|
|||
//Note: "button0" is always Ok or Yes action, "button1" is Cancel
|
||||
block->SetString( nsICommonDialogs::eButton0Text, yesStr.GetUnicode() );
|
||||
block->SetString( nsICommonDialogs::eButton1Text, cancelStr.GetUnicode() );
|
||||
block->SetString( nsICommonDialogs::eButton2Text, noStr.GetUnicode() );
|
||||
|
||||
NS_WITH_SERVICE(nsICommonDialogs, dialog, kCommonDialogsCID, &rv);
|
||||
if ( NS_SUCCEEDED( rv ) )
|
||||
|
@ -2922,7 +3029,6 @@ nsEditorShell::SetParagraphFormat(const PRUnichar * paragraphFormat)
|
|||
return err;
|
||||
}
|
||||
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsEditorShell::GetEditorDocument(nsIDOMDocument** aEditorDocument)
|
||||
{
|
||||
|
@ -4663,3 +4769,33 @@ nsEditorShell::DocumentIsRootDoc(nsIDocumentLoader* aLoader, PRBool& outIsRoot)
|
|||
return NS_OK;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsEditorShell::EditElementProperties(nsIDOMElement *aElement, int x, int y)
|
||||
{
|
||||
if (!aElement) return NS_OK;
|
||||
nsresult rv = NS_ERROR_FAILURE;
|
||||
|
||||
#if DEBUG_cmanske
|
||||
nsAutoString TagName;
|
||||
aElement->GetTagName(TagName);
|
||||
TagName.ToLowerCase();
|
||||
char szTagName[64];
|
||||
TagName.ToCString(szTagName, 64);
|
||||
printf("***** DBLClick: TagName of element clicked on: %s\n", szTagName);
|
||||
#endif
|
||||
// Get the ComposerController:
|
||||
nsCOMPtr<nsIControllers> controllers;
|
||||
rv = mContentWindow->GetControllers(getter_AddRefs(controllers));
|
||||
if (NS_FAILED(rv)) return rv;
|
||||
if (!controllers) return NS_ERROR_NULL_POINTER;
|
||||
|
||||
nsCOMPtr<nsIController> controller;
|
||||
rv = controllers->GetControllerAt(eComposerController, getter_AddRefs(controller));
|
||||
if (NS_FAILED(rv)) return rv;
|
||||
if (!controller) return NS_ERROR_NULL_POINTER;
|
||||
nsCOMPtr<nsIEditorController> composerController = do_QueryInterface(controller);
|
||||
|
||||
// Execute the command
|
||||
nsAutoString commandName(NS_ConvertASCIItoUCS2("cmd_advancedProperties"));
|
||||
return composerController->DoCommand(commandName.GetUnicode());
|
||||
}
|
||||
|
|
|
@ -33,9 +33,11 @@
|
|||
#include "nsIEditorController.h"
|
||||
#include "nsIDocumentLoaderObserver.h"
|
||||
#include "nsIDOMSelectionListener.h"
|
||||
#include "nsIDOMEventReceiver.h"
|
||||
#include "nsIPrompt.h"
|
||||
#include "nsIStreamObserver.h"
|
||||
#include "nsIDOMDocument.h"
|
||||
#include "nsIDOMEventListener.h"
|
||||
#include "nsVoidArray.h"
|
||||
#include "nsTextServicesCID.h"
|
||||
#include "nsIEditorSpellCheck.h"
|
||||
|
@ -143,9 +145,15 @@ class nsEditorShell : public nsIEditorShell,
|
|||
// is the document being loaded the root of a frameset, or a non-frameset doc?
|
||||
nsresult DocumentIsRootDoc(nsIDocumentLoader* aLoader, PRBool& outIsRoot);
|
||||
|
||||
nsCOMPtr<nsIHTMLEditor> mEditor; // this can be either an HTML or plain text (or other?) editor
|
||||
nsCOMPtr<nsISupports> mSearchContext; // context used for search and replace. Owned by the appshell.
|
||||
nsCOMPtr<nsISpellChecker> mSpellChecker;
|
||||
nsCOMPtr<nsIHTMLEditor> mEditor; // this can be either an HTML or plain text (or other?) editor
|
||||
nsCOMPtr<nsISupports> mSearchContext; // context used for search and replace. Owned by the appshell.
|
||||
nsCOMPtr<nsISpellChecker> mSpellChecker;
|
||||
|
||||
// Let UI detect and process double click on elements for AdvancedProperties
|
||||
// (see nsEditorShellMouseEventListener)
|
||||
nsCOMPtr<nsIDOMEventListener> mMouseListenerP;
|
||||
// We need this to add mMouseListenerP to document
|
||||
nsresult GetDocumentEventReceiver(nsIDOMEventReceiver **aEventReceiver);
|
||||
|
||||
PRBool mMailCompose;
|
||||
|
||||
|
|
|
@ -188,6 +188,13 @@ interface nsIEditorShell : nsISupports
|
|||
|
||||
/** Element insert and property editing */
|
||||
|
||||
/** Launch the "Advanced Edit" property dialog
|
||||
* for the supplied element
|
||||
* (Called by the DblClick handler in EditorShellMouseListener owned by EditorShell)
|
||||
* Use x and y are hints to allow different behavior near left and top borders, etc.
|
||||
*/
|
||||
void EditElementProperties(in nsIDOMElement element, in PRInt32 x, in PRInt32 y);
|
||||
|
||||
/** Return an element only if it is the only node selected,
|
||||
* such as an image, horizontal rule, etc.
|
||||
* The exception is a link, which is more like a text attribute:
|
||||
|
|
|
@ -331,7 +331,7 @@ nsresult nsComposerController::RegisterComposerCommands(nsIControllerCommandMana
|
|||
NS_REGISTER_ONE_COMMAND(nsRemoveStylesCommand, "cmd_removeStyles");
|
||||
NS_REGISTER_ONE_COMMAND(nsIncreaseFontSizeCommand, "cmd_increaseFont");
|
||||
NS_REGISTER_ONE_COMMAND(nsDecreaseFontSizeCommand, "cmd_decreaseFont");
|
||||
|
||||
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
|
|
|
@ -2767,9 +2767,9 @@ nsHTMLEditor::SetCaretAfterElement(nsIDOMElement* aElement)
|
|||
return res;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP nsHTMLEditor::SetParagraphFormat(const nsString& aParagraphFormat)
|
||||
NS_IMETHODIMP
|
||||
nsHTMLEditor::SetParagraphFormat(const nsString& aParagraphFormat)
|
||||
{
|
||||
//Kinda sad to waste memory just to force lower case
|
||||
nsAutoString tag; tag.Assign(aParagraphFormat);
|
||||
tag.ToLowerCase();
|
||||
return InsertBasicBlock(tag);
|
||||
|
@ -3340,25 +3340,50 @@ nsHTMLEditor::GetSelectedElement(const nsString& aTagName, nsIDOMElement** aRetu
|
|||
// default is null - no element found
|
||||
*aReturn = nsnull;
|
||||
|
||||
// First look for a single element in selection
|
||||
nsCOMPtr<nsIDOMSelection>selection;
|
||||
nsresult res = GetSelection(getter_AddRefs(selection));
|
||||
if (NS_FAILED(res)) return res;
|
||||
if (!selection) return NS_ERROR_NULL_POINTER;
|
||||
|
||||
PRBool bNodeFound = PR_FALSE;
|
||||
res=NS_ERROR_NOT_INITIALIZED;
|
||||
PRBool isCollapsed;
|
||||
selection->GetIsCollapsed(&isCollapsed);
|
||||
|
||||
nsCOMPtr<nsIDOMElement> selectedElement;
|
||||
nsCOMPtr<nsIDOMRange> range;
|
||||
res = selection->GetRangeAt(0, getter_AddRefs(range));
|
||||
if (NS_FAILED(res)) return res;
|
||||
|
||||
nsCOMPtr<nsIDOMNode> startParent;
|
||||
PRInt32 startOffset, endOffset;
|
||||
res = range->GetStartParent(getter_AddRefs(startParent));
|
||||
if (NS_FAILED(res)) return res;
|
||||
res = range->GetStartOffset(&startOffset);
|
||||
if (NS_FAILED(res)) return res;
|
||||
|
||||
nsCOMPtr<nsIDOMNode> endParent;
|
||||
res = range->GetEndParent(getter_AddRefs(endParent));
|
||||
if (NS_FAILED(res)) return res;
|
||||
res = range->GetEndOffset(&endOffset);
|
||||
if (NS_FAILED(res)) return res;
|
||||
|
||||
if (startParent && startParent == endParent && (endOffset-startOffset) == 1)
|
||||
{
|
||||
nsCOMPtr<nsIDOMNode> selectedNode = GetChildAt(startParent, startOffset);
|
||||
if (NS_FAILED(res)) return NS_OK;
|
||||
|
||||
selectedElement = do_QueryInterface(selectedNode);
|
||||
bNodeFound = PR_TRUE;
|
||||
}
|
||||
|
||||
nsAutoString TagName = aTagName;
|
||||
TagName.ToLowerCase();
|
||||
// Empty string indicates we should match any element tag
|
||||
PRBool anyTag = (TagName.IsEmpty());
|
||||
|
||||
//Note that this doesn't need to go through the transaction system
|
||||
|
||||
nsresult res=NS_ERROR_NOT_INITIALIZED;
|
||||
//PRBool first=PR_TRUE;
|
||||
nsCOMPtr<nsIDOMSelection>selection;
|
||||
res = GetSelection(getter_AddRefs(selection));
|
||||
if (NS_FAILED(res)) return res;
|
||||
if (!selection) return NS_ERROR_NULL_POINTER;
|
||||
|
||||
PRBool isCollapsed;
|
||||
selection->GetIsCollapsed(&isCollapsed);
|
||||
nsCOMPtr<nsIDOMElement> selectedElement;
|
||||
PRBool bNodeFound = PR_FALSE;
|
||||
|
||||
if (IsLink(TagName))
|
||||
{
|
||||
// Link tag is a special case - we return the anchor node
|
||||
|
|
|
@ -25,6 +25,7 @@
|
|||
#include "nsVoidArray.h"
|
||||
#include "nsString.h"
|
||||
|
||||
#include "nsIDOMEvent.h"
|
||||
#include "nsIDOMDocument.h"
|
||||
#include "nsIDocument.h"
|
||||
#include "nsIPresShell.h"
|
||||
|
@ -352,8 +353,6 @@ nsTextEditorKeyListener::ScrollSelectionIntoView()
|
|||
* nsTextEditorMouseListener implementation
|
||||
*/
|
||||
|
||||
|
||||
|
||||
NS_IMPL_ADDREF(nsTextEditorMouseListener)
|
||||
|
||||
NS_IMPL_RELEASE(nsTextEditorMouseListener)
|
||||
|
@ -540,42 +539,9 @@ nsTextEditorMouseListener::MouseDown(nsIDOMEvent* aMouseEvent)
|
|||
nsresult
|
||||
nsTextEditorMouseListener::MouseUp(nsIDOMEvent* aMouseEvent)
|
||||
{
|
||||
nsCOMPtr<nsIDOMMouseEvent> mouseEvent ( do_QueryInterface(aMouseEvent) );
|
||||
if (!mouseEvent) {
|
||||
//non-ui event passed in. bad things.
|
||||
return NS_OK;
|
||||
}
|
||||
// Detect double click message:
|
||||
PRUint16 clickCount;
|
||||
nsresult res = mouseEvent->GetClickCount(&clickCount);
|
||||
if (NS_FAILED(res)) return res;
|
||||
|
||||
if (clickCount == 2)
|
||||
{
|
||||
nsCOMPtr<nsIHTMLEditor> htmlEditor = do_QueryInterface(mEditor);
|
||||
if (htmlEditor)
|
||||
{
|
||||
nsCOMPtr<nsIDOMElement> selectedElement;
|
||||
if (NS_SUCCEEDED(htmlEditor->GetSelectedElement(nsAutoString(), getter_AddRefs(selectedElement)))
|
||||
&& selectedElement)
|
||||
{
|
||||
nsAutoString TagName;
|
||||
selectedElement->GetTagName(TagName);
|
||||
TagName.ToLowerCase();
|
||||
|
||||
#if DEBUG_cmanske
|
||||
char szTagName[64];
|
||||
TagName.ToCString(szTagName, 64);
|
||||
printf("Single Selected element found: %s\n", szTagName);
|
||||
#endif
|
||||
}
|
||||
}
|
||||
}
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
|
||||
|
||||
nsresult
|
||||
nsTextEditorMouseListener::MouseClick(nsIDOMEvent* aMouseEvent)
|
||||
{
|
||||
|
@ -607,13 +573,10 @@ nsTextEditorMouseListener::MouseOut(nsIDOMEvent* aMouseEvent)
|
|||
}
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* nsTextEditorMouseListener implementation
|
||||
* nsTextEditorTextListener implementation
|
||||
*/
|
||||
|
||||
|
||||
|
||||
NS_IMPL_ADDREF(nsTextEditorTextListener)
|
||||
|
||||
NS_IMPL_RELEASE(nsTextEditorTextListener)
|
||||
|
|
|
@ -76,7 +76,7 @@ protected:
|
|||
};
|
||||
|
||||
|
||||
/** editor Implementation of the MouseListener interface
|
||||
/** editor Implementation of the TextListener interface
|
||||
*/
|
||||
class nsTextEditorTextListener : public nsIDOMTextListener
|
||||
{
|
||||
|
@ -140,7 +140,7 @@ protected:
|
|||
};
|
||||
|
||||
|
||||
/** editor Implementation of the TextListener interface
|
||||
/** editor Implementation of the MouseListener interface
|
||||
*/
|
||||
class nsTextEditorMouseListener : public nsIDOMMouseListener
|
||||
{
|
||||
|
@ -176,7 +176,7 @@ protected:
|
|||
};
|
||||
|
||||
|
||||
/** editor Implementation of the MouseListener interface
|
||||
/** editor Implementation of the DragListener interface
|
||||
*/
|
||||
class nsTextEditorDragListener : public nsIDOMDragListener
|
||||
{
|
||||
|
|
|
@ -1,55 +0,0 @@
|
|||
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
|
||||
*
|
||||
* The contents of this file are subject to the Netscape Public
|
||||
* License Version 1.1 (the "License"); you may not use this file
|
||||
* except in compliance with the License. You may obtain a copy of
|
||||
* the License at http://www.mozilla.org/NPL/
|
||||
*
|
||||
* Software distributed under the License is distributed on an "AS
|
||||
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
|
||||
* implied. See the License for the specific language governing
|
||||
* rights and limitations under the License.
|
||||
*
|
||||
* The Original Code is Mozilla Communicator client code.
|
||||
*
|
||||
* The Initial Developer of the Original Code is Netscape Communications
|
||||
* Corporation. Portions created by Netscape are
|
||||
* Copyright (C) 1998 Netscape Communications Corporation. All
|
||||
* Rights Reserved.
|
||||
*
|
||||
* Contributor(s):
|
||||
*/
|
||||
|
||||
#ifndef NS_IEDITOR_CONTROLLER_H
|
||||
#define NS_IEDITOR_CONTROLLER_H
|
||||
|
||||
#define NS_IEDITORCONTROLLER_IID_STR "075F6CB1-B26D-11d3-9933-00108301233C"
|
||||
|
||||
#define NS_IEDITORCONTROLLER_IID \
|
||||
{ 0x75f6cb1, 0xb26d, 0x11d3, \
|
||||
{ 0x99, 0x33, 0x0, 0x10, 0x83, 0x1, 0x23, 0x3c }}
|
||||
|
||||
|
||||
class nsIEditor;
|
||||
class nsCString;
|
||||
|
||||
class nsIEditorController : public nsISupports
|
||||
{
|
||||
public:
|
||||
NS_DEFINE_STATIC_IID_ACCESSOR(NS_IEDITORCONTROLLER_IID)
|
||||
|
||||
/** init the controller
|
||||
* aCommandRefCon = a cookie that is passed to commands
|
||||
*/
|
||||
NS_IMETHOD Init(nsISupports *aCommandRefCon) = 0;
|
||||
|
||||
/** Set the cookie that is passed to commands
|
||||
*/
|
||||
NS_IMETHOD SetCommandRefCon(nsISupports *aCommandRefCon) = 0;
|
||||
|
||||
};
|
||||
|
||||
|
||||
#endif //NS_IEDITOR_CONTROLLER_H
|
||||
|
||||
|
|
@ -25,6 +25,8 @@
|
|||
|
||||
|
||||
var gComposerCommandManager = null;
|
||||
var commonDialogsService = Components.classes["component://netscape/appshell/commonDialogs"].getService();
|
||||
commonDialogsService = commonDialogsService.QueryInterface(Components.interfaces.nsICommonDialogs);
|
||||
|
||||
//-----------------------------------------------------------------------------------
|
||||
function PrintObject(obj)
|
||||
|
@ -102,6 +104,64 @@ var nsOpenCommand =
|
|||
}
|
||||
};
|
||||
|
||||
//-----------------------------------------------------------------------------------
|
||||
var nsRevertCommand =
|
||||
{
|
||||
isCommandEnabled: function(aCommand, dummy)
|
||||
{
|
||||
return (window.editorShell &&
|
||||
window.editorShell.documentModified &&
|
||||
editorShell.editorDocument.location != "about:blank");
|
||||
},
|
||||
|
||||
doCommand: function(aCommand)
|
||||
{
|
||||
if (window.editorShell &&
|
||||
window.editorShell.documentModified &&
|
||||
editorShell.editorDocument.location != "about:blank")
|
||||
{
|
||||
// Confirm with the user to abandon current changes
|
||||
if (commonDialogsService)
|
||||
{
|
||||
var result = {value:0};
|
||||
|
||||
// Put the page title in the message string
|
||||
var title = editorShell.editorDocument.title;
|
||||
if (!title || title.length == 0)
|
||||
title = editorShell.GetTitle("untitled");
|
||||
|
||||
var msg = editorShell.GetString("AbandonChanges").replace(/%title%/,title);
|
||||
|
||||
commonDialogsService.UniversalDialog(
|
||||
window,
|
||||
null,
|
||||
editorShell.GetString("RevertCaption"),
|
||||
msg,
|
||||
null,
|
||||
editorShell.GetString("Revert"),
|
||||
editorShell.GetString("Cancel"),
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
{value:0},
|
||||
{value:0},
|
||||
"chrome://global/skin/question-icon.gif",
|
||||
{value:"false"},
|
||||
2,
|
||||
0,
|
||||
0,
|
||||
result
|
||||
);
|
||||
|
||||
// Reload page if first button (Rever) was pressed
|
||||
if(result.value == 0)
|
||||
editorShell.LoadUrl(editorShell.editorDocument.location);
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
//-----------------------------------------------------------------------------------
|
||||
var nsNewEditorCommand =
|
||||
{
|
||||
|
@ -296,8 +356,6 @@ var nsHLineCommand =
|
|||
hLine = window.editorShell.GetSelectedElement(tagName);
|
||||
|
||||
if (hLine) {
|
||||
dump("HLine was found -- opening dialog...!\n");
|
||||
|
||||
// We only open the dialog for an existing HRule
|
||||
window.openDialog("chrome://editor/content/EdHLineProps.xul", "_blank", "chrome,close,titlebar,modal");
|
||||
} else {
|
||||
|
@ -307,7 +365,6 @@ var nsHLineCommand =
|
|||
// We change the default attributes to those saved in the user prefs
|
||||
|
||||
if (gPrefs) {
|
||||
dump(" We found the Prefs Service\n");
|
||||
var percent;
|
||||
var height;
|
||||
var shading;
|
||||
|
@ -315,7 +372,6 @@ var nsHLineCommand =
|
|||
|
||||
try {
|
||||
var align = gPrefs.GetIntPref("editor.hrule.align");
|
||||
dump("Align pref: "+align+"\n");
|
||||
if (align == 0 ) {
|
||||
hLine.setAttribute("align", "left");
|
||||
} else if (align == 2) {
|
||||
|
@ -327,18 +383,15 @@ var nsHLineCommand =
|
|||
|
||||
var width = gPrefs.GetIntPref("editor.hrule.width");
|
||||
var percent = gPrefs.GetBoolPref("editor.hrule.width_percent");
|
||||
dump("Width pref: "+width+", percent:"+percent+"\n");
|
||||
if (percent)
|
||||
width = width +"%";
|
||||
|
||||
hLine.setAttribute("width", width);
|
||||
|
||||
var height = gPrefs.GetIntPref("editor.hrule.height");
|
||||
dump("Size pref: "+height+"\n");
|
||||
hLine.setAttribute("size", String(height));
|
||||
|
||||
var shading = gPrefs.GetBoolPref("editor.hrule.shading");
|
||||
dump("Shading pref:"+shading+"\n");
|
||||
if (shading) {
|
||||
hLine.removeAttribute("noshade");
|
||||
} else {
|
||||
|
@ -491,6 +544,22 @@ var nsPagePropertiesCommand =
|
|||
}
|
||||
};
|
||||
|
||||
//-----------------------------------------------------------------------------------
|
||||
|
||||
var nsAdvancedPropertiesCommand =
|
||||
{
|
||||
isCommandEnabled: function(aCommand, dummy)
|
||||
{
|
||||
return (window.editorShell && window.editorShell.documentEditable);
|
||||
},
|
||||
doCommand: function(aCommand)
|
||||
{
|
||||
// Launch AdvancedEdit dialog for the selected element
|
||||
var element = window.editorShell.GetSelectedElement("");
|
||||
if (element)
|
||||
window.openDialog("chrome://editor/content/EdAdvancedEdit.xul", "_blank", "chrome,close,titlebar,modal,resizable=yes", "", element);
|
||||
}
|
||||
};
|
||||
|
||||
//-----------------------------------------------------------------------------------
|
||||
var nsColorPropertiesCommand =
|
||||
|
@ -575,6 +644,7 @@ function SetupControllerCommands()
|
|||
gComposerCommandManager.registerCommand("cmd_newEditor", nsNewEditorCommand);
|
||||
|
||||
gComposerCommandManager.registerCommand("cmd_open", nsOpenCommand);
|
||||
gComposerCommandManager.registerCommand("cmd_revert", nsRevertCommand);
|
||||
gComposerCommandManager.registerCommand("cmd_openRemote", nsOpenRemoteCommand);
|
||||
gComposerCommandManager.registerCommand("cmd_preview", nsPreviewCommand);
|
||||
gComposerCommandManager.registerCommand("cmd_quit", nsQuitCommand);
|
||||
|
@ -590,6 +660,8 @@ function SetupControllerCommands()
|
|||
gComposerCommandManager.registerCommand("cmd_listProperties", nsListPropertiesCommand);
|
||||
gComposerCommandManager.registerCommand("cmd_pageProperties", nsPagePropertiesCommand);
|
||||
gComposerCommandManager.registerCommand("cmd_colorProperties", nsColorPropertiesCommand);
|
||||
gComposerCommandManager.registerCommand("cmd_advancedProperties", nsAdvancedPropertiesCommand);
|
||||
|
||||
|
||||
gComposerCommandManager.registerCommand("cmd_image", nsImageCommand);
|
||||
gComposerCommandManager.registerCommand("cmd_hline", nsHLineCommand);
|
||||
|
|
|
@ -24,42 +24,34 @@
|
|||
* for the "All Tags Edit Mode" Every HTML tag shows up as an icon.
|
||||
*/
|
||||
|
||||
/* For "userdefined" or "unknown" tags */
|
||||
/* For "userdefined" or "unknown" tags
|
||||
(Note that "_" must be escaped)
|
||||
*/
|
||||
|
||||
*[_moz-userdefined] {
|
||||
*[\_moz-userdefined] {
|
||||
display: inline:
|
||||
min-height: 35px; margin-left: 2px; margin-top: 2px;
|
||||
padding-left: 16px;
|
||||
background: url(chrome://editor/skin/images/tag-unknown.gif) no-repeat;
|
||||
background: url(chrome://editor/content/images/tag-userdefined.gif) no-repeat;
|
||||
background-position: top left;
|
||||
}
|
||||
|
||||
*[_moz-userdefined]:before {
|
||||
content: url(chrome://editor/skin/images/tag-unknown.gif);
|
||||
min-height: 35px; margin-left: 2px; margin-top: 2px;
|
||||
}
|
||||
|
||||
foo[_moz-userdefined] {
|
||||
padding-left: 16px;
|
||||
background: url(chrome://editor/skin/images/tag-a.gif) no-repeat;
|
||||
background-position: top left;
|
||||
}
|
||||
|
||||
foo[_moz-userdefined]:before {
|
||||
content: url(chrome://editor/skin/images/tag-abr.gif.gif);
|
||||
min-height: 35px; margin-left: 2px; margin-top: 2px;
|
||||
a:before {
|
||||
content: none;
|
||||
/*url(chrome://editor/content/images/tag-a.gif);*/
|
||||
}
|
||||
|
||||
a {
|
||||
min-height: 35px; margin-left: 2px; margin-top: 2px;
|
||||
padding-left: 16px;
|
||||
background: url(chrome://editor/skin/images/tag-a.gif) no-repeat;
|
||||
background: url(chrome://editor/content/images/tag-a.gif) no-repeat;
|
||||
background-position: top left;
|
||||
}
|
||||
|
||||
abbr {
|
||||
min-height: 35px; margin-left: 2px; margin-top: 2px;
|
||||
padding-left: 16px;
|
||||
background: url(chrome://editor/skin/images/tag-abr.gif) no-repeat;
|
||||
background: url(chrome://editor/content/images/tag-abr.gif) no-repeat;
|
||||
background-position: top left;
|
||||
}
|
||||
|
||||
|
@ -67,157 +59,154 @@ abbr {
|
|||
acronym {
|
||||
min-height: 35px; margin-left: 2px; margin-top: 2px;
|
||||
padding-left: 16px;
|
||||
background: url(chrome://editor/skin/images/tag-acr.gif) no-repeat;
|
||||
background: url(chrome://editor/content/images/tag-acr.gif) no-repeat;
|
||||
background-position: top left;
|
||||
}
|
||||
|
||||
address {
|
||||
min-height: 35px; margin-left: 2px; margin-top: 2px;
|
||||
padding-left: 16px;
|
||||
background: url(chrome://editor/skin/images/tag-adr.gif) no-repeat;
|
||||
background: url(chrome://editor/content/images/tag-adr.gif) no-repeat;
|
||||
background-position: top left;
|
||||
}
|
||||
|
||||
applet {
|
||||
min-height: 35px; margin-left: 2px; margin-top: 2px;
|
||||
padding-left: 16px;
|
||||
background: url(chrome://editor/skin/images/tag-app.gif) no-repeat;
|
||||
background: url(chrome://editor/content/images/tag-app.gif) no-repeat;
|
||||
background-position: top left;
|
||||
}
|
||||
|
||||
area {
|
||||
min-height: 35px; margin-left: 2px; margin-top: 2px;
|
||||
padding-left: 16px;
|
||||
background: url(chrome://editor/skin/images/tag-ara.gif) no-repeat;
|
||||
background: url(chrome://editor/content/images/tag-ara.gif) no-repeat;
|
||||
background-position: top left;
|
||||
}
|
||||
|
||||
b {
|
||||
content: url(chrome://editor/skin/images/tag-b.gif);
|
||||
min-height: 35px; margin-left: 2px; margin-top: 2px;
|
||||
/*
|
||||
padding-left: 16px;
|
||||
background: url(chrome://editor/skin/images/tag-b.gif) no-repeat;
|
||||
background: url(chrome://editor/content/images/tag-b.gif) no-repeat;
|
||||
background-position: top left;
|
||||
*/
|
||||
}
|
||||
|
||||
basefont {
|
||||
min-height: 35px; margin-left: 2px; margin-top: 2px;
|
||||
padding-left: 16px;
|
||||
background: url(chrome://editor/skin/images/tag-bsf.gif) no-repeat;
|
||||
background: url(chrome://editor/content/images/tag-bsf.gif) no-repeat;
|
||||
background-position: top left;
|
||||
}
|
||||
|
||||
bdo {
|
||||
min-height: 35px; margin-left: 2px; margin-top: 2px;
|
||||
padding-left: 16px;
|
||||
background: url(chrome://editor/skin/images/tag-bdo.gif) no-repeat;
|
||||
background: url(chrome://editor/content/images/tag-bdo.gif) no-repeat;
|
||||
background-position: top left;
|
||||
}
|
||||
|
||||
big {
|
||||
min-height: 35px; margin-left: 2px; margin-top: 2px;
|
||||
padding-left: 16px;
|
||||
background: url(chrome://editor/skin/images/tag-big.gif) no-repeat;
|
||||
background: url(chrome://editor/content/images/tag-big.gif) no-repeat;
|
||||
background-position: top left;
|
||||
}
|
||||
|
||||
blockquote {
|
||||
min-height: 35px; margin-left: 2px; margin-top: 2px;
|
||||
padding-left: 16px;
|
||||
background: url(chrome://editor/skin/images/tag-blq.gif) no-repeat;
|
||||
background: url(chrome://editor/content/images/tag-blq.gif) no-repeat;
|
||||
background-position: top left;
|
||||
}
|
||||
|
||||
body {
|
||||
min-height: 35px; margin-left: 2px;
|
||||
padding-left: 16px;
|
||||
background: url(chrome://editor/skin/images/tag-body.gif) no-repeat;
|
||||
background: url(chrome://editor/content/images/tag-body.gif) no-repeat;
|
||||
background-position: top left;
|
||||
}
|
||||
|
||||
br {
|
||||
min-height: 35px; margin-left: 2px; margin-top: 2px;
|
||||
padding-left: 16px;
|
||||
background: url(chrome://editor/skin/images/tag-br.gif) no-repeat;
|
||||
background: url(chrome://editor/content/images/tag-br.gif) no-repeat;
|
||||
background-position: top left;
|
||||
}
|
||||
|
||||
button {
|
||||
min-height: 35px; margin-left: 2px; margin-top: 2px;
|
||||
padding-left: 16px;
|
||||
background: url(chrome://editor/skin/images/tag-btn.gif) no-repeat;
|
||||
background: url(chrome://editor/content/images/tag-btn.gif) no-repeat;
|
||||
background-position: top left;
|
||||
}
|
||||
|
||||
caption {
|
||||
min-height: 35px; margin-left: 2px; margin-top: 2px;
|
||||
padding-left: 16px;
|
||||
background: url(chrome://editor/skin/images/tag-cpt.gif) no-repeat;
|
||||
background: url(chrome://editor/content/images/tag-cpt.gif) no-repeat;
|
||||
background-position: top left;
|
||||
}
|
||||
|
||||
center {
|
||||
min-height: 35px; margin-left: 2px; margin-top: 2px;
|
||||
padding-left: 16px;
|
||||
background: url(chrome://editor/skin/images/tag-ctr.gif) no-repeat;
|
||||
background: url(chrome://editor/content/images/tag-ctr.gif) no-repeat;
|
||||
background-position: top left;
|
||||
}
|
||||
|
||||
cite {
|
||||
min-height: 35px; margin-left: 2px; margin-top: 2px;
|
||||
padding-left: 16px;
|
||||
background: url(chrome://editor/skin/images/tag-cit.gif) no-repeat;
|
||||
background: url(chrome://editor/content/images/tag-cit.gif) no-repeat;
|
||||
background-position: top left;
|
||||
}
|
||||
|
||||
code {
|
||||
min-height: 35px; margin-left: 2px; margin-top: 2px;
|
||||
padding-left: 16px;
|
||||
background: url(chrome://editor/skin/images/tag-cod.gif) no-repeat;
|
||||
background: url(chrome://editor/content/images/tag-cod.gif) no-repeat;
|
||||
background-position: top left;
|
||||
}
|
||||
|
||||
col {
|
||||
min-height: 35px; margin-left: 2px;
|
||||
padding-left: 16px;
|
||||
background: url(chrome://editor/skin/images/tag-col.gif) no-repeat;
|
||||
background: url(chrome://editor/content/images/tag-col.gif) no-repeat;
|
||||
background-position: top left;
|
||||
}
|
||||
|
||||
colgroup {
|
||||
min-height: 35px; margin-left: 2px;
|
||||
padding-left: 16px;
|
||||
background: url(chrome://editor/skin/images/tag-clg.gif) no-repeat;
|
||||
background: url(chrome://editor/content/images/tag-clg.gif) no-repeat;
|
||||
background-position: top left;
|
||||
}
|
||||
|
||||
dd {
|
||||
min-height: 35px; margin-left: 2px; margin-top: 2px;
|
||||
padding-left: 16px;
|
||||
background: url(chrome://editor/skin/images/tag-dd.gif) no-repeat;
|
||||
background: url(chrome://editor/content/images/tag-dd.gif) no-repeat;
|
||||
background-position: top left;
|
||||
}
|
||||
|
||||
del {
|
||||
min-height: 35px; margin-left: 2px; margin-top: 2px;
|
||||
padding-left: 16px;
|
||||
background: url(chrome://editor/skin/images/tag-del.gif) no-repeat;
|
||||
background: url(chrome://editor/content/images/tag-del.gif) no-repeat;
|
||||
background-position: top left;
|
||||
}
|
||||
|
||||
dfn {
|
||||
min-height: 35px; margin-left: 2px; margin-top: 2px;
|
||||
padding-left: 16px;
|
||||
background: url(chrome://editor/skin/images/tag-dfn.gif) no-repeat;
|
||||
background: url(chrome://editor/content/images/tag-dfn.gif) no-repeat;
|
||||
background-position: top left;
|
||||
}
|
||||
|
||||
dir {
|
||||
min-height: 35px; margin-left: 2px; margin-top: 2px;
|
||||
padding-left: 16px;
|
||||
background: url(chrome://editor/skin/images/tag-dir.gif) no-repeat;
|
||||
background: url(chrome://editor/content/images/tag-dir.gif) no-repeat;
|
||||
background-position: top left;
|
||||
}
|
||||
|
||||
|
@ -225,315 +214,315 @@ div {
|
|||
min-height: 35px; margin-left: 2px; margin-top: 2px;
|
||||
/* TEMPORARY TO COMPENSATE FOR BUG */
|
||||
padding-left: 16px;
|
||||
background: url(chrome://editor/skin/images/tag-div.gif) no-repeat;
|
||||
background: url(chrome://editor/content/images/tag-div.gif) no-repeat;
|
||||
background-position: top left;
|
||||
}
|
||||
|
||||
dl {
|
||||
min-height: 35px; margin-left: 2px; margin-top: 2px;
|
||||
padding-left: 16px;
|
||||
background: url(chrome://editor/skin/images/tag-dl.gif) no-repeat;
|
||||
background: url(chrome://editor/content/images/tag-dl.gif) no-repeat;
|
||||
background-position: top left;
|
||||
}
|
||||
|
||||
dt {
|
||||
min-height: 35px; margin-left: 2px; margin-top: 2px;
|
||||
padding-left: 16px;
|
||||
background: url(chrome://editor/skin/images/tag-dt.gif) no-repeat;
|
||||
background: url(chrome://editor/content/images/tag-dt.gif) no-repeat;
|
||||
background-position: top left;
|
||||
}
|
||||
|
||||
em {
|
||||
min-height: 35px; margin-left: 2px; margin-top: 2px;
|
||||
padding-left: 16px;
|
||||
background: url(chrome://editor/skin/images/tag-em.gif) no-repeat;
|
||||
background: url(chrome://editor/content/images/tag-em.gif) no-repeat;
|
||||
background-position: top left;
|
||||
}
|
||||
|
||||
fieldset {
|
||||
min-height: 35px; margin-left: 2px; margin-top: 2px;
|
||||
padding-left: 16px;
|
||||
background: url(chrome://editor/skin/images/tag-fld.gif) no-repeat;
|
||||
background: url(chrome://editor/content/images/tag-fld.gif) no-repeat;
|
||||
background-position: top left;
|
||||
}
|
||||
|
||||
font {
|
||||
min-height: 35px; margin-left: 2px; margin-top: 2px;
|
||||
padding-left: 16px;
|
||||
background: url(chrome://editor/skin/images/tag-fnt.gif) no-repeat;
|
||||
background: url(chrome://editor/content/images/tag-fnt.gif) no-repeat;
|
||||
background-position: top left;
|
||||
}
|
||||
|
||||
form {
|
||||
min-height: 35px; margin-left: 2px; margin-top: 2px;
|
||||
padding-left: 16px;
|
||||
background: url(chrome://editor/skin/images/tag-for.gif) no-repeat;
|
||||
background: url(chrome://editor/content/images/tag-for.gif) no-repeat;
|
||||
background-position: top left;
|
||||
}
|
||||
|
||||
frame {
|
||||
min-height: 35px; margin-left: 2px;
|
||||
padding-left: 16px;
|
||||
background: url(chrome://editor/skin/images/tag-frm.gif) no-repeat;
|
||||
background: url(chrome://editor/content/images/tag-frm.gif) no-repeat;
|
||||
background-position: top left;
|
||||
}
|
||||
|
||||
frameset {
|
||||
min-height: 35px; margin-left: 2px;
|
||||
padding-left: 16px;
|
||||
background: url(chrome://editor/skin/images/tag-fst.gif) no-repeat;
|
||||
background: url(chrome://editor/content/images/tag-fst.gif) no-repeat;
|
||||
background-position: top left;
|
||||
}
|
||||
|
||||
h1 {
|
||||
min-height: 35px; margin-left: 2px; margin-top: 2px;
|
||||
padding-left: 16px;
|
||||
background: url(chrome://editor/skin/images/tag-h1.gif) no-repeat;
|
||||
background: url(chrome://editor/content/images/tag-h1.gif) no-repeat;
|
||||
background-position: top left;
|
||||
}
|
||||
|
||||
h2 {
|
||||
min-height: 35px; margin-left: 2px; margin-top: 2px;
|
||||
padding-left: 16px;
|
||||
background: url(chrome://editor/skin/images/tag-h2.gif) no-repeat;
|
||||
background: url(chrome://editor/content/images/tag-h2.gif) no-repeat;
|
||||
background-position: top left;
|
||||
}
|
||||
|
||||
h3 {
|
||||
min-height: 35px; margin-left: 2px; margin-top: 2px;
|
||||
padding-left: 16px;
|
||||
background: url(chrome://editor/skin/images/tag-h3.gif) no-repeat;
|
||||
background: url(chrome://editor/content/images/tag-h3.gif) no-repeat;
|
||||
background-position: top left;
|
||||
}
|
||||
|
||||
h4 {
|
||||
min-height: 35px; margin-left: 2px; margin-top: 2px;
|
||||
padding-left: 16px;
|
||||
background: url(chrome://editor/skin/images/tag-h4.gif) no-repeat;
|
||||
background: url(chrome://editor/content/images/tag-h4.gif) no-repeat;
|
||||
background-position: top left;
|
||||
}
|
||||
|
||||
h5 {
|
||||
min-height: 35px; margin-left: 2px; margin-top: 2px;
|
||||
padding-left: 16px;
|
||||
background: url(chrome://editor/skin/images/tag-h5.gif) no-repeat;
|
||||
background: url(chrome://editor/content/images/tag-h5.gif) no-repeat;
|
||||
background-position: top left;
|
||||
}
|
||||
|
||||
h6 {
|
||||
min-height: 35px; margin-left: 2px; margin-top: 2px;
|
||||
padding-left: 16px;
|
||||
background: url(chrome://editor/skin/images/tag-h6.gif) no-repeat;
|
||||
background: url(chrome://editor/content/images/tag-h6.gif) no-repeat;
|
||||
background-position: top left;
|
||||
}
|
||||
|
||||
hr {
|
||||
min-height: 35px; margin-left: 2px; margin-top: 2px;
|
||||
padding-left: 16px;
|
||||
background: url(chrome://editor/skin/images/tag-hr.gif) no-repeat;
|
||||
background: url(chrome://editor/content/images/tag-hr.gif) no-repeat;
|
||||
background-position: top left;
|
||||
}
|
||||
|
||||
i {
|
||||
min-height: 35px; margin-left: 2px; margin-top: 2px;
|
||||
padding-left: 16px;
|
||||
background: url(chrome://editor/skin/images/tag-i.gif) no-repeat;
|
||||
background: url(chrome://editor/content/images/tag-i.gif) no-repeat;
|
||||
background-position: top left;
|
||||
}
|
||||
|
||||
iframe {
|
||||
min-height: 35px; margin-left: 2px;
|
||||
padding-left: 16px;
|
||||
background: url(chrome://editor/skin/images/tag-ifr.gif) no-repeat;
|
||||
background: url(chrome://editor/content/images/tag-ifr.gif) no-repeat;
|
||||
background-position: top left;
|
||||
}
|
||||
|
||||
img {
|
||||
min-height: 35px; margin-left: 2px; margin-top: 2px;
|
||||
padding-left: 16px;
|
||||
background: url(chrome://editor/skin/images/tag-img.gif) no-repeat;
|
||||
background: url(chrome://editor/content/images/tag-img.gif) no-repeat;
|
||||
background-position: top left;
|
||||
}
|
||||
|
||||
input {
|
||||
min-height: 35px; margin-left: 2px; margin-top: 2px;
|
||||
padding-left: 16px;
|
||||
background: url(chrome://editor/skin/images/tag-inp.gif) no-repeat;
|
||||
background: url(chrome://editor/content/images/tag-inp.gif) no-repeat;
|
||||
background-position: top left;
|
||||
}
|
||||
|
||||
ins {
|
||||
min-height: 35px; margin-left: 2px; margin-top: 2px;
|
||||
padding-left: 16px;
|
||||
background: url(chrome://editor/skin/images/tag-ins.gif) no-repeat;
|
||||
background: url(chrome://editor/content/images/tag-ins.gif) no-repeat;
|
||||
background-position: top left;
|
||||
}
|
||||
|
||||
isindex {
|
||||
min-height: 35px; margin-left: 2px;
|
||||
padding-left: 16px;
|
||||
background: url(chrome://editor/skin/images/tag-isx.gif) no-repeat;
|
||||
background: url(chrome://editor/content/images/tag-isx.gif) no-repeat;
|
||||
background-position: top left;
|
||||
}
|
||||
|
||||
kbd {
|
||||
min-height: 35px; margin-left: 2px; margin-top: 2px;
|
||||
padding-left: 16px;
|
||||
background: url(chrome://editor/skin/images/tag-kbd.gif) no-repeat;
|
||||
background: url(chrome://editor/content/images/tag-kbd.gif) no-repeat;
|
||||
background-position: top left;
|
||||
}
|
||||
|
||||
label {
|
||||
min-height: 35px; margin-left: 2px; margin-top: 2px;
|
||||
padding-left: 16px;
|
||||
background: url(chrome://editor/skin/images/tag-lbl.gif) no-repeat;
|
||||
background: url(chrome://editor/content/images/tag-lbl.gif) no-repeat;
|
||||
background-position: top left;
|
||||
}
|
||||
|
||||
legend {
|
||||
min-height: 35px; margin-left: 2px; margin-top: 2px;
|
||||
padding-left: 16px;
|
||||
background: url(chrome://editor/skin/images/tag-lgn.gif) no-repeat;
|
||||
background: url(chrome://editor/content/images/tag-lgn.gif) no-repeat;
|
||||
background-position: top left;
|
||||
}
|
||||
|
||||
li {
|
||||
min-height: 35px; margin-left: 2px; margin-top: 2px;
|
||||
padding-left: 16px;
|
||||
background: url(chrome://editor/skin/images/tag-li.gif) no-repeat;
|
||||
background: url(chrome://editor/content/images/tag-li.gif) no-repeat;
|
||||
background-position: top left;
|
||||
}
|
||||
|
||||
listing {
|
||||
min-height: 35px; margin-left: 2px; margin-top: 2px;
|
||||
padding-left: 16px;
|
||||
background: url(chrome://editor/skin/images/tag-lst.gif) no-repeat;
|
||||
background: url(chrome://editor/content/images/tag-lst.gif) no-repeat;
|
||||
background-position: top left;
|
||||
}
|
||||
|
||||
map {
|
||||
min-height: 35px; margin-left: 2px;
|
||||
padding-left: 16px;
|
||||
background: url(chrome://editor/skin/images/tag-map.gif) no-repeat;
|
||||
background: url(chrome://editor/content/images/tag-map.gif) no-repeat;
|
||||
background-position: top left;
|
||||
}
|
||||
|
||||
menu {
|
||||
min-height: 35px; margin-left: 2px; margin-top: 2px;
|
||||
padding-left: 16px;
|
||||
background: url(chrome://editor/skin/images/tag-men.gif) no-repeat;
|
||||
background: url(chrome://editor/content/images/tag-men.gif) no-repeat;
|
||||
background-position: top left;
|
||||
}
|
||||
|
||||
noframes {
|
||||
min-height: 35px; margin-left: 2px; margin-top: 2px;
|
||||
padding-left: 16px;
|
||||
background: url(chrome://editor/skin/images/tag-nfr.gif) no-repeat;
|
||||
background: url(chrome://editor/content/images/tag-nfr.gif) no-repeat;
|
||||
background-position: top left;
|
||||
}
|
||||
|
||||
noscript {
|
||||
min-height: 35px; margin-left: 2px; margin-top: 2px;
|
||||
padding-left: 16px;
|
||||
background: url(chrome://editor/skin/images/tag-nsc.gif) no-repeat;
|
||||
background: url(chrome://editor/content/images/tag-nsc.gif) no-repeat;
|
||||
background-position: top left;
|
||||
}
|
||||
|
||||
object {
|
||||
min-height: 35px; margin-left: 2px; margin-top: 2px;
|
||||
padding-left: 16px;
|
||||
background: url(chrome://editor/skin/images/tag-obj.gif) no-repeat;
|
||||
background: url(chrome://editor/content/images/tag-obj.gif) no-repeat;
|
||||
background-position: top left;
|
||||
}
|
||||
|
||||
ol {
|
||||
min-height: 35px; margin-left: 2px;
|
||||
padding-left: 16px;
|
||||
background: url(chrome://editor/skin/images/tag-ol.gif) no-repeat;
|
||||
background: url(chrome://editor/content/images/tag-ol.gif) no-repeat;
|
||||
background-position: top left;
|
||||
}
|
||||
|
||||
optgroup {
|
||||
min-height: 35px; margin-left: 2px; margin-top: 2px;
|
||||
padding-left: 16px;
|
||||
background: url(chrome://editor/skin/images/tag-opg.gif) no-repeat;
|
||||
background: url(chrome://editor/content/images/tag-opg.gif) no-repeat;
|
||||
background-position: top left;
|
||||
}
|
||||
|
||||
option {
|
||||
min-height: 35px; margin-left: 2px; margin-top: 2px;
|
||||
padding-left: 16px;
|
||||
background: url(chrome://editor/skin/images/tag-opt.gif) no-repeat;
|
||||
background: url(chrome://editor/content/images/tag-opt.gif) no-repeat;
|
||||
background-position: top left;
|
||||
}
|
||||
|
||||
p {
|
||||
min-height: 35px; margin-left: 2px; margin-top: 2px;
|
||||
padding-left: 16px;
|
||||
background: url(chrome://editor/skin/images/tag-p.gif) no-repeat;
|
||||
background: url(chrome://editor/content/images/tag-p.gif) no-repeat;
|
||||
background-position: top left;
|
||||
}
|
||||
|
||||
param {
|
||||
min-height: 35px; margin-left: 2px; margin-top: 2px;
|
||||
padding-left: 16px;
|
||||
background: url(chrome://editor/skin/images/tag-prm.gif) no-repeat;
|
||||
background: url(chrome://editor/content/images/tag-prm.gif) no-repeat;
|
||||
background-position: top left;
|
||||
}
|
||||
|
||||
plaintext {
|
||||
min-height: 35px; margin-left: 2px; margin-top: 2px;
|
||||
padding-left: 16px;
|
||||
background: url(chrome://editor/skin/images/tag-pln.gif) no-repeat;
|
||||
background: url(chrome://editor/content/images/tag-pln.gif) no-repeat;
|
||||
background-position: top left;
|
||||
}
|
||||
|
||||
pre {
|
||||
min-height: 35px; margin-left: 2px; margin-top: 2px;
|
||||
padding-left: 16px;
|
||||
background: url(chrome://editor/skin/images/tag-pre.gif) no-repeat;
|
||||
background: url(chrome://editor/content/images/tag-pre.gif) no-repeat;
|
||||
background-position: top left;
|
||||
}
|
||||
|
||||
q {
|
||||
min-height: 35px; margin-left: 2px; margin-top: 2px;
|
||||
padding-left: 16px;
|
||||
background: url(chrome://editor/skin/images/tag-q.gif) no-repeat;
|
||||
background: url(chrome://editor/content/images/tag-q.gif) no-repeat;
|
||||
background-position: top left;
|
||||
}
|
||||
|
||||
s {
|
||||
min-height: 35px; margin-left: 2px; margin-top: 2px;
|
||||
padding-left: 16px;
|
||||
background: url(chrome://editor/skin/images/tag-s.gif) no-repeat;
|
||||
background: url(chrome://editor/content/images/tag-s.gif) no-repeat;
|
||||
background-position: top left;
|
||||
}
|
||||
|
||||
samp {
|
||||
min-height: 35px; margin-left: 2px; margin-top: 2px;
|
||||
padding-left: 16px;
|
||||
background: url(chrome://editor/skin/images/tag-smp.gif) no-repeat;
|
||||
background: url(chrome://editor/content/images/tag-smp.gif) no-repeat;
|
||||
background-position: top left;
|
||||
}
|
||||
|
||||
script {
|
||||
min-height: 35px; margin-left: 2px; margin-top: 2px;
|
||||
padding-left: 16px;
|
||||
background: url(chrome://editor/skin/images/tag-scr.gif) no-repeat;
|
||||
background: url(chrome://editor/content/images/tag-scr.gif) no-repeat;
|
||||
background-position: top left;
|
||||
}
|
||||
|
||||
select {
|
||||
min-height: 35px; margin-left: 2px; margin-top: 2px;
|
||||
padding-left: 16px;
|
||||
background: url(chrome://editor/skin/images/tag-slc.gif) no-repeat;
|
||||
background: url(chrome://editor/content/images/tag-slc.gif) no-repeat;
|
||||
background-position: top left;
|
||||
}
|
||||
|
||||
small {
|
||||
min-height: 35px; margin-left: 2px; margin-top: 2px;
|
||||
padding-left: 16px;
|
||||
background: url(chrome://editor/skin/images/tag-sml.gif) no-repeat;
|
||||
background: url(chrome://editor/content/images/tag-sml.gif) no-repeat;
|
||||
background-position: top left;
|
||||
}
|
||||
|
||||
|
@ -541,35 +530,35 @@ span {
|
|||
min-height: 35px; margin-left: 2px; margin-top: 2px;
|
||||
/* TEMPORARY TO COMPENSATE FOR BUG */
|
||||
padding-left: 16px;
|
||||
background: url(chrome://editor/skin/images/tag-spn.gif) no-repeat;
|
||||
background: url(chrome://editor/content/images/tag-spn.gif) no-repeat;
|
||||
background-position: top left;
|
||||
}
|
||||
|
||||
strike {
|
||||
min-height: 35px; margin-left: 2px; margin-top: 2px;
|
||||
padding-left: 16px;
|
||||
background: url(chrome://editor/skin/images/tag-stk.gif) no-repeat;
|
||||
background: url(chrome://editor/content/images/tag-stk.gif) no-repeat;
|
||||
background-position: top left;
|
||||
}
|
||||
|
||||
strong {
|
||||
min-height: 35px; margin-left: 2px; margin-top: 2px;
|
||||
padding-left: 16px;
|
||||
background: url(chrome://editor/skin/images/tag-stn.gif) no-repeat;
|
||||
background: url(chrome://editor/content/images/tag-stn.gif) no-repeat;
|
||||
background-position: top left;
|
||||
}
|
||||
|
||||
sub {
|
||||
min-height: 35px; margin-left: 2px; margin-top: 2px;
|
||||
padding-left: 16px;
|
||||
background: url(chrome://editor/skin/images/tag-sub.gif) no-repeat;
|
||||
background: url(chrome://editor/content/images/tag-sub.gif) no-repeat;
|
||||
background-position: top left;
|
||||
}
|
||||
|
||||
sup {
|
||||
min-height: 35px; margin-left: 2px; margin-top: 2px;
|
||||
padding-left: 16px;
|
||||
background: url(chrome://editor/skin/images/tag-sup.gif) no-repeat;
|
||||
background: url(chrome://editor/content/images/tag-sup.gif) no-repeat;
|
||||
background-position: top left;
|
||||
}
|
||||
|
||||
|
@ -577,30 +566,24 @@ sup {
|
|||
some table elements. Trying the "before" strategy
|
||||
*/
|
||||
|
||||
table:before {
|
||||
content: url(chrome://editor/skin/images/tag-tbl.gif);
|
||||
/*
|
||||
table {
|
||||
min-height: 35px; margin-left: 2px;
|
||||
padding-left: 16px;
|
||||
background: url(chrome://editor/skin/images/tag-tbl.gif) no-repeat;
|
||||
background: url(chrome://editor/content/images/tag-tbl.gif) no-repeat;
|
||||
background-position: top left;
|
||||
*/
|
||||
}
|
||||
|
||||
tbody:before {
|
||||
content: url(chrome://editor/skin/images/tag-tbd.gif);
|
||||
/*
|
||||
tbody {
|
||||
min-height: 35px; margin-left: 2px; margin-top: 1px;
|
||||
padding-left: 16px;
|
||||
content: url(chrome://editor/skin/images/tag-tbd.gif) no-repeat;
|
||||
content: url(chrome://editor/content/images/tag-tbd.gif) no-repeat;
|
||||
background-position: top left;
|
||||
*/
|
||||
}
|
||||
|
||||
td {
|
||||
min-height: 35px; margin-left: 2px;
|
||||
padding-left: 16px;
|
||||
background-image: url(chrome://editor/skin/images/tag-td.gif);
|
||||
background-image: url(chrome://editor/content/images/tag-td.gif);
|
||||
background-repeat: no-repeat;
|
||||
background-position: top left;
|
||||
}
|
||||
|
@ -608,79 +591,69 @@ td {
|
|||
textarea {
|
||||
min-height: 35px; margin-left: 2px; margin-top: 2px;
|
||||
padding-left: 16px;
|
||||
background: url(chrome://editor/skin/images/tag-txt.gif) no-repeat;
|
||||
background: url(chrome://editor/content/images/tag-txt.gif) no-repeat;
|
||||
background-position: top left;
|
||||
}
|
||||
|
||||
tfoot:before {
|
||||
content: url(chrome://editor/skin/images/tag-tft.gif.gif);
|
||||
/*
|
||||
tfoot {
|
||||
min-height: 35px; margin-left: 2px; margin-top: 1px;
|
||||
padding-left: 16px;
|
||||
content: url(chrome://editor/skin/images/tag-tft.gif) no-repeat;
|
||||
content: url(chrome://editor/content/images/tag-tft.gif) no-repeat;
|
||||
background-position: top left;
|
||||
*/
|
||||
}
|
||||
|
||||
th {
|
||||
min-height: 35px; margin-left: 2px;
|
||||
padding-left: 16px;
|
||||
background: url(chrome://editor/skin/images/tag-th.gif) no-repeat;
|
||||
background: url(chrome://editor/content/images/tag-th.gif) no-repeat;
|
||||
background-position: top left;
|
||||
}
|
||||
|
||||
thead:before {
|
||||
content: url(chrome://editor/skin/images/tag-thd.gif);
|
||||
/*
|
||||
thead {
|
||||
min-height: 35px; margin-left: 2px; margin-top: 1px;
|
||||
padding-left: 16px;
|
||||
content: url(chrome://editor/skin/images/tag-thd.gif) no-repeat;
|
||||
content: url(chrome://editor/content/images/tag-thd.gif) no-repeat;
|
||||
background-position: top left;
|
||||
*/
|
||||
}
|
||||
|
||||
tr {
|
||||
min-height: 35px; margin-left: 2px;
|
||||
padding-left: 16px;
|
||||
background: url(chrome://editor/skin/images/tag-tr.gif) no-repeat;
|
||||
background: url(chrome://editor/content/images/tag-tr.gif) no-repeat;
|
||||
background-position: top left;
|
||||
}
|
||||
|
||||
tt {
|
||||
min-height: 35px; margin-left: 2px; margin-top: 2px;
|
||||
padding-left: 16px;
|
||||
background: url(chrome://editor/skin/images/tag-tt.gif) no-repeat;
|
||||
background: url(chrome://editor/content/images/tag-tt.gif) no-repeat;
|
||||
background-position: top left;
|
||||
}
|
||||
|
||||
u:before {
|
||||
min-height: 35px; margin-left: 2px;
|
||||
content: url(chrome://editor/skin/images/tag-u.gif);
|
||||
/*
|
||||
u {
|
||||
padding-left: 16px;
|
||||
background: url(chrome://editor/skin/images/tag-u.gif) no-repeat;
|
||||
background: url(chrome://editor/content/images/tag-u.gif) no-repeat;
|
||||
background-position: top left;
|
||||
*/
|
||||
}
|
||||
|
||||
ul {
|
||||
min-height: 35px; margin-left: 2px;
|
||||
padding-left: 16px;
|
||||
background: url(chrome://editor/skin/images/tag-ul.gif) no-repeat;
|
||||
background: url(chrome://editor/content/images/tag-ul.gif) no-repeat;
|
||||
background-position: top left;
|
||||
}
|
||||
|
||||
var {
|
||||
min-height: 35px; margin-left: 2px; margin-top: 2px;
|
||||
padding-left: 16px;
|
||||
background: url(chrome://editor/skin/images/tag-var.gif) no-repeat;
|
||||
background: url(chrome://editor/content/images/tag-var.gif) no-repeat;
|
||||
background-position: top left;
|
||||
}
|
||||
|
||||
xmp {
|
||||
min-height: 35px; margin-left: 2px; margin-top: 2px;
|
||||
padding-left: 16px;
|
||||
background: url(chrome://editor/skin/images/tag-xmp.gif) no-repeat;
|
||||
background: url(chrome://editor/content/images/tag-xmp.gif) no-repeat;
|
||||
background-position: top left;
|
||||
}
|
||||
|
||||
|
@ -692,14 +665,14 @@ xmp {
|
|||
html {
|
||||
min-height: 35px; margin-left: 2px;
|
||||
padding-left: 16px;
|
||||
background: url(chrome://editor/skin/images/tag-html.gif) no-repeat;
|
||||
background: url(chrome://editor/content/images/tag-html.gif) no-repeat;
|
||||
background-position: top left;
|
||||
}
|
||||
|
||||
head {
|
||||
min-height: 35px; margin-left: 2px;
|
||||
padding-left: 16px;
|
||||
background: url(chrome://editor/skin/images/tag-hed.gif) no-repeat;
|
||||
background: url(chrome://editor/content/images/tag-hed.gif) no-repeat;
|
||||
background-position: top left;
|
||||
}
|
||||
|
||||
|
@ -708,35 +681,35 @@ These are tags that are ONLY allowed as children of HEAD:
|
|||
title {
|
||||
min-height: 35px; margin-left: 2px; margin-top: 2px;
|
||||
padding-left: 16px;
|
||||
background: url(chrome://editor/skin/images/tag-ttl.gif) no-repeat;
|
||||
background: url(chrome://editor/content/images/tag-ttl.gif) no-repeat;
|
||||
background-position: top left;
|
||||
}
|
||||
|
||||
base {
|
||||
min-height: 35px; margin-left: 2px; margin-top: 2px;
|
||||
padding-left: 16px;
|
||||
background: url(chrome://editor/skin/images/tag-bas.gif) no-repeat;
|
||||
background: url(chrome://editor/content/images/tag-bas.gif) no-repeat;
|
||||
background-position: top left;
|
||||
}
|
||||
|
||||
style {
|
||||
min-height: 35px; margin-left: 2px; margin-top: 2px;
|
||||
padding-left: 16px;
|
||||
background: url(chrome://editor/skin/images/tag-stl.gif) no-repeat;
|
||||
background: url(chrome://editor/content/images/tag-stl.gif) no-repeat;
|
||||
background-position: top left;
|
||||
}
|
||||
|
||||
meta {
|
||||
min-height: 35px; margin-left: 2px; margin-top: 2px;
|
||||
padding-left: 16px;
|
||||
background: url(chrome://editor/skin/images/tag-met.gif) no-repeat;
|
||||
background: url(chrome://editor/content/images/tag-met.gif) no-repeat;
|
||||
background-position: top left;
|
||||
}
|
||||
|
||||
link {
|
||||
min-height: 35px; margin-left: 2px; margin-top: 2px;
|
||||
padding-left: 16px;
|
||||
background: url(chrome://editor/skin/images/tag-lnk.gif) no-repeat;
|
||||
background: url(chrome://editor/content/images/tag-lnk.gif) no-repeat;
|
||||
background-position: top left;
|
||||
}
|
||||
*/
|
||||
|
|
|
@ -40,15 +40,15 @@
|
|||
oncommand="EditorObjectProperties()"/>
|
||||
|
||||
<menu id="tableMenu" value="&tableMenu.label;" accesskey="&tablemenu.accesskey;">
|
||||
<menupopup oncreate="InitTableMenu()">
|
||||
<menupopup oncreate="EditorInitTableMenu()">
|
||||
<menu id="tableSelectMenu" value="&tableSelectMenu.label;"
|
||||
accesskey="&tableselectmenu.accesskey;">
|
||||
<menupopup>
|
||||
<menuitem value="&tableTable.label;" accesskey="&tabletable.accesskey;" oncommand="EditorSelectTable()"/>
|
||||
<menuitem value="&tableRow.label;" accesskey="&tablerow.accesskey;" oncommand="EditorSelectTableRow()"/>
|
||||
<menuitem value="&tableColumn.label;" accesskey="&tablecolumn.accesskey;" oncommand="EditorSelectTableColumn()"/>
|
||||
<menuitem value="&tableCell.label;" accesskey="&tablecell.accesskey;" oncommand="EditorSelectTableCell()"/>
|
||||
<menuitem value="&tableAllCells.label;" accesskey="&tableallcells.accesskey;" oncommand="EditorSelectAllTableCells()"/>
|
||||
<menuitem id="menu_SelectTable" value="&tableTable.label;" accesskey="&tabletable.accesskey;" oncommand="EditorSelectTable()"/>
|
||||
<menuitem id="menu_SelectRow" value="&tableRow.label;" accesskey="&tablerow.accesskey;" oncommand="EditorSelectTableRow()"/>
|
||||
<menuitem id="menu_SelectColumn" value="&tableColumn.label;" accesskey="&tablecolumn.accesskey;" oncommand="EditorSelectTableColumn()"/>
|
||||
<menuitem id="menu_SelectCell" value="&tableCell.label;" accesskey="&tablecell.accesskey;" oncommand="EditorSelectTableCell()"/>
|
||||
<menuitem id="menu_SelectAllCells" value="&tableAllCells.label;" accesskey="&tableallcells.accesskey;" oncommand="EditorSelectAllTableCells()"/>
|
||||
</menupopup>
|
||||
</menu>
|
||||
<menu id="tableInsertMenu" value="&tableInsertMenu.label;" accesskey="&tableinsertmenu.accesskey;">
|
||||
|
@ -67,10 +67,11 @@
|
|||
</menu>
|
||||
<menu id="tableDeleteMenu" value="&tableDeleteMenu.label;" accesskey="&tabledeletemenu.accesskey;">
|
||||
<menupopup>
|
||||
<menuitem value="&tableTable.label;" accesskey="&tabletable.accesskey;" oncommand="EditorDeleteTable()"/>
|
||||
<menuitem value="&tableRow.label;" accesskey="&tablerow.accesskey;" oncommand="EditorDeleteTableRow(1)"/>
|
||||
<menuitem value="&tableColumn.label;" accesskey="&tablecolumn.accesskey;" oncommand="EditorDeleteTableColumn(1)"/>
|
||||
<menuitem value="&tableCell.label;" accesskey="&tablecell.accesskey;" oncommand="EditorDeleteTableCell(1)"/>
|
||||
<menuitem id="menu_DeleteTable" value="&tableTable.label;" accesskey="&tabletable.accesskey;" oncommand="EditorDeleteTable()"/>
|
||||
<menuitem id="menu_DeleteRow" value="&tableRow.label;" accesskey="&tablerow.accesskey;" oncommand="EditorDeleteTableRow(1)"/>
|
||||
<menuitem id="menu_DeleteColumn" value="&tableColumn.label;" accesskey="&tablecolumn.accesskey;" oncommand="EditorDeleteTableColumn(1)"/>
|
||||
<menuitem id="menu_DeleteCell" value="&tableCell.label;" accesskey="&tablecell.accesskey;" oncommand="EditorDeleteTableCell(1)"/>
|
||||
<menuitem id="menu_DeleteCellContents" value="&tableCellContents.label;" accesskey="&tablecellcontents.accesskey;" oncommand="EditorDeleteTableCellContents()"/>
|
||||
</menupopup>
|
||||
</menu>
|
||||
<menuseparator />
|
||||
|
|
|
@ -27,8 +27,9 @@
|
|||
* place in EditorOverride.css, instead of here.
|
||||
*/
|
||||
|
||||
/* Use "before" rule so single click can select icon */
|
||||
a[name]:before {
|
||||
content: url(chrome://editor/skin/images/anchor-in-doc.gif);
|
||||
content: url(chrome://editor/content/images/tag-anchor.gif);
|
||||
}
|
||||
|
||||
/* Force border display for empty cells
|
||||
|
|
|
@ -47,3 +47,99 @@ sb-file-contextMenu.js
|
|||
sb-file-panel.js
|
||||
sb-file-panel.xul
|
||||
sb-FileWidgetFileHandler.js
|
||||
images:tag-anchor.gif
|
||||
images:tag-abr.gif
|
||||
images:tag-acr.gif
|
||||
images:tag-adr.gif
|
||||
images:tag-ara.gif
|
||||
images:tag-bas.gif
|
||||
images:tag-blq.gif
|
||||
images:tag-bsf.gif
|
||||
images:tag-btn.gif
|
||||
images:tag-cit.gif
|
||||
images:tag-clg.gif
|
||||
images:tag-cod.gif
|
||||
images:tag-cpt.gif
|
||||
images:tag-ctr.gif
|
||||
images:tag-fld.gif
|
||||
images:tag-fnt.gif
|
||||
images:tag-for.gif
|
||||
images:tag-frm.gif
|
||||
images:tag-fst.gif
|
||||
images:tag-ifr.gif
|
||||
images:tag-inp.gif
|
||||
images:tag-lbl.gif
|
||||
images:tag-lgn.gif
|
||||
images:tag-lnk.gif
|
||||
images:tag-lst.gif
|
||||
images:tag-men.gif
|
||||
images:tag-nfr.gif
|
||||
images:tag-nsc.gif
|
||||
images:tag-opg.gif
|
||||
images:tag-opt.gif
|
||||
images:tag-prm.gif
|
||||
images:tag-scr.gif
|
||||
images:tag-slc.gif
|
||||
images:tag-sml.gif
|
||||
images:tag-smp.gif
|
||||
images:tag-spn.gif
|
||||
images:tag-stk.gif
|
||||
images:tag-stl.gif
|
||||
images:tag-stn.gif
|
||||
images:tag-tbd.gif
|
||||
images:tag-tbl.gif
|
||||
images:tag-tft.gif
|
||||
images:tag-thd.gif
|
||||
images:tag-hed.gif
|
||||
images:tag-isx.gif
|
||||
images:tag-met.gif
|
||||
images:tag-ttl.gif
|
||||
images:tag-pln.gif
|
||||
images:tag-xmp.gif
|
||||
images:tag-txt.gif
|
||||
images:tag-a.gif
|
||||
images:tag-app.gif
|
||||
images:tag-b.gif
|
||||
images:tag-bdo.gif
|
||||
images:tag-big.gif
|
||||
images:tag-body.gif
|
||||
images:tag-br.gif
|
||||
images:tag-col.gif
|
||||
images:tag-dd.gif
|
||||
images:tag-del.gif
|
||||
images:tag-dfn.gif
|
||||
images:tag-dir.gif
|
||||
images:tag-div.gif
|
||||
images:tag-dl.gif
|
||||
images:tag-dt.gif
|
||||
images:tag-em.gif
|
||||
images:tag-h1.gif
|
||||
images:tag-h2.gif
|
||||
images:tag-h3.gif
|
||||
images:tag-h4.gif
|
||||
images:tag-h5.gif
|
||||
images:tag-h6.gif
|
||||
images:tag-hr.gif
|
||||
images:tag-html.gif
|
||||
images:tag-i.gif
|
||||
images:tag-img.gif
|
||||
images:tag-ins.gif
|
||||
images:tag-kbd.gif
|
||||
images:tag-li.gif
|
||||
images:tag-map.gif
|
||||
images:tag-obj.gif
|
||||
images:tag-ol.gif
|
||||
images:tag-p.gif
|
||||
images:tag-pre.gif
|
||||
images:tag-q.gif
|
||||
images:tag-s.gif
|
||||
images:tag-sub.gif
|
||||
images:tag-sup.gif
|
||||
images:tag-td.gif
|
||||
images:tag-th.gif
|
||||
images:tag-tr.gif
|
||||
images:tag-tt.gif
|
||||
images:tag-u.gif
|
||||
images:tag-ul.gif
|
||||
images:tag-var.gif
|
||||
images:tag-userdefined.gif
|
||||
|
|
|
@ -27,6 +27,8 @@ VPATH = @srcdir@
|
|||
|
||||
include $(DEPTH)/config/autoconf.mk
|
||||
|
||||
DIRS = images
|
||||
|
||||
CHROME_DIR = editor
|
||||
CHROME_CONTENT_DIR = content
|
||||
|
||||
|
|
|
@ -96,7 +96,6 @@
|
|||
<!-- id pulls in "Show Sidebar" item from sidebarOverlay -->
|
||||
<menupopup id="menu_View_Popup">
|
||||
<menu id="viewToolbar"/>
|
||||
<menuitem id="showEditModeBar"/>
|
||||
<menuseparator/>
|
||||
<menuitem id="viewSourceMenuitem"/>
|
||||
<menuitem id="viewParagraphMarks"/>
|
||||
|
@ -202,14 +201,15 @@
|
|||
</deck>
|
||||
|
||||
<!-- TODO: Set collapsed="true" so default is to not show the editmode toolbar -->
|
||||
<toolbar id="EditModeToolbar" chromeclass="extrachrome" persist="collapsed">
|
||||
<text class="margin-left-right" value="&editMode.label;"/>
|
||||
<toolbar id="EditModeToolbar" autostretch="never" valign="middle" persist="collapsed">
|
||||
<text id="EditModeLabel" class="margin-left-right" value="&editMode.label;"/>
|
||||
<!-- From editorOverlay.xul -->
|
||||
<text id="NormalModeButton"/>
|
||||
<text id="TagModeButton"/>
|
||||
<text id="SourceModeButton"/>
|
||||
<text id="PreviewModeButton"/>
|
||||
<button id="NormalModeButton" persist="type"/>
|
||||
<button id="TagModeButton"/>
|
||||
<button id="SourceModeButton"/>
|
||||
<button id="PreviewModeButton"/>
|
||||
<spring flex="1"/>
|
||||
<button id="ToggleEditModeType"/>
|
||||
</toolbar>
|
||||
|
||||
<!-- Some of this is from globarOverlay.xul -->
|
||||
|
|
|
@ -129,6 +129,7 @@
|
|||
>
|
||||
<command id="cmd_save" value="&saveCmd.label;" oncommand="goDoCommand('cmd_save')"/>
|
||||
<command id="cmd_saveAs" value="&saveAsCmd.label;" oncommand="goDoCommand('cmd_saveAs')"/>
|
||||
<command id="cmd_revert" value="&fileRevert.label;" oncommand="goDoCommand('cmd_revert')"/>
|
||||
|
||||
<command id="cmd_preview" oncommand="goDoCommand('cmd_preview')"/>
|
||||
</commandset>
|
||||
|
@ -191,6 +192,8 @@
|
|||
<command id="cmd_paragraphState" state="" oncommand="goDoCommand('cmd_paragraphState')"/>
|
||||
<command id="cmd_align" state="" oncommand="goDoCommand('cmd_align')"/>
|
||||
|
||||
<command id="cmd_advancedProperties" oncommand="goDoCommand('cmd_advancedProperties')"/>
|
||||
|
||||
<command id="cmd_increaseFont" oncommand="goDoCommand('cmd_increaseFont')"/>
|
||||
<command id="cmd_decreaseFont" oncommand="goDoCommand('cmd_decreaseFont')"/>
|
||||
|
||||
|
@ -246,11 +249,11 @@
|
|||
<menuitem value="(recent file menu)"/>
|
||||
</menupopup>
|
||||
</menu>
|
||||
<menuitem accesskey="&filerevert.accesskey;" value="&fileRevert.label;"/>
|
||||
<menuitem accesskey="&filerevert.accesskey;" observes="cmd_revert"/>
|
||||
<menuseparator />
|
||||
<menuitem accesskey="&fileclose.accesskey;" key="closekb" observes="cmd_close"/>
|
||||
<menuitem accesskey="&filesave.accesskey;" key="savekb" observes="cmd_save"/>
|
||||
<menuitem accesskey="&filesaveas.accesskey;" observes="cmd_saveAs"/>
|
||||
<menuitem accesskey="&fileclose.accesskey;" key="closekb" observes="cmd_close"/>
|
||||
<menuitem accesskey="&filesave.accesskey;" key="savekb" observes="cmd_save"/>
|
||||
<menuitem accesskey="&filesaveas.accesskey;" observes="cmd_saveAs"/>
|
||||
<menuseparator />
|
||||
<!-- FRAME, LINK should go here, but nav must put them in global files -->
|
||||
<menuitem id="menu_sendPage" observes="cmd_sendPage"/>
|
||||
|
@ -294,10 +297,10 @@
|
|||
|
||||
<menuitem value="&compositionToolbarCmd.label;" accesskey="&compositiontb.accesskey;" observes="cmd_viewCompToolbar" />
|
||||
<menuitem value="&formattingToolbarCmd.label;" accesskey="&formattingtb.accesskey;" observes="cmd_viewFormatToolbar" />
|
||||
<menuitem value="&editmodeToolbarCmd.label;" accesskey="&editmodetb.accesskey;" observes="cmd_viewEditModeToolbar" />
|
||||
<menuitem value="&taskbarCmd.label;" accesskey="&taskbarCmd.accesskey;" observes="cmd_viewtaskbar" />
|
||||
</menupopup>
|
||||
</menu>
|
||||
<menuitem id="showEditModeBar" value="&editmodeToolbarCmd.label;" accesskey="&editmodetb.accesskey;" observes="cmd_viewEditModeToolbar" />
|
||||
<menuitem id="viewSourceMenuitem" value="&viewPageSource.label;" accesskey="&viewpagesource.accesskey;" oncommand="EditorViewSource();"/>
|
||||
<menuitem id="viewParagraphMarks" value="&viewParagraphMarks.label;" accesskey="&viewparagraphmarks.accesskey;" oncommand="EditorToggleParagraphMarks();" persist="checked"/>
|
||||
|
||||
|
@ -593,7 +596,7 @@
|
|||
|
||||
<menu id="tableMenu"/>
|
||||
|
||||
<popup id="TextColorPopup" popupanchor="bottomleft" tooltip="aTooltip" tooltiptext="foo text color">
|
||||
<popup id="TextColorPopup" popupanchor="bottomleft" tooltip="aTooltip" ignorekeys="true">
|
||||
<text class="ColorPickerLabel" id="TextColorCaption" value="&textColorCaption.label;" flex="1"/>
|
||||
<!-- TODO: Add "Last color picked" button and text -->
|
||||
<box valign="middle" autostretch="never">
|
||||
|
@ -609,7 +612,7 @@
|
|||
<button class="dialog" value="&colorPicker.default.label;" oncommand="EditorRemoveTextColor('TextColorPopupButton');"/>
|
||||
</popup>
|
||||
|
||||
<popup id="BackColorPopup" popupanchor="bottomleft" oncreate="InitBackColorPopup()">
|
||||
<popup id="BackColorPopup" popupanchor="bottomleft" oncreate="InitBackColorPopup()" ignorekeys="true">
|
||||
<!-- Text is filled in at runtime according to what background element will be set -->
|
||||
<text class="ColorPickerLabel" id="BackColorCaption" value="Background Color" flex="1"/>
|
||||
<!-- TODO: Add "Last color picked" button and text -->
|
||||
|
@ -789,13 +792,14 @@
|
|||
tooltip="aTooltip" tooltiptext="&alignmentToolbarCmd.tooltip;"/>
|
||||
|
||||
<!-- Edit Mode toolbar -->
|
||||
<text id="NormalModeButton" class="EditModeButton" selected="1" value="&normalMode.label;" onclick="SetEditMode(1)"/>
|
||||
<text id="TagModeButton" class="EditModeButton" selected="0" value="&showAllTags.label;" onclick="SetEditMode(2)"/>
|
||||
<text id="SourceModeButton" class="EditModeButton" selected="0" value="&sourceMode.label;" onclick="SetEditMode(3)"/>
|
||||
<text id="PreviewModeButton" class="EditModeButton" selected="0" value="&previewMode.label;" onclick="SetEditMode(0)"/>
|
||||
|
||||
<!-- InsertPopupButton is used by messengercompose.xul -->
|
||||
<button class="button-toolbar format popup" id="InsertPopupButton"/>
|
||||
<button id="NormalModeButton" class="EditModeButton plain" type="text" selected="1" value="&normalMode.label;" onclick="SetEditMode(1)"/>
|
||||
<button id="TagModeButton" class="EditModeButton plain" type="text" selected="0" value="&showAllTags.label;" onclick="SetEditMode(2)"/>
|
||||
<button id="SourceModeButton" class="EditModeButton plain" type="text" selected="0" value="&sourceMode.label;" onclick="SetEditMode(3)"/>
|
||||
<button id="PreviewModeButton" class="EditModeButton plain" type="text" selected="0" value="&previewMode.label;" onclick="SetEditMode(0)"/>
|
||||
<button id="ToggleEditModeType" class="plain" onclick="ToggleEditModeType()"/>
|
||||
|
||||
<!-- InsertPopupButton is used by messengercompose.xul -->
|
||||
<button class="plain format popup" id="InsertPopupButton"/>
|
||||
|
||||
|
||||
<!-- Paste as quotation is used by mail compose,
|
||||
|
|
|
@ -25,7 +25,7 @@ CHROME_DIR = editor
|
|||
CHROME_CONTENT_DIR = content\images
|
||||
|
||||
CHROME_CONTENT = \
|
||||
.\anchor-in-doc.gif \
|
||||
.\tag-anchor.gif \
|
||||
.\tag-abr.gif \
|
||||
.\tag-acr.gif \
|
||||
.\tag-adr.gif \
|
||||
|
|
|
@ -48,6 +48,102 @@ install::
|
|||
$(MAKE_INSTALL) sb-FileWidgetFileHandler.js $(DIST)\bin\chrome\editor\content
|
||||
$(MAKE_INSTALL) editorOverlay.xul $(DIST)\bin\chrome\editor\content
|
||||
$(MAKE_INSTALL) editorOverlay.js $(DIST)\bin\chrome\editor\content
|
||||
$(MAKE_INSTALL) images\tag-anchor.gif $(DIST)\bin\chrome\editor\content\images
|
||||
$(MAKE_INSTALL) images\tag-abr.gif $(DIST)\bin\chrome\editor\content\images
|
||||
$(MAKE_INSTALL) images\tag-acr.gif $(DIST)\bin\chrome\editor\content\images
|
||||
$(MAKE_INSTALL) images\tag-adr.gif $(DIST)\bin\chrome\editor\content\images
|
||||
$(MAKE_INSTALL) images\tag-ara.gif $(DIST)\bin\chrome\editor\content\images
|
||||
$(MAKE_INSTALL) images\tag-bas.gif $(DIST)\bin\chrome\editor\content\images
|
||||
$(MAKE_INSTALL) images\tag-blq.gif $(DIST)\bin\chrome\editor\content\images
|
||||
$(MAKE_INSTALL) images\tag-bsf.gif $(DIST)\bin\chrome\editor\content\images
|
||||
$(MAKE_INSTALL) images\tag-btn.gif $(DIST)\bin\chrome\editor\content\images
|
||||
$(MAKE_INSTALL) images\tag-cit.gif $(DIST)\bin\chrome\editor\content\images
|
||||
$(MAKE_INSTALL) images\tag-clg.gif $(DIST)\bin\chrome\editor\content\images
|
||||
$(MAKE_INSTALL) images\tag-cod.gif $(DIST)\bin\chrome\editor\content\images
|
||||
$(MAKE_INSTALL) images\tag-cpt.gif $(DIST)\bin\chrome\editor\content\images
|
||||
$(MAKE_INSTALL) images\tag-ctr.gif $(DIST)\bin\chrome\editor\content\images
|
||||
$(MAKE_INSTALL) images\tag-fld.gif $(DIST)\bin\chrome\editor\content\images
|
||||
$(MAKE_INSTALL) images\tag-fnt.gif $(DIST)\bin\chrome\editor\content\images
|
||||
$(MAKE_INSTALL) images\tag-for.gif $(DIST)\bin\chrome\editor\content\images
|
||||
$(MAKE_INSTALL) images\tag-frm.gif $(DIST)\bin\chrome\editor\content\images
|
||||
$(MAKE_INSTALL) images\tag-fst.gif $(DIST)\bin\chrome\editor\content\images
|
||||
$(MAKE_INSTALL) images\tag-ifr.gif $(DIST)\bin\chrome\editor\content\images
|
||||
$(MAKE_INSTALL) images\tag-inp.gif $(DIST)\bin\chrome\editor\content\images
|
||||
$(MAKE_INSTALL) images\tag-lbl.gif $(DIST)\bin\chrome\editor\content\images
|
||||
$(MAKE_INSTALL) images\tag-lgn.gif $(DIST)\bin\chrome\editor\content\images
|
||||
$(MAKE_INSTALL) images\tag-lnk.gif $(DIST)\bin\chrome\editor\content\images
|
||||
$(MAKE_INSTALL) images\tag-lst.gif $(DIST)\bin\chrome\editor\content\images
|
||||
$(MAKE_INSTALL) images\tag-men.gif $(DIST)\bin\chrome\editor\content\images
|
||||
$(MAKE_INSTALL) images\tag-nfr.gif $(DIST)\bin\chrome\editor\content\images
|
||||
$(MAKE_INSTALL) images\tag-nsc.gif $(DIST)\bin\chrome\editor\content\images
|
||||
$(MAKE_INSTALL) images\tag-opg.gif $(DIST)\bin\chrome\editor\content\images
|
||||
$(MAKE_INSTALL) images\tag-opt.gif $(DIST)\bin\chrome\editor\content\images
|
||||
$(MAKE_INSTALL) images\tag-prm.gif $(DIST)\bin\chrome\editor\content\images
|
||||
$(MAKE_INSTALL) images\tag-scr.gif $(DIST)\bin\chrome\editor\content\images
|
||||
$(MAKE_INSTALL) images\tag-slc.gif $(DIST)\bin\chrome\editor\content\images
|
||||
$(MAKE_INSTALL) images\tag-sml.gif $(DIST)\bin\chrome\editor\content\images
|
||||
$(MAKE_INSTALL) images\tag-smp.gif $(DIST)\bin\chrome\editor\content\images
|
||||
$(MAKE_INSTALL) images\tag-spn.gif $(DIST)\bin\chrome\editor\content\images
|
||||
$(MAKE_INSTALL) images\tag-stk.gif $(DIST)\bin\chrome\editor\content\images
|
||||
$(MAKE_INSTALL) images\tag-stl.gif $(DIST)\bin\chrome\editor\content\images
|
||||
$(MAKE_INSTALL) images\tag-stn.gif $(DIST)\bin\chrome\editor\content\images
|
||||
$(MAKE_INSTALL) images\tag-tbd.gif $(DIST)\bin\chrome\editor\content\images
|
||||
$(MAKE_INSTALL) images\tag-tbl.gif $(DIST)\bin\chrome\editor\content\images
|
||||
$(MAKE_INSTALL) images\tag-tft.gif $(DIST)\bin\chrome\editor\content\images
|
||||
$(MAKE_INSTALL) images\tag-thd.gif $(DIST)\bin\chrome\editor\content\images
|
||||
$(MAKE_INSTALL) images\tag-hed.gif $(DIST)\bin\chrome\editor\content\images
|
||||
$(MAKE_INSTALL) images\tag-isx.gif $(DIST)\bin\chrome\editor\content\images
|
||||
$(MAKE_INSTALL) images\tag-met.gif $(DIST)\bin\chrome\editor\content\images
|
||||
$(MAKE_INSTALL) images\tag-ttl.gif $(DIST)\bin\chrome\editor\content\images
|
||||
$(MAKE_INSTALL) images\tag-pln.gif $(DIST)\bin\chrome\editor\content\images
|
||||
$(MAKE_INSTALL) images\tag-xmp.gif $(DIST)\bin\chrome\editor\content\images
|
||||
$(MAKE_INSTALL) images\tag-txt.gif $(DIST)\bin\chrome\editor\content\images
|
||||
$(MAKE_INSTALL) images\tag-a.gif $(DIST)\bin\chrome\editor\content\images
|
||||
$(MAKE_INSTALL) images\tag-app.gif $(DIST)\bin\chrome\editor\content\images
|
||||
$(MAKE_INSTALL) images\tag-b.gif $(DIST)\bin\chrome\editor\content\images
|
||||
$(MAKE_INSTALL) images\tag-bdo.gif $(DIST)\bin\chrome\editor\content\images
|
||||
$(MAKE_INSTALL) images\tag-big.gif $(DIST)\bin\chrome\editor\content\images
|
||||
$(MAKE_INSTALL) images\tag-body.gif $(DIST)\bin\chrome\editor\content\images
|
||||
$(MAKE_INSTALL) images\tag-br.gif $(DIST)\bin\chrome\editor\content\images
|
||||
$(MAKE_INSTALL) images\tag-col.gif $(DIST)\bin\chrome\editor\content\images
|
||||
$(MAKE_INSTALL) images\tag-dd.gif $(DIST)\bin\chrome\editor\content\images
|
||||
$(MAKE_INSTALL) images\tag-del.gif $(DIST)\bin\chrome\editor\content\images
|
||||
$(MAKE_INSTALL) images\tag-dfn.gif $(DIST)\bin\chrome\editor\content\images
|
||||
$(MAKE_INSTALL) images\tag-dir.gif $(DIST)\bin\chrome\editor\content\images
|
||||
$(MAKE_INSTALL) images\tag-div.gif $(DIST)\bin\chrome\editor\content\images
|
||||
$(MAKE_INSTALL) images\tag-dl.gif $(DIST)\bin\chrome\editor\content\images
|
||||
$(MAKE_INSTALL) images\tag-dt.gif $(DIST)\bin\chrome\editor\content\images
|
||||
$(MAKE_INSTALL) images\tag-em.gif $(DIST)\bin\chrome\editor\content\images
|
||||
$(MAKE_INSTALL) images\tag-h1.gif $(DIST)\bin\chrome\editor\content\images
|
||||
$(MAKE_INSTALL) images\tag-h2.gif $(DIST)\bin\chrome\editor\content\images
|
||||
$(MAKE_INSTALL) images\tag-h3.gif $(DIST)\bin\chrome\editor\content\images
|
||||
$(MAKE_INSTALL) images\tag-h4.gif $(DIST)\bin\chrome\editor\content\images
|
||||
$(MAKE_INSTALL) images\tag-h5.gif $(DIST)\bin\chrome\editor\content\images
|
||||
$(MAKE_INSTALL) images\tag-h6.gif $(DIST)\bin\chrome\editor\content\images
|
||||
$(MAKE_INSTALL) images\tag-hr.gif $(DIST)\bin\chrome\editor\content\images
|
||||
$(MAKE_INSTALL) images\tag-html.gif $(DIST)\bin\chrome\editor\content\images
|
||||
$(MAKE_INSTALL) images\tag-i.gif $(DIST)\bin\chrome\editor\content\images
|
||||
$(MAKE_INSTALL) images\tag-img.gif $(DIST)\bin\chrome\editor\content\images
|
||||
$(MAKE_INSTALL) images\tag-ins.gif $(DIST)\bin\chrome\editor\content\images
|
||||
$(MAKE_INSTALL) images\tag-kbd.gif $(DIST)\bin\chrome\editor\content\images
|
||||
$(MAKE_INSTALL) images\tag-li.gif $(DIST)\bin\chrome\editor\content\images
|
||||
$(MAKE_INSTALL) images\tag-map.gif $(DIST)\bin\chrome\editor\content\images
|
||||
$(MAKE_INSTALL) images\tag-obj.gif $(DIST)\bin\chrome\editor\content\images
|
||||
$(MAKE_INSTALL) images\tag-ol.gif $(DIST)\bin\chrome\editor\content\images
|
||||
$(MAKE_INSTALL) images\tag-p.gif $(DIST)\bin\chrome\editor\content\images
|
||||
$(MAKE_INSTALL) images\tag-pre.gif $(DIST)\bin\chrome\editor\content\images
|
||||
$(MAKE_INSTALL) images\tag-q.gif $(DIST)\bin\chrome\editor\content\images
|
||||
$(MAKE_INSTALL) images\tag-s.gif $(DIST)\bin\chrome\editor\content\images
|
||||
$(MAKE_INSTALL) images\tag-sub.gif $(DIST)\bin\chrome\editor\content\images
|
||||
$(MAKE_INSTALL) images\tag-sup.gif $(DIST)\bin\chrome\editor\content\images
|
||||
$(MAKE_INSTALL) images\tag-td.gif $(DIST)\bin\chrome\editor\content\images
|
||||
$(MAKE_INSTALL) images\tag-th.gif $(DIST)\bin\chrome\editor\content\images
|
||||
$(MAKE_INSTALL) images\tag-tr.gif $(DIST)\bin\chrome\editor\content\images
|
||||
$(MAKE_INSTALL) images\tag-tt.gif $(DIST)\bin\chrome\editor\content\images
|
||||
$(MAKE_INSTALL) images\tag-u.gif $(DIST)\bin\chrome\editor\content\images
|
||||
$(MAKE_INSTALL) images\tag-ul.gif $(DIST)\bin\chrome\editor\content\images
|
||||
$(MAKE_INSTALL) images\tag-var.gif $(DIST)\bin\chrome\editor\content\images
|
||||
$(MAKE_INSTALL) images\tag-userdefined.gif $(DIST)\bin\chrome\editor\content\images
|
||||
|
||||
clobber::
|
||||
rm -f $(DIST)\bin\chrome\editor\content\editor.xul
|
||||
|
@ -74,3 +170,99 @@ clobber::
|
|||
rm -f $(DIST)\bin\chrome\editor\content\sb-FileWidgetFileHandler.js
|
||||
rm -f $(DIST)\bin\chrome\editor\content\editorOverlay.xul
|
||||
rm -f $(DIST)\bin\chrome\editor\content\editorOverlay.js
|
||||
rm -f $(DIST)\bin\chrome\editor\content\images\tag-anchor.gif
|
||||
rm -f $(DIST)\bin\chrome\editor\content\images\tag-abr.gif
|
||||
rm -f $(DIST)\bin\chrome\editor\content\images\tag-acr.gif
|
||||
rm -f $(DIST)\bin\chrome\editor\content\images\tag-adr.gif
|
||||
rm -f $(DIST)\bin\chrome\editor\content\images\tag-ara.gif
|
||||
rm -f $(DIST)\bin\chrome\editor\content\images\tag-bas.gif
|
||||
rm -f $(DIST)\bin\chrome\editor\content\images\tag-blq.gif
|
||||
rm -f $(DIST)\bin\chrome\editor\content\images\tag-bsf.gif
|
||||
rm -f $(DIST)\bin\chrome\editor\content\images\tag-btn.gif
|
||||
rm -f $(DIST)\bin\chrome\editor\content\images\tag-cit.gif
|
||||
rm -f $(DIST)\bin\chrome\editor\content\images\tag-clg.gif
|
||||
rm -f $(DIST)\bin\chrome\editor\content\images\tag-cod.gif
|
||||
rm -f $(DIST)\bin\chrome\editor\content\images\tag-cpt.gif
|
||||
rm -f $(DIST)\bin\chrome\editor\content\images\tag-ctr.gif
|
||||
rm -f $(DIST)\bin\chrome\editor\content\images\tag-fld.gif
|
||||
rm -f $(DIST)\bin\chrome\editor\content\images\tag-fnt.gif
|
||||
rm -f $(DIST)\bin\chrome\editor\content\images\tag-for.gif
|
||||
rm -f $(DIST)\bin\chrome\editor\content\images\tag-frm.gif
|
||||
rm -f $(DIST)\bin\chrome\editor\content\images\tag-fst.gif
|
||||
rm -f $(DIST)\bin\chrome\editor\content\images\tag-ifr.gif
|
||||
rm -f $(DIST)\bin\chrome\editor\content\images\tag-inp.gif
|
||||
rm -f $(DIST)\bin\chrome\editor\content\images\tag-lbl.gif
|
||||
rm -f $(DIST)\bin\chrome\editor\content\images\tag-lgn.gif
|
||||
rm -f $(DIST)\bin\chrome\editor\content\images\tag-lnk.gif
|
||||
rm -f $(DIST)\bin\chrome\editor\content\images\tag-lst.gif
|
||||
rm -f $(DIST)\bin\chrome\editor\content\images\tag-men.gif
|
||||
rm -f $(DIST)\bin\chrome\editor\content\images\tag-nfr.gif
|
||||
rm -f $(DIST)\bin\chrome\editor\content\images\tag-nsc.gif
|
||||
rm -f $(DIST)\bin\chrome\editor\content\images\tag-opg.gif
|
||||
rm -f $(DIST)\bin\chrome\editor\content\images\tag-opt.gif
|
||||
rm -f $(DIST)\bin\chrome\editor\content\images\tag-prm.gif
|
||||
rm -f $(DIST)\bin\chrome\editor\content\images\tag-scr.gif
|
||||
rm -f $(DIST)\bin\chrome\editor\content\images\tag-slc.gif
|
||||
rm -f $(DIST)\bin\chrome\editor\content\images\tag-sml.gif
|
||||
rm -f $(DIST)\bin\chrome\editor\content\images\tag-smp.gif
|
||||
rm -f $(DIST)\bin\chrome\editor\content\images\tag-spn.gif
|
||||
rm -f $(DIST)\bin\chrome\editor\content\images\tag-stk.gif
|
||||
rm -f $(DIST)\bin\chrome\editor\content\images\tag-stl.gif
|
||||
rm -f $(DIST)\bin\chrome\editor\content\images\tag-stn.gif
|
||||
rm -f $(DIST)\bin\chrome\editor\content\images\tag-tbd.gif
|
||||
rm -f $(DIST)\bin\chrome\editor\content\images\tag-tbl.gif
|
||||
rm -f $(DIST)\bin\chrome\editor\content\images\tag-tft.gif
|
||||
rm -f $(DIST)\bin\chrome\editor\content\images\tag-thd.gif
|
||||
rm -f $(DIST)\bin\chrome\editor\content\images\tag-hed.gif
|
||||
rm -f $(DIST)\bin\chrome\editor\content\images\tag-isx.gif
|
||||
rm -f $(DIST)\bin\chrome\editor\content\images\tag-met.gif
|
||||
rm -f $(DIST)\bin\chrome\editor\content\images\tag-ttl.gif
|
||||
rm -f $(DIST)\bin\chrome\editor\content\images\tag-pln.gif
|
||||
rm -f $(DIST)\bin\chrome\editor\content\images\tag-xmp.gif
|
||||
rm -f $(DIST)\bin\chrome\editor\content\images\tag-txt.gif
|
||||
rm -f $(DIST)\bin\chrome\editor\content\images\tag-a.gif
|
||||
rm -f $(DIST)\bin\chrome\editor\content\images\tag-app.gif
|
||||
rm -f $(DIST)\bin\chrome\editor\content\images\tag-b.gif
|
||||
rm -f $(DIST)\bin\chrome\editor\content\images\tag-bdo.gif
|
||||
rm -f $(DIST)\bin\chrome\editor\content\images\tag-big.gif
|
||||
rm -f $(DIST)\bin\chrome\editor\content\images\tag-body.gif
|
||||
rm -f $(DIST)\bin\chrome\editor\content\images\tag-br.gif
|
||||
rm -f $(DIST)\bin\chrome\editor\content\images\tag-col.gif
|
||||
rm -f $(DIST)\bin\chrome\editor\content\images\tag-dd.gif
|
||||
rm -f $(DIST)\bin\chrome\editor\content\images\tag-del.gif
|
||||
rm -f $(DIST)\bin\chrome\editor\content\images\tag-dfn.gif
|
||||
rm -f $(DIST)\bin\chrome\editor\content\images\tag-dir.gif
|
||||
rm -f $(DIST)\bin\chrome\editor\content\images\tag-div.gif
|
||||
rm -f $(DIST)\bin\chrome\editor\content\images\tag-dl.gif
|
||||
rm -f $(DIST)\bin\chrome\editor\content\images\tag-dt.gif
|
||||
rm -f $(DIST)\bin\chrome\editor\content\images\tag-em.gif
|
||||
rm -f $(DIST)\bin\chrome\editor\content\images\tag-h1.gif
|
||||
rm -f $(DIST)\bin\chrome\editor\content\images\tag-h2.gif
|
||||
rm -f $(DIST)\bin\chrome\editor\content\images\tag-h3.gif
|
||||
rm -f $(DIST)\bin\chrome\editor\content\images\tag-h4.gif
|
||||
rm -f $(DIST)\bin\chrome\editor\content\images\tag-h5.gif
|
||||
rm -f $(DIST)\bin\chrome\editor\content\images\tag-h6.gif
|
||||
rm -f $(DIST)\bin\chrome\editor\content\images\tag-hr.gif
|
||||
rm -f $(DIST)\bin\chrome\editor\content\images\tag-html.gif
|
||||
rm -f $(DIST)\bin\chrome\editor\content\images\tag-i.gif
|
||||
rm -f $(DIST)\bin\chrome\editor\content\images\tag-img.gif
|
||||
rm -f $(DIST)\bin\chrome\editor\content\images\tag-ins.gif
|
||||
rm -f $(DIST)\bin\chrome\editor\content\images\tag-kbd.gif
|
||||
rm -f $(DIST)\bin\chrome\editor\content\images\tag-li.gif
|
||||
rm -f $(DIST)\bin\chrome\editor\content\images\tag-map.gif
|
||||
rm -f $(DIST)\bin\chrome\editor\content\images\tag-obj.gif
|
||||
rm -f $(DIST)\bin\chrome\editor\content\images\tag-ol.gif
|
||||
rm -f $(DIST)\bin\chrome\editor\content\images\tag-p.gif
|
||||
rm -f $(DIST)\bin\chrome\editor\content\images\tag-pre.gif
|
||||
rm -f $(DIST)\bin\chrome\editor\content\images\tag-q.gif
|
||||
rm -f $(DIST)\bin\chrome\editor\content\images\tag-s.gif
|
||||
rm -f $(DIST)\bin\chrome\editor\content\images\tag-sub.gif
|
||||
rm -f $(DIST)\bin\chrome\editor\content\images\tag-sup.gif
|
||||
rm -f $(DIST)\bin\chrome\editor\content\images\tag-td.gif
|
||||
rm -f $(DIST)\bin\chrome\editor\content\images\tag-th.gif
|
||||
rm -f $(DIST)\bin\chrome\editor\content\images\tag-tr.gif
|
||||
rm -f $(DIST)\bin\chrome\editor\content\images\tag-tt.gif
|
||||
rm -f $(DIST)\bin\chrome\editor\content\images\tag-u.gif
|
||||
rm -f $(DIST)\bin\chrome\editor\content\images\tag-ul.gif
|
||||
rm -f $(DIST)\bin\chrome\editor\content\images\tag-var.gif
|
||||
rm -f $(DIST)\bin\chrome\editor\content\images\tag-userdefined.gif
|
||||
|
|
|
@ -47,6 +47,10 @@ BeforePreview=in order to preview
|
|||
#Don't translate %title% and %reason% (this is the reason for asking user to close, such as "before closing")
|
||||
SaveFilePrompt=Save changes to "%title%" %reason%?
|
||||
SaveFileFailed=Saving file failed!
|
||||
RevertCaption=Revert To Last Saved
|
||||
Revert=Revert
|
||||
#Don't translate %title%
|
||||
AbandonChanges=Abandon unsaved changes to %title% and reload page?
|
||||
DocumentTitle=Document Title
|
||||
NeedDocTitle=Enter a title for the current page. The title identifies the page in the window title and bookmarks.
|
||||
AttributesFor=Current attributes for:
|
||||
|
@ -100,3 +104,13 @@ ObjectProperties=%obj% Properties...
|
|||
#Next 2 must contain the "tablejoincells.accesskey" letter in editorOverlay.dtd
|
||||
JoinSelectedCells=Join Selected Cells
|
||||
JoinCellToRight=Join with Cell to the Right
|
||||
#The next 5 are keys on keyboard -- I don't know if they are normally translated!
|
||||
XulKeyWin=Ctrl+
|
||||
XulKeyMac=Cmd+
|
||||
XulKeyUnix=Alt+
|
||||
Del=Del
|
||||
Delete=Delete
|
||||
Clear=Clear
|
||||
#Mouse actions
|
||||
Click=Click
|
||||
Drag=Drag
|
||||
|
|
|
@ -79,6 +79,16 @@
|
|||
<!ENTITY pasteCmd.label "Paste">
|
||||
<!ENTITY editpaste.accesskey "p">
|
||||
<!ENTITY editpaste.keybinding "v">
|
||||
<!-- For a "Paste" submenu when more than 1
|
||||
clipboard formats are available -->
|
||||
<!ENTITY pasteTextCmd.label "Text">
|
||||
<!ENTITY editpastetext.accesskey "t">
|
||||
<!ENTITY pasteTextCmd.label "Image">
|
||||
<!ENTITY editpastetext.accesskey "i">
|
||||
<!ENTITY pasteTextCmd.label "Link">
|
||||
<!ENTITY editpastetext.accesskey "l">
|
||||
<!ENTITY pasteTextCmd.label "HTML">
|
||||
<!ENTITY editpastetext.accesskey "h">
|
||||
<!ENTITY pasteAsQuotationCmd.label "Paste As Quotation">
|
||||
<!ENTITY editpastequotation.accesskey "q">
|
||||
<!ENTITY editStripQuotesCmd.label "Strip Quotes">
|
||||
|
@ -401,6 +411,8 @@ Menu item text for "[Page|Table|Cell] Background color" is filled from
|
|||
<!-- Shared by Heading and Paragraph menu, and in toolbar menulist -->
|
||||
<!ENTITY normalCmd.label "Normal">
|
||||
<!ENTITY normal.accesskey "n">
|
||||
<!ENTITY advancedPropertiesCmd.label "Advanced Properties...">
|
||||
<!ENTITY advancedproperties.accesskey "v">
|
||||
|
||||
<!ENTITY NormalAbbr.label "Norm.">
|
||||
<!ENTITY ParagraphAbbr.label "P">
|
||||
|
@ -474,6 +486,8 @@ Menu item text for "[Page|Table|Cell] Background color" is filled from
|
|||
<!ENTITY tablecolumnafter.accesskey "a">
|
||||
<!ENTITY tableCell.label "Cell">
|
||||
<!ENTITY tablecell.accesskey "c">
|
||||
<!ENTITY tableCellContents.label "Cell Contents">
|
||||
<!ENTITY tablecellcontents.accesskey "n">
|
||||
<!ENTITY tableAllCells.label "All Cells">
|
||||
<!ENTITY tableCellBefore.label "Cell Before">
|
||||
<!ENTITY tableallcells.accesskey "a">
|
||||
|
@ -484,8 +498,8 @@ Menu item text for "[Page|Table|Cell] Background color" is filled from
|
|||
<!ENTITY tableDeleteMenu.label "Delete">
|
||||
<!ENTITY tabledeletemenu.accesskey "d">
|
||||
|
||||
<!ENTITY tableFixup.label "Normalize table layout">
|
||||
<!ENTITY tablefixup.accesskey "n">
|
||||
<!ENTITY tableFixup.label "Fix Table Layout">
|
||||
<!ENTITY tablefixup.accesskey "f">
|
||||
<!-- text for "Join Cells" is in editor.properties
|
||||
("JoinSelectedCells" and "JoinCellToRight")
|
||||
the access key must exist in both of those strings
|
||||
|
|
|
@ -1,266 +0,0 @@
|
|||
/*
|
||||
* The contents of this file are subject to the Netscape Public
|
||||
* License Version 1.1 (the "License"); you may not use this file
|
||||
* except in compliance with the License. You may obtain a copy of
|
||||
* the License at http://www.mozilla.org/NPL/
|
||||
*
|
||||
* Software distributed under the License is distributed on an "AS
|
||||
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
|
||||
* implied. See the License for the specific language governing
|
||||
* rights and limitations under the License.
|
||||
*
|
||||
* The Original Code is Mozilla Communicator client code, released
|
||||
* March 31, 1998.
|
||||
*
|
||||
* The Initial Developer of the Original Code is Netscape
|
||||
* Communications Corporation. Portions created by Netscape are
|
||||
* Copyright (C) 1998-1999 Netscape Communications Corporation. All
|
||||
* Rights Reserved.
|
||||
*
|
||||
* Contributor(s):
|
||||
*/
|
||||
|
||||
/* This contains CSS just for editor toolbars */
|
||||
|
||||
#EditorToolbox {
|
||||
min-width: 1px;
|
||||
}
|
||||
|
||||
#FormatToolbar {
|
||||
border-bottom: 1px solid #003366;
|
||||
}
|
||||
|
||||
.separator_small {
|
||||
width: 1em;
|
||||
}
|
||||
|
||||
.margin-left-right {
|
||||
margin-left: 3px;
|
||||
margin-right: 3px;
|
||||
}
|
||||
|
||||
/* From button.css: */
|
||||
/* margin: 4px 7px 1px 1px; */
|
||||
/* We have too many buttons - must be closer! */
|
||||
|
||||
.toolbar, .key-toolbar {
|
||||
margin-right: 2px;
|
||||
}
|
||||
|
||||
.inset-border {
|
||||
border: 1px inset white;
|
||||
}
|
||||
|
||||
/* THIS DOESN'T WORK ON <text>! */
|
||||
.center {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
/* end of SHOULD GO IN GLOBAL */
|
||||
|
||||
#EditModeToolbar {
|
||||
padding: 0px;
|
||||
/* Same as "standard" toolbar background */
|
||||
border-top: 1px solid #003366;
|
||||
border-bottom: 1px solid darkgray;
|
||||
margin-bottom: 0px;
|
||||
min-width: 1px;
|
||||
color: white;
|
||||
background-color: #999999;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.EditModeButton {
|
||||
-moz-border-radius: 0px 0px 8px 8px;
|
||||
border-top: 1px solid #CCCCCC; /* Must be same as background */
|
||||
border-bottom: 1px solid #666666;
|
||||
border-left: 1px solid white;
|
||||
border-right: 1px solid #666666;
|
||||
padding: 0px 4px 0px 4px;
|
||||
margin: 0px;
|
||||
color: black;
|
||||
background-color: #CCCCCC;
|
||||
}
|
||||
|
||||
.EditModeButton:hover {
|
||||
border: 1px solid white;
|
||||
}
|
||||
|
||||
.EditModeButton:active {
|
||||
padding: 1px 5px -1px 3px;
|
||||
}
|
||||
|
||||
.EditModeButton[selected="1"] {
|
||||
padding: 0px 4px 0px 4px;
|
||||
margin: -1px 0px 0px 0px;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.EditModeButton[selected="1"]:active {
|
||||
padding: 1px 5px -1px 3px;
|
||||
}
|
||||
|
||||
/* Image URLs for all Editor toolbar buttons */
|
||||
|
||||
#boldButton {
|
||||
list-style-image:url(chrome://editor/skin/images/bold.gif);
|
||||
}
|
||||
|
||||
#italicButton {
|
||||
list-style-image:url(chrome://editor/skin/images/italic.gif);
|
||||
}
|
||||
|
||||
#underlineButton {
|
||||
list-style-image:url(chrome://editor/skin/images/underline.gif);
|
||||
}
|
||||
|
||||
#newButton {
|
||||
list-style-image:url("chrome://editor/skin/images/newfile.gif");
|
||||
}
|
||||
#openButton {
|
||||
list-style-image:url("chrome://editor/skin/images/openfile.gif");
|
||||
}
|
||||
|
||||
#saveButton {
|
||||
list-style-image:url("chrome://editor/skin/images/savefile.gif");
|
||||
}
|
||||
#saveButton[dirty="true"] {
|
||||
list-style-image:url(chrome://editor/skin/images/savemod.gif);
|
||||
}
|
||||
|
||||
#publishButton {
|
||||
list-style-image:url("chrome://editor/skin/images/publish.gif");
|
||||
}
|
||||
#previewButton {
|
||||
list-style-image:url("chrome://editor/skin/images/preview.gif");
|
||||
}
|
||||
#printButton {
|
||||
list-style-image:url("chrome://editor/skin/images/print.gif");
|
||||
}
|
||||
#findButton {
|
||||
list-style-image:url("chrome://editor/skin/images/find.gif");
|
||||
}
|
||||
#linkButton {
|
||||
list-style-image:url("chrome://editor/skin/images/link-white.gif");
|
||||
}
|
||||
#imageButton {
|
||||
list-style-image:url("chrome://editor/skin/images/image-white.gif");
|
||||
}
|
||||
#namedAnchorButton {
|
||||
list-style-image:url("chrome://editor/skin/images/anchor-white.gif");
|
||||
}
|
||||
#hlineButton {
|
||||
list-style-image:url("chrome://editor/skin/images/hline-white.gif");
|
||||
}
|
||||
#tableButton {
|
||||
list-style-image:url("chrome://editor/skin/images/table-white.gif");
|
||||
}
|
||||
#linkButton-dark {
|
||||
list-style-image:url("chrome://editor/skin/images/link.gif");
|
||||
}
|
||||
#imageButton-dark {
|
||||
list-style-image:url("chrome://editor/skin/images/image.gif");
|
||||
}
|
||||
#namedAnchorButton-dark {
|
||||
list-style-image:url("chrome://editor/skin/images/anchor.gif");
|
||||
}
|
||||
#hlineButton-dark {
|
||||
list-style-image:url("chrome://editor/skin/images/hline.gif");
|
||||
}
|
||||
#tableButton-dark {
|
||||
list-style-image:url("chrome://editor/skin/images/table.gif");
|
||||
}
|
||||
#spellingButton {
|
||||
list-style-image:url("chrome://editor/skin/images/spell.gif");
|
||||
}
|
||||
|
||||
#DecreaseFontSizeButton {
|
||||
list-style-image:url("chrome://editor/skin/images/dec-font-size.gif");
|
||||
border: 1px solid transparent;
|
||||
margin: 1px 0px 1px 1px;
|
||||
padding: 2px 1px 2px 2px;
|
||||
}
|
||||
#DecreaseFontSizeButton:hover {
|
||||
border: 1px solid white;
|
||||
}
|
||||
#DecreaseFontSizeButton:active {
|
||||
border: 1px inset white;
|
||||
padding: 3px 0px 1px 3px;
|
||||
}
|
||||
#IncreaseFontSizeButton {
|
||||
list-style-image:url("chrome://editor/skin/images/inc-font-size.gif");
|
||||
border: 1px solid transparent;
|
||||
margin: 1px 1px 1px 0px;
|
||||
padding: 2px 2px 2px 0px;
|
||||
}
|
||||
#IncreaseFontSizeButton:hover {
|
||||
border: 1px solid white;
|
||||
}
|
||||
#IncreaseFontSizeButton:active {
|
||||
border: 1px inset white;
|
||||
padding: 3px 1px 1px 1px;
|
||||
}
|
||||
|
||||
#ulButton {
|
||||
list-style-image:url("chrome://editor/skin/images/bullets.gif");
|
||||
}
|
||||
#olButton {
|
||||
list-style-image:url("chrome://editor/skin/images/numbers.gif");
|
||||
}
|
||||
#outdentButton {
|
||||
list-style-image:url("chrome://editor/skin/images/outdent.gif");
|
||||
}
|
||||
#indentButton {
|
||||
list-style-image:url("chrome://editor/skin/images/indent.gif");
|
||||
}
|
||||
#AlignPopupButton {
|
||||
list-style-image:url("chrome://editor/skin/images/align.gif");
|
||||
}
|
||||
#InsertPopupButton {
|
||||
list-style-image:url("chrome://editor/skin/images/object-popup.gif");
|
||||
}
|
||||
|
||||
#text-align-left {
|
||||
list-style-image:url("chrome://editor/skin/images/left.gif");
|
||||
}
|
||||
#text-align-center {
|
||||
list-style-image:url("chrome://editor/skin/images/center.gif");
|
||||
}
|
||||
#text-align-right {
|
||||
list-style-image:url("chrome://editor/skin/images/right.gif");
|
||||
}
|
||||
#text-align-justify {
|
||||
list-style-image:url("chrome://editor/skin/images/justify.gif");
|
||||
}
|
||||
|
||||
.ColorPickerLabel {
|
||||
border: 1px inset white;
|
||||
margin: 0px;
|
||||
padding: 2px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
/* TODO: How to make inset color skinable? */
|
||||
.color-button {
|
||||
border: 1px inset #CCCCCC;
|
||||
padding: 0px;
|
||||
width: 14px;
|
||||
height: 12px;
|
||||
margin: 2px;
|
||||
}
|
||||
|
||||
.color-button:hover {
|
||||
border: 1px solid white;
|
||||
}
|
||||
|
||||
#TextColorPopupButton {
|
||||
margin: 2px 9px 9px 2px;
|
||||
/* TEMP: Set color here. TODO: Set color from page */
|
||||
background-color: #AA0000;
|
||||
}
|
||||
|
||||
#BackColorPopupButton {
|
||||
margin: 9px 2px 2px 9px;
|
||||
/* TEMP: Set color here. TODO: Set color from page */
|
||||
background-color: #FFFF00;
|
||||
}
|
|
@ -1,166 +0,0 @@
|
|||
#
|
||||
# The contents of this file are subject to the Netscape Public
|
||||
# License Version 1.1 (the "License"); you may not use this file
|
||||
# except in compliance with the License. You may obtain a copy of
|
||||
# the License at http://www.mozilla.org/NPL/
|
||||
#
|
||||
# Software distributed under the License is distributed on an "AS
|
||||
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
|
||||
# implied. See the License for the specific language governing
|
||||
# rights and limitations under the License.
|
||||
#
|
||||
# The Original Code is Mozilla Communicator client code, released
|
||||
# March 31, 1998.
|
||||
#
|
||||
# The Initial Developer of the Original Code is Netscape
|
||||
# Communications Corporation. Portions created by Netscape are
|
||||
# Copyright (C) 1998-2000 Netscape Communications Corporation. All
|
||||
# Rights Reserved.
|
||||
#
|
||||
# Contributor(s):
|
||||
#
|
||||
|
||||
editor.css
|
||||
EditorToolbars.css
|
||||
|
||||
#skin directory
|
||||
|
||||
images:left.gif
|
||||
images:center.gif
|
||||
images:right.gif
|
||||
images:justify.gif
|
||||
images:anchor.gif
|
||||
images:anchor-in-doc.gif
|
||||
images:div.gif
|
||||
images:span.gif
|
||||
images:bullets.gif
|
||||
images:outdent.gif
|
||||
images:hline.gif
|
||||
images:hover-teal.gif
|
||||
images:image.gif
|
||||
images:img-align-bottom.gif
|
||||
images:img-align-left.gif
|
||||
images:img-align-middle.gif
|
||||
images:img-align-right.gif
|
||||
images:img-align-top.gif
|
||||
images:indent.gif
|
||||
images:italic.gif
|
||||
images:link.gif
|
||||
images:numbers.gif
|
||||
images:spell.gif
|
||||
images:table.gif
|
||||
images:underline.gif
|
||||
images:bold.gif
|
||||
images:color.gif
|
||||
images:align.gif
|
||||
images:object-popup.gif
|
||||
images:newfile.gif
|
||||
images:openfile.gif
|
||||
images:savefile.gif
|
||||
images:savemod.gif
|
||||
images:publish.gif
|
||||
images:print.gif
|
||||
images:preview.gif
|
||||
images:find.gif
|
||||
images:link-white.gif
|
||||
images:anchor-white.gif
|
||||
images:image-white.gif
|
||||
images:table-white.gif
|
||||
images:hline-white.gif
|
||||
images:dec-font-size.gif
|
||||
images:inc-font-size.gif
|
||||
images:tag-abr.gif
|
||||
images:tag-acr.gif
|
||||
images:tag-adr.gif
|
||||
images:tag-ara.gif
|
||||
images:tag-bas.gif
|
||||
images:tag-blq.gif
|
||||
images:tag-bsf.gif
|
||||
images:tag-btn.gif
|
||||
images:tag-cit.gif
|
||||
images:tag-clg.gif
|
||||
images:tag-cod.gif
|
||||
images:tag-cpt.gif
|
||||
images:tag-ctr.gif
|
||||
images:tag-fld.gif
|
||||
images:tag-fnt.gif
|
||||
images:tag-for.gif
|
||||
images:tag-frm.gif
|
||||
images:tag-fst.gif
|
||||
images:tag-ifr.gif
|
||||
images:tag-inp.gif
|
||||
images:tag-lbl.gif
|
||||
images:tag-lgn.gif
|
||||
images:tag-lnk.gif
|
||||
images:tag-lst.gif
|
||||
images:tag-men.gif
|
||||
images:tag-nfr.gif
|
||||
images:tag-nsc.gif
|
||||
images:tag-opg.gif
|
||||
images:tag-opt.gif
|
||||
images:tag-prm.gif
|
||||
images:tag-scr.gif
|
||||
images:tag-slc.gif
|
||||
images:tag-sml.gif
|
||||
images:tag-smp.gif
|
||||
images:tag-spn.gif
|
||||
images:tag-stk.gif
|
||||
images:tag-stl.gif
|
||||
images:tag-stn.gif
|
||||
images:tag-tbd.gif
|
||||
images:tag-tbl.gif
|
||||
images:tag-tft.gif
|
||||
images:tag-thd.gif
|
||||
images:tag-hed.gif
|
||||
images:tag-isx.gif
|
||||
images:tag-met.gif
|
||||
images:tag-ttl.gif
|
||||
images:tag-pln.gif
|
||||
images:tag-xmp.gif
|
||||
images:tag-txt.gif
|
||||
images:tag-unknown.gif
|
||||
images:tag-a.gif
|
||||
images:tag-app.gif
|
||||
images:tag-b.gif
|
||||
images:tag-bdo.gif
|
||||
images:tag-big.gif
|
||||
images:tag-body.gif
|
||||
images:tag-br.gif
|
||||
images:tag-col.gif
|
||||
images:tag-dd.gif
|
||||
images:tag-del.gif
|
||||
images:tag-dfn.gif
|
||||
images:tag-dir.gif
|
||||
images:tag-div.gif
|
||||
images:tag-dl.gif
|
||||
images:tag-dt.gif
|
||||
images:tag-em.gif
|
||||
images:tag-h1.gif
|
||||
images:tag-h2.gif
|
||||
images:tag-h3.gif
|
||||
images:tag-h4.gif
|
||||
images:tag-h5.gif
|
||||
images:tag-h6.gif
|
||||
images:tag-hr.gif
|
||||
images:tag-html.gif
|
||||
images:tag-i.gif
|
||||
images:tag-img.gif
|
||||
images:tag-ins.gif
|
||||
images:tag-kbd.gif
|
||||
images:tag-li.gif
|
||||
images:tag-map.gif
|
||||
images:tag-obj.gif
|
||||
images:tag-ol.gif
|
||||
images:tag-p.gif
|
||||
images:tag-pre.gif
|
||||
images:tag-q.gif
|
||||
images:tag-s.gif
|
||||
images:tag-sub.gif
|
||||
images:tag-sup.gif
|
||||
images:tag-td.gif
|
||||
images:tag-th.gif
|
||||
images:tag-tr.gif
|
||||
images:tag-tt.gif
|
||||
images:tag-u.gif
|
||||
images:tag-ul.gif
|
||||
images:tag-var.gif
|
|
@ -1,176 +0,0 @@
|
|||
#
|
||||
# The contents of this file are subject to the Netscape Public
|
||||
# License Version 1.1 (the "License"); you may not use this file
|
||||
# except in compliance with the License. You may obtain a copy of
|
||||
# the License at http://www.mozilla.org/NPL/
|
||||
#
|
||||
# Software distributed under the License is distributed on an "AS
|
||||
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
|
||||
# implied. See the License for the specific language governing
|
||||
# rights and limitations under the License.
|
||||
#
|
||||
# The Original Code is mozilla.org code.
|
||||
#
|
||||
# The Initial Developer of the Original Code is Netscape
|
||||
# Communications Corporation. Portions created by Netscape are
|
||||
# Copyright (C) 2000 Netscape Communications Corporation. All
|
||||
# Rights Reserved.
|
||||
#
|
||||
# Contributor(s):
|
||||
#
|
||||
|
||||
DEPTH = ../../../../..
|
||||
topsrcdir = @top_srcdir@
|
||||
srcdir = @srcdir@
|
||||
VPATH = @srcdir@
|
||||
|
||||
include $(DEPTH)/config/autoconf.mk
|
||||
|
||||
CHROME_DIR = editor
|
||||
CHROME_SKIN_DIR = skin/images
|
||||
|
||||
CHROME_SKIN = \
|
||||
bold.gif \
|
||||
bullets.gif \
|
||||
left.gif \
|
||||
center.gif \
|
||||
right.gif \
|
||||
justify.gif \
|
||||
outdent.gif \
|
||||
find.gif \
|
||||
hline.gif \
|
||||
hover-teal.gif \
|
||||
image.gif \
|
||||
indent.gif \
|
||||
italic.gif \
|
||||
link.gif \
|
||||
numbers.gif \
|
||||
spell.gif \
|
||||
table.gif \
|
||||
anchor.gif \
|
||||
anchor-in-doc.gif \
|
||||
div.gif \
|
||||
span.gif \
|
||||
underline.gif \
|
||||
color.gif \
|
||||
align.gif \
|
||||
object-popup.gif \
|
||||
newfile.gif \
|
||||
openfile.gif \
|
||||
savefile.gif \
|
||||
savemod.gif \
|
||||
publish.gif \
|
||||
preview.gif \
|
||||
print.gif \
|
||||
find.gif \
|
||||
img-align-bottom.gif \
|
||||
img-align-left.gif \
|
||||
img-align-middle.gif \
|
||||
img-align-right.gif \
|
||||
img-align-top.gif \
|
||||
link-white.gif \
|
||||
anchor-white.gif \
|
||||
image-white.gif \
|
||||
table-white.gif \
|
||||
hline-white.gif \
|
||||
dec-font-size.gif \
|
||||
inc-font-size.gif \
|
||||
tag-abr.gif \
|
||||
tag-acr.gif \
|
||||
tag-adr.gif \
|
||||
tag-ara.gif \
|
||||
tag-bas.gif \
|
||||
tag-blq.gif \
|
||||
tag-bsf.gif \
|
||||
tag-btn.gif \
|
||||
tag-cit.gif \
|
||||
tag-clg.gif \
|
||||
tag-cod.gif \
|
||||
tag-cpt.gif \
|
||||
tag-ctr.gif \
|
||||
tag-fld.gif \
|
||||
tag-fnt.gif \
|
||||
tag-for.gif \
|
||||
tag-frm.gif \
|
||||
tag-fst.gif \
|
||||
tag-ifr.gif \
|
||||
tag-inp.gif \
|
||||
tag-lbl.gif \
|
||||
tag-lgn.gif \
|
||||
tag-lnk.gif \
|
||||
tag-lst.gif \
|
||||
tag-men.gif \
|
||||
tag-nfr.gif \
|
||||
tag-nsc.gif \
|
||||
tag-opg.gif \
|
||||
tag-opt.gif \
|
||||
tag-prm.gif \
|
||||
tag-scr.gif \
|
||||
tag-slc.gif \
|
||||
tag-sml.gif \
|
||||
tag-smp.gif \
|
||||
tag-spn.gif \
|
||||
tag-stk.gif \
|
||||
tag-stl.gif \
|
||||
tag-stn.gif \
|
||||
tag-tbd.gif \
|
||||
tag-tbl.gif \
|
||||
tag-tft.gif \
|
||||
tag-thd.gif \
|
||||
tag-hed.gif \
|
||||
tag-isx.gif \
|
||||
tag-met.gif \
|
||||
tag-ttl.gif \
|
||||
tag-pln.gif \
|
||||
tag-xmp.gif \
|
||||
tag-txt.gif \
|
||||
tag-unknown.gif \
|
||||
tag-a.gif \
|
||||
tag-app.gif \
|
||||
tag-b.gif \
|
||||
tag-bdo.gif \
|
||||
tag-big.gif \
|
||||
tag-body.gif \
|
||||
tag-br.gif \
|
||||
tag-col.gif \
|
||||
tag-dd.gif \
|
||||
tag-del.gif \
|
||||
tag-dfn.gif \
|
||||
tag-dir.gif \
|
||||
tag-div.gif \
|
||||
tag-dl.gif \
|
||||
tag-dt.gif \
|
||||
tag-em.gif \
|
||||
tag-h1.gif \
|
||||
tag-h2.gif \
|
||||
tag-h3.gif \
|
||||
tag-h4.gif \
|
||||
tag-h5.gif \
|
||||
tag-h6.gif \
|
||||
tag-hr.gif \
|
||||
tag-html.gif \
|
||||
tag-i.gif \
|
||||
tag-img.gif \
|
||||
tag-ins.gif \
|
||||
tag-kbd.gif \
|
||||
tag-li.gif \
|
||||
tag-map.gif \
|
||||
tag-obj.gif \
|
||||
tag-ol.gif \
|
||||
tag-p.gif \
|
||||
tag-pre.gif \
|
||||
tag-q.gif \
|
||||
tag-s.gif \
|
||||
tag-sub.gif \
|
||||
tag-sup.gif \
|
||||
tag-td.gif \
|
||||
tag-th.gif \
|
||||
tag-tr.gif \
|
||||
tag-tt.gif \
|
||||
tag-u.gif \
|
||||
tag-ul.gif \
|
||||
tag-var.gif \
|
||||
$(NULL)
|
||||
|
||||
include $(topsrcdir)/config/rules.mk
|
||||
|
|
@ -1,170 +0,0 @@
|
|||
#!nmake
|
||||
#
|
||||
# The contents of this file are subject to the Netscape Public
|
||||
# License Version 1.1 (the "License"); you may not use this file
|
||||
# except in compliance with the License. You may obtain a copy of
|
||||
# the License at http://www.mozilla.org/NPL/
|
||||
#
|
||||
# Software distributed under the License is distributed on an "AS
|
||||
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
|
||||
# implied. See the License for the specific language governing
|
||||
# rights and limitations under the License.
|
||||
#
|
||||
# The Original Code is mozilla.org code.
|
||||
#
|
||||
# The Initial Developer of the Original Code is Netscape
|
||||
# Communications Corporation. Portions created by Netscape are
|
||||
# Copyright (C) 2000 Netscape Communications Corporation. All
|
||||
# Rights Reserved.
|
||||
#
|
||||
# Contributor(s):
|
||||
|
||||
DEPTH=..\..\..\..\..
|
||||
|
||||
CHROME_DIR = editor
|
||||
CHROME_SKIN_DIR = skin\images
|
||||
|
||||
CHROME_SKIN = \
|
||||
.\align.gif \
|
||||
.\bold.gif \
|
||||
.\bullets.gif\
|
||||
.\left.gif \
|
||||
.\center.gif \
|
||||
.\right.gif \
|
||||
.\justify.gif\
|
||||
.\find.gif \
|
||||
.\hline.gif \
|
||||
.\hover-teal.gif \
|
||||
.\image.gif \
|
||||
.\indent.gif \
|
||||
.\italic.gif \
|
||||
.\link.gif \
|
||||
.\numbers.gif \
|
||||
.\object-popup.gif \
|
||||
.\outdent.gif \
|
||||
.\spell.gif \
|
||||
.\table.gif \
|
||||
.\anchor.gif \
|
||||
.\anchor-in-doc.gif \
|
||||
.\div.gif \
|
||||
.\span.gif \
|
||||
.\underline.gif \
|
||||
.\color.gif \
|
||||
.\newfile.gif \
|
||||
.\openfile.gif \
|
||||
.\savefile.gif \
|
||||
.\savemod.gif \
|
||||
.\publish.gif \
|
||||
.\preview.gif \
|
||||
.\print.gif \
|
||||
.\find.gif \
|
||||
.\img-align-bottom.gif \
|
||||
.\img-align-left.gif \
|
||||
.\img-align-middle.gif \
|
||||
.\img-align-right.gif \
|
||||
.\img-align-top.gif \
|
||||
.\link-white.gif \
|
||||
.\anchor-white.gif \
|
||||
.\image-white.gif \
|
||||
.\table-white.gif \
|
||||
.\hline-white.gif \
|
||||
.\dec-font-size.gif \
|
||||
.\inc-font-size.gif \
|
||||
.\tag-abr.gif \
|
||||
.\tag-acr.gif \
|
||||
.\tag-adr.gif \
|
||||
.\tag-ara.gif \
|
||||
.\tag-bas.gif \
|
||||
.\tag-blq.gif \
|
||||
.\tag-bsf.gif \
|
||||
.\tag-btn.gif \
|
||||
.\tag-cit.gif \
|
||||
.\tag-clg.gif \
|
||||
.\tag-cod.gif \
|
||||
.\tag-cpt.gif \
|
||||
.\tag-ctr.gif \
|
||||
.\tag-fld.gif \
|
||||
.\tag-fnt.gif \
|
||||
.\tag-for.gif \
|
||||
.\tag-frm.gif \
|
||||
.\tag-fst.gif \
|
||||
.\tag-ifr.gif \
|
||||
.\tag-inp.gif \
|
||||
.\tag-lbl.gif \
|
||||
.\tag-lgn.gif \
|
||||
.\tag-lnk.gif \
|
||||
.\tag-lst.gif \
|
||||
.\tag-men.gif \
|
||||
.\tag-nfr.gif \
|
||||
.\tag-nsc.gif \
|
||||
.\tag-opg.gif \
|
||||
.\tag-opt.gif \
|
||||
.\tag-prm.gif \
|
||||
.\tag-scr.gif \
|
||||
.\tag-slc.gif \
|
||||
.\tag-sml.gif \
|
||||
.\tag-smp.gif \
|
||||
.\tag-spn.gif \
|
||||
.\tag-stk.gif \
|
||||
.\tag-stl.gif \
|
||||
.\tag-stn.gif \
|
||||
.\tag-tbd.gif \
|
||||
.\tag-tbl.gif \
|
||||
.\tag-tft.gif \
|
||||
.\tag-thd.gif \
|
||||
.\tag-hed.gif \
|
||||
.\tag-isx.gif \
|
||||
.\tag-met.gif \
|
||||
.\tag-ttl.gif \
|
||||
.\tag-pln.gif \
|
||||
.\tag-xmp.gif \
|
||||
.\tag-txt.gif \
|
||||
.\tag-a.gif \
|
||||
.\tag-app.gif \
|
||||
.\tag-b.gif \
|
||||
.\tag-bdo.gif \
|
||||
.\tag-big.gif \
|
||||
.\tag-body.gif \
|
||||
.\tag-br.gif \
|
||||
.\tag-col.gif \
|
||||
.\tag-dd.gif \
|
||||
.\tag-del.gif \
|
||||
.\tag-dfn.gif \
|
||||
.\tag-dir.gif \
|
||||
.\tag-div.gif \
|
||||
.\tag-dl.gif \
|
||||
.\tag-dt.gif \
|
||||
.\tag-em.gif \
|
||||
.\tag-h1.gif \
|
||||
.\tag-h2.gif \
|
||||
.\tag-h3.gif \
|
||||
.\tag-h4.gif \
|
||||
.\tag-h5.gif \
|
||||
.\tag-h6.gif \
|
||||
.\tag-hr.gif \
|
||||
.\tag-html.gif \
|
||||
.\tag-i.gif \
|
||||
.\tag-img.gif \
|
||||
.\tag-ins.gif \
|
||||
.\tag-kbd.gif \
|
||||
.\tag-li.gif \
|
||||
.\tag-map.gif \
|
||||
.\tag-obj.gif \
|
||||
.\tag-ol.gif \
|
||||
.\tag-p.gif \
|
||||
.\tag-pre.gif \
|
||||
.\tag-q.gif \
|
||||
.\tag-s.gif \
|
||||
.\tag-sub.gif \
|
||||
.\tag-sup.gif \
|
||||
.\tag-td.gif \
|
||||
.\tag-th.gif \
|
||||
.\tag-tr.gif \
|
||||
.\tag-tt.gif \
|
||||
.\tag-u.gif \
|
||||
.\tag-ul.gif \
|
||||
.\tag-var.gif \
|
||||
.\tag-unknown.gif \
|
||||
$(NULL)
|
||||
|
||||
include <$(DEPTH)\config\rules.mak>
|
|
@ -46,7 +46,6 @@ install:: $(DLL)
|
|||
$(MAKE_INSTALL) images\spell.gif $(DIST)\bin\chrome\editor\skin\images
|
||||
$(MAKE_INSTALL) images\table.gif $(DIST)\bin\chrome\editor\skin\images
|
||||
$(MAKE_INSTALL) images\anchor.gif $(DIST)\bin\chrome\editor\skin\images
|
||||
$(MAKE_INSTALL) images\anchor-in-doc.gif $(DIST)\bin\chrome\editor\skin\images
|
||||
$(MAKE_INSTALL) images\div.gif $(DIST)\bin\chrome\editor\skin\images
|
||||
$(MAKE_INSTALL) images\span.gif $(DIST)\bin\chrome\editor\skin\images
|
||||
$(MAKE_INSTALL) images\underline.gif $(DIST)\bin\chrome\editor\skin\images
|
||||
|
@ -71,6 +70,11 @@ install:: $(DLL)
|
|||
$(MAKE_INSTALL) images\hline-white.gif $(DIST)\bin\chrome\editor\skin\images
|
||||
$(MAKE_INSTALL) images\dec-font-size.gif $(DIST)\bin\chrome\editor\skin\images
|
||||
$(MAKE_INSTALL) images\inc-font-size.gif $(DIST)\bin\chrome\editor\skin\images
|
||||
$(MAKE_INSTALL) images\editmode-normal.gif $(DIST)\bin\chrome\editor\skin\images
|
||||
$(MAKE_INSTALL) images\editmode-tags.gif $(DIST)\bin\chrome\editor\skin\images
|
||||
$(MAKE_INSTALL) images\editmode-html.gif $(DIST)\bin\chrome\editor\skin\images
|
||||
$(MAKE_INSTALL) images\editmode-preview.gif $(DIST)\bin\chrome\editor\skin\images
|
||||
$(MAKE_INSTALL) images\editmode-toggle.gif $(DIST)\bin\chrome\editor\skin\images
|
||||
$(MAKE_INSTALL) images\tag-abr.gif $(DIST)\bin\chrome\editor\skin\images
|
||||
$(MAKE_INSTALL) images\tag-acr.gif $(DIST)\bin\chrome\editor\skin\images
|
||||
$(MAKE_INSTALL) images\tag-adr.gif $(DIST)\bin\chrome\editor\skin\images
|
||||
|
@ -165,7 +169,7 @@ install:: $(DLL)
|
|||
$(MAKE_INSTALL) images\tag-u.gif $(DIST)\bin\chrome\editor\skin\images
|
||||
$(MAKE_INSTALL) images\tag-ul.gif $(DIST)\bin\chrome\editor\skin\images
|
||||
$(MAKE_INSTALL) images\tag-var.gif $(DIST)\bin\chrome\editor\skin\images
|
||||
$(MAKE_INSTALL) images\tag-unknown.gif $(DIST)\bin\chrome\editor\skin\images
|
||||
$(MAKE_INSTALL) images\tag-userdefined.gif $(DIST)\bin\chrome\editor\skin\images
|
||||
|
||||
clobber::
|
||||
rm -f $(DIST)\bin\chrome\editor\skin\editor.css
|
||||
|
@ -189,7 +193,6 @@ clobber::
|
|||
rm -f $(DIST)\bin\chrome\editor\skin\images\spell.gif
|
||||
rm -f $(DIST)\bin\chrome\editor\skin\images\table.gif
|
||||
rm -f $(DIST)\bin\chrome\editor\skin\images\anchor.gif
|
||||
rm -f $(DIST)\bin\chrome\editor\skin\images\anchor-in-doc.gif
|
||||
rm -f $(DIST)\bin\chrome\editor\skin\images\div.gif
|
||||
rm -f $(DIST)\bin\chrome\editor\skin\images\span.gif
|
||||
rm -f $(DIST)\bin\chrome\editor\skin\images\underline.gif
|
||||
|
@ -215,6 +218,11 @@ clobber::
|
|||
rm -f $(DIST)\bin\chrome\editor\skin\images\hline-white.gif
|
||||
rm -f $(DIST)\bin\chrome\editor\skin\images\dec-font-size.gif
|
||||
rm -f $(DIST)\bin\chrome\editor\skin\images\inc-font-size.gif
|
||||
rm -f $(DIST)\bin\chrome\editor\skin\images\editmode-normal.gif
|
||||
rm -f $(DIST)\bin\chrome\editor\skin\images\editmode-tags.gif
|
||||
rm -f $(DIST)\bin\chrome\editor\skin\images\editmode-html.gif
|
||||
rm -f $(DIST)\bin\chrome\editor\skin\images\editmode-preview.gif
|
||||
rm -f $(DIST)\bin\chrome\editor\skin\images\editmode-toggle.gif
|
||||
rm -f $(DIST)\bin\chrome\editor\skin\images\tag-abr.gif
|
||||
rm -f $(DIST)\bin\chrome\editor\skin\images\tag-acr.gif
|
||||
rm -f $(DIST)\bin\chrome\editor\skin\images\tag-adr.gif
|
||||
|
@ -309,4 +317,4 @@ clobber::
|
|||
rm -f $(DIST)\bin\chrome\editor\skin\images\tag-u.gif
|
||||
rm -f $(DIST)\bin\chrome\editor\skin\images\tag-ul.gif
|
||||
rm -f $(DIST)\bin\chrome\editor\skin\images\tag-var.gif
|
||||
rm -f $(DIST)\bin\chrome\editor\skin\images\tag-unknown.gif
|
||||
rm -f $(DIST)\bin\chrome\editor\skin\images\tag-userdefined.gif
|
||||
|
|
|
@ -143,11 +143,16 @@ function SetTextfieldFocus(textfield)
|
|||
{
|
||||
if (textfield)
|
||||
{
|
||||
dump("Selection Start="+textfield.selectionStart+"\n");
|
||||
dump("Selection End="+textfield.selectionEnd+"\n");
|
||||
textfield.focus();
|
||||
//TODO: This is not working -- did Simon checkin? Do we need to change XBL?
|
||||
textfield.selectionStart = 0;
|
||||
//textfield.selectionStart = 0;
|
||||
textfield.setAttribute("selectionStart",0);
|
||||
//TODO: Simon should change this to support "-1" for "select to end"
|
||||
textfield.selectionEnd = textfield.value.length;
|
||||
//textfield.selectionEnd = textfield.value.length;
|
||||
textfield.setAttrubute("selectionEnd",textfield.value.length);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -61,3 +61,5 @@ EdImageMapHotSpot.js
|
|||
EdImageMapHotSpot.xul
|
||||
EdImageMapShapes.js
|
||||
EdImageMapPage.html
|
||||
EditConflict.xul
|
||||
EditConflict.js
|
||||
|
|
|
@ -69,6 +69,8 @@ CHROME_CONTENT = \
|
|||
EdImageMapHotSpot.xul \
|
||||
EdImageMapShapes.js \
|
||||
EdImageMapPage.html \
|
||||
EditConflict.xul \
|
||||
EditConflict.js \
|
||||
$(NULL)
|
||||
|
||||
include $(topsrcdir)/config/rules.mk
|
||||
|
|
|
@ -63,6 +63,8 @@ install::
|
|||
$(MAKE_INSTALL) EdImageMapHotSpot.xul $(DIST)\bin\chrome\editor\content
|
||||
$(MAKE_INSTALL) EdImageMapShapes.js $(DIST)\bin\chrome\editor\content
|
||||
$(MAKE_INSTALL) EdImageMapPage.html $(DIST)\bin\chrome\editor\content
|
||||
$(MAKE_INSTALL) EditConflict.xul $(DIST)\bin\chrome\editor\content
|
||||
$(MAKE_INSTALL) EditConflict.js $(DIST)\bin\chrome\editor\content
|
||||
|
||||
|
||||
clobber::
|
||||
|
@ -105,3 +107,5 @@ clobber::
|
|||
rm -f $(DIST)\bin\chrome\editor\content\EdImageMapHotSpot.xul
|
||||
rm -f $(DIST)\bin\chrome\editor\content\EdImageMapShapes.js
|
||||
rm -f $(DIST)\bin\chrome\editor\content\EdImageMapPage.html
|
||||
rm -f $(DIST)\bin\chrome\editor\content\EditConflict.xul
|
||||
rm -f $(DIST)\bin\chrome\editor\content\EditConflict.js
|
||||
|
|
|
@ -40,3 +40,4 @@ EdAdvancedEdit.dtd
|
|||
EditorImageMap.dtd
|
||||
EditorImageMapHotSpot.dtd
|
||||
EditorInsertChars.dtd
|
||||
EditConflict.dtd
|
||||
|
|
|
@ -47,6 +47,7 @@ CHROME_L10N = \
|
|||
EdAdvancedEdit.dtd \
|
||||
EditorImageMap.dtd \
|
||||
EditorImageMapHotSpot.dtd \
|
||||
EditConflict.dtd \
|
||||
$(NULL)
|
||||
|
||||
include $(topsrcdir)/config/rules.mk
|
||||
|
|
|
@ -41,6 +41,7 @@ install::
|
|||
$(MAKE_INSTALL) EdAdvancedEdit.dtd $(DIST)\bin\chrome\editor\locale
|
||||
$(MAKE_INSTALL) EditorImageMap.dtd $(DIST)\bin\chrome\editor\locale
|
||||
$(MAKE_INSTALL) EditorImageMapHotSpot.dtd $(DIST)\bin\chrome\editor\locale
|
||||
$(MAKE_INSTALL) EditConflict.dtd $(DIST)\bin\chrome\editor\locale
|
||||
|
||||
clobber::
|
||||
rm -f $(DIST)\bin\chrome\editor\locale\EditorHLineProperties.dtd
|
||||
|
@ -60,5 +61,6 @@ clobber::
|
|||
rm -f $(DIST)\bin\chrome\editor\locale\EdAdvancedEdit.dtd
|
||||
rm -f $(DIST)\bin\chrome\editor\locale\EditorImageMap.dtd
|
||||
rm -f $(DIST)\bin\chrome\editor\locale\EditorImageMapHotSpot.dtd
|
||||
rm -f $(DIST)\bin\chrome\editor\locale\EditConflict.dtd
|
||||
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче