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); + } + } } }