From 03c32a6292f9e51b58d13ba2599bc86845ea63c1 Mon Sep 17 00:00:00 2001 From: Sol Date: Sat, 22 Feb 2014 04:57:35 +0000 Subject: [PATCH] - Adding buttons the Troubleshooting section to improve users finding their profiles/content locations --- .../home/settings/CSubmenuPreferences.java | 39 +++++++++++++++++++ .../home/settings/VSubmenuPreferences.java | 8 ++++ 2 files changed, 47 insertions(+) diff --git a/forge-gui/src/main/java/forge/gui/home/settings/CSubmenuPreferences.java b/forge-gui/src/main/java/forge/gui/home/settings/CSubmenuPreferences.java index 6be80d09f60..2897ae82a36 100644 --- a/forge-gui/src/main/java/forge/gui/home/settings/CSubmenuPreferences.java +++ b/forge-gui/src/main/java/forge/gui/home/settings/CSubmenuPreferences.java @@ -14,12 +14,15 @@ import forge.gui.toolbox.FLabel; import forge.gui.toolbox.FOptionPane; import forge.properties.ForgePreferences; import forge.properties.ForgePreferences.FPref; +import forge.properties.NewConstants; import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.tuple.Pair; import javax.swing.*; +import java.awt.Desktop; import java.awt.event.ItemEvent; import java.awt.event.ItemListener; +import java.io.File; import java.util.ArrayList; import java.util.List; @@ -121,6 +124,20 @@ public enum CSubmenuPreferences implements ICDoc { } }); + view.getBtnUserProfileUI().setCommand(new UiCommand() { + @Override + public void run() { + CSubmenuPreferences.this.openUserProfileDirectory(); + } + }); + + view.getBtnContentDirectoryUI().setCommand(new UiCommand() { + @Override + public void run() { + CSubmenuPreferences.this.openContentDirectory(); + } + }); + initializeGameLogVerbosityComboBox(); initializeCloseActionComboBox(); initializeAiProfilesComboBox(); @@ -207,6 +224,28 @@ public enum CSubmenuPreferences implements ICDoc { } } + private void openUserProfileDirectory() { + try{ + if (Desktop.isDesktopSupported()) { + Desktop.getDesktop().open(new File(NewConstants.USER_DIR)); + } + } + catch(Exception e) { + System.out.println("Unable to open Directory: " + e.toString()); + } + } + + private void openContentDirectory() { + try{ + if (Desktop.isDesktopSupported()) { + Desktop.getDesktop().open(new File(NewConstants.CACHE_DIR)); + } + } + catch(Exception e) { + System.out.println("Unable to open Directory: " + e.toString()); + } + } + private void initializeGameLogVerbosityComboBox() { FPref userSetting = FPref.DEV_LOG_ENTRY_TYPE; FComboBoxPanel panel = this.view.getGameLogVerbosityComboBoxPanel(); diff --git a/forge-gui/src/main/java/forge/gui/home/settings/VSubmenuPreferences.java b/forge-gui/src/main/java/forge/gui/home/settings/VSubmenuPreferences.java index ddfff517d84..7c4313e5285 100644 --- a/forge-gui/src/main/java/forge/gui/home/settings/VSubmenuPreferences.java +++ b/forge-gui/src/main/java/forge/gui/home/settings/VSubmenuPreferences.java @@ -49,6 +49,8 @@ public enum VSubmenuPreferences implements IVSubmenu { private final FLabel btnDeleteMatchUI = new FLabel.Builder().opaque(true).hoverable(true).text("Reset Match Layout").build(); private final FLabel btnDeleteEditorUI = new FLabel.Builder().opaque(true).hoverable(true).text("Reset Editor Layout").build(); private final FLabel btnDeleteWorkshopUI = new FLabel.Builder().opaque(true).hoverable(true).text("Reset Workshop Layout").build(); + private final FLabel btnUserProfileUI = new FLabel.Builder().opaque(true).hoverable(true).text("Open User Directory").build(); + private final FLabel btnContentDirectoryUI = new FLabel.Builder().opaque(true).hoverable(true).text("Open Content Directory").build(); private final FLabel btnPlayerName = new FLabel.Builder().opaque(true).hoverable(true).text("").build(); private final JCheckBox cbRemoveSmall = new OptionsCheckBox("Remove Small Creatures"); @@ -104,6 +106,8 @@ public enum VSubmenuPreferences implements IVSubmenu { pnlPrefs.add(btnDeleteMatchUI, twoButtonConstraints2); pnlPrefs.add(btnDeleteEditorUI, twoButtonConstraints1); pnlPrefs.add(btnDeleteWorkshopUI, twoButtonConstraints2); + pnlPrefs.add(btnUserProfileUI, twoButtonConstraints1); + pnlPrefs.add(btnContentDirectoryUI, twoButtonConstraints2); // General Configuration pnlPrefs.add(new SectionLabel("General Configuration"), sectionConstraints + ", gaptop 2%"); @@ -527,6 +531,10 @@ public enum VSubmenuPreferences implements IVSubmenu { return btnDeleteWorkshopUI; } + public final FLabel getBtnContentDirectoryUI() { return btnContentDirectoryUI; } + + public final FLabel getBtnUserProfileUI() { return btnUserProfileUI; } + /* (non-Javadoc) * @see forge.gui.framework.IVDoc#getDocumentID() */