only make a link menu when there are links
[jalview.git] / src / jalview / gui / PopupMenu.java
index 5cf06b2..e2865a8 100755 (executable)
@@ -405,7 +405,7 @@ public class PopupMenu extends JPopupMenu
     if (links != null && links.size() > 0)
     {
       JMenu linkMenu = new JMenu("Link");
-
+      Vector linkset = new Vector();
       for (int i = 0; i < links.size(); i++)
       {
         String link = links.elementAt(i).toString();
@@ -458,7 +458,11 @@ public class PopupMenu extends JPopupMenu
               {
                 for (int u = 0; u < urls.length; u += 2)
                 {
-                  addshowLink(linkMenu, label + "|" + urls[u], urls[u + 1]);
+                  if (!linkset.contains(urls[u]+"|"+urls[u+1]))
+                  {
+                    linkset.addElement(urls[u]+"|"+urls[u+1]);
+                    addshowLink(linkMenu, label + "|" + urls[u], urls[u + 1]);
+                  }
                 }
               }
             }
@@ -471,7 +475,11 @@ public class PopupMenu extends JPopupMenu
             {
               for (int u = 0; u < urls.length; u += 2)
               {
-                addshowLink(linkMenu, label, urls[u + 1]);
+                if (!linkset.contains(urls[u]+"|"+urls[u+1]))
+                {
+                  linkset.addElement(urls[u]+"|"+urls[u+1]);
+                  addshowLink(linkMenu, label, urls[u + 1]);
+                }
               }
             }
           }
@@ -484,15 +492,23 @@ public class PopupMenu extends JPopupMenu
             {
               for (int u = 0; u < urls.length; u += 2)
               {
-                addshowLink(linkMenu, label, urls[u + 1]);
+                if (!linkset.contains(urls[u]+"|"+urls[u+1]))
+                {
+                  linkset.addElement(urls[u]+"|"+urls[u+1]);
+                  addshowLink(linkMenu, label, urls[u + 1]);
+                }
               }
             }
           }
         }
         else
         {
-          // Add a non-dynamic link
-          addshowLink(linkMenu, label, urlLink.getUrl_prefix());
+          if (!linkset.contains(label+"|"+urlLink.getUrl_prefix()))
+          {
+            linkset.addElement(label+"|"+urlLink.getUrl_prefix());
+            // Add a non-dynamic link
+            addshowLink(linkMenu, label, urlLink.getUrl_prefix());
+          }
         }
       }
       if (sequence != null)