Esempio n. 1
0
        private void ImportWaypoints(IEnumerable <string> fileNames, IFileTypeInfo fileTypeInfo)
        {
            var importer = _importers.Find(i => i.GetFileTypeInfo() == fileTypeInfo);

            foreach (var fileName in fileNames)
            {
                var waypoints = importer.ImportWaypoints(fileName);
                foreach (var wpt in waypoints)
                {
                    _waypointsService.Waypoints.Add(wpt);
                }
            }
        }
Esempio n. 2
0
        private static MultiFileDialogResult ShowFileDialog(Window owner, FileDialog dialog, IList <IFileTypeInfo> fileTypes, string dirName, bool createAllSupportedFilter, bool createAllFilter)
        {
            if (!string.IsNullOrEmpty(dirName))
            {
                dialog.InitialDirectory = dirName;
            }

            createAllSupportedFilter = createAllSupportedFilter && fileTypes.Count > 1;

            dialog.Filter = CreateFilter(fileTypes, createAllSupportedFilter, createAllFilter);

            if (!Directory.Exists(dialog.InitialDirectory))
            {
                dialog.InitialDirectory = null;
            }

            if (dialog.ShowDialog(owner) != true)
            {
                return(new MultiFileDialogResult(null, new string[0]));
            }

            var filterIndex = dialog.FilterIndex - 1;

            if (createAllSupportedFilter)
            {
                filterIndex--;
            }

            IFileTypeInfo selectedFileType = null;

            if (filterIndex >= 0 && filterIndex < fileTypes.Count())
            {
                selectedFileType = fileTypes.ElementAt(filterIndex);
            }

            return(new MultiFileDialogResult(selectedFileType, dialog.FileNames));
        }
 public MultiFileDialogResult(IFileTypeInfo fileTypeInfo, string[] fileNames)
 {
     _fileTypeInfo = fileTypeInfo;
     _fileNames    = fileNames;
 }