private void ChangeDatabase() { StringBuilder filterBuilder = new StringBuilder(); filterBuilder.Append(Localization.Databases); filterBuilder.Append(" (*.db)|*.db|"); filterBuilder.Append(Localization.AllFiles); filterBuilder.Append(" (*.*)|*.*"); OpenFileDialogParameters openFileDialogParameters = new OpenFileDialogParameters { DialogTitle = Localization.BrowseDatabaseDialogTitle, Filter = filterBuilder.ToString(), Multiselect = false }; OpenFileDialogResult openFileDialogResult = WindowManager.ShowOpenFileDialog(openFileDialogParameters); if (openFileDialogResult.DialogResult) { string databaseFilePath = openFileDialogResult.SelectedFilePaths.First(); if (MainModel.OpenDatabase(databaseFilePath)) { MainModel.AppSettings.DatabaseFileName = MainModel.GetDatabaseNormalizedPath(databaseFilePath); MainModel.SaveSettings(); GetStats(); } else { ShowMessage(Localization.Error, Localization.GetCannotOpenDatabase(databaseFilePath)); MainModel.OpenDatabase(MainModel.AppSettings.DatabaseFileName); } } }
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); } } } }
public void ShowOpenFileDialog(OpenFileDialogParameters parameters, out IEnumerable <string> fileNames) { var window = new CommonOpenFileDialog() { EnsureFileExists = parameters.EnsureFileExists, EnsureReadOnly = parameters.EnsureReadOnly, EnsurePathExists = parameters.EnsurePathExists, EnsureValidNames = parameters.EnsureValidNames, AllowPropertyEditing = parameters.AllowPropertyEditing, AddToMostRecentlyUsedList = parameters.AddToMostRecentlyUsedList, AllowNonFileSystemItems = parameters.AllowNonFileSystemItems, IsFolderPicker = parameters.IsFolderPicker, Multiselect = parameters.Multiselect, RestoreDirectory = parameters.RestoreDirectory, ShowPlacesList = parameters.ShowPlacesList, ShowHiddenItems = parameters.ShowHiddenItems, NavigateToShortcut = parameters.NavigateToShortcut, InitialDirectory = parameters.InitialDirectory, DefaultDirectory = parameters.DefaultDirectory, DefaultDirectoryShellContainer = parameters.DefaultDirectoryShellContainer, CookieIdentifier = parameters.CookieIdentifier, DefaultFileName = parameters.DefaultFileName, DefaultExtension = parameters.DefaultExtension, Title = parameters.Title }; if (parameters.FilterList != null) { foreach (var filter in parameters.FilterList) { window.Filters.Add(new CommonFileDialogFilter(filter.Key, filter.Value)); } } var result = window.ShowDialog(); if (result == CommonFileDialogResult.Ok) { var list = new List <string>(); foreach (var item in window.FileNames) { list.Add(item); } fileNames = list; } else { fileNames = null; } }
private void AddBook() { OpenFileDialogParameters openFileDialogParameters = new OpenFileDialogParameters { Filter = "EPUB files (*.epub)|*.epub|All files (*.*)|*.*", Multiselect = true }; OpenFileDialogResult openDialogResult = windowManager.ShowOpenFileDialog(openFileDialogParameters); if (openDialogResult.DialogResult) { foreach (string selectedFilePath in openDialogResult.SelectedFilePaths) { libraryModel.AddBookToLibrary(selectedFilePath); } RefreshLibrary(); } }
public static OpenFileDialogResult SelectDatabaseFile(MainModel mainModel) { DatabaseWindowLocalizator databaseLocalizator = mainModel.Localization.CurrentLanguage.Database; StringBuilder filterBuilder = new StringBuilder(); filterBuilder.Append(databaseLocalizator.Databases); filterBuilder.Append(" (*.db)|*.db|"); filterBuilder.Append(databaseLocalizator.AllFiles); filterBuilder.Append(" (*.*)|*.*"); OpenFileDialogParameters openFileDialogParameters = new OpenFileDialogParameters { DialogTitle = databaseLocalizator.BrowseDatabaseDialogTitle, Filter = filterBuilder.ToString(), Multiselect = false }; return(WindowManager.ShowOpenFileDialog(openFileDialogParameters)); }
private void backgroundWorkerDoWork(object sender, DoWorkEventArgs e) { OpenFileDialogParameters parameters = (OpenFileDialogParameters)e.Argument; OpenFileDialog openFileDialog = new OpenFileDialog(); openFileDialog.InitialDirectory = parameters.InitialDirectory; openFileDialog.Filter = parameters.Filter; openFileDialog.RestoreDirectory = true; if (openFileDialog.ShowDialog(controller.MainForm) == DialogResult.OK) { e.Result = openFileDialog.FileName; } else { e.Result = null; } }
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); } } } }
public static OpenFileDialogResult SelectDatabaseDumpFile(MainModel mainModel) { ImportWindowLocalizator 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 }; return(WindowManager.ShowOpenFileDialog(selectSqlDumpFileDialogParameters)); }
private OpenFileDialogResult ShowOpenFileDialog(OpenFileDialogParameters openFileDialogParameters) { if (openFileDialogParameters == null) { throw new ArgumentNullException("openFileDialogParameters"); } OpenFileDialog openFileDialog = new OpenFileDialog(); if (!String.IsNullOrEmpty(openFileDialogParameters.Filter)) { openFileDialog.Filter = openFileDialogParameters.Filter; } openFileDialog.Multiselect = openFileDialogParameters.Multiselect; if (!String.IsNullOrEmpty(openFileDialogParameters.InitialDirectory)) { openFileDialog.InitialDirectory = openFileDialogParameters.InitialDirectory; } OpenFileDialogResult result = new OpenFileDialogResult(); result.DialogResult = openFileDialog.ShowDialog() == true; result.SelectedFilePaths = result.DialogResult ? openFileDialog.FileNames.ToList() : new List <string>(); return(result); }
private void OkButtonClick() { if (IsCreateDatabaseSelected) { SaveFileDialogParameters saveFileDialogParameters = new SaveFileDialogParameters { DialogTitle = "Сохранение новой базы данных", Filter = "Базы данных (*.db)|*.db|Все файлы (*.*)|*.*", OverwritePrompt = true }; if (eventType == EventType.DATABASE_CORRUPTED) { string databaseFilePath = mainModel.GetDatabaseFullPath(mainModel.AppSettings.DatabaseFileName); saveFileDialogParameters.InitialDirectory = Path.GetDirectoryName(databaseFilePath); saveFileDialogParameters.InitialFileName = Path.GetFileName(databaseFilePath); } else { saveFileDialogParameters.InitialDirectory = Environment.AppDataDirectory; saveFileDialogParameters.InitialFileName = Constants.DEFAULT_DATABASE_FILE_NAME; } SaveFileDialogResult saveFileDialogResult = WindowManager.ShowSaveFileDialog(saveFileDialogParameters); if (saveFileDialogResult.DialogResult) { if (mainModel.CreateDatabase(saveFileDialogResult.SelectedFilePath)) { mainModel.AppSettings.DatabaseFileName = mainModel.GetDatabaseNormalizedPath(saveFileDialogResult.SelectedFilePath); mainModel.SaveSettings(); CurrentWindowContext.CloseDialog(true); } else { MessageBoxWindow.ShowMessage("Ошибка", "Не удалось создать базу данных.", CurrentWindowContext); } } } else { OpenFileDialogParameters openFileDialogParameters = new OpenFileDialogParameters { DialogTitle = "Выбор базы данных", Filter = "Базы данных (*.db)|*.db|Все файлы (*.*)|*.*", Multiselect = false }; OpenFileDialogResult openFileDialogResult = WindowManager.ShowOpenFileDialog(openFileDialogParameters); if (openFileDialogResult.DialogResult) { string databaseFilePath = openFileDialogResult.SelectedFilePaths.First(); if (mainModel.OpenDatabase(databaseFilePath)) { mainModel.AppSettings.DatabaseFileName = mainModel.GetDatabaseNormalizedPath(databaseFilePath); mainModel.SaveSettings(); CurrentWindowContext.CloseDialog(true); } else { UpdateHeaderAndEventType(Path.GetFileName(databaseFilePath)); NotifyPropertyChanged(nameof(Header)); } } } }
private void OkButtonClick() { StringBuilder filterBuilder = new StringBuilder(); filterBuilder.Append(Localization.Databases); filterBuilder.Append(" (*.db)|*.db|"); filterBuilder.Append(Localization.AllFiles); filterBuilder.Append(" (*.*)|*.*"); if (IsCreateDatabaseSelected) { SaveFileDialogParameters saveFileDialogParameters = new SaveFileDialogParameters { DialogTitle = Localization.BrowseNewDatabaseDialogTitle, Filter = filterBuilder.ToString(), OverwritePrompt = true }; if (eventType == EventType.DATABASE_CORRUPTED) { string databaseFilePath = MainModel.GetDatabaseFullPath(MainModel.AppSettings.DatabaseFileName); saveFileDialogParameters.InitialDirectory = Path.GetDirectoryName(databaseFilePath); saveFileDialogParameters.InitialFileName = Path.GetFileName(databaseFilePath); } else { saveFileDialogParameters.InitialDirectory = Environment.AppDataDirectory; saveFileDialogParameters.InitialFileName = Constants.DEFAULT_DATABASE_FILE_NAME; } SaveFileDialogResult saveFileDialogResult = WindowManager.ShowSaveFileDialog(saveFileDialogParameters); if (saveFileDialogResult.DialogResult) { if (MainModel.CreateDatabase(saveFileDialogResult.SelectedFilePath)) { MainModel.AppSettings.DatabaseFileName = MainModel.GetDatabaseNormalizedPath(saveFileDialogResult.SelectedFilePath); MainModel.SaveSettings(); CurrentWindowContext.CloseDialog(true); } else { ShowMessage(Localization.Error, Localization.CannotCreateDatabase); } } } else { OpenFileDialogParameters openFileDialogParameters = new OpenFileDialogParameters { DialogTitle = Localization.BrowseExistingDatabaseDialogTitle, Filter = filterBuilder.ToString(), Multiselect = false }; OpenFileDialogResult openFileDialogResult = WindowManager.ShowOpenFileDialog(openFileDialogParameters); if (openFileDialogResult.DialogResult) { string databaseFilePath = openFileDialogResult.SelectedFilePaths.First(); if (MainModel.OpenDatabase(databaseFilePath)) { MainModel.AppSettings.DatabaseFileName = MainModel.GetDatabaseNormalizedPath(databaseFilePath); MainModel.SaveSettings(); CurrentWindowContext.CloseDialog(true); } else { UpdateHeaderAndEventType(Path.GetFileName(databaseFilePath)); NotifyPropertyChanged(nameof(Header)); } } } }
public OptionContentViewModel() { this.IsWorking = new ReactiveProperty <bool>().AddTo(this.CompositeDisposable); this.SelectDirectoryCommand = this.IsWorking.Inverse().ToReactiveCommand <object>() .WithSubscribe(args => { var parameter = new FolderBrowserDialogParameters(); var info = args as ToolSettings.PathInfo; if (string.IsNullOrEmpty(info?.Path) == false) { parameter.InitialDirectory = info.Path; } var ready = this.CommonDialogService.ShowDialog(parameter); if (ready == false) { return; } if (info != null) { info.Path = parameter.FileName; } else { this.Settings.OtherTools.ExplorerRoots.Add(new ToolSettings.PathInfo() { Path = parameter.FileName }); } }) .AddTo(this.CompositeDisposable); this.RemoveDirectoryCommand = this.IsWorking.Inverse().ToReactiveCommand <object>() .WithSubscribe(args => { var info = (ToolSettings.PathInfo)args; this.Settings.OtherTools.ExplorerRoots.Remove(info); }) .AddTo(this.CompositeDisposable); this.RefreshExplorerCommand = this.IsWorking.Inverse().ToReactiveCommand() .WithSubscribe(() => this.EventAggregator?.GetEvent <RefreshExplorerEvent>().Publish()) .AddTo(this.CompositeDisposable); this.InitializeSyntaxCommand = this.IsWorking.Inverse().ToReactiveCommand() .WithSubscribe(() => { if (this.DialogService.Confirm(Resources.Message_ConfirmInitializeSyntax)) { this.SyntaxService.Initialize(true); } }) .AddTo(this.CompositeDisposable); this.ImportSettingsFileCommand = this.IsWorking.Inverse().ToReactiveCommand() .WithSubscribe(() => { var fileName = Path.GetFileNameWithoutExtension(this.Settings.FilePath); var extension = Path.GetExtension(this.Settings.FilePath); var parameters = new OpenFileDialogParameters() { Filter = $"{Resources.Label_SettingFile}|*{extension}|{Resources.Label_AllFiles}|*.*", DefaultExtension = extension, }; var ready = this.CommonDialogService.ShowDialog(parameters); if (ready == false) { return; } if (this.DialogService.Confirm(Resources.Message_ConfirmOverrideSettings)) { this.ImportSettingsFile(parameters.FileName); } }) .AddTo(this.CompositeDisposable); this.ExportSettingsFileCommand = this.IsWorking.Inverse().ToReactiveCommand() .WithSubscribe(() => { var fileName = Path.GetFileNameWithoutExtension(this.Settings.FilePath); var extension = Path.GetExtension(this.Settings.FilePath); var parameters = new SaveFileDialogParameters() { DefaultFileName = $"{fileName} ({DateTime.Now:yyyyMMddHHmmss})", Filter = $"{Resources.Label_SettingFile}|*{extension}|{Resources.Label_AllFiles}|*.*", DefaultExtension = extension, }; var ready = this.CommonDialogService.ShowDialog(parameters); if (ready == false) { return; } this.ExportSettingsFile(parameters.FileName); }) .AddTo(this.CompositeDisposable); this.InitializeSettingsCommand = this.IsWorking.Inverse().ToReactiveCommand() .WithSubscribe(() => { if (this.DialogService.Confirm(Resources.Message_ConfirmInitializeSettings)) { this.Settings.Initialize(true); } }) .AddTo(this.CompositeDisposable); }