1 function getClipboardText() {
2 var clip = Components.classes['@mozilla.org/widget/clipboard;1']
3 .getService(Components.interfaces.nsIClipboard);
4 if (!clip) return null;
6 var trans = Components.classes['@mozilla.org/widget/transferable;1']
7 .createInstance(Components.interfaces.nsITransferable);
8 if (!trans) return null;
10 trans.addDataFlavor("text/unicode");
12 clip.supportsSelectionClipboard()
13 ? clip.kSelectionClipboard
14 : clip.kGlobalClipboard
18 var strLength = new Object;
19 trans.getTransferData("text/unicode", str, strLength);
23 if (str) str = str.value.QueryInterface(Components.interfaces.nsISupportsString);
24 if (str) text = str.data.substring(0, strLength.value / 2);
29 function trim_keyword(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 );
45 function lookup_bts(in_new) {
46 var bug = trim_keyword(getClipboardText());
47 if (!bug) return null;
48 var uri="http://bugs.debian.org/" + bug;
52 var new_tab = b.addTab(uri);
53 b.selectedTab = new_tab;
60 function lookup_pts(in_new) {
61 var pkg = trim_keyword(getClipboardText());
62 if (!pkg) return null;
63 var uri="http://packages.qa.debian.org/" + pkg;
67 var new_tab = b.addTab(uri);
68 b.selectedTab = new_tab;
75 function lookup_deb(in_new) {
76 var pkg = trim_keyword(getClipboardText());
77 if (!pkg) return null;
78 var uri="http://packages.debian.org/" + pkg;
82 var new_tab = b.addTab(uri);
83 b.selectedTab = new_tab;
91 btsButton: function (e) {
94 else if ( e.button == 1 )
97 ptsButton: function (e) {
100 else if ( e.button == 1 )
103 debButton: function (e) {
106 else if ( e.button == 1 )