public void Confirm() { // Persist preferences _settingsService.LastExportFormat = SelectedFormat; _settingsService.LastPartitionLimit = PartitionLimit; // Clamp 'from' and 'to' values if (From > To) { From = To; } if (To < From) { To = From; } // Generate default file name var defaultFileName = ExportHelper.GetDefaultExportFileName(SelectedFormat, Guild, Channel, From, To); // Prompt for output file path var ext = SelectedFormat.GetFileExtension(); var filter = $"{ext.ToUpperInvariant()} files|*.{ext}"; FilePath = _dialogManager.PromptSaveFilePath(filter, defaultFileName); // If canceled - return if (FilePath.IsBlank()) { return; } // Close dialog Close(true); }
public void Confirm() { // Persist preferences _settingsService.LastExportFormat = SelectedFormat; _settingsService.LastPartitionLimitValue = PartitionLimitValue; _settingsService.LastMessageFilterValue = MessageFilterValue; _settingsService.LastShouldDownloadMedia = ShouldDownloadMedia; // If single channel - prompt file path if (Channels is not null && IsSingleChannel) { var channel = Channels.Single(); var defaultFileName = ExportRequest.GetDefaultOutputFileName( Guild !, channel, SelectedFormat, After?.Pipe(Snowflake.FromDate), Before?.Pipe(Snowflake.FromDate) ); // Filter var ext = SelectedFormat.GetFileExtension(); var filter = $"{ext.ToUpperInvariant()} files|*.{ext}"; OutputPath = _dialogManager.PromptSaveFilePath(filter, defaultFileName); }
public void Confirm() { // Persist preferences _settingsService.LastExportFormat = SelectedFormat; _settingsService.LastPartitionLimit = PartitionLimit; _settingsService.LastShouldDownloadMedia = ShouldDownloadMedia; // If single channel - prompt file path if (IsSingleChannel) { var channel = Channels.Single(); var defaultFileName = ExportRequest.GetDefaultOutputFileName(Guild !, channel, SelectedFormat, After, Before); // Filter var ext = SelectedFormat.GetFileExtension(); var filter = $"{ext.ToUpperInvariant()} files|*.{ext}"; OutputPath = _dialogManager.PromptSaveFilePath(filter, defaultFileName); } // If multiple channels - prompt dir path else { OutputPath = _dialogManager.PromptDirectoryPath(); } // If canceled - return if (string.IsNullOrWhiteSpace(OutputPath)) { return; } Close(true); }
public void Confirm() { // Persist preferences _settingsService.LastExportFormat = SelectedFormat; _settingsService.LastPartitionLimit = PartitionLimit; // Clamp 'after' and 'before' values if (After > Before) { After = Before; } if (Before < After) { Before = After; } // If single channel - prompt file path if (IsSingleChannel) { // Get single channel var channel = Channels.Single(); // Generate default file name var defaultFileName = ExportHelper.GetDefaultExportFileName(SelectedFormat, Guild, channel, After, Before); // Generate filter var ext = SelectedFormat.GetFileExtension(); var filter = $"{ext.ToUpperInvariant()} files|*.{ext}"; // Prompt user OutputPath = _dialogManager.PromptSaveFilePath(filter, defaultFileName); } // If multiple channels - prompt dir path else { // Prompt user OutputPath = _dialogManager.PromptDirectoryPath(); } // If canceled - return if (OutputPath.IsNullOrWhiteSpace()) { return; } // Close dialog Close(true); }