void HandleProjectSelected(LMProject project) { project.ProjectType = ProjectType.FileProject; LMStateHelper.OpenProject(new LMProjectVM { Model = project }); }
async Task <bool> CaptureFinished(bool cancel, bool delete, bool reopen) { LMProject project = Project.Model; ProjectType type = Project.ProjectType; if (delete) { if (type != ProjectType.FakeCaptureProject) { try { File.Delete(Capturer.CaptureSettings.EncodingSettings.OutputFile); } catch (Exception ex1) { Log.Exception(ex1); } } try { App.Current.DatabaseManager.ActiveDB.Delete <LMProject> (project); } catch (StorageException ex) { Log.Exception(ex); App.Current.Dialogs.ErrorMessage(ex.Message); } } // if it comes from a cancel operation the close have been handled bool closeOk = await CloseOpenedProject(!cancel, !reopen); if (closeOk && reopen && !cancel && type != ProjectType.FakeCaptureProject) { Project.ProjectType = ProjectType.FileProject; Project.CloseHandled = true; // the reopen comes from a close operation avoid asking again LMStateHelper.OpenProject(Project); } return(false); }
void HandleOpenClicked(object sender, EventArgs e) { if (loadedProject != null) { LMStateHelper.OpenProject(new LMProjectVM { Model = loadedProject }); } }
void HandleProjectSelected(LMProject project) { SaveLoadedProject(false); if (project != null) { LMStateHelper.OpenProject(new LMProjectVM { Model = project }); } }
void HandleOpen(OpenEvent <LMProject> arg) { if (ViewModel.LoadedProject != null) { // We get the selection instead of LoadedProject because it can be modified without saving. // Also we don't use the selected VM directly because it's disposed on unload LMProjectVM selectedVM = new LMProjectVM { Model = ViewModel.Selection.First().Model }; LMStateHelper.OpenProject(selectedVM); } }
void StartProject() { if (projectType == ProjectType.EditProject) { projectType = ProjectType.FileProject; ViewModel.Project.ProjectType = projectType; } else { project.CreateLineupEvent(); } LMStateHelper.OpenProject(ViewModel.Project, captureSettings); }
public void OpenProject_ExistingProject_NavigateToAnalyisWindow() { var project = new LMProject(); var projectVM = new LMProjectVM { Model = project }; project.ProjectType = ProjectType.FileProject; LMStateHelper.OpenProject(projectVM); stateControllerMock.Verify(s => s.MoveTo(ProjectAnalysisState.NAME, It.IsAny <object> (), true, false)); }
void StartProject() { bool isNew = false; if (projectType == ProjectType.EditProject) { projectType = ProjectType.FileProject; ViewModel.Project.ProjectType = projectType; } else { isNew = true; project.CreateLineupEvent(); } LMStateHelper.OpenProject(ViewModel.Project, captureSettings, isNew); }
public void OpenProject_ExistingFakeLive_NavigateToAnalyisWindow() { var project = new LMProject(); var projectVM = new LMProjectVM { Model = project }; project.ProjectType = ProjectType.FileProject; project.Description = new ProjectDescription(); project.Description.FileSet = new MediaFileSet(); project.Description.FileSet.Add(new MediaFile()); project.Description.FileSet [0].FilePath = Constants.FAKE_PROJECT; LMStateHelper.OpenProject(projectVM); stateControllerMock.Verify(s => s.MoveTo(NewProjectState.NAME, projectVM, false, false)); }
public void OpenProject_NotifiesProjectOpened_Ok() { // Arrange bool projectOpened = false; LMProjectVM viewmodel = new LMProjectVM(); viewmodel.Model = new LMProject(); CaptureSettings settings = new CaptureSettings(); App.Current.EventsBroker.Subscribe <OpenedProjectEvent> (e => projectOpened = true); // Act LMStateHelper.OpenProject(viewmodel, settings); // Assert Assert.True(projectOpened); }
public void OpenProject_NewFakeLive_NavigateToAnalyisWindow() { var project = new LMProject(); var projectVM = new LMProjectVM { Model = project }; project.ProjectType = ProjectType.FakeCaptureProject; project.Description = new ProjectDescription(); project.Description.FileSet = new MediaFileSet(); project.Description.FileSet.Add(new MediaFile()); project.Description.FileSet [0].FilePath = Constants.FAKE_PROJECT; LMStateHelper.OpenProject(projectVM); stateControllerMock.Verify(s => s.MoveTo(FakeLiveProjectAnalysisState.NAME, It.IsAny <object> (), true, false)); }
protected override void HandleSave(SaveEvent <ProjectVM> saveEvent) { if (projectVM != saveEvent.Object) { return; } SaveChanges(saveEvent); if (projectVM.ProjectType == ProjectType.EditProject) { projectVM.ProjectType = ProjectType.FileProject; } else { (projectVM.Model as LMProject).CreateLineupEvent(); } LMStateHelper.OpenProject(projectVM); }
public void OpenProject_NotNew_NotSendsProjectCreatedEvent() { bool projectCreatedEvent = false; var project = new LMProject(); var projectVM = new LMProjectVM { Model = project }; project.ProjectType = ProjectType.FileProject; project.Description = new ProjectDescription(); project.Description.FileSet = new MediaFileSet(); project.Description.FileSet.Add(new MediaFile()); project.Description.FileSet [0].FilePath = Constants.FAKE_PROJECT; App.Current.EventsBroker.Subscribe <ProjectCreatedEvent> (evt => projectCreatedEvent = true); LMStateHelper.OpenProject(projectVM, newPoject: false); Assert.IsFalse(projectCreatedEvent); }
void ImportProject(ImportProjectEvent e) { LMProject project; ProjectImporter importer; IStorage DB = App.Current.DatabaseManager.ActiveDB; Log.Debug("Importing project"); /* try to import the project and show a message error is the file * is not a valid project */ try { if (ProjectImporters.Count() == 0) { throw new Exception(Catalog.GetString("Plugin not found")); } else if (ProjectImporters.Count() == 1) { importer = ProjectImporters.First(); } else { importer = ChooseImporter(ProjectImporters); } if (importer == null) { return; } project = importer.ImportFunction() as LMProject; if (project == null) { return; } if (importer.NeedsEdition) { App.Current.StateController.MoveTo(NewProjectState.NAME, new LMProjectVM { Model = project }); } else { /* If the project exists ask if we want to overwrite it */ if (!importer.CanOverwrite && DB.Exists(project)) { var res = App.Current.Dialogs.QuestionMessage(Catalog.GetString("A project already exists for this ID:") + project.ID + "\n" + Catalog.GetString("Do you want to overwrite it?"), null).Result; if (!res) { return; } } DB.Store <LMProject> (project, true); project.ProjectType = ProjectType.FileProject; LMStateHelper.OpenProject(new LMProjectVM { Model = project }); } } catch (Exception ex) { App.Current.Dialogs.ErrorMessage(Catalog.GetString("Error importing project:") + "\n" + ex.Message); Log.Exception(ex); return; } }