/*
*
* 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 com.borland.primetime.*;
import com.borland.primetime.actions.*;
import com.borland.primetime.node.*;
import com.borland.jbuilder.*;
import com.borland.primetime.ide.*;
//Java
import javax.swing.*;
import java.awt.event.*;
//JBuilder OT
import com.dafreels.opentools.*;
import com.dafreels.opentools.properties.*;
//Perforce VCS
import com.dafreels.vcs.command.*;
import com.dafreels.vcs.util.ExtensionRegistry;
import com.dafreels.vcs.util.ActionImages;
import java.util.List;
/**
* Title:
* Description:
* Copyright: Copyright (c) 2001
* Company: DF Systems
* @author David Freels
* @version 1.0
*/
public class RevertAction extends PerforceAction
{
public RevertAction(boolean onFileTabMenu)
{
super("Revert","Revert changes to file(s)",ActionImages.P4_REVERT,
onFileTabMenu);
}
public void actionPerformed(Browser browser)
{
com.dafreels.vcs.command.Command cmd =
new com.dafreels.vcs.command.Command(com.dafreels.vcs.command.Command.REVERT);
Node[] nodes = getSelectedNodes(browser, cmd);
if ( cmd.getPathCount() == 0 )
{
return;
}
// added confirmation dialog. 4/10/2002 Mark Ackerman
List paths = cmd.getPaths();
if ( paths.size() == 0 )
{
return;
}
StringBuffer buf = new StringBuffer(200);
java.util.Iterator i = paths.iterator();
while (i.hasNext() )
{
buf.append(i.next());
if ( i.hasNext())
{
buf.append("<br>");
}
}
int opt = JOptionPane.showConfirmDialog(Browser.getActiveBrowser(),
"<html>Reverting file(s) will overwrite any edits to the file(s):"+
"<br><font=+0 Color=blue>"+buf.toString()
+"</font><br>Proceed with Revert?</html>", "Confirm Revert",
JOptionPane.YES_NO_OPTION);
if ( opt != JOptionPane.YES_OPTION)
{
return;
}
//Run the command
if ( runCommand(browser, cmd))
{ // command ran successfully so prompt the user once again if they want to edit the files
Main.main.removeFilesFromAskCache(cmd.getPaths());
}
//Force JBuilder to check the file status
if ( nodes != null )
{
Main.refreshNodes(nodes);
}
}
}