コード例 #1
0
        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);
        }
コード例 #2
0
        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);
            }
コード例 #3
0
        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);
        }
コード例 #4
0
        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);
        }