/// <summary> /// Start doing whatever is needed for the supported type of action. /// </summary> public void StartWorking(Dictionary <string, string> commandLineArgs) { _fwProjectFolder = Path.GetDirectoryName(commandLineArgs["-p"]); MainForm = new MainBridgeForm { ClientSize = new Size(904, 510) }; _chorusUser = new ChorusUser(commandLineArgs["-u"]); _chorusSystem = Utilities.InitializeChorusSystem(Utilities.LiftOffset(_fwProjectFolder), _chorusUser.Name, LiftFolder.AddLiftFileInfoToFolderConfiguration); _chorusSystem.EnsureAllNotesRepositoriesLoaded(); _notesBrowser = _chorusSystem.WinForms.CreateNotesBrowser(); var conflictHandler = _notesBrowser.MessageContentHandlerRepository.KnownHandlers.OfType <MergeConflictEmbeddedMessageContentHandler>().First(); _chorusSystem.NavigateToRecordEvent.Subscribe(JumpToLiftObject); conflictHandler.HtmlAdjuster = AdjustConflictHtml; if (_connectionHelper != null) { JumpUrlChanged += _connectionHelper.SendJumpUrlToFlex; } var viewer = new BridgeConflictView(); MainForm.Controls.Add(viewer); MainForm.Text = viewer.Text; viewer.Dock = DockStyle.Fill; viewer.SetBrowseView(_notesBrowser); // Only used by FLEx, so how can it not be in use? //if (_currentLanguageProject.FieldWorkProjectInUse) // viewer.EnableWarning(); viewer.SetProjectName(LiftUtilties.GetLiftProjectName(_fwProjectFolder)); }
/// <summary> /// Start doing whatever is needed for the supported type of action. /// </summary> public void StartWorking(Dictionary<string, string> commandLineArgs) { _fwProjectFolder = Path.GetDirectoryName(commandLineArgs["-p"]); MainForm = new MainBridgeForm { ClientSize = new Size(904, 510) }; _chorusUser = new ChorusUser(commandLineArgs["-u"]); _chorusSystem = Utilities.InitializeChorusSystem(Utilities.LiftOffset(_fwProjectFolder), _chorusUser.Name, LiftFolder.AddLiftFileInfoToFolderConfiguration); _chorusSystem.EnsureAllNotesRepositoriesLoaded(); _notesBrowser = _chorusSystem.WinForms.CreateNotesBrowser(); var conflictHandler = _notesBrowser.MessageContentHandlerRepository.KnownHandlers.OfType<MergeConflictEmbeddedMessageContentHandler>().First(); _chorusSystem.NavigateToRecordEvent.Subscribe(JumpToLiftObject); conflictHandler.HtmlAdjuster = AdjustConflictHtml; if (_connectionHelper != null) JumpUrlChanged += _connectionHelper.SendJumpUrlToFlex; var viewer = new BridgeConflictView(); MainForm.Controls.Add(viewer); MainForm.Text = viewer.Text; viewer.Dock = DockStyle.Fill; viewer.SetBrowseView(_notesBrowser); // Only used by FLEx, so how can it not be in use? //if (_currentLanguageProject.FieldWorkProjectInUse) // viewer.EnableWarning(); viewer.SetProjectName(LiftUtilties.GetLiftProjectName(_fwProjectFolder)); }
/// <summary> /// Executes in two distinct scenarios. /// /// 1. If disposing is true, the method has been called directly /// or indirectly by a user's code via the Dispose method. /// Both managed and unmanaged resources can be disposed. /// /// 2. If disposing is false, the method has been called by the /// runtime from inside the finalizer and you should not reference (access) /// other managed objects, as they already have been garbage collected. /// Only unmanaged resources can be disposed. /// </summary> /// <remarks> /// If any exceptions are thrown, that is fine. /// If the method is being done in a finalizer, it will be ignored. /// If it is thrown by client code calling Dispose, /// it needs to be handled by fixing the issue. /// </remarks> private void Dispose(bool disposing) { if (IsDisposed) { return; } if (disposing) { if (_notesBrowser != null) { _notesBrowser.Dispose(); } if (_chorusSystem != null) { _chorusSystem.Dispose(); } if (_connectionHelper != null) { JumpUrlChanged -= _connectionHelper.SendJumpUrlToFlex; } if (_chorusSystem != null) { _chorusSystem.Dispose(); } } _connectionHelper = null; MainForm = null; _chorusUser = null; _notesBrowser = null; IsDisposed = true; }
public NotesInProjectViewModel( IChorusUser user, IEnumerable<AnnotationRepository> repositories, MessageSelectedEvent messageSelectedEventToRaise, ChorusNotesDisplaySettings displaySettings, IProgress progress) { DisplaySettings = displaySettings; _user = user; _repositories = repositories; _messageSelectedEvent = messageSelectedEventToRaise; foreach (var repository in repositories) { repository.AddObserver(this, progress); } }
public NotesInProjectViewModel( IChorusUser user, IEnumerable<AnnotationRepository> repositories, ChorusNotesDisplaySettings displaySettings, IProgress progress) { DisplaySettings = displaySettings; _user = user; _repositories = repositories; _showQuestions = _showConflicts = _showNotifications = true; foreach (var repository in repositories) { repository.AddObserver(this, progress); } }
public NotesInProjectViewModel( IChorusUser user, IEnumerable<AnnotationRepository> repositories, ChorusNotesDisplaySettings displaySettings, IProgress progress) { DisplaySettings = displaySettings; _user = user; _repositories = repositories; _showQuestions = _showConflicts = _showNotifications = true; foreach (var repository in repositories) { repository.AddObserver(this, progress); } }
public AnnotationEditorModel(IChorusUser user, MessageSelectedEvent messageSelectedEventToSubscribeTo, StyleSheet styleSheet, EmbeddedMessageContentHandlerRepository embeddedMessageContentHandlerRepository, NavigateToRecordEvent navigateToRecordEventToRaise, ChorusNotesDisplaySettings displaySettings) { _user = user; m_embeddedMessageContentHandlerRepository = embeddedMessageContentHandlerRepository; _navigateToRecordEventToRaise = navigateToRecordEventToRaise; _styleSheet = styleSheet; _displaySettings = displaySettings; messageSelectedEventToSubscribeTo.Subscribe(SetAnnotationAndFocussedMessage); EventToRaiseForChangedMessage = messageSelectedEventToSubscribeTo; }
public AnnotationEditorModel(IChorusUser user, MessageSelectedEvent messageSelectedEventToSubscribeTo, StyleSheet styleSheet, EmbeddedMessageContentHandlerRepository embeddedMessageContentHandlerRepository, NavigateToRecordEvent navigateToRecordEventToRaise, ChorusNotesDisplaySettings displaySettings) { _user = user; m_embeddedMessageContentHandlerRepository = embeddedMessageContentHandlerRepository; _navigateToRecordEventToRaise = navigateToRecordEventToRaise; _styleSheet = styleSheet; _displaySettings = displaySettings; messageSelectedEventToSubscribeTo.Subscribe(SetAnnotationAndFocussedMessage); EventToRaiseForChangedMessage = messageSelectedEventToSubscribeTo; }
//TODO: think about or merge these two constructors. this one is for when we're just //showing the control with a single annotation... it isn't tied to a list of messages. public AnnotationEditorModel(IChorusUser user, StyleSheet styleSheet, EmbeddedMessageContentHandlerRepository embeddedMessageContentHandlerRepository, Annotation annotation, NavigateToRecordEvent navigateToRecordEventToRaise, ChorusNotesDisplaySettings displaySettings, bool showLabelAsHyperlink) { _user = user; m_embeddedMessageContentHandlerRepository = embeddedMessageContentHandlerRepository; _styleSheet = styleSheet; _annotation = annotation; _navigateToRecordEventToRaise = navigateToRecordEventToRaise; _displaySettings = displaySettings; _showLabelAsHyperLink = showLabelAsHyperlink; }
//TODO: think about or merge these two constructors. this one is for when we're just //showing the control with a single annotation... it isn't tied to a list of messages. public AnnotationEditorModel(IChorusUser user, StyleSheet styleSheet, EmbeddedMessageContentHandlerRepository embeddedMessageContentHandlerRepository, Annotation annotation, NavigateToRecordEvent navigateToRecordEventToRaise, ChorusNotesDisplaySettings displaySettings, bool showLabelAsHyperlink) { _user = user; m_embeddedMessageContentHandlerRepository = embeddedMessageContentHandlerRepository; _styleSheet = styleSheet; _annotation = annotation; _navigateToRecordEventToRaise = navigateToRecordEventToRaise; _displaySettings = displaySettings; _showLabelAsHyperLink = showLabelAsHyperlink; }
public AnnotationEditorModel(IChorusUser user, MessageSelectedEvent messageSelectedEventToSubscribeTo, StyleSheet styleSheet, EmbeddedMessageContentHandlerRepository embeddedMessageContentHandlerRepository, NavigateToRecordEvent navigateToRecordEventToRaise, ChorusNotesDisplaySettings displaySettings) { _user = user; m_embeddedMessageContentHandlerRepository = embeddedMessageContentHandlerRepository; _navigateToRecordEventToRaise = navigateToRecordEventToRaise; _styleSheet = styleSheet; _displaySettings = displaySettings; //CurrentWritingSystem = _displaySettings.First(); messageSelectedEventToSubscribeTo.Subscribe((annotation, message) => SetAnnotationAndFocussedMessage(annotation, message)); EventToRaiseForChangedMessage = messageSelectedEventToSubscribeTo; NewMessageText = string.Empty; }
private void FinishInit(string userNameForHistoryAndNotes, ContainerBuilder builder) { _user = new ChorusUser(userNameForHistoryAndNotes); builder.RegisterInstance(_user).As <IChorusUser>(); // builder.RegisterGeneratedFactory<NotesInProjectView.Factory>().ContainerScoped(); // builder.RegisterGeneratedFactory<NotesInProjectViewModel.Factory>().ContainerScoped(); // builder.RegisterGeneratedFactory<NotesBrowserPage.Factory>().ContainerScoped(); // builder.Register(new NullProgress());//TODO _container = builder.Build(); //add the container itself var builder2 = new Autofac.ContainerBuilder(); builder2.RegisterInstance(_container).As <IContainer>(); builder2.Update(_container); DidLoadUpCorrectly = true; }
public SyncControlModel(ProjectFolderConfiguration projectFolderConfiguration, SyncUIFeatures uiFeatureFlags, IChorusUser user) { _user = user; _progress = new MultiProgress(); StatusProgress = new SimpleStatusProgress(); _progress.Add(StatusProgress); Features = uiFeatureFlags; _synchronizer = Synchronizer.FromProjectConfiguration(projectFolderConfiguration, _progress); _backgroundWorker = new BackgroundWorker(); _backgroundWorker.WorkerSupportsCancellation = true; _backgroundWorker.RunWorkerCompleted += new RunWorkerCompletedEventHandler(_backgroundWorker_RunWorkerCompleted); _backgroundWorker.DoWork += worker_DoWork; //clients will normally change these SyncOptions = new SyncOptions(); SyncOptions.CheckinDescription = "[" + Application.ProductName + ": " + Application.ProductVersion + "] sync"; SyncOptions.DoPullFromOthers = true; SyncOptions.DoMergeWithOthers = true; SyncOptions.RepositorySourcesToTry.AddRange(GetRepositoriesToList().Where(r => r.Enabled)); }
public SyncControlModel(ProjectFolderConfiguration projectFolderConfiguration, SyncUIFeatures uiFeatureFlags, IChorusUser user) { _user = user; _progress = new MultiProgress(); StatusProgress = new SimpleStatusProgress(); _progress.Add(StatusProgress); Features = uiFeatureFlags; _synchronizer = Synchronizer.FromProjectConfiguration(projectFolderConfiguration, _progress); _backgroundWorker = new BackgroundWorker(); _backgroundWorker.WorkerSupportsCancellation = true; _backgroundWorker.RunWorkerCompleted += new RunWorkerCompletedEventHandler(_backgroundWorker_RunWorkerCompleted); _backgroundWorker.DoWork += worker_DoWork; //clients will normally change these SyncOptions = new SyncOptions(); SyncOptions.CheckinDescription = "[" + Application.ProductName + ": " + Application.ProductVersion + "] sync"; SyncOptions.DoPullFromOthers = true; SyncOptions.DoMergeWithOthers = true; SyncOptions.RepositorySourcesToTry.AddRange(GetRepositoriesToList().Where(r => r.Enabled)); }
private void FinishInit(string userNameForHistoryAndNotes, ContainerBuilder builder) { _user = new ChorusUser(userNameForHistoryAndNotes); builder.RegisterInstance(_user).As<IChorusUser>(); // builder.RegisterGeneratedFactory<NotesInProjectView.Factory>().ContainerScoped(); // builder.RegisterGeneratedFactory<NotesInProjectViewModel.Factory>().ContainerScoped(); // builder.RegisterGeneratedFactory<NotesBrowserPage.Factory>().ContainerScoped(); // builder.Register(new NullProgress());//TODO _container = builder.Build(); //add the container itself var builder2 = new Autofac.ContainerBuilder(); builder2.RegisterInstance(_container).As<IContainer>(); builder2.Update(_container); DidLoadUpCorrectly = true; }
/// <summary> /// Executes in two distinct scenarios. /// /// 1. If disposing is true, the method has been called directly /// or indirectly by a user's code via the Dispose method. /// Both managed and unmanaged resources can be disposed. /// /// 2. If disposing is false, the method has been called by the /// runtime from inside the finalizer and you should not reference (access) /// other managed objects, as they already have been garbage collected. /// Only unmanaged resources can be disposed. /// </summary> /// <remarks> /// If any exceptions are thrown, that is fine. /// If the method is being done in a finalizer, it will be ignored. /// If it is thrown by client code calling Dispose, /// it needs to be handled by fixing the issue. /// </remarks> private void Dispose(bool disposing) { if (IsDisposed) return; if (disposing) { if (_notesBrowser != null) { _notesBrowser.Dispose(); } if (_chorusSystem != null) { _chorusSystem.Dispose(); } if (_connectionHelper != null) { JumpUrlChanged -= _connectionHelper.SendJumpUrlToFlex; } if (_chorusSystem != null) { _chorusSystem.Dispose(); } } _connectionHelper = null; MainForm = null; _chorusUser = null; _notesBrowser = null; IsDisposed = true; }