2 getClipboardText: function() {
3 var clip = Components.classes['@mozilla.org/widget/clipboard;1']
4 .getService(Components.interfaces.nsIClipboard);
5 if (!clip) return null;
7 var trans = Components.classes['@mozilla.org/widget/transferable;1']
8 .createInstance(Components.interfaces.nsITransferable);
9 if (!trans) return null;
11 trans.addDataFlavor("text/unicode");
13 clip.supportsSelectionClipboard()
14 ? clip.kSelectionClipboard
15 : clip.kGlobalClipboard
21 trans.getTransferData("text/unicode", s, len);
27 p = s.value.QueryInterface(Components.interfaces.nsISupportsString, res);
29 text = p.data.substring(0, len.value / 2);
33 trim_keyword: function(word) {
34 if (!word) return word;
40 word = word.replace(/^\s+/, '');
41 word = word.replace(/\s+$/, '');
42 word = word.replace(/^#/, '');
43 word = word.replace(/[-:\/,.]$/, '');
44 } while ( oldword != word );
48 lookup_bts: function(in_new) {
49 var bug = IceDeb.trim_keyword(IceDeb.getClipboardText());
50 if (!bug) return null;
51 var uri="http://bugs.debian.org/" + bug;
55 var new_tab = b.addTab(uri);
56 b.selectedTab = new_tab;
62 lookup_pts: function(in_new) {
63 var pkg = IceDeb.trim_keyword(IceDeb.getClipboardText());
64 if (!pkg) return null;
65 var uri="http://packages.qa.debian.org/" + pkg;
69 var new_tab = b.addTab(uri);
70 b.selectedTab = new_tab;
76 lookup_deb: function(in_new) {
77 var pkg = IceDeb.trim_keyword(IceDeb.getClipboardText());
78 if (!pkg) return null;
79 var uri="http://packages.debian.org/" + pkg;
83 var new_tab = b.addTab(uri);
84 b.selectedTab = new_tab;
91 btsButton: function (e) {
93 IceDeb.lookup_bts(false)
94 else if ( e.button == 1 )
95 IceDeb.lookup_bts(true);
97 ptsButton: function (e) {
99 IceDeb.lookup_pts(false)
100 else if ( e.button == 1 )
101 IceDeb.lookup_pts(true);
103 debButton: function (e) {
105 IceDeb.lookup_deb(false)
106 else if ( e.button == 1 )
107 IceDeb.lookup_deb(true);