r1634 - branches/bxe_2_0/mozile
[email protected] Wed, 15 Nov 2006 17:05:03 +0100 (CET)
| Newsgroups | gmane.editors.bitflux.cvs |
|---|---|
| Message-ID | <[email protected]> |
Author: chregu
Date: Wed Nov 15 17:05:02 2006
New Revision: 1634
Modified:
branches/bxe_2_0/mozile/mozCE.js
branches/bxe_2_0/mozile/mozilekb.js
Log:
Fix bug #304
cursor missing if first td is deleted with backspace
Modified: branches/bxe_2_0/mozile/mozCE.js
==============================================================================
--- branches/bxe_2_0/mozile/mozCE.js (original)
+++ branches/bxe_2_0/mozile/mozCE.js Wed Nov 15 17:05:02 2006
@@ -235,9 +235,7 @@
parpar.normalize();
var _h = par.XMLNode._htmlnode;
- var _pref = _h.previousSibling;
- _h.parentNode.removeChild(_h);
-
+ var _pref = bxe_goToNextNode(cssr,true);
if (_pref && _pref.nodeType == 1) {_pref = _pref.lastChild;}
if (_pref && _pref.nodeValue) {
sel.collapse(_pref,_pref.nodeValue.length);
Modified: branches/bxe_2_0/mozile/mozilekb.js
==============================================================================
--- branches/bxe_2_0/mozile/mozilekb.js (original)
+++ branches/bxe_2_0/mozile/mozilekb.js Wed Nov 15 17:05:02 2006
@@ -454,43 +454,7 @@
}
-
- if (cssr.startContainer.nodeType != 1) {
- var node = cssr.startContainer.parentNode;
- } else {
- var node = cssr.startContainer;
- }
- var walker = document.createTreeWalker(
- document.documentElement, NodeFilter.SHOW_ELEMENT,
- null,
- true);
-
- walker.currentNode = node;
-
-
- if (event.shiftKey) {
- node = walker.previousNode();
- } else {
- node = walker.nextNode();
- }
- do {
- if (node.userModifiable && node.XMLNode && ( node.XMLNode.canHaveText || node.hasAttribute("__bxe_attribute"))) {
- try {
- sel.collapse(node.firstChild,0);
- } catch (e) {
- node.appendChild(node.ownerDocument.createTextNode(" "));
- sel.collapse(node.firstChild,0);
- }
- bxe_updateXPath(node);
- return true;
- break;
- }
- if (event.shiftKey) {
- node = walker.previousNode();
- } else {
- node = walker.nextNode();
- }
- } while(node);
+ bxe_goToNextNode(cssr,event.shiftKey);
//ip.insertCharacter(CHARCODE_SPACE); // POST05: may change to insert a set of spaces
return true;
@@ -704,3 +668,45 @@
}
return true;
}
+
+function bxe_goToNextNode(cssr,shift) {
+
+ if (cssr.startContainer.nodeType != 1) {
+ var node = cssr.startContainer.parentNode;
+ } else {
+ var node = cssr.startContainer;
+ }
+ var walker = document.createTreeWalker(
+ document.documentElement, NodeFilter.SHOW_ELEMENT,
+ null,
+ true);
+
+ walker.currentNode = node;
+
+
+ if (shift) {
+ node = walker.previousNode();
+ } else {
+ node = walker.nextNode();
+ }
+ var sel=window.getSelection();
+ do {
+ if (node.userModifiable && node.XMLNode && ( node.XMLNode.canHaveText || node.hasAttribute("__bxe_attribute"))) {
+ try {
+ sel.collapse(node.firstChild,0);
+ } catch (e) {
+ node.appendChild(node.ownerDocument.createTextNode(" "));
+ sel.collapse(node.firstChild,0);
+ }
+ bxe_updateXPath(node);
+ return node;
+ break;
+ }
+ if (shift) {
+ node = walker.previousNode();
+ } else {
+ node = walker.nextNode();
+ }
+ } while(node);
+
+}
--
Bx-editor-cvs mailing list
[email protected]
http://lists.bitflux.ch/cgi-bin/listinfo/bx-editor-cvs