return ;
// case: single file which is not a folder
if ((files.size()) == 1 && !files.get(0).isDirectory())
{
final FileSystemItem file = files.get(0);
showFileExport(caption,
description,
file.getStem(),
file.getExtension(),
new ProgressOperationWithInput<String>(){
public void execute(String name, ProgressIndicator progress)
{
// progress complete
progress.onCompleted();
// execute the download (open in a new window)
globalDisplay_.openWindow(server_.getFileExportUrl(name, file));
}
});
}
// case: folder or multiple files
else
{
// determine the default zip file name based on the selection
String defaultArchiveName;
if (files.size() == 1)
defaultArchiveName = files.get(0).getStem();
else
defaultArchiveName = "rstudio-export";
// prompt user
final String ZIP = ".zip";
showFileExport(caption,
description,
defaultArchiveName,
ZIP,
new ProgressOperationWithInput<String>(){
public void execute(String archiveName, ProgressIndicator progress)
{
// progress complete
progress.onCompleted();
// force zip extension in case the user deleted it
if (!archiveName.endsWith(ZIP))
archiveName += ZIP;
// build list of filenames
ArrayList<String> filenames = new ArrayList<String>();
for (FileSystemItem file : files)
filenames.add(file.getName());
// execute the download (open in a new window)
globalDisplay_.openWindow(server_.getFileExportUrl(archiveName,
parentDir,
filenames));