From 695f629d17f5e948581a9d31b5c25c56fe9a5c6f 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) --- content/html/document/src/nsHTMLDocument.cpp | 2 +- editor/composer/src/nsComposerCommands.cpp | 23 +++++++++++++++++++- editor/composer/src/nsComposerController.cpp | 1 + 3 files changed, 24 insertions(+), 2 deletions(-) diff --git a/content/html/document/src/nsHTMLDocument.cpp b/content/html/document/src/nsHTMLDocument.cpp index 9a347fed32eb..16d6b93b54b5 100644 --- a/content/html/document/src/nsHTMLDocument.cpp +++ b/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/editor/composer/src/nsComposerCommands.cpp b/editor/composer/src/nsComposerCommands.cpp index 53679fda5e5f..c95587bdc001 100644 --- a/editor/composer/src/nsComposerCommands.cpp +++ b/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/editor/composer/src/nsComposerController.cpp b/editor/composer/src/nsComposerController.cpp index de9311239aba..1317ab2a531f 100644 --- a/editor/composer/src/nsComposerController.cpp +++ b/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; }