private void Import() { OpenFileDialogParameters selectSqlDumpFileDialogParameters = new OpenFileDialogParameters { DialogTitle = "Выбор SQL-дампа", Filter = "Все поддерживаемые файлы|*.sql;*zip;*.rar;*.gz;*.7z|SQL -дампы (*.sql)|*.sql|Архивы (*.zip, *.rar, *.gz, *.7z)|*zip;*.rar;*.gz;*.7z|Все файлы (*.*)|*.*", Multiselect = false }; OpenFileDialogResult selectSqlDumpFileDialogResult = WindowManager.ShowOpenFileDialog(selectSqlDumpFileDialogParameters); if (selectSqlDumpFileDialogResult.DialogResult) { ImportWindowViewModel importWindowViewModel = new ImportWindowViewModel(mainModel, selectSqlDumpFileDialogResult.SelectedFilePaths.First()); IWindowContext importWindowContext = WindowManager.CreateWindow(RegisteredWindows.WindowKey.IMPORT_WINDOW, importWindowViewModel, CurrentWindowContext); importWindowContext.ShowDialog(); if (IsDefaultSearchTabVisible) { DefaultSearchTabViewModel.Refresh(setFocus: true); } else { foreach (SearchTabViewModel searchTabViewModel in TabViewModels.OfType <SearchTabViewModel>()) { searchTabViewModel.Refresh(setFocus: searchTabViewModel == SelectedTabViewModel); } } } }
private void CloseTab(TabViewModel tabViewModel) { tabViewModel.HandleTabClosing(); switch (tabViewModel) { case SearchTabViewModel searchTabViewModel: searchTabViewModel.NonFictionSearchComplete -= SearchTabNonFictionSearchComplete; searchTabViewModel.FictionSearchComplete -= SearchTabFictionSearchComplete; searchTabViewModel.SciMagSearchComplete -= SearchTabSciMagSearchComplete; break; case NonFictionSearchResultsTabViewModel nonFictionSearchResultsTabViewModel: nonFictionSearchResultsTabViewModel.OpenNonFictionDetailsRequested -= OpenNonFictionDetailsRequested; break; case FictionSearchResultsTabViewModel fictionSearchResultsTabViewModel: fictionSearchResultsTabViewModel.OpenFictionDetailsRequested -= OpenFictionDetailsRequested; break; case SciMagSearchResultsTabViewModel sciMagSearchResultsTabViewModel: sciMagSearchResultsTabViewModel.OpenSciMagDetailsRequested -= OpenSciMagDetailsRequested; break; case NonFictionDetailsTabViewModel nonFictionDetailsTabViewModel: nonFictionDetailsTabViewModel.SelectDownloadRequested -= SelectDownloadRequested; nonFictionDetailsTabViewModel.CloseTabRequested -= NonFictionDetailsCloseTabRequested; break; case FictionDetailsTabViewModel fictionDetailsTabViewModel: fictionDetailsTabViewModel.SelectDownloadRequested -= SelectDownloadRequested; fictionDetailsTabViewModel.CloseTabRequested -= FictionDetailsCloseTabRequested; break; case SciMagDetailsTabViewModel sciMagDetailsTabViewModel: sciMagDetailsTabViewModel.SelectDownloadRequested -= SelectDownloadRequested; sciMagDetailsTabViewModel.CloseTabRequested -= SciMagDetailsCloseTabRequested; break; } int removingTabIndex = TabViewModels.IndexOf(tabViewModel); TabViewModels.Remove(tabViewModel); NotifyPropertyChanged(nameof(IsDefaultSearchTabVisible)); NotifyPropertyChanged(nameof(AreTabsVisible)); NotifyPropertyChanged(nameof(IsNewTabButtonVisible)); if (!TabViewModels.Any()) { SelectedTabViewModel = null; DefaultSearchTabViewModel.Refresh(setFocus: true); } else { int newSelectedTabIndex = TabViewModels.Count > removingTabIndex ? removingTabIndex : TabViewModels.Count - 1; SelectedTabViewModel = TabViewModels[newSelectedTabIndex]; } }
private void RefreshSearchTabCollectionAvailabilities() { if (IsDefaultSearchTabVisible) { DefaultSearchTabViewModel.Refresh(setFocus: true); } else { foreach (SearchTabViewModel searchTabViewModel in TabViewModels.OfType <SearchTabViewModel>()) { searchTabViewModel.Refresh(setFocus: searchTabViewModel == SelectedTabViewModel); } } }
private void Import() { ImportLocalizator importLocalizator = MainModel.Localization.CurrentLanguage.Import; StringBuilder filterBuilder = new StringBuilder(); filterBuilder.Append(importLocalizator.AllSupportedFiles); filterBuilder.Append("|*.sql;*zip;*.rar;*.gz;*.7z|"); filterBuilder.Append(importLocalizator.SqlDumps); filterBuilder.Append(" (*.sql)|*.sql|"); filterBuilder.Append(importLocalizator.Archives); filterBuilder.Append(" (*.zip, *.rar, *.gz, *.7z)|*zip;*.rar;*.gz;*.7z|"); filterBuilder.Append(importLocalizator.AllFiles); filterBuilder.Append(" (*.*)|*.*"); OpenFileDialogParameters selectSqlDumpFileDialogParameters = new OpenFileDialogParameters { DialogTitle = importLocalizator.BrowseImportFileDialogTitle, Filter = filterBuilder.ToString(), Multiselect = false }; OpenFileDialogResult selectSqlDumpFileDialogResult = WindowManager.ShowOpenFileDialog(selectSqlDumpFileDialogParameters); if (selectSqlDumpFileDialogResult.DialogResult) { ImportWindowViewModel importWindowViewModel = new ImportWindowViewModel(MainModel, selectSqlDumpFileDialogResult.SelectedFilePaths.First()); IWindowContext importWindowContext = WindowManager.CreateWindow(RegisteredWindows.WindowKey.IMPORT_WINDOW, importWindowViewModel, CurrentWindowContext); importWindowContext.ShowDialog(); if (IsDefaultSearchTabVisible) { DefaultSearchTabViewModel.Refresh(setFocus: true); } else { foreach (SearchTabViewModel searchTabViewModel in TabViewModels.OfType <SearchTabViewModel>()) { searchTabViewModel.Refresh(setFocus: searchTabViewModel == SelectedTabViewModel); } } } }