private async Task<IReadOnlyList<IFile>> OpenFilesAsync( OpenFileInteraction openFile )
        {
            Contract.Requires( openFile != null );
            Contract.Ensures( Contract.Result<Task<IReadOnlyList<IFile>>>() != null );

            var saveButton = openFile.DefaultCommand;
            var dialog = new FileOpenPicker();

            dialog.FileTypeFilter.AddRange( openFile.FileTypeFilter.FixUpExtensions() );
            dialog.SuggestedStartLocation = SuggestedStartLocation;
            dialog.ViewMode = ViewMode;

            if ( !string.IsNullOrEmpty( SettingsIdentifier ) )
                dialog.SettingsIdentifier = SettingsIdentifier;

            if ( saveButton != null )
                dialog.CommitButtonText = saveButton.Name;

            if ( openFile.Multiselect )
                return ( await dialog.PickMultipleFilesAsync() ).Select( f => f.AsFile() ).ToArray();

            var file = await dialog.PickSingleFileAsync();

            if ( file != null )
                return new[] { file.AsFile() };

            return new IFile[0];
        }
Exemple #2
0
        private string QueryLoadFileName()
        {
            var interaction = new OpenFileInteraction();

            interaction.Filter   = _translation.IniFileFilter;
            interaction.FileName = "PDFCreator.ini";

            _interactionInvoker.Invoke(interaction);

            return(interaction.Success ? interaction.FileName : "");
        }
Exemple #3
0
        private string QueryLoadFileName()
        {
            var interaction = new OpenFileInteraction();

            interaction.Filter   = _translator.GetTranslation("ApplicationSettingsWindow", "IniFileFilter");
            interaction.FileName = "PDFCreator.ini";

            _interactionInvoker.Invoke(interaction);

            return(interaction.Success ? interaction.FileName : "");
        }
        private void ConvertFileExecute()
        {
            var interaction = new OpenFileInteraction();

            _interactionInvoker.Invoke(interaction);

            if (!interaction.Success)
            {
                return;
            }

            var file = interaction.FileName;

            _fileConversionHandler.HandleFileList(new List <string> {
                file
            });
        }
        private static void InvokeCallbackCommand( OpenFileInteraction openFile, IReadOnlyList<IFile> files )
        {
            Contract.Requires( openFile != null );
            Contract.Requires( files != null );

            if ( files.Any() )
            {
                // set file and execute accept
                openFile.Files.ReplaceAll( files );
                openFile.ExecuteDefaultCommand();
            }
            else
            {
                // execute cancel
                openFile.ExecuteCancelCommand();
            }
        }
Exemple #6
0
        public string StartOpenFileInteraction(string currentPath, string title, string filter)
        {
            var interaction = new OpenFileInteraction();

            interaction.Title  = title;
            interaction.Filter = filter;

            if (!string.IsNullOrWhiteSpace(currentPath))
            {
                interaction.FileName = currentPath;
                try
                {
                    interaction.InitialDirectory = Path.GetDirectoryName(currentPath);
                }
                catch (ArgumentException)
                {
                }
            }

            _interactionInvoker.Invoke(interaction);

            return(interaction.Success ? interaction.FileName : currentPath);
        }
 public void Invoke(OpenFileInteraction interaction)
 {
     throw new NotImplementedException();
 }