Author: jflesch
Date: 2007-04-01 13:56:29 +0000 (Sun, 01 Apr 2007)
New Revision: 12510
Modified:
trunk/apps/Thaw/src/thaw/core/Main.java
trunk/apps/Thaw/src/thaw/plugins/Hsqldb.java
trunk/apps/Thaw/src/thaw/plugins/index/Link.java
trunk/apps/Thaw/src/thaw/plugins/index/UnknownIndexList.java
Log:
Add an option to sort the unknown index list alphabetically
Modified: trunk/apps/Thaw/src/thaw/core/Main.java
===================================================================
--- trunk/apps/Thaw/src/thaw/core/Main.java 2007-04-01 13:25:08 UTC (rev
12509)
+++ trunk/apps/Thaw/src/thaw/core/Main.java 2007-04-01 13:56:29 UTC (rev
12510)
@@ -21,7 +21,7 @@
_svnBuildNumber = "@custom@";
public final static String
- VERSION = Main._major + "." + Main._minor + "." + Main._update + " Beta
r"+Main._svnBuildNumber;
+ VERSION = Main._major + "." + Main._minor + "." + Main._update + "
r"+Main._svnBuildNumber;
/**
Modified: trunk/apps/Thaw/src/thaw/plugins/Hsqldb.java
===================================================================
--- trunk/apps/Thaw/src/thaw/plugins/Hsqldb.java 2007-04-01 13:25:08 UTC
(rev 12509)
+++ trunk/apps/Thaw/src/thaw/plugins/Hsqldb.java 2007-04-01 13:56:29 UTC
(rev 12510)
@@ -67,7 +67,9 @@
}
public void disconnect() throws java.sql.SQLException {
- connection.close();
+ synchronized(dbLock) {
+ connection.close();
+ }
}
Modified: trunk/apps/Thaw/src/thaw/plugins/index/Link.java
===================================================================
--- trunk/apps/Thaw/src/thaw/plugins/index/Link.java 2007-04-01 13:25:08 UTC
(rev 12509)
+++ trunk/apps/Thaw/src/thaw/plugins/index/Link.java 2007-04-01 13:56:29 UTC
(rev 12510)
@@ -11,7 +11,7 @@
import thaw.core.Logger;
import thaw.plugins.Hsqldb;
-public class Link extends java.util.Observable {
+public class Link extends java.util.Observable implements Comparable {
private int id;
private final Hsqldb db;
@@ -248,4 +248,12 @@
return index.isModifiable();
}
+
+ public int compareTo(Object o) {
+ if (o instanceof Link) {
+ return
getIndexName().compareTo(((Link)o).getIndexName());
+ }
+
+ return 0;
+ }
}
Modified: trunk/apps/Thaw/src/thaw/plugins/index/UnknownIndexList.java
===================================================================
--- trunk/apps/Thaw/src/thaw/plugins/index/UnknownIndexList.java
2007-04-01 13:25:08 UTC (rev 12509)
+++ trunk/apps/Thaw/src/thaw/plugins/index/UnknownIndexList.java
2007-04-01 13:56:29 UTC (rev 12510)
@@ -3,6 +3,8 @@
import java.awt.BorderLayout;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
import java.util.Iterator;
import java.util.Vector;
@@ -19,7 +21,8 @@
import thaw.fcp.FCPQueueManager;
import thaw.plugins.ToolbarModifier;
-public class UnknownIndexList implements MouseListener {
+
+public class UnknownIndexList implements MouseListener, ActionListener {
public final static int MAX_INDEXES = 50;
private int offset;
@@ -36,6 +39,8 @@
private JPopupMenu rightClickMenu = null;
private Vector rightClickActions = null;
+ private JMenuItem sortItem = null;
+
private ToolbarModifier toolbarModifier;
private Vector toolbarActions;
@@ -221,6 +226,11 @@
rightClickMenu.add(item);
rightClickActions.add(new
LinkManagementHelper.IndexAdder(item, queueManager, indexBrowser, false));
+ sortItem = new
JMenuItem(I18n.getMessage("thaw.plugin.index.sortAlphabetically"));
+ rightClickMenu.add(sortItem);
+ sortItem.addActionListener(this);
+
+
item = new
JMenuItem(I18n.getMessage("thaw.plugin.index.copyKeys"));
rightClickMenu.add(item);
rightClickActions.add(new
LinkManagementHelper.PublicKeyCopier(item));
@@ -277,6 +287,38 @@
list.repaint();
}
+
+ public void actionPerformed(ActionEvent e) {
+ if (e.getSource() == sortItem) {
+
+ Vector v;
+
+ if (full) {
+ v = new Vector(linkList.length);
+
+ for (int i = 0 ; i < linkList.length ; i++) {
+ if (linkList[i] != null)
+ v.add(linkList[i]);
+ }
+ } else
+ v = vList;
+
+ java.util.Collections.sort(v);
+
+ if (full) {
+ for (int i = 0 ; i < linkList.length ; i++) {
+ linkList[i] = null;
+ }
+
+ v.toArray(linkList);
+ } else
+ vList = v;
+
+ refresh();
+ }
+ }
+
+
public void mouseClicked(final MouseEvent e) {
Vector selection;