r1641 - branches/bxe_2_0/mozile

[email protected] Sun, 26 Nov 2006 17:07:29 +0100 (CET)
Newsgroups gmane.editors.bitflux.cvs
Message-ID <[email protected]>
Author: chregu
Date: Sun Nov 26 17:07:27 2006
New Revision: 1641

Modified:
   branches/bxe_2_0/mozile/mozCE.js
   branches/bxe_2_0/mozile/mozilekb.js
Log:
fix #353
different behaviour on fully selected text, if it had inline elements


Modified: branches/bxe_2_0/mozile/mozCE.js
==============================================================================
--- branches/bxe_2_0/mozile/mozCE.js	(original)
+++ branches/bxe_2_0/mozile/mozCE.js	Sun Nov 26 17:07:27 2006
@@ -190,7 +190,7 @@
  * it is unlikely to work for semantically rich and restrictive XML. Deletion of an XML document would have to pay 
  * attention to that document's semantics.
  */
-Selection.prototype.deleteSelection = function(backspace)
+Selection.prototype.deleteSelection = function(backspace, makeDefault)
 {
 	var cssr = this.getEditableRange();
 	var doTransform = false;
@@ -201,7 +201,8 @@
 	{
 		if (cssr.startContainer.nodeValue.strip().length == 1) {
 			try {
-			var sel = window.getSelection();
+		
+				var sel = window.getSelection();
 			cssr = this.getEditableRange();
 			var par = cssr.startContainer.parentNode.XMLNode._node;
 			par.normalize();
@@ -218,11 +219,10 @@
 							return true;
 						}
 					} 
-					if (! (par.XMLNode.vdom.bxeTabletype == "table-cell" || par.XMLNode.vdom.bxeTabletype == "table-col" )){
+					if (!makeDefault && (! (par.XMLNode.vdom.bxeTabletype == "table-cell" || par.XMLNode.vdom.bxeTabletype == "table-col" ))){
+						//FIXME ondelete
 						parpar.removeChild(par);
 					} else {
-						//par.appendChild(document.createTextNode(" "));
-						//par.removeChild(par.firstChild);
 						par.XMLNode.makeDefaultNodes();
 					}
 					
@@ -234,15 +234,15 @@
 				}
 				parpar.normalize();
 				var _h = par.XMLNode._htmlnode;
-				
-				var _pref = bxe_goToNextNode(cssr,true);
-				if (_pref && _pref.nodeType == 1) {_pref = _pref.lastChild;}
-				if (_pref && _pref.nodeValue) {
-					sel.collapse(_pref,_pref.nodeValue.length);
-				} else {
-					//alert(_pref);
+				if (!makeDefault) {
+					var _pref = bxe_goToNextNode(cssr,true);
+					if (_pref && _pref.nodeType == 1) {_pref = _pref.lastChild;}
+					if (_pref && _pref.nodeValue) {
+						sel.collapse(_pref,_pref.nodeValue.length);
+					} else {
+						//alert(_pref);
+					}
 				}
-				
 				sel.collapseToStart();
 				
 				bxe_Transform();

Modified: branches/bxe_2_0/mozile/mozilekb.js
==============================================================================
--- branches/bxe_2_0/mozile/mozilekb.js	(original)
+++ branches/bxe_2_0/mozile/mozilekb.js	Sun Nov 26 17:07:27 2006
@@ -596,13 +596,13 @@
 			sel.extend(sel.focusNode,_pos);
 			
 		}
-				
 		if (sel.anchorNode.nodeType == 3 && sel.anchorOffset == 0) {
 			// if only one textnode and fully selected
-				
+		
 			if (sel.anchorNode == sel.focusNode) {
+		
 				if (sel.focusOffset >= sel.anchorNode.nodeValue.strip().length) {
-					
+		
 					var xmlnode = bxe_getXMLNodeByHTMLNodeRecursive(sel.anchorNode);
 					//xmlnode.parentNode.appendChild(xmlnode.ownerDocument.createTextNode(" "));
 					var _par = bxe_getXMLNodeByHTMLNodeRecursive(sel.anchorNode.parentNode);
@@ -642,8 +642,7 @@
 				
 				sel = window.getSelection();
 				bxe_deleteWholeSelection(sel,backspace);
-				
-				sel.deleteSelection(false);
+				sel.deleteSelection(false,true);
 				try {
 					if (_par.childNodes.length == 1 && _par.firstChild.nodeValue.strip().length == 0) {
 						_par.removeChild(_par.firstChild);
@@ -651,6 +650,7 @@
 						
 					}
 				} catch(e) {
+					//console.log(e);
 					
 				}
 				
-- 
Bx-editor-cvs mailing list
[email protected]
http://lists.bitflux.ch/cgi-bin/listinfo/bx-editor-cvs