示例#1
0
  /** Returns false if Exception is thrown. */
  private boolean setDirectory() {
    String pathStr = dirTF.getText().trim();
    if (pathStr.equals("")) pathStr = System.getProperty("user.dir");
    try {
      File dirPath = new File(pathStr);
      if (!dirPath.isDirectory()) {
        if (!dirPath.exists()) {
          if (recursiveCheckBox.isSelected())
            throw new NotDirectoryException(dirPath.getAbsolutePath());
          else throw new NotFileException(dirPath.getAbsolutePath());
        } else {
          convertSet.setFile(dirPath);
          convertSet.setDestinationPath(dirPath.getParentFile());
        }
      } else {
        // Set the descriptors
        setMatchingFileNames();

        FlexFilter flexFilter = new FlexFilter();
        flexFilter.addDescriptors(descriptors);
        flexFilter.setFilesOnly(!recursiveCheckBox.isSelected());

        convertSet.setSourcePath(dirPath, flexFilter);
        convertSet.setDestinationPath(dirPath);
      }
    } catch (NotDirectoryException e1) {
      final String caption = ResourceHandler.getMessage("notdirectory_dialog.caption1");

      MessageFormat formatter;
      String info_msg;
      if (pathStr.equals("")) {
        info_msg = ResourceHandler.getMessage("notdirectory_dialog.info5");
      } else {
        formatter = new MessageFormat(ResourceHandler.getMessage("notdirectory_dialog.info0"));
        info_msg = formatter.format(new Object[] {pathStr});
      }
      final String info = info_msg;

      JOptionPane.showMessageDialog(this, info, caption, JOptionPane.ERROR_MESSAGE);
      return false;
    } catch (NotFileException e2) {
      final String caption = ResourceHandler.getMessage("notdirectory_dialog.caption0");

      MessageFormat formatter =
          new MessageFormat(ResourceHandler.getMessage("notdirectory_dialog.info1"));
      final String info = formatter.format(new Object[] {pathStr});

      JOptionPane.showMessageDialog(this, info, caption, JOptionPane.ERROR_MESSAGE);
      return false;
    }

    return true; // no exception thrown
  }
示例#2
0
  /**
   * Used to initialize the componenets. Also called after every event that is required to update
   * other fields.
   */
  public void setup() {
    if (firstTime) {
      defaultDirBackupPath = convertSet.getBackupPath().getPath();
      defaultOneFileBackupPath = System.getProperty("user.dir");
      firstTime = false;
    }

    dirTF.setText(convertSet.getSourcePath().getPath());
    recursiveCheckBox.setSelected(converter.isRecurse());
    if (converter.isStaticVersioning()) {
      staticVersioningRadioButton.setSelected(true);
    } else {
      dynamicVersioningRadioButton.setSelected(true);
    }
    backupTF.setText(defaultDirBackupPath);
  }
示例#3
0
  /** Handle ActionEvents. */
  public void actionPerformed(ActionEvent e) {
    Component target = (Component) e.getSource();

    if (target == dirBttn) {
      JFileChooser chooser = new JFileChooser();

      // Gabe Boys: Changed form just dirs to files and dirs
      chooser.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);

      try {
        chooser.setCurrentDirectory(new File(dirTF.getText()));
      } catch (Exception ex) {
      }

      int returnVal = chooser.showOpenDialog(this);
      if (returnVal == JFileChooser.APPROVE_OPTION) {
        dirTF.setText(chooser.getSelectedFile().getAbsolutePath());

        // Gabe Boys : If the source is a file set the backupPath to the directory instead of the
        // file
        if (!chooser.getSelectedFile().isDirectory()) {
          backupTF.setText(chooser.getSelectedFile().getParentFile().getAbsolutePath() + "_BAK");
        } else {
          backupTF.setText(chooser.getSelectedFile().getAbsolutePath() + "_BAK");
        }
      }
    } else if (target == backupBttn) {
      JFileChooser chooser = new JFileChooser();
      chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);

      try {
        chooser.setCurrentDirectory(new File(backupTF.getText()));
      } catch (Exception ex) {
      }

      int returnVal = chooser.showOpenDialog(this);
      if (returnVal == JFileChooser.APPROVE_OPTION) {
        backupTF.setText(chooser.getSelectedFile().getAbsolutePath());
      }
    } else if (target == optionMenuItem) {
      showOptionDialog();
    } else if (target == helpMenuItem) {
      showHelpDialog();
    } else if (target == runBttn) {
      boolean noExeceptionThrown = true;
      noExeceptionThrown = setDirectory();

      if (noExeceptionThrown == true) {
        if (!testSourceVsBackup()) {
          // Set backup
          convertSet.setBackupPath(new File(backupTF.getText()));

          noExeceptionThrown =
              (setTemplateFile((String) templateCh.getSelectedItem()) && noExeceptionThrown);

          if (noExeceptionThrown) (new ProgressGUI(converter)).setVisible(true);
        }
      }
    } else if (target == exitMenuItem) {
      converter.persistConverterSetting();
      quit();
    } else if (target == aboutMenuItem) {
      showAboutDialog();
    }
  }