X-Git-Url: https://git.dogcows.com/gitweb?p=chaz%2Fvimcoder;a=blobdiff_plain;f=src%2Fcom%2Fdogcows%2FVimCoder.java;fp=src%2Fcom%2Fdogcows%2FVimCoder.java;h=04300fc4a4e857327610655ea34ef005e80ec710;hp=06c5426ffc43a75b6e75f9820093227a1c0bc5c5;hb=1a39937d5e2c04f3fa8166c65289afae165b3ea6;hpb=c76b63d1b374ea6774d648c0a50021357fdd9b80 diff --git a/src/com/dogcows/VimCoder.java b/src/com/dogcows/VimCoder.java index 06c5426..04300fc 100644 --- a/src/com/dogcows/VimCoder.java +++ b/src/com/dogcows/VimCoder.java @@ -54,6 +54,12 @@ public class VimCoder System.getProperty("file.separator") + ".vimcoder"); } + /** + * Whether or not to use the contest name and point value as problem + * directory names. + */ + private static boolean contestDirNames = false; + /** * The panel given to the Arena applet when it is requested. @@ -86,6 +92,11 @@ public class VimCoder */ private final static String ROOTDIR = "com.dogcows.VimCoder.config.rootdir"; + /** + * The key for the problem directory name preference. + */ + private final static String CONTESTDIRNAMES = "com.dogcows.VimCoder.config.contestdirnames"; + /** * The preferences object for storing plugin settings. */ @@ -110,6 +121,16 @@ public class VimCoder return rootDir; } + /** + * Get whether or not to save problems in a human-readable directory + * structure. + * @return The directory name setting. + */ + public static boolean isContestDirNames() + { + return contestDirNames; + } + /** * Instantiate the entry point of the editor plugin. @@ -283,16 +304,29 @@ public class VimCoder c.anchor = GridBagConstraints.BASELINE_LEADING; fieldPanel.add(browseButton, c); + final JCheckBox contestDirNamesButton = new JCheckBox( + "Store problems according to contest name and point value.", + contestDirNames + ); + contestDirNamesButton.setForeground(Common.FG_COLOR); + contestDirNamesButton.setBackground(Common.WPB_COLOR); + contestDirNamesButton.setFont(rootDirLabel.getFont()); + c.gridx = 1; + c.gridy = 1; + c.gridwidth = 2; + fieldPanel.add(contestDirNamesButton, c); + JLabel vimCommandLabel = new JLabel("Vim Command:"); vimCommandLabel.setForeground(Common.FG_COLOR); c.gridx = 0; - c.gridy = 1; + c.gridy = 2; + c.gridwidth = 1; fieldPanel.add(vimCommandLabel, c); final JTextField vimCommandField = new JTextField(vimCommand); vimCommandField.setPreferredSize(new Dimension(0, 24)); c.gridx = 1; - c.gridy = 1; + c.gridy = 2; c.weightx = 1.0; c.gridwidth = 2; fieldPanel.add(vimCommandField, c); @@ -339,6 +373,7 @@ public class VimCoder { prefs.setProperty(VIMCOMMAND, vimCommandField.getText()); prefs.setProperty(ROOTDIR, rootDirField.getText()); + prefs.setProperty(CONTESTDIRNAMES, String.valueOf(contestDirNamesButton.isSelected())); JOptionPane.showMessageDialog(null, "Preferences were saved successfully."); } }); @@ -362,6 +397,9 @@ public class VimCoder String dir = prefs.getProperty(ROOTDIR); if (dir != null) rootDir = new File(dir); + + String cn = prefs.getProperty(CONTESTDIRNAMES); + if (cn != null) contestDirNames = Boolean.parseBoolean(cn); }