\r
import java.beans.PropertyChangeEvent;\r
import java.beans.PropertyChangeListener;\r
+import java.io.File;\r
import java.util.ArrayList;\r
import java.util.Arrays;\r
import java.util.HashMap;\r
private static BirthmarkEnvironment DEFAULT_ENVIRONMENT = new BirthmarkEnvironment(true);\r
\r
/**\r
+ * home directory path.\r
+ */\r
+ private static String HOME_DIRECTORY_PATH;\r
+\r
+ /**\r
* parent of this environment.\r
*/\r
private BirthmarkEnvironment parent;\r
return DEFAULT_ENVIRONMENT;\r
}\r
\r
+ public static synchronized final String getStigmataHome(){\r
+ if(HOME_DIRECTORY_PATH == null){\r
+ String stigmataHome = System.getenv("STIGMATA_HOME");\r
+ if(stigmataHome == null){\r
+ String parent = System.getenv("HOME");\r
+ if(parent == null){\r
+ parent = System.getProperty("user.home");\r
+ }\r
+ if(parent == null){\r
+ parent = ".";\r
+ }\r
+ if(parent.startsWith("C:\\Document and Settings\\")){\r
+ stigmataHome = parent + File.separator + "Application Data" + File.separator + "stigmata";\r
+ }\r
+ else{\r
+ stigmataHome = parent + File.separator + ".stigmata";\r
+ }\r
+ }\r
+ HOME_DIRECTORY_PATH = stigmataHome;\r
+ }\r
+ return HOME_DIRECTORY_PATH;\r
+ }\r
+\r
public BirthmarkEnvironment getParent(){\r
return parent;\r
}\r
}\r
File file = new File(currentDirectory, "stigmata.xml");\r
if(!file.exists()){\r
- file = new File(System.getProperty("user.home"), ".stigmata/stigmata.xml");\r
+ file = new File(BirthmarkEnvironment.getStigmataHome(), "stigmata.xml");\r
if(!file.exists()){\r
file = null;\r
}\r
if(defaultEnvironment == null){\r
defaultEnvironment = BirthmarkEnvironment.getDefaultEnvironment();\r
}\r
- buildStigmataDirectory(System.getProperty("user.home"), ".stigmata");\r
+ buildStigmataDirectory(BirthmarkEnvironment.getStigmataHome());\r
\r
defaultEnvironment.setClassLoader(buildClassLoader());\r
try{\r
defaultEnvironment.addService(service);\r
}\r
FormatManager.updateServices(defaultEnvironment);\r
- exportConfigFile(System.getProperty("user.home"), ".stigmata/stigmata.xml");\r
+ exportConfigFile(BirthmarkEnvironment.getStigmataHome(), "stigmata.xml");\r
}\r
\r
private ClassLoader buildClassLoader(){\r
- File file = new File(System.getProperty("user.home"), ".stigmata/plugins");\r
+ File file = new File(BirthmarkEnvironment.getStigmataHome(), "plugins");\r
File[] jarfiles = file.listFiles(new ExtensionFilter("jar"));\r
if(jarfiles != null && jarfiles.length > 0){\r
try{\r
return null;\r
}\r
\r
- private void buildStigmataDirectory(String parent, String directory){\r
- File file = new File(parent, directory);\r
+ private void buildStigmataDirectory(String homeDirectory){\r
+ File file = new File(homeDirectory);\r
if(file.exists() && file.isFile()){\r
File dest = new File(file.getParent(), ".stigmata.back");\r
file.renameTo(dest);\r
exporter.export(new PrintWriter(new FileWriter(file)));\r
}\r
} catch(IOException e){\r
+ e.printStackTrace();\r
}\r
}\r
}\r
}\r
\r
private void clearSettings(){\r
- new File(System.getProperty("user.home"), ".stigmata/stigmata.xml").delete();\r
+ new File(BirthmarkEnvironment.getStigmataHome(), "stigmata.xml").delete();\r
try{\r
new Main(new String[] { "--reset-config", "--mode=gui", });\r
setVisible(false);\r
dispose();\r
} catch(ParseException e){\r
}\r
- \r
}\r
\r
private void initLayouts(){\r
});\r
saveMenu.addActionListener(new ActionListener(){\r
public void actionPerformed(ActionEvent e){\r
- control.saveSettings(new File(System.getProperty("user.home"), ".stigmata/stigmata.xml"));\r
+ control.saveSettings(new File(BirthmarkEnvironment.getStigmataHome(), ".stigmata.xml"));\r
}\r
});\r
\r
exportsetting.menuitem.tooltip=Export settings of control panel.\r
exportsetting.menuitem.icon=page_go.png\r
\r
-clearsetting.menuitem.label=Clear settings\r
+clearsetting.menuitem.label=Restore default settings\r
clearsetting.menuitem.tooltip=Clear current seting and restore default seting\r
clearsetting.menuitem.icon=page_delete.png\r
\r
addwellknown.newrule.exclude.label=\8f\9c\8aO\83\8b\81[\83\8b\r
addwellknown.newrule.exclude.tooltip=\83`\83F\83b\83N\82ª\93ü\82ê\82ç\82ê\82Ä\82¢\82é\8fê\8d\87\81C\88È\89º\82Å\8ew\92è\82·\82é\83\8b\81[\83\8b\82Í\8aù\92m\82Ì\83N\83\89\83X\94»\92è\83\8b\81[\83\8b\82©\82ç\8f\9c\8aO\82³\82ê\82é\83\8b\81[\83\8b\82Æ\82µ\82Ä\88µ\82í\82ê\82Ü\82·\r
\r
-updatewellknown.button.label=\8dX\90V...\r
-updatewellknown.button.tooltip=\91I\91ð\92\86\82Ì\83\8b\81[\83\8b\82ð\8dX\90V\82µ\82Ü\82·\r
+updatewellknown.button.label=\95Ï\8dX...\r
+updatewellknown.button.tooltip=\91I\91ð\92\86\82Ì\83\8b\81[\83\8b\82ð\95Ï\8dX\82µ\82Ü\82·\r
\r
matchparttype.FULLY_NAME=\83N\83\89\83X\82Ì\8a®\91S\8fC\8fü\96¼\82ª\r
matchparttype.CLASS_NAME=\83p\83b\83P\81[\83W\96¼\82ð\8f\9c\82\83N\83\89\83X\96¼\82ª\r