private void SelectPath() { string initialDirectory = GetDirectoryPath(correctPath: true); while (!Directory.Exists(initialDirectory) && !String.IsNullOrEmpty(initialDirectory)) { initialDirectory = Path.GetDirectoryName(initialDirectory); } if (String.IsNullOrEmpty(initialDirectory)) { initialDirectory = Environment.AppDataDirectory; } SaveFileDialogParameters saveFileDialogParameters = new SaveFileDialogParameters { DialogTitle = "Экспортировать результаты поиска", Filter = GetFileFilter(), OverwritePrompt = false, InitialDirectory = initialDirectory, InitialFileName = GetFileNameWithoutExtension(correctFileName: true) + "." + GenerateFileExtension() }; SaveFileDialogResult saveFileDialogResult = WindowManager.ShowSaveFileDialog(saveFileDialogParameters); if (saveFileDialogResult.DialogResult) { FilePathTemplate = saveFileDialogResult.SelectedFilePath; } }
public MaintenanceContentViewModel(IEventAggregator eventAggregator) { // ----- インジェクション ------------------------------ this.EventAggregator = eventAggregator; // ----- プロパティの定義 ------------------------------ this.TraceLogs = new ReactiveCollection <string>().AddTo(this.CompositeDisposable); BindingOperations.EnableCollectionSynchronization(this.TraceLogs, new object()); this.DebugLogs = new ReactiveCollection <string>().AddTo(this.CompositeDisposable); BindingOperations.EnableCollectionSynchronization(this.DebugLogs, new object()); this.InfoLogs = new ReactiveCollection <string>().AddTo(this.CompositeDisposable); BindingOperations.EnableCollectionSynchronization(this.InfoLogs, new object()); this.WarnLogs = new ReactiveCollection <string>().AddTo(this.CompositeDisposable); BindingOperations.EnableCollectionSynchronization(this.WarnLogs, new object()); this.CpuUsage = new(); this.MemoryUsage = new(); this.IsWorking = new ReactiveProperty <bool>().AddTo(this.CompositeDisposable); // ----- コマンドの定義 ------------------------------ this.ExportLogArchiveCommand = this.IsWorking.Inverse().ToReactiveCommand() .WithSubscribe(async() => { var parameters = new SaveFileDialogParameters() { DefaultFileName = $"{this.ProductInfo.Product}-log ({DateTime.Now:yyyyMMddHHmmss})", Filter = "ZIP|*.zip", DefaultExtension = ".zip", }; var ready = this.CommonDialogService.ShowDialog(parameters); if (ready == false) { return; } await this.ExportLogArchive(parameters.FileName); }) .AddTo(this.CompositeDisposable); this.RefreshLogsCommand = new ReactiveCommand() .WithSubscribe(() => this.RefreshLogs()) .AddTo(this.CompositeDisposable); this.IsVisibleChangedHandler = new ReactiveCommand <DependencyPropertyChangedEventArgs>() .WithSubscribe(e => this.RefreshLogs()) .AddTo(this.CompositeDisposable); // ----- PUB/SUB メッセージ ------------------------------ void updatedPerformanceInfo((double?processorTime, double?workingSetPrivate) payload) => this.UpdatedPerformanceInfo(payload.processorTime, payload.workingSetPrivate); this.EventAggregator.GetEvent <UpdatedPerformanceInfoEvent>().Subscribe(updatedPerformanceInfo); }
private void backgroundWorkerDoWork(object sender, DoWorkEventArgs e) { SaveFileDialogParameters parameters = (SaveFileDialogParameters)e.Argument; SaveFileDialog saveFileDialog = new SaveFileDialog(); saveFileDialog.InitialDirectory = parameters.InitialDirectory; saveFileDialog.DefaultExt = "ztg"; saveFileDialog.Filter = parameters.Filter; saveFileDialog.RestoreDirectory = true; if (saveFileDialog.ShowDialog(controller.MainForm) == DialogResult.OK) { e.Result = saveFileDialog.FileName; } else { e.Result = null; } }
private void SelectDatabaseFilePath() { StringBuilder filterBuilder = new StringBuilder(); filterBuilder.Append(Localization.Databases); filterBuilder.Append(" (*.db)|*.db|"); filterBuilder.Append(Localization.AllFiles); filterBuilder.Append(" (*.*)|*.*"); SaveFileDialogParameters saveFileDialogParameters = new SaveFileDialogParameters { DialogTitle = Localization.SelectDatabaseFilePathDialogTitle, Filter = filterBuilder.ToString(), OverwritePrompt = true }; saveFileDialogParameters.InitialDirectory = Path.GetDirectoryName(DatabaseFilePath); saveFileDialogParameters.InitialFileName = Path.GetFileName(DatabaseFilePath); SaveFileDialogResult saveFileDialogResult = WindowManager.ShowSaveFileDialog(saveFileDialogParameters); if (saveFileDialogResult.DialogResult) { DatabaseFilePath = saveFileDialogResult.SelectedFilePath; } }
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); }