private void OnLogViewChanged(LogViewerViewModel oldView, LogViewerViewModel newView) { try { _changingLogView = true; if (oldView != null) { oldView.PropertyChanged -= LogViewOnPropertyChanged; } if (newView != null) { newView.PropertyChanged += LogViewOnPropertyChanged; DataSource = newView.DataSource; LogSource = newView.LogSource; FindAll = newView.DataSource.FindAll; Search = newView.Search; CurrentLogLine = newView.DataSource.VisibleLogLine; Select(newView.DataSource.SelectedLogLines); SetHorizontalOffset(newView.DataSource.HorizontalOffset); } else { DataSource = null; LogSource = null; FindAll = null; } } finally { _changingLogView = false; } }
private void OpenFile(IDataSourceViewModel dataSource) { if (CurrentDataSourceLogView?.DataSource == dataSource) { return; } if (dataSource != null) { CurrentDataSource = dataSource; CurrentDataSourceLogView = new LogViewerViewModel( dataSource, _actionCenter, _applicationSettings); } else { CurrentDataSource = null; CurrentDataSourceLogView = null; } }