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;



Reply via email to