/* * * 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 //Perforce VCS import java.io.File; //Java import javax.swing.Icon; import com.borland.jbuilder.node.JBProject; import com.borland.primetime.ide.Browser; import com.borland.primetime.node.FileNode; import com.borland.primetime.node.Node; import com.borland.primetime.vfs.Url; //JBuilder OT import com.dafreels.opentools.Main; import com.dafreels.vcs.util.ActionImages; /** * Title: * Description: * Copyright: Copyright (c) 2001 * Company: DF Systems * @author David Freels * @version 1.0 */ public class SyncAction extends PerforceAction { public SyncAction(boolean onFileTabMenu) { super("Sync to head Revision","Sync client file(s) to Depot head revision", ActionImages.P4_SYNC,onFileTabMenu); } protected SyncAction(String text, String toolTip, Icon icon, boolean onFileTabMenu) { super(text, toolTip, icon, onFileTabMenu); } public void actionPerformed(Browser browser) { //Get a list of the selected nodes Node[] nodes; com.dafreels.vcs.command.Command cmd = new com.dafreels.vcs.command.Command(getCommand()); if ( m_onFileTabMenu ) { nodes = getSelectedNodes(browser, cmd); } else { nodes = browser.getProjectView().getSelectedNodes(browser.getActiveProject()); String tempFileName = ""; for(int i = 0; i < nodes.length; i++) { //See if this is a directory or auto source package if(nodes[i].getDisplayName() != null && !nodes[i].getDisplayName().endsWith(".java")) { JBProject project = (JBProject)nodes[i].getProject(); Url[] sourcePaths = project.getPaths().getSourcePath(); String packagePath; for (int u = 0; u < sourcePaths.length; u++ ) { //Url defaultSourcePath = project.getPaths().getDefaultSourcePath(); packagePath = sourcePaths[u].getFileObject().getAbsolutePath() + File.separator + nodes[i].getDisplayName().replace('.', File.separatorChar); File f = new File(packagePath); if ( !f.exists() || !f.isDirectory() ) { continue; } try { packagePath = f.getCanonicalPath(); } catch(java.io.IOException ioe) { } cmd.addPath(packagePath+"..."); } } else { tempFileName = ((FileNode)nodes[i]).getLongDisplayName(); cmd.addPath(tempFileName); } } } if ( cmd.getPathCount() == 0 ) { return; } runCommand(browser, cmd); //Run the command /* CommandTool.runCommand(cmd, Main.m_props); //Output the p4 messages MessageWriter.outputErrorMessages(MessageFormatter.getInstance()); if ( Main.m_props.showOutput() ) { MessageWriter.outputMessages(MessageFormatter.getInstance()); } */ //Force JBuilder to check the file status if ( nodes != null ) { Main.refreshNodes(nodes); } } protected String getCommand() { return com.dafreels.vcs.command.Command.SYNC; } }
# | Change | User | Description | Committed | |
---|---|---|---|---|---|
#8 | 4090 | David Freels |
Fixed bug where paths with spaces would not work. Also checked in new code or JBuilderX. |
||
#7 | 3651 | David Freels | Remove file extension limitations. | ||
#6 | 1873 | Mark E. Ackerman | Version 1.0 build. | ||
#5 | 1703 | Mark E. Ackerman |
fix for sync and preview to handle multiple source paths. moved all image stuff to the vcs branch. added some more icons to the menu v0.9.5 |
||
#4 | 1640 | Mark E. Ackerman |
added diff action, unlock action, status dialog, file history with detail, fixed stretching of submit dialog. added diff to submit dialog. added icons to the popup menu. added status line message for most actions. added confirm to revert action. added displaying of error messages from p4 command. added About Open tool support. added option on Perforce Page to not display output from p4 command. added version info on the PerforcePage. some other misc fixes and changes. changed version number to 0.9.3 |
||
#3 | 1445 | David Freels | Refreshing source tree. | ||
#2 | 1429 | David Freels | New packaging and bug fixes. | ||
#1 | 940 | David Freels | Initial revision | ||
//guest/david_freels/p4ot/src/com/dafreels/opentools/actions/SyncAction.java | |||||
#1 | 934 | David Freels | Initial revision |