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
19 var strLength = new Object;
20 trans.getTransferData("text/unicode", str, strLength);
24 if (str) str = str.value.QueryInterface(Components.interfaces.nsISupportsString);
25 if (str) text = str.data.substring(0, strLength.value / 2);
29 trim_keyword: function(word) {
30 if (!word) return word;
36 word = word.replace(/^\s+/, '');
37 word = word.replace(/\s+$/, '');
38 word = word.replace(/^#/, '');
39 word = word.replace(/[-:\/,.]$/, '');
40 } while ( oldword != word );
44 lookup_bts: function(in_new) {
45 var bug = IceDeb.trim_keyword(IceDeb.getClipboardText());
46 if (!bug) return null;
47 var uri="http://bugs.debian.org/" + bug;
51 var new_tab = b.addTab(uri);
52 b.selectedTab = new_tab;
58 lookup_pts: function(in_new) {
59 var pkg = IceDeb.trim_keyword(IceDeb.getClipboardText());
60 if (!pkg) return null;
61 var uri="http://packages.qa.debian.org/" + pkg;
65 var new_tab = b.addTab(uri);
66 b.selectedTab = new_tab;
72 lookup_deb: function(in_new) {
73 var pkg = IceDeb.trim_keyword(IceDeb.getClipboardText());
74 if (!pkg) return null;
75 var uri="http://packages.debian.org/" + pkg;
79 var new_tab = b.addTab(uri);
80 b.selectedTab = new_tab;
87 btsButton: function (e) {
89 IceDeb.lookup_bts(false)
90 else if ( e.button == 1 )
91 IceDeb.lookup_bts(true);
93 ptsButton: function (e) {
95 IceDeb.lookup_pts(false)
96 else if ( e.button == 1 )
97 IceDeb.lookup_pts(true);
99 debButton: function (e) {
101 IceDeb.lookup_deb(false)
102 else if ( e.button == 1 )
103 IceDeb.lookup_deb(true);