JAL-2316 Unit test update to UrlLinkTableModel and associated tidies
[jalview.git] / src / jalview / gui / Preferences.java
index 1c40ea1..9ee3077 100755 (executable)
@@ -377,9 +377,7 @@ public class Preferences extends GPreferences
       public boolean include(
               Entry<? extends TableModel, ? extends Object> entry)
       {
-        int col = ((UrlLinkTableModel) entry.getModel()).getIdColumn();
-        String id = entry.getStringValue(col);
-        return sequenceUrlLinks.isUserEntry(id);
+        return ((UrlLinkTableModel) entry.getModel()).isUserEntry(entry);
       }
     };
 
@@ -1174,29 +1172,25 @@ public class Preferences extends GPreferences
       }
       int modelIndex = linkUrlTable.convertRowIndexToModel(index);
 
-      // determine if the new selection is a custom url or not
-      int col = ((UrlLinkTableModel) linkUrlTable.getModel())
-              .getNameColumn();
-      if (!sequenceUrlLinks.isUserEntry((String) linkUrlTable.getModel()
-              .getValueAt(modelIndex, col)))
+      // enable/disable edit and delete link buttons
+      if (((UrlLinkTableModel) linkUrlTable.getModel())
+              .isRowDeletable(modelIndex))
       {
-        // entry is not a user-defined url and so should not be edited
-        // disable edit and delete buttons
-        deleteLink.setEnabled(false);
-        editLink.setEnabled(false);
+        deleteLink.setEnabled(true);
       }
       else
       {
-        deleteLink.setEnabled(true);
-        editLink.setEnabled(true);
+        deleteLink.setEnabled(false);
       }
 
-      // BUT if it's the default url, don't allow deletion
-      col = ((UrlLinkTableModel) linkUrlTable.getModel())
-              .getDefaultColumn();
-      if ((boolean) linkUrlTable.getValueAt(index, col))
+      if (((UrlLinkTableModel) linkUrlTable.getModel())
+              .isRowEditable(modelIndex))
       {
-        deleteLink.setEnabled(false);
+        editLink.setEnabled(true);
+      }
+      else
+      {
+        editLink.setEnabled(false);
       }
     }
 }