]> git.ktnx.net Git - icedeb.git/blobdiff - chrome/content/icedeb.js
switch all URLs to https
[icedeb.git] / chrome / content / icedeb.js
index 061f3cd93cf5edf8716ca239b13fc5505e4bdea7..a8db84b775cb33fc1c5a7da833f85358481d8b96 100644 (file)
@@ -8,6 +8,9 @@ IceDeb = {
             .createInstance(Components.interfaces.nsITransferable);
         if (!trans) return null;
 
+        if (typeof(trans.init) === 'function')
+            trans.init(null);
+
         trans.addDataFlavor("text/unicode");
         clip.getData(trans,
                 clip.supportsSelectionClipboard()
@@ -37,10 +40,9 @@ 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]+$/, '');
+            word = word.replace(/^Bug#/i, '');
         } while ( oldword != word );
 
         return word;
@@ -48,7 +50,7 @@ IceDeb = {
     lookup_bts: function(in_new) {
         var bug = IceDeb.trim_keyword(IceDeb.getClipboardText());
         if (!bug) return null;
-        var uri="http://bugs.debian.org/" + bug;
+        var uri="https://bugs.debian.org/" + bug;
 
         if (in_new) {
             var b = getBrowser();
@@ -62,7 +64,7 @@ IceDeb = {
     lookup_pts: function(in_new) {
         var pkg = IceDeb.trim_keyword(IceDeb.getClipboardText());
         if (!pkg) return null;
-        var uri="http://packages.qa.debian.org/" + pkg;
+        var uri="https://tracker.debian.org/" + pkg;
 
         if (in_new) {
             var b = getBrowser();
@@ -76,7 +78,66 @@ IceDeb = {
     lookup_deb: function(in_new) {
         var pkg = IceDeb.trim_keyword(IceDeb.getClipboardText());
         if (!pkg) return null;
-        var uri="http://packages.debian.org/" + pkg;
+        var uri="https://packages.debian.org/" + pkg;
+
+        if (in_new) {
+            var b = getBrowser();
+            var new_tab = b.addTab(uri);
+            b.selectedTab = new_tab;
+        }
+        else {
+            loadURI(uri);
+        }
+    },
+    lookup_ml: function(in_new) {
+        var msg_id = IceDeb.trim_keyword(IceDeb.getClipboardText());
+        if (!msg_id) msg_id = '';
+        var uri="https://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);
+        }
+    },
+    lookup_ddpo: function(in_new) {
+        var keyword = IceDeb.trim_keyword(IceDeb.getClipboardText());
+        var uri="https://qa.debian.org/developer.php";
+
+        if (keyword) uri += "?login=" + keyword;
+
+        if (in_new) {
+            var b = getBrowser();
+            var new_tab = b.addTab(uri);
+            b.selectedTab = new_tab;
+        }
+        else {
+            loadURI(uri);
+        }
+    },
+    lookup_buildd: function(in_new) {
+        var keyword = IceDeb.trim_keyword(IceDeb.getClipboardText());
+        var uri="https://buildd.debian.org/";
+
+        if (keyword) uri += keyword;
+
+        if (in_new) {
+            var b = getBrowser();
+            var new_tab = b.addTab(uri);
+            b.selectedTab = new_tab;
+        }
+        else {
+            loadURI(uri);
+        }
+    },
+    lookup_security: function(in_new) {
+        var keyword = IceDeb.trim_keyword(IceDeb.getClipboardText());
+        var uri="https://security-tracker.debian.org/";
+
+        if (keyword) uri += "tracker/" + keyword;
 
         if (in_new) {
             var b = getBrowser();
@@ -105,6 +166,30 @@ 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);
+    },
+    ddpoButton: function (e) {
+        if ( e.button == 0 )
+            IceDeb.lookup_ddpo(false)
+        else if ( e.button == 1 )
+            IceDeb.lookup_ddpo(true);
+    },
+    builddButton: function (e) {
+        if ( e.button == 0 )
+            IceDeb.lookup_buildd(false)
+        else if ( e.button == 1 )
+            IceDeb.lookup_buildd(true);
+    },
+    securityButton: function (e) {
+        if ( e.button == 0 )
+            IceDeb.lookup_security(false)
+        else if ( e.button == 1 )
+            IceDeb.lookup_security(true);
     }
 }