Esempio n. 1
0
 public void showOpenProjectDialog(
     FileSystemContext fsContext,
     ProjectsServerOperations server,
     String defaultLocation,
     int defaultType,
     boolean showNewSession,
     final ProgressOperationWithInput<OpenProjectParams> onCompleted) {
   // use the default dialog on desktop mode or single-session mode
   FileDialogs dialogs = RStudioGinjector.INSTANCE.getFileDialogs();
   if (Desktop.isDesktop()
       || !RStudioGinjector.INSTANCE.getSession().getSessionInfo().getMultiSession()) {
     dialogs.openFile(
         "Open Project",
         fsContext,
         FileSystemItem.createDir(defaultLocation),
         "R Projects (*.Rproj)",
         new ProgressOperationWithInput<FileSystemItem>() {
           @Override
           public void execute(FileSystemItem input, ProgressIndicator indicator) {
             onCompleted.execute(new OpenProjectParams(input, null, false), indicator);
           }
         });
   } else {
     // in multi-session mode, we have a special dialog for opening projects
     WebFileDialogs webDialogs = (WebFileDialogs) dialogs;
     webDialogs.openProject(
         fsContext, FileSystemItem.createDir(defaultLocation), defaultType, onCompleted);
   }
 }