made GetIsTransient return false by default, so most transactions don't need to implement GetIsTransient

made delete and backspace do the right thing (testing hacks removed)


git-svn-id: svn://10.0.0.236/trunk@18304 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
buster%netscape.com
1999-01-22 15:40:31 +00:00
parent 25196ce4f2
commit f1bacd2e07
57 changed files with 112 additions and 314 deletions

View File

@@ -136,58 +136,11 @@ nsEditorKeyListener::KeyDown(nsIDOMEvent* aKeyEvent)
{
switch(keyCode) {
case nsIDOMEvent::VK_BACK:
{
if (PR_FALSE==ctrlKey)
{
// XXX: for now, just grab the first text node
nsCOMPtr<nsIDOMNode> currentNode;
nsCOMPtr<nsIDOMNode> textNode;
nsCOMPtr<nsIDOMCharacterData> text;
if (NS_SUCCEEDED(mEditor->GetCurrentNode(getter_AddRefs(currentNode))) &&
NS_SUCCEEDED(mEditor->GetFirstTextNode(currentNode,getter_AddRefs(textNode))) &&
NS_SUCCEEDED(textNode->QueryInterface(kIDOMCharacterDataIID, getter_AddRefs(text))))
{
// XXX: for now, just append the text
PRUint32 offset;
text->GetLength(&offset);
nsresult result = mEditor->DeleteText(text, offset-1, 1);
}
}
else
{
mEditor->DeleteSelection();
}
}
mEditor->DeleteSelection(nsIEditor::eRTL);
break;
case nsIDOMEvent::VK_DELETE:
{
if (PR_FALSE==ctrlKey)
{
// XXX: for now, just grab the first text node
nsCOMPtr<nsIDOMNode> currentNode;
nsCOMPtr<nsIDOMNode> textNode;
nsCOMPtr<nsIDOMCharacterData> text;
if (NS_SUCCEEDED(mEditor->GetCurrentNode(getter_AddRefs(currentNode))) &&
NS_SUCCEEDED(mEditor->GetFirstTextNode(currentNode,getter_AddRefs(textNode))) &&
NS_SUCCEEDED(textNode->QueryInterface(kIDOMCharacterDataIID, getter_AddRefs(text))))
{
nsresult result = mEditor->DeleteText(text, 0, 1);
}
}
else
{ // XXX: delete the first P we find
nsAutoString pTag("P");
nsCOMPtr<nsIDOMNode> currentNode;
nsCOMPtr<nsIDOMNode> parentNode;
nsCOMPtr<nsIDOMElement> element;
if (NS_SUCCEEDED(mEditor->GetFirstNodeOfType(nsnull, pTag, getter_AddRefs(currentNode))))
{
currentNode->GetParentNode(getter_AddRefs(parentNode));
nsresult result = mEditor->DeleteElement(parentNode, currentNode);
}
}
}
mEditor->DeleteSelection(nsIEditor::eLTR);
break;
case nsIDOMEvent::VK_RETURN: