1 dump('entering util/clipboard.js\n');
3 if (typeof util == 'undefined') var util = {};
6 util.clipboard.EXPORT_OK = [
9 util.clipboard.EXPORT_TAGS = { ':all' : util.clipboard.EXPORT_OK };
11 util.clipboard.cut = function() {
13 netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');
14 var n = document.popupNode;
15 if (n.getAttribute('readonly')=='true') return;
17 var start = n.selectionStart;
18 var end = n.selectionEnd;
19 var clip = v.substring( start, end );
20 n.value = v.substring(0, start) + v.substring(end, v.length);
21 const gClipboardHelper = Components.classes["@mozilla.org/widget/clipboardhelper;1"]
22 .getService(Components.interfaces.nsIClipboardHelper);
23 gClipboardHelper.copyString(clip);
24 n.setSelectionRange(start,start);
25 dump('Copied ' + clip + '\n');
31 util.clipboard.copy = function() {
33 netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');
34 var n = document.popupNode;
36 var start = n.selectionStart;
37 var end = n.selectionEnd;
38 var clip = v.substring( start, end );
39 const gClipboardHelper = Components.classes["@mozilla.org/widget/clipboardhelper;1"]
40 .getService(Components.interfaces.nsIClipboardHelper);
41 gClipboardHelper.copyString(clip);
42 dump('Copied ' + clip + '\n');
48 util.clipboard.paste = function() {
50 netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');
51 var n = document.popupNode;
52 if (n.getAttribute('readonly')=='true') return;
54 var start = n.selectionStart;
55 var end = n.selectionEnd;
56 var cb = Components.classes["@mozilla.org/widget/clipboard;1"].getService(Components.interfaces.nsIClipboard);
57 if (!cb) return false;
58 var trans = Components.classes["@mozilla.org/widget/transferable;1"].createInstance(Components.interfaces.nsITransferable);
59 if (!trans) return false;
60 trans.addDataFlavor("text/unicode");
61 cb.getData(trans, cb.kGlobalClipboard);
62 var str = {}; var strLength = {};
63 trans.getTransferData("text/unicode",str,strLength);
64 if (str) str = str.value.QueryInterface(Components.interfaces.nsISupportsString);
65 var clip; if (str) clip = str.data.substring(0, strLength.value / 2);
66 n.value = v.substring(0, start) + clip + v.substring(end, v.length);
67 n.setSelectionRange(start + clip.length,start + clip.length);
68 dump('Pasted ' + clip + '\n');
74 dump('exiting util/clipboard.js\n');