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