From ea715426549ebca2489893e2cb5156bd48dd68d4 Mon Sep 17 00:00:00 2001 From: "brade%netscape.com" Date: Tue, 17 Dec 2002 19:41:00 +0000 Subject: [PATCH] fix insert HR command for Midas (bug 183793; r=cmanske, sr=smfr) git-svn-id: svn://10.0.0.236/trunk@135415 18797224-902f-48f8-a5cc-f745e15eee43 --- .../html/document/src/nsHTMLDocument.cpp | 2 +- .../composer/src/nsComposerCommands.cpp | 23 ++++++++++++++++++- .../composer/src/nsComposerController.cpp | 1 + 3 files changed, 24 insertions(+), 2 deletions(-) diff --git a/mozilla/content/html/document/src/nsHTMLDocument.cpp b/mozilla/content/html/document/src/nsHTMLDocument.cpp index 9a347fed32e..16d6b93b54b 100644 --- a/mozilla/content/html/document/src/nsHTMLDocument.cpp +++ b/mozilla/content/html/document/src/nsHTMLDocument.cpp @@ -4184,7 +4184,7 @@ static struct MidasCommand gMidasCommandTable[] = { { "increasefontsize", "cmd_increaseFont", "", PR_FALSE }, { "decreasefontsize", "cmd_decreaseFont", "", PR_FALSE }, { "fontsize", "cmd_fontSize", "", PR_FALSE }, - { "inserthorizontalrule", "cmd_hline", "", PR_TRUE }, + { "inserthorizontalrule", "cmd_insertHR", "", PR_TRUE }, { "createlink", "cmd_insertLinkNoUI", "", PR_FALSE }, { "insertimage", "cmd_insertImageNoUI", "", PR_FALSE }, { "justifyleft", "cmd_align", "left", PR_TRUE }, diff --git a/mozilla/editor/composer/src/nsComposerCommands.cpp b/mozilla/editor/composer/src/nsComposerCommands.cpp index 53679fda5e5..c95587bdc00 100644 --- a/mozilla/editor/composer/src/nsComposerCommands.cpp +++ b/mozilla/editor/composer/src/nsComposerCommands.cpp @@ -1315,6 +1315,22 @@ nsInsertTagCommand::IsCommandEnabled(const char * aCommandName, NS_IMETHODIMP nsInsertTagCommand::DoCommand(const char *aCmdName, nsISupports *refCon) { + if (0 == nsCRT::strcmp(mTagName, "hr")) + { + nsCOMPtr editor = do_QueryInterface(refCon); + if (!editor) + return NS_ERROR_NOT_IMPLEMENTED; + + nsCOMPtr domElem; + nsresult rv; + rv = editor->CreateElementWithDefaults(NS_ConvertASCIItoUCS2(mTagName), + getter_AddRefs(domElem)); + if (NS_FAILED(rv)) + return rv; + + return editor->InsertElementAtSelection(domElem, PR_TRUE); + } + return NS_ERROR_NOT_IMPLEMENTED; } @@ -1323,9 +1339,14 @@ nsInsertTagCommand::DoCommandParams(const char *aCommandName, nsICommandParams *aParams, nsISupports *refCon) { - NS_ENSURE_ARG_POINTER(aParams); NS_ENSURE_ARG_POINTER(refCon); + // inserting an hr shouldn't have an parameters, just call DoCommand for that + if (0 == nsCRT::strcmp(mTagName, "hr")) + return DoCommand(aCommandName, refCon); + + NS_ENSURE_ARG_POINTER(aParams); + nsCOMPtr editor = do_QueryInterface(refCon); if (!editor) return NS_ERROR_NOT_IMPLEMENTED; diff --git a/mozilla/editor/composer/src/nsComposerController.cpp b/mozilla/editor/composer/src/nsComposerController.cpp index de9311239ab..1317ab2a531 100644 --- a/mozilla/editor/composer/src/nsComposerController.cpp +++ b/mozilla/editor/composer/src/nsComposerController.cpp @@ -163,6 +163,7 @@ nsComposerController::RegisterHTMLEditorCommands( NS_REGISTER_ONE_COMMAND(nsInsertHTMLCommand, "cmd_insertHTML"); NS_REGISTER_TAG_COMMAND(nsInsertTagCommand, "cmd_insertLinkNoUI", "a"); NS_REGISTER_TAG_COMMAND(nsInsertTagCommand, "cmd_insertImageNoUI", "img"); + NS_REGISTER_TAG_COMMAND(nsInsertTagCommand, "cmd_insertHR", "hr"); return NS_OK; }