r1730 - in branches/bxe_2_0: js mozile plugins

[email protected] Mon, 13 Aug 2007 23:55:35 +0200 (CEST)
Newsgroups gmane.editors.bitflux.cvs
Message-ID <[email protected]>
Author: chregu
Date: Mon Aug 13 23:55:35 2007
New Revision: 1730

Log:
fix some isses with "Paste from extern"


Modified:
   branches/bxe_2_0/js/bxeFunctions.js
   branches/bxe_2_0/mozile/mozCE.js
   branches/bxe_2_0/plugins/ClipboardPasteDialog.js

Modified: branches/bxe_2_0/js/bxeFunctions.js
==============================================================================
--- branches/bxe_2_0/js/bxeFunctions.js	(original)
+++ branches/bxe_2_0/js/bxeFunctions.js	Mon Aug 13 23:55:35 2007
@@ -710,7 +710,8 @@
 	
 	if (typeof BxeClipboardPasteDialog == 'function') {
 		popup.addMenuItem(bxe_i18n.getText("Paste from Extern", new Array(node.vdom.bxeName)), function (e) {
-			BxeTextClipboard_OpenDialog(e);
+				var widget = e.currentTarget.Widget;
+			BxeTextClipboard_OpenDialog(e,widget.MenuPopup.MainNode);
 		});
 	}
 	if (!node.vdom.bxeNoaddappenddelete) {
@@ -2072,7 +2073,7 @@
 	window.setTimeout(function() {bxe_insertContent_async(content,replaceNode,options);},1);
 }
 // (string || node) node, (node) replaceNode
-function bxe_insertContent_async(node,replaceNode, options) {
+function bxe_insertContent_async(node,replaceNode, options,selNode) {
 	var docfrag;
 	if (typeof node == "string") {
         docfrag = node.convertToXML();
@@ -2106,7 +2107,11 @@
 				textNode.splitText(cssr.startOffset);
 				var _position = bxe_getChildPosition(textNode);
 				*/
-				var lala = sel.anchorNode.parentNode.XMLNode._node;
+				if (selNode) {
+					var lala = selNode;
+				} else {
+					var lala = sel.anchorNode.parentNode.XMLNode._node;
+				}
 				//lala.split(_position);
 				var fC = docfrag.firstChild;
 			    lala.parentNode.insertBefore(docfrag,lala.nextSibling);

Modified: branches/bxe_2_0/mozile/mozCE.js
==============================================================================
--- branches/bxe_2_0/mozile/mozCE.js	(original)
+++ branches/bxe_2_0/mozile/mozCE.js	Mon Aug 13 23:55:35 2007
@@ -744,7 +744,7 @@
 /**
  * POST05: paste more than text
  */
-Selection.prototype.paste = function(paraElementVdom)
+Selection.prototype.paste = function(paraElementVdom,selNode)
 {
 	var clipboard = mozilla.getClipboard();
 	var content = clipboard.getData(MozClipboard.TEXT_FLAVOR);
@@ -861,7 +861,8 @@
 					content = content2 + ">" + content + "</" + elementNameParent + ">";
 				}
 			}
-			bxe_insertContent_async(content,BXE_SELECTION,BXE_SPLIT_IF_INLINE);
+			
+			bxe_insertContent_async(content,BXE_SELECTION,BXE_SPLIT_IF_INLINE,selNode._node);
 			
 		} else {
 			window.getSelection().insertNode(content);
@@ -871,12 +872,12 @@
 	} 
 	
 	var node = window.getSelection().anchorNode;
-	if( node.nodeType == 3) {
+	if( node && node.nodeType == 3) {
 		node.XMLNode._node.normalize();
 	}
 	
 	bxe_history_snapshot_async();
-	if (node.XMLNode) {
+	if (node && node.XMLNode) {
 		bxe_Transform(false,false,node.XMLNode.parentNode);
 	} else {
 		bxe_Transform(false,false);

Modified: branches/bxe_2_0/plugins/ClipboardPasteDialog.js
==============================================================================
--- branches/bxe_2_0/plugins/ClipboardPasteDialog.js	(original)
+++ branches/bxe_2_0/plugins/ClipboardPasteDialog.js	Mon Aug 13 23:55:35 2007
@@ -21,19 +21,24 @@
 	
 }
 
-function BxeTextClipboard_OpenDialog(e) {
+function BxeTextClipboard_OpenDialog(e,node) {
 	
 	var sel = window.getSelection();
 	if (bxe_checkForSourceMode(sel)) {
 		return false;
 	}
 	
-	var cssr = sel.getEditableRange();
-	var selNode = cssr.startContainer.XMLNode;
+	if (node ) {
+		var selNode = node;
+	} else {
+		var cssr = sel.getEditableRange();
+	
+		var selNode = cssr.startContainer.XMLNode;
+	}
 	if (selNode.nodeType != 1) {
 		var selNode = selNode.parentNode;
 	}
-
+	
 	var mod = mozilla.getWidgetModalBox("Paste here", function(values) {
 		var clipboard = mozilla.getClipboard();
 		if (values.delimiter) {
@@ -41,10 +46,10 @@
 		} else {
 			clipboard.delimiter = '\\t';
 		}
-		
 		var content = clipboard.setData(values.clipboard);
 		clipboard._system = true;
-		window.getSelection().paste(_eles[values['element']]);
+		var mod = mozilla.getWidgetModalBox();
+		window.getSelection().paste(_eles[values['element']],mod.selNode);
 	});
 	
 	var ac = selNode.parentNode.allowedChildren;
@@ -59,7 +64,7 @@
 		}
 	}
 	
-	
+	mod.selNode = selNode;
 	mod.addItem("clipboard", "", "textarea");
 	mod.addItem("element", "", "select",null,_chooser,false);
 	
-- 
Bx-editor-cvs mailing list
[email protected]
http://lists.bitflux.ch/cgi-bin/listinfo/bx-editor-cvs