Пример #1
0
 /// <summary>
 /// Dialog to select a new Icon file
 /// <see cref="BrowseIcon"/>
 /// </summary>
 /// <param name="idCol">Column number from the dataTable</param>
 /// <returns></returns>
 public async Task BrowseIcon(int idCol)
 {
     try
     {
         if (idCol != -1)
         {
             var settings = new OpenFileDialogSettings
             {
                 Title            = $"{App.ResMan.GetString("BrowseForIcon")}",
                 DefaultExt       = ".exe",
                 Filter           = $"{App.ResMan.GetString("Icons")} (*.exe)|*.exe",
                 FileName         = "",
                 DereferenceLinks = true,
                 CheckPathExists  = true,
                 CheckFileExists  = true,
                 ValidateNames    = true
             };
             bool?result = _dialogService.ShowOpenFileDialog(this, settings);
             if (result == true)
             {
                 UserDataGamesCollection[idCol].IconPath = settings.FileName;
                 UserDataGamesCollection.Refresh();
                 UserDataGamesCollection[idCol].ClearAllErrors();
                 await _validator.ValidateAsync(UserDataGamesCollection[idCol]);
             }
         }
     }
     catch (Exception e)
     {
         App.Logger.Warning(e, "Failed to browse for icon");
         throw;
     }
 }
Пример #2
0
        /// <summary>
        /// opens file browsing dialog, by default in Desktop folder, or previously opened file
        /// </summary>
        /// <returns>FileName string if success, empty string if not</returns>
        public string GetFilePath()
        {
            _log.Called();

            try
            {
                var settings = new OpenFileDialogSettings
                {
                    Title  = "This Is The Title",
                    Filter = "Text Documents (*.txt)|*.txt|All Files (*.*)|*.*"
                };

                settings.InitialDirectory = (!string.IsNullOrEmpty(FilePath) && !string.IsNullOrWhiteSpace(FilePath)) ? FilePath : Environment.GetFolderPath(Environment.SpecialFolder.Desktop);

                bool?success = _dialogService.ShowOpenFileDialog(this, settings);

                return(success == true ? settings.FileName : string.Empty);
            }
            catch (Exception e)
            {
                _log.Error(e.Message);

                return(string.Empty);
            }
        }
Пример #3
0
 /// <summary>
 /// Dialog to select a new Exe file
 /// <see cref="BrowseExe"/>
 /// </summary>
 /// <param name="idCol">Column number from the dataTable</param>
 /// <returns></returns>
 public async Task BrowseExe(int idCol)
 {
     if (idCol != -1)
     {
         var settings = new OpenFileDialogSettings
         {
             Title            = $"{App.ResMan.GetString("BrowseForGame")}",
             DefaultExt       = ".exe",
             Filter           = $"{App.ResMan.GetString("Applications")} (*.exe)|*.exe",
             FileName         = "",
             DereferenceLinks = true,
             CheckPathExists  = true,
             CheckFileExists  = true,
             ValidateNames    = true,
             Multiselect      = false
         };
         bool?result = _dialogService.ShowOpenFileDialog(this, settings);
         if (result == true)
         {
             UserDataGamesCollection[idCol].ExePath = settings.FileName;
             UserDataGamesCollection.Refresh();
             UserDataGamesCollection[idCol].ClearAllErrors();
             await _validator.ValidateAsync(UserDataGamesCollection[idCol]);
         }
     }
 }
        /// <summary>
        /// Initializes a new instance of the MainViewModel class.
        /// </summary>
        public MainViewModel(IDataService dataService)
        {
            _dataService  = dataService;
            DialogService = new DialogService();

            _dataService.GetData(
                (item, error) =>
            {
                if (error != null)
                {
                    // Report error here
                    return;
                }

                WelcomeTitle = item.Title;

                WelcomeTitle = "测试多少度";
            });

            CommitCommand = new RelayCommand(() =>
            {
                var settings = new OpenFileDialogSettings
                {
                    Title           = "Open",
                    Filter          = "Sample (.xml)|*.xml",
                    CheckFileExists = false
                };

                bool?success = DialogService.ShowOpenFileDialog(this, settings);
            });
        }
Пример #5
0
        /// <summary>Create an instance of the Windows open file dialog.</summary>
        /// <param name="settings">The settings for the open file dialog.</param>
        public IFrameworkDialog CreateOpenFileDialog(OpenFileDialogSettings settings)
        {
            if (settings == null)
            {
                throw new ArgumentNullException(nameof(settings));
            }

            return(new FileOpenComShellDialog(settings));
        }
        /// <summary>Microsoft.Win32のダイアログを表示します。</summary>
        private void onShowOpenFileDialog()
        {
            var settings = new OpenFileDialogSettings()
            {
                Filter = "テキストファイル(*.txt)|*.txt|イメージファイル(*.jpg, *.jpeg, *.bmp, *.png)|*.jpg;*.jpeg;*.bmp;*png|すべてのファイル(*.*)|*.*"
            };

            if (this.commonDialogService.ShowDialog(settings))
            {
                this.OpenFileName.Value = settings.FileName;
            }
        }
Пример #7
0
        /// <summary>
        /// Create inner service.
        /// </summary>
        /// <param name="settings">Dialog settings</param>
        /// <returns>Dialog service</returns>
        private ICommonDialogService?CreateInnerService(ICommonDialogSettings settings)
        {
            if (settings == null)
            {
                return(null);
            }

            return(settings switch
            {
                OpenFileDialogSettings _ => new FileDialogService(),
                _ => null
            });
Пример #8
0
    public bool?ShowOpenFileDialog(INotifyPropertyChanged ownerViewModel, OpenFileDialogSettings settings)
    {
        if (ownerViewModel == null)
        {
            throw new ArgumentNullException(nameof(ownerViewModel));
        }
        if (settings == null)
        {
            throw new ArgumentNullException(nameof(settings));
        }

        return(_frameworkDialogFactory.CreateOpenFileDialog(settings).ShowDialog(FindOwnerWindow(ownerViewModel)));
    }
Пример #9
0
        private void OnShowOpenFileCommand()
        {
            var defaultPath = TryGetDirectory(SourcePath);
            var settings    = new OpenFileDialogSettings()
            {
                InitialDirectory = !string.IsNullOrEmpty(defaultPath) ? Path.GetDirectoryName(defaultPath) : null
            };
            var result = _dialogService.ShowOpenFileDialog(this, settings);

            if (result == true)
            {
                SourcePath = settings.FileName;
            }
        }
Пример #10
0
 public Task <FileInfo[]> ShowOpenFileDialogAsync(OpenFileDialogSettings settings, object ownerWindow = null)
 {
     return(new OpenFileDialog
     {
         AllowMultiple = settings.AllowMultiple,
         Filters = ToAvaloniaFilters(settings.Filters),
         Directory = settings.InitialDirectory,
         InitialFileName = settings.InitialFileName,
         Title = settings.Title
     }
            .ShowAsync(_parent)
            .ContinueWith(t =>
                          t.Result?.Select(fileName => new FileInfo(fileName)).ToArray()));
 }
Пример #11
0
        private void OnOpenTest()
        {
            var settings = new OpenFileDialogSettings
            {
                Title           = "Open",
                Filter          = "Sample (.xml)|*.xml",
                CheckFileExists = false
            };

            bool?success = DialogService.ShowOpenFileDialog(this, settings);

            if (success == true)
            {
                // Do something
            }
        }
        private void OpenFile()
        {
            var settings = new OpenFileDialogSettings
            {
                Title            = "This Is The Title",
                InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments),
                Filter           = "Text Documents (*.txt)|*.txt|All Files (*.*)|*.*"
            };

            bool?success = dialogService.ShowOpenFileDialog(this, settings);

            if (success == true)
            {
                Path = settings.FileName;
            }
        }
Пример #13
0
        private void OpenFile()
        {
            var settings = new OpenFileDialogSettings
            {
                Title            = "This Is The Title",
                InitialDirectory = IOPath.GetDirectoryName(Assembly.GetExecutingAssembly().Location),
                Filter           = "Text Documents (*.txt)|*.txt|All Files (*.*)|*.*"
            };

            bool?success = dialogService.ShowOpenFileDialog(this, settings);

            if (success == true)
            {
                Path = settings.FileName;
            }
        }
Пример #14
0
        /// <summary>
        /// Shows the <see cref="OpenFileDialog"/>.
        /// </summary>
        /// <param name="ownerViewModel">
        /// A view model that represents the owner window of the dialog.
        /// </param>
        /// <param name="settings">The settings for the open file dialog.</param>
        /// <returns>
        /// If the user clicks the OK button of the dialog that is displayed, true is returned;
        /// otherwise false.
        /// </returns>
        public bool?ShowOpenFileDialog(
            INotifyPropertyChanged ownerViewModel,
            OpenFileDialogSettings settings)
        {
            if (ownerViewModel == null)
            {
                throw new ArgumentNullException("ownerViewModel");
            }
            if (settings == null)
            {
                throw new ArgumentNullException("settings");
            }

            var dialog = new OpenFileDialogWrapper(settings);

            return(dialog.ShowDialog(FindOwnerWindow(ownerViewModel)));
        }
Пример #15
0
        /// <summary>
        /// Select icon asynchronous.
        /// </summary>
        /// <returns>Task</returns>
        private async Task SelectIconAsync()
        {
            using var process = this.BusyNotifier.ProcessStart();
            var settings = new OpenFileDialogSettings
            {
                Filter         = this.model.GetCultureString(nameof(Resources.ImageFiles)),
                CanMultiSelect = false,
                Title          = this.model.GetCultureString(nameof(Resources.OpenIconFile)),
            };

            if (!this.commonDialogService.ShowDialog(settings))
            {
                return;
            }

            await this.model.SelectIconAsync(settings.FileName).ConfigureAwait(false);
        }
Пример #16
0
        private void OpenFile()
        {
            var settings = new OpenFileDialogSettings
            {
                Title            = "Select image",
                InitialDirectory = IOPath.GetDirectoryName(Assembly.GetExecutingAssembly().Location),
                Filter           = "All supported graphics|*.jpg;*.jpeg;*.png|" +
                                   "JPEG (*.jpg;*.jpeg)|*.jpg;*.jpeg|" +
                                   "Portable Network Graphic (*.png)|*.png"
            };

            bool?success = dialogService.ShowOpenFileDialog(this, settings);

            if (success == true)
            {
                Path = settings.FileName;
            }
        }
        public CustomOpenFileDialog(OpenFileDialogSettings settings)
        {
            this.settings = settings ?? throw new ArgumentNullException(nameof(settings));

            openFileDialog = new OpenFileDialog
            {
                AddExtension     = settings.AddExtension,
                CheckFileExists  = settings.CheckFileExists,
                CheckPathExists  = settings.CheckPathExists,
                DefaultExt       = settings.DefaultExt,
                FileName         = settings.FileName,
                Filter           = settings.Filter,
                FilterIndex      = settings.FilterIndex,
                InitialDirectory = settings.InitialDirectory,
                Multiselect      = settings.Multiselect,
                Title            = settings.Title
            };
        }
Пример #18
0
        /// <summary>
        /// let the user select an image and then compute the colorfulness measure
        /// </summary>
        private void PickImage()
        {
            var settings = new OpenFileDialogSettings
            {
                Title            = "Pick an image",
                InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.MyPictures),
                Filter           = "Jpeg images (*.jpg)|*.jpg;*.jpeg|All Files (*.*)|*.*"
            };

            bool?success = _dialogService.ShowOpenFileDialog(this, settings);

            if (success == true)
            {
                ColorIndex    = null;
                ImageFileName = settings.FileName;
                ComputeColorfulness();
            }
        }
Пример #19
0
        public Task <FileInfo[]> ShowOpenFileDialogAsync(OpenFileDialogSettings settings, object ownerWindow = null)
        {
            var dialog = new OpenFileDialog
            {
                Title            = settings.Title,
                InitialDirectory = settings.InitialDirectory,
                FileName         = settings.InitialFileName,
                Multiselect      = settings.AllowMultiple,
                Filter           = ToOpenFileDialogFilter(settings.Filters)
            };

            return(Task.FromResult(
                       dialog.ShowDialog(ownerWindow as Window) != true
                ? null
                : dialog.FileNames
                       .Select(fileName => new FileInfo(fileName))
                       .ToArray()));
        }
Пример #20
0
        /// <summary>
        /// Shows the <see cref="OpenFileDialog"/>.
        /// </summary>
        /// <param name="ownerViewModel">
        /// A view model that represents the owner window of the dialog.
        /// </param>
        /// <param name="settings">The settings for the open file dialog.</param>
        /// <returns>
        /// If the user clicks the OK button of the dialog that is displayed, true is returned;
        /// otherwise false.
        /// </returns>
        /// <exception cref="ViewNotRegisteredException">
        /// No view is registered with specified owner view model as data context.
        /// </exception>
        public bool?ShowOpenFileDialog(
            INotifyPropertyChanged ownerViewModel,
            OpenFileDialogSettings settings)
        {
            if (ownerViewModel == null)
            {
                throw new ArgumentNullException(nameof(ownerViewModel));
            }
            if (settings == null)
            {
                throw new ArgumentNullException(nameof(settings));
            }

            Logger.Write($"Title: {settings.Title}");

            var dialog = new OpenFileDialogWrapper(settings);

            return(dialog.ShowDialog(FindOwnerWindow(ownerViewModel)));
        }
Пример #21
0
        private void OnOpenTest()
        {
            var settings = new OpenFileDialogSettings
            {
                Title           = "Open",
                Filter          = "Sample (.xml)|*.xml",
                CheckFileExists = false
            };

            bool?success = DialogService.ShowOpenFileDialog(this, settings);

            if (success == true)
            {
                fileName   = settings.FileName;
                ReportList = fileService.Open(settings.FileName);
                // Do something
                Log.Info("Opening file: " + settings.FileName);
            }
        }
Пример #22
0
        private void OpenManifest(object parameter)
        {
            if (dialogService == null)
            {
                return;
            }

            var settings = new OpenFileDialogSettings
            {
                Title            = "Open Mod Manifest",
                InitialDirectory = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location),
                Filter           = "Yaml Files (*.yaml)|*.yaml|All Files (*.*)|*.*"
            };

            bool?success = dialogService.ShowOpenFileDialog(this, settings);

            if (success == true)
            {
                this.LoadMod(settings.FileName);
            }
        }
Пример #23
0
        public Task <bool> ShowOpenFileDialog(OpenFileDialogSettings settings, Action <bool, FileDialogResult> afterHideCallback)
        {
            var dialog = new OpenFileDialog
            {
                AddExtension     = settings.AddExtension,
                CheckFileExists  = settings.CheckFileExists,
                CheckPathExists  = settings.CheckPathExists,
                DefaultExt       = settings.DefaultExt,
                FileName         = settings.FileName,
                Filter           = settings.Filter,
                FilterIndex      = settings.FilterIndex,
                InitialDirectory = settings.InitialDirectory,
                Multiselect      = settings.Multiselect,
                Title            = settings.Title,
            };

            var result    = dialog.ShowDialog(Application.Current.MainWindow);
            var confirmed = result.GetValueOrDefault();

            return(Task.Run(() => { afterHideCallback(confirmed, new FileDialogResult(dialog.FileName, dialog.FileNames)); return confirmed; }));
        }
Пример #24
0
        /// <summary>
        /// Browse for the encrypted dump for import
        /// <see cref="BrowseImportDump"/>
        /// </summary>
        public void BrowseImportDump()
        {
            var settings = new OpenFileDialogSettings
            {
                Title            = $"{App.ResMan.GetString("BrowseDbDump")}",
                DefaultExt       = ".vnbak",
                Filter           = $"{App.ResMan.GetString("DbDump")} (*.vnbak)|*.vnbak",
                FileName         = "VnManager_Export_YYYY-Month-DD.vnbak",
                DereferenceLinks = true,
                CheckPathExists  = true,
                CheckFileExists  = true,
                ValidateNames    = true,
                Multiselect      = false
            };
            bool?result = _dialogService.ShowOpenFileDialog(this, settings);

            if (result == true)
            {
                var filepath = settings.FileName;
                LoadDatabase(filepath);
            }
        }
Пример #25
0
        /// <summary>
        /// Показать окно открытия файла.
        /// </summary>
        /// <param name="ownerViewModel">Родительский презентер.</param>
        /// <param name="settings">Настройки диалога.</param>
        /// <returns>true, в случае получения результата, иначе false.</returns>
        public bool?ShowOpenFileDialog(IWindow ownerViewModel, OpenFileDialogSettings settings)
        {
            if (ownerViewModel == null)
            {
                throw new ArgumentNullException(nameof(ownerViewModel));
            }

            if (settings == null)
            {
                throw new ArgumentNullException(nameof(settings));
            }

            var ownerWindow = WindowManager.Instance.FindWindowByViewModel(ownerViewModel);

            if (ownerWindow == null)
            {
                throw new ArgumentException("Could not found window associated with current view model", nameof(ownerViewModel));
            }

            var wrapper = new OpenFileDialogWrapper(settings);

            return(wrapper.ShowDialog(ownerWindow));
        }
Пример #26
0
        private async Task ExecuteFileOpenCommand()
        {
            var dialogSettings = new OpenFileDialogSettings
            {
                AllowMultiple = false,
                Filters       = new List <FileDialogFilter>
                {
                    new FileDialogFilter {
                        Name = "All Files", Extensions = new List <string> {
                            "*"
                        }
                    }
                }
            };

            var fileInfos = await _uiPlatformService.ShowOpenFileDialogAsync(dialogSettings);

            var fileInfo = fileInfos?.FirstOrDefault();

            if (fileInfo != null)
            {
                await OpenAndWatchFileAsync(fileInfo);
            }
        }
Пример #27
0
        /// <summary>
        /// Открыть пакет разработки из диалогового окна.
        /// </summary>
        public void OpenPackage()
        {
            var settings = new OpenFileDialogSettings
            {
                Filter           = IsxFileFilter,
                InitialDirectory = Environment.CurrentDirectory,
            };

            var result = this.viewService.ShowOpenFileDialog(PanelManager.Instance.PanelContainer, settings);

            if (!result.HasValue || !result.Value)
            {
                return;
            }

            var filename = settings.FileName;

            if (string.IsNullOrEmpty(filename))
            {
                return;
            }

            this.OpenSpecifiedPackage(filename);
        }
Пример #28
0
        private void OpenFile(DataTypes dataType)
        {
            var settings = new OpenFileDialogSettings
            {
                Title  = "Открыть файл с данными",
                Filter = "Текстовый документ (*.txt)|*.txt|Все файлы (*.*)|*.*"
            };

            var success = _dialogService.ShowOpenFileDialog(this, settings);

            if (success == true)
            {
                switch (dataType)
                {
                case DataTypes.AdjacencyMatrix:
                    LoadAdjacencyMatrixFile(settings.FileName);
                    break;

                case DataTypes.DemandMatrix:
                    LoadDemandMatrixFile(settings.FileName);
                    break;

                case DataTypes.Arrivals:
                    LoadArrivalsFile(settings.FileName);
                    break;

                case DataTypes.Departures:
                    LoadDeparturesFile(settings.FileName);
                    break;

                case DataTypes.NodesCoords:
                    LoadNodesCoordsFile(settings.FileName);
                    break;
                }
            }
        }
 public override IFrameworkDialog CreateOpenFileDialog(OpenFileDialogSettings settings)
 {
     return(new CustomOpenFileDialog(settings));
 }
Пример #30
0
 public FileOpenComShellDialog(OpenFileDialogSettings settings)
 {
     this.settings = settings;
 }