X-Git-Url: https://git.ktnx.net/?p=icedeb.git;a=blobdiff_plain;f=chrome%2Fcontent%2Ficedeb.js;h=9c393462bca055985bcc77c96c320bd50705dafb;hp=391d2538bae14345cd8bbeafcd5620ba14009c92;hb=967f267a7ad4d2d09057718f32102855184d7f7e;hpb=a5bc91045e5cdc4818fd3dfd16e9dda04ed38a31 diff --git a/chrome/content/icedeb.js b/chrome/content/icedeb.js index 391d253..9c39346 100644 --- a/chrome/content/icedeb.js +++ b/chrome/content/icedeb.js @@ -15,14 +15,18 @@ IceDeb = { : clip.kGlobalClipboard ); - var str = new Object; - var strLength = new Object; - trans.getTransferData("text/unicode", str, strLength); + var s = new Object; + var p; + var len = new Object; + trans.getTransferData("text/unicode", s, len); var text = null; + var res; - if (str) str = str.value.QueryInterface(Components.interfaces.nsISupportsString); - if (str) text = str.data.substring(0, strLength.value / 2); + if (s) + p = s.value.QueryInterface(Components.interfaces.nsISupportsString, res); + if (p) + text = p.data.substring(0, len.value / 2); return text; }, @@ -33,10 +37,8 @@ IceDeb = { do { oldword = word; - word = word.replace(/^\s+/, ''); - word = word.replace(/\s+$/, ''); - word = word.replace(/^#/, ''); - word = word.replace(/[-:\/,.]$/, ''); + word = word.replace(/^[^a-zA-Z0-9]+/, ''); + word = word.replace(/[^a-zA-Z0-9]+$/, ''); } while ( oldword != word ); return word; @@ -83,6 +85,20 @@ IceDeb = { loadURI(uri); } }, + lookup_ml: function(in_new) { + var msg_id = IceDeb.trim_keyword(IceDeb.getClipboardText()); + if (!msg_id) msg_id = ''; + var uri="http://lists.debian.org/msgid-search/" + msg_id; + + if (in_new) { + var b = getBrowser(); + var new_tab = b.addTab(uri); + b.selectedTab = new_tab; + } + else { + loadURI(uri); + } + }, btsButton: function (e) { if ( e.button == 0 ) @@ -101,6 +117,12 @@ IceDeb = { IceDeb.lookup_deb(false) else if ( e.button == 1 ) IceDeb.lookup_deb(true); + }, + mlButton: function (e) { + if ( e.button == 0 ) + IceDeb.lookup_ml(false) + else if ( e.button == 1 ) + IceDeb.lookup_ml(true); } }