diff --git a/diylc/diylc-core/src/org/diylc/presenter/update.xml b/diylc/diylc-core/src/org/diylc/presenter/update.xml
index 084de4fb..ba1a6d43 100644
--- a/diylc/diylc-core/src/org/diylc/presenter/update.xml
+++ b/diylc/diylc-core/src/org/diylc/presenter/update.xml
@@ -2946,6 +2946,10 @@
NEW_FEATURE
Added "Duo-Diode" tube symbol
+
+ NEW_FEATURE
+ Added "Access User Files" in the Help menu that takes you to logs, backup and config file location
+
NEW_FEATURE
Transistor components can display pinout instead of name or value
diff --git a/diylc/diylc-swing/src/org/diylc/images/IconLoader.java b/diylc/diylc-swing/src/org/diylc/images/IconLoader.java
index 4f700320..c7f50481 100644
--- a/diylc/diylc-swing/src/org/diylc/images/IconLoader.java
+++ b/diylc/diylc-swing/src/org/diylc/images/IconLoader.java
@@ -65,7 +65,7 @@ public enum IconLoader {
"splash_electrolytic.png"), SplashFilm("splash_film.png"), Splash("splash.png"), Help("help2.png"), ScrollInformation("scroll_information.png"),
Node("node.png"), Web("web.png"), Guitar("guitar.png"), Scientist("scientist.png"), StarGrey("star_grey.png"), StarBlue("star_blue.png"),
JarBeanInto("jar_bean_into.png"), GraphEdgeDirected("graph_edge_directed.png"), LaserPointer("laserpointer.png"), TapeMeasure("tape_measure1.png"),
- Elements("elements1.png"), GraphNodes("graph_nodes.png");
+ Elements("elements1.png"), GraphNodes("graph_nodes.png"), User("user1.png");
protected String name;
diff --git a/diylc/diylc-swing/src/org/diylc/images/user1.png b/diylc/diylc-swing/src/org/diylc/images/user1.png
new file mode 100644
index 00000000..e2694020
Binary files /dev/null and b/diylc/diylc-swing/src/org/diylc/images/user1.png differ
diff --git a/diylc/diylc-swing/src/org/diylc/swing/plugins/help/HelpMenuPlugin.java b/diylc/diylc-swing/src/org/diylc/swing/plugins/help/HelpMenuPlugin.java
index eb32ade1..96e535b3 100644
--- a/diylc/diylc-swing/src/org/diylc/swing/plugins/help/HelpMenuPlugin.java
+++ b/diylc/diylc-swing/src/org/diylc/swing/plugins/help/HelpMenuPlugin.java
@@ -21,26 +21,28 @@
*/
package org.diylc.swing.plugins.help;
-import java.awt.event.ActionEvent;
-import java.util.EnumSet;
+import java.awt.Desktop;
+import java.awt.event.ActionEvent;
+import java.io.File;
+import java.util.EnumSet;
import java.util.List;
-import javax.swing.AbstractAction;
-import javax.swing.Icon;
+import javax.swing.AbstractAction;
+import javax.swing.Icon;
-import org.apache.log4j.Logger;
-import org.diylc.appframework.miscutils.Utils;
+import org.apache.log4j.Logger;
+import org.diylc.appframework.miscutils.Utils;
import org.diylc.appframework.update.UpdateChecker;
import org.diylc.appframework.update.Version;
-import org.diylc.common.EventType;
-import org.diylc.common.IPlugIn;
-import org.diylc.common.IPlugInPort;
+import org.diylc.common.EventType;
+import org.diylc.common.IPlugIn;
+import org.diylc.common.IPlugInPort;
import org.diylc.core.IView;
-import org.diylc.images.IconLoader;
-import org.diylc.swing.ISwingUI;
-import org.diylc.swing.gui.DialogFactory;
-import org.diylc.swingframework.AboutDialog;
-import org.diylc.swingframework.LinkLabel;
+import org.diylc.images.IconLoader;
+import org.diylc.swing.ISwingUI;
+import org.diylc.swing.gui.DialogFactory;
+import org.diylc.swingframework.AboutDialog;
+import org.diylc.swingframework.LinkLabel;
import org.diylc.swingframework.update.UpdateDialog;
/**
@@ -70,7 +72,8 @@ public class HelpMenuPlugin implements IPlugIn {
swingUI.injectMenuAction(new NavigateURLAction("Component API", IconLoader.CoffeebeanEdit.getIcon(), COMPONENT_URL),
HELP_TITLE);
swingUI.injectMenuAction(new NavigateURLAction("Plugin API", IconLoader.ApplicationEdit.getIcon(), PLUGIN_URL), HELP_TITLE);
- swingUI.injectMenuAction(new NavigateURLAction("Submit a Bug", IconLoader.Bug.getIcon(), BUG_URL), HELP_TITLE);
+ swingUI.injectMenuAction(new NavigateURLAction("Submit a Bug", IconLoader.Bug.getIcon(), BUG_URL), HELP_TITLE);
+ swingUI.injectMenuAction(new NavigateFolderAction("Access User Files", IconLoader.User.getIcon(), System.getProperty("user.home") + "/.diylc"), HELP_TITLE);
swingUI.injectMenuAction(null, HELP_TITLE);
swingUI.injectMenuAction(new RecentUpdatesAction(), HELP_TITLE);
swingUI.injectMenuAction(null, HELP_TITLE);
@@ -173,5 +176,28 @@ public class HelpMenuPlugin implements IPlugIn {
Logger.getLogger(LinkLabel.class).error("Could not launch default browser", e1);
}
}
+ }
+
+ class NavigateFolderAction extends AbstractAction {
+
+ private static final long serialVersionUID = 1L;
+
+ private String url;
+
+ public NavigateFolderAction(String name, Icon icon, String url) {
+ super();
+ this.url = url;
+ putValue(AbstractAction.NAME, name);
+ putValue(AbstractAction.SMALL_ICON, icon);
+ }
+
+ @Override
+ public void actionPerformed(ActionEvent e) {
+ try {
+ Desktop.getDesktop().open(new File((url)));
+ } catch (Exception e1) {
+ Logger.getLogger(LinkLabel.class).error("Could not launch desktop", e1);
+ }
+ }
}
}