OSDN Git Service

add menu item `open setting dir\'
authortama3 <tama3@acee48c3-7b26-0410-bdac-b3d0e5314bbc>
Fri, 24 Apr 2009 05:04:25 +0000 (05:04 +0000)
committertama3 <tama3@acee48c3-7b26-0410-bdac-b3d0e5314bbc>
Fri, 24 Apr 2009 05:04:25 +0000 (05:04 +0000)
git-svn-id: svn+ssh://svn.sourceforge.jp/svnroot/stigmata/trunk@366 acee48c3-7b26-0410-bdac-b3d0e5314bbc

src/main/java/jp/sourceforge/stigmata/BirthmarkEnvironment.java
src/main/java/jp/sourceforge/stigmata/resolvers/StigmataHomeManager.java
src/main/java/jp/sourceforge/stigmata/ui/swing/StigmataFrame.java
src/main/java/jp/sourceforge/stigmata/ui/swing/actions/OpenSettingDirAction.java [new file with mode: 0644]
src/main/java/jp/sourceforge/stigmata/ui/swing/actions/UpdateBirthmarkCellColorAction.java
src/main/resources/resources/images/folder_explore.png [new file with mode: 0644]
src/main/resources/resources/messages.properties
src/main/resources/resources/messages_ja.source

index 5af3e78..7bbe30c 100644 (file)
@@ -39,7 +39,7 @@ public class BirthmarkEnvironment{
     /**
      * home directory path.
      */
-    private static StigmataHomeManager stigmataHome;
+    private static StigmataHomeManager stigmataHome = new StigmataHomeManager();
 
     /**
      * parent of this environment.
index b1efed9..af995c3 100644 (file)
@@ -1,9 +1,18 @@
 package jp.sourceforge.stigmata.resolvers;
 
+/*
+ * $Id$
+ */
+
 import java.io.IOException;
 import java.util.ArrayList;
 import java.util.List;
 
+/**
+ * 
+ * @author Haruaki Tamada
+ * @version $Revision$
+ */
 public class StigmataHomeManager{
     private String home;
     private List<StigmataHomeResolver> resolvers = new ArrayList<StigmataHomeResolver>();
index 94cf325..508920d 100644 (file)
@@ -62,6 +62,7 @@ import jp.sourceforge.stigmata.event.WarningMessages;
 import jp.sourceforge.stigmata.result.CertainPairComparisonResultSet;
 import jp.sourceforge.stigmata.ui.swing.actions.AboutAction;
 import jp.sourceforge.stigmata.ui.swing.actions.LicenseAction;
+import jp.sourceforge.stigmata.ui.swing.actions.OpenSettingDirAction;
 import jp.sourceforge.stigmata.ui.swing.graph.SimilarityDistributionGraphPane;
 import jp.sourceforge.stigmata.ui.swing.mds.MdsViewerPane;
 import jp.sourceforge.stigmata.ui.swing.tab.EditableTabbedPane;
@@ -450,6 +451,9 @@ public class StigmataFrame extends JFrame{
             messages.get("installplugin.fileopen.description")
         );
         List<String> messages = new ArrayList<String>();
+        if(pluginFile == null){
+            return;
+        }
 
         if(Utility.isStigmataPluginJarFile(pluginFile, messages)){
             StigmataCommand command = StigmataCommandFactory.getInstance().getCommand("install");
@@ -541,6 +545,7 @@ public class StigmataFrame extends JFrame{
         JMenuItem clearMenu = GUIUtility.createJMenuItem(getMessages(), "clearsetting");
         JMenuItem refreshMenu = GUIUtility.createJMenuItem(getMessages(), "refreshsetting");
         JMenuItem installMenu = GUIUtility.createJMenuItem(getMessages(), "installplugin");
+        JMenuItem openSettingDirMenu = GUIUtility.createJMenuItem(getMessages(), "opensettingdir", new OpenSettingDirAction(this, getMessages()));
         JMenuItem closeTabMenu = GUIUtility.createJMenuItem(getMessages(), "closetab");
         JMenuItem closeMenu = GUIUtility.createJMenuItem(getMessages(), "closeframe");
         JMenuItem exitMenu = GUIUtility.createJMenuItem(getMessages(), "exit");
@@ -555,6 +560,7 @@ public class StigmataFrame extends JFrame{
         fileMenu.add(refreshMenu);
         fileMenu.add(clearMenu);
         fileMenu.add(new JSeparator());
+        fileMenu.add(openSettingDirMenu);
         fileMenu.add(installMenu);
         fileMenu.add(new JSeparator());
         fileMenu.add(closeTabMenu);
diff --git a/src/main/java/jp/sourceforge/stigmata/ui/swing/actions/OpenSettingDirAction.java b/src/main/java/jp/sourceforge/stigmata/ui/swing/actions/OpenSettingDirAction.java
new file mode 100644 (file)
index 0000000..c2e776e
--- /dev/null
@@ -0,0 +1,48 @@
+package jp.sourceforge.stigmata.ui.swing.actions;
+
+/*
+ * $Id$
+ */
+
+import java.awt.Component;
+import java.awt.Desktop;
+import java.awt.event.ActionEvent;
+import java.io.File;
+import java.io.IOException;
+
+import javax.swing.AbstractAction;
+import javax.swing.JOptionPane;
+
+import jp.sourceforge.stigmata.BirthmarkEnvironment;
+import jp.sourceforge.talisman.i18n.Messages;
+
+/**
+ * 
+ * @author Haruaki Tamada
+ * @version $Revision$
+ */
+public class OpenSettingDirAction extends AbstractAction{
+    private static final long serialVersionUID = -8347328823893358927L;
+
+    private Component parent;
+    private Messages messages;
+
+    public OpenSettingDirAction(Component parent, Messages messages){
+        this.parent = parent;
+        this.messages = messages;
+    }
+
+    public void actionPerformed(ActionEvent e){
+        String home = BirthmarkEnvironment.getStigmataHome();
+        Desktop desktop = Desktop.getDesktop();
+        try{
+            desktop.open(new File(home));
+        } catch(IOException e1){
+            JOptionPane.showMessageDialog(
+                parent, messages.format("opensettingdir.fail", e1.getMessage()),
+                messages.get("opensettingdir.fail.title"),
+                JOptionPane.WARNING_MESSAGE
+            );
+        }
+    }
+}
index 3690d91..3e3f61b 100755 (executable)
@@ -1,5 +1,9 @@
 package jp.sourceforge.stigmata.ui.swing.actions;
 
+/*
+ * $Id$
+ */
+
 import java.awt.Color;
 import java.awt.GridLayout;
 import java.awt.event.ActionEvent;
@@ -19,6 +23,11 @@ import jp.sourceforge.stigmata.ui.swing.CompareTableCellRenderer;
 import jp.sourceforge.stigmata.ui.swing.GUIUtility;
 import jp.sourceforge.stigmata.ui.swing.StigmataFrame;
 
+/**
+ * 
+ * @author Haruaki Tamada
+ * @version $Revision$
+ */
 public class UpdateBirthmarkCellColorAction extends AbstractAction{
     private static final long serialVersionUID = 2390797591047570440L;
 
diff --git a/src/main/resources/resources/images/folder_explore.png b/src/main/resources/resources/images/folder_explore.png
new file mode 100644 (file)
index 0000000..0ba9391
Binary files /dev/null and b/src/main/resources/resources/images/folder_explore.png differ
index ab7274a..712b679 100755 (executable)
@@ -60,6 +60,12 @@ install.error.file.missing=File is not found
 install.error.servicedescriptor.missing=Service descriptor is missing.\r
 install.error.notjarfile=Not jar file.\r
 \r
+opensettingdir.menuitem.label=View Setting Dir\r
+opensettingdir.menuitem.tooltip=Open setting dir of Stigmata.\r
+opensettingdir.menuitem.icon=folder_explore.png\r
+opensettingdir.fail=Opening setting dir of Stigmata is failed causes: {0}.\r
+opensettingdir.fail.title=Open Failed\r
+\r
 savesetting.menuitem.label=Save settings\r
 savesetting.menuitem.tooltip=Save current settings\r
 savesetting.menuitem.icon=page_save.png\r
index 98e4e18..e89ea44 100755 (executable)
@@ -49,6 +49,11 @@ install.error.file.missing=
 install.error.servicedescriptor.missing=\83T\81[\83r\83X\8bL\8fq\8eq\82ªjar\83t\83@\83C\83\8b\93à\82É\8aÜ\82Ü\82ê\82Ä\82¢\82Ü\82¹\82ñ\81D\r
 install.error.notjarfile=jar\83t\83@\83C\83\8b\82Å\82Í\82 \82è\82Ü\82¹\82ñ\81D\r
 \r
+opensettingdir.menuitem.label=\90Ý\92è\83f\83B\83\8c\83N\83g\83\8a\82ð\8aJ\82­\r
+opensettingdir.menuitem.tooltip=Stigmata \82Ì\90Ý\92è\83f\83B\83\8c\83N\83g\83\8a\82ð\8aJ\82«\82Ü\82·\81D\r
+opensettingdir.fail=<html><body><p>\83t\83H\83\8b\83_\82ð\8aJ\82¯\82Ü\82¹\82ñ\82Å\82µ\82½\81D</p><p>\8c´\88ö: {0}</p></body></html>\r
+opensettingdir.fail.title=\83t\83H\83\8b\83_\82ª\8aJ\82¯\82Ü\82¹\82ñ\82Å\82µ\82½\r
+\r
 savesetting.menuitem.label=\90Ý\92è\82ð\95Û\91\r
 savesetting.menuitem.tooltip=\8c»\8dÝ\82Ì\90Ý\92è\82ð\95Û\91\82µ\82Ü\82·\r
 \r