/* * * Perforce/JBuilder Opentool * Copyright (C) 2001 David Freels * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; * version 2.1 of the License. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * */ package com.dafreels.opentools.actions; //JBuilder import java.awt.Cursor; import com.borland.primetime.ide.Browser; import com.borland.primetime.node.Node; import com.dafreels.opentools.Main; import com.dafreels.opentools.MessageWriter; import com.dafreels.opentools.actions.ui.AddFilesDialog; import com.dafreels.vcs.command.CommandTool; import com.dafreels.vcs.command.MessageFormatter; import com.dafreels.vcs.util.ActionImages; /** * Title: * Description: * Copyright: Copyright (c) 2001 * Company: DF Systems * @author David Freels * @version 1.0 */ public class EditAction extends PerforceAction { public EditAction(boolean onFileTabMenu) { super("Edit", "Open file(s) for edit", ActionImages.P4_EDIT, onFileTabMenu); } public void actionPerformed(Browser browser) { String changeList = null; if (Main.m_props.askForEditChangeList()) { com.dafreels.vcs.command.Command cmd = new com.dafreels.vcs.command.Command( com.dafreels.vcs.command.Command.EDIT); Node[] nodes = getSelectedNodes(browser, cmd); AddFilesDialog dialog = new AddFilesDialog(browser, true); dialog.setTitle("Choose ChangeList"); dialog.fillForm(cmd.getPaths()); dialog.setVisible(true); if (dialog.wasCanceled()) { return; } changeList = dialog.getChangelist(); /* if ( changeList != null ) { com.dafreels.vcs.command.Command cmd2 = new com.dafreels.vcs.command.Command(com.dafreels.vcs.command.Command.ADD); cmd2.addPath("-c "+changeList); cmd2.addPaths(dialog.getFiles()); cmd = cmd2; } */ } editFile(browser, changeList); } public void editFile(Browser browser, String changeList) { //Get a list of the selected nodes com.dafreels.vcs.command.Command cmd = new com.dafreels.vcs.command.Command( com.dafreels.vcs.command.Command.EDIT); if (changeList != null) { cmd.addPath("-c " + changeList); } Node[] nodes = getSelectedNodes(browser, cmd); /* String tempFileName = ""; if ( m_onFileTabMenu ) { Node node = browser.getActiveNode(); if ( node != null ) { tempFileName = node.getLongDisplayName(); if(m_reg.validateFile(tempFileName)) { cmd.addPath(tempFileName); nodes = new Node[1]; nodes[0] = node; } else { return; } } else { return; } } else { nodes = browser.getProjectView().getSelectedNodes(browser.getActiveProject()); //StringBuffer sb = new StringBuffer("edit "); for(int i = 0; i < nodes.length; i++) { tempFileName = ((FileNode)nodes[i]).getLongDisplayName(); if(m_reg.validateFile(tempFileName)) { //sb.append(tempFileName+" "); cmd.addPath(tempFileName); } } } */ if (cmd.getPathCount() == 0) { return; } try { browser.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR)); //Run the command //CommandTool.runCommand(sb.toString(), Main.m_props); CommandTool.runCommand(cmd, Main.m_props); //Output the p4 messages MessageWriter.outputErrorMessages(MessageFormatter.getInstance()); if (Main.m_props.showOutput()) { MessageWriter.outputMessages(MessageFormatter.getInstance()); } } finally { browser.setCursor(Cursor.getDefaultCursor()); } //Force JBuilder to check the file status Main.refreshNodes(nodes); } }
# | Change | User | Description | Committed | |
---|---|---|---|---|---|
#1 | 4090 | David Freels |
Fixed bug where paths with spaces would not work. Also checked in new code or JBuilderX. |