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