Example #1
0
  public void actionPerformed(ActionEvent ae) {
    TreePath[] tree_paths = tree.getSelectionPaths();
    if (tree_paths.length == 0) {
      return;
    }
    if (tree_paths.length > 1) {
      JOptionPane.showMessageDialog(
          view, "Please select a single entry.", "Too many selections", JOptionPane.ERROR_MESSAGE);
      return;
    }
    String from_url = null;
    String defaultDestination = null;
    for (TreePath path : tree_paths) { // should be a single loop
      if (path != null) {
        Object[] parts = path.getPath();
        StringBuilder from = new StringBuilder();
        StringBuilder to = new StringBuilder();
        String preface = parts[0].toString();
        if (preface.endsWith("/")) {
          preface = preface.substring(0, preface.length() - 1);
        }
        from.append(preface);
        to.append(preface);
        for (int i = 1; i < parts.length; i++) {
          from.append("/").append(parts[i].toString());
        }
        for (int i = 1; i < parts.length - 1; i++) {
          if (parts[i].toString().equals("branches")) {
            continue;
          }
          to.append("/").append(parts[i].toString());
        }
        from_url = from.toString();
        defaultDestination = to.append("/tags").toString();
        break;
      }
    }

    TagBranchDialog dialog =
        new TagBranchDialog(view, TagBranchDialog.TAG_DIALOG, from_url, defaultDestination);
    GUIUtils.center(view, dialog);
    dialog.setVisible(true);
    CopyData cd = dialog.getData();
    if (cd != null) {
      if (username != null && password != null) {
        cd.setUsername(username);
        cd.setPassword(password);
      }
      cd.setTitle("Tag");
      CopyAction action = new CopyAction(view, cd);
      action.actionPerformed(null);
    }
  }
 private void updateAction() {
   insert.setEnabled(component.canInsert());
   copy.setEnabled(component.canCopy());
   paste.setEnabled(component.canPaste());
   cut.setEnabled(component.canCut());
   delete.setEnabled(component.canDelete());
 }