/// <summary>
        /// Экспортировать в Csv формат.
        /// </summary>
        private void ExportAsCsv()
        {
            var settings = new SaveFileDialogSettings
            {
                AddExtension     = true,
                DefaultExt       = ".csv",
                Filter           = CsvFileFilter,
                InitialDirectory = Environment.CurrentDirectory,
                CheckFileExists  = false,
                OverwritePrompt  = true
            };

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

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

            var filename = settings.FileName;

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

            var csvPrinter = new CsvReportPrinter(filename);

            csvPrinter.Print(this.Report);
            var message = LocalizationManager.Instance.LocalizeString("EXPORT_SUCCESS");

            this.viewService.ShowMessageBox(message, icon: MessageBoxImage.Information);
        }
        private void OnSave()
        {
            // TODO: sue dialog service to show save file dialog
            var saveDialogConfig = new SaveFileDialogSettings
            {
                Filter = "JSON (*.json)|*.json|Text files (*.txt)|*.txt",
            };
            var result = dialogSerive.ShowSaveFileDialog(this, saveDialogConfig);

            if (result != true)
            {
                return;
            }

            var filenameOut = saveDialogConfig.FileName;

            if (DraggyImageSequence.Folder == null)
            {
                var folderImages = UtilsPath.GetFullPathNoExtension(filenameOut);
                DraggyImageSequence.Folder = folderImages;
                UtilsPath.CreateDirectoryIfNotExists(folderImages);
                foreach (var imageVM in DraggyImageSequence.Images)
                {
                    var imagePathOld = Path.Combine(fileService.NewProjectTmpFolder, imageVM.FilenameLeaf);
                    var imagePathNew = Path.Combine(folderImages, imageVM.FilenameLeaf);
                    File.Move(imagePathOld, imagePathNew);
                }
                RaisePropertyChanged("ImageSaveFolder");
            }
            Utils.SaveImageSequenceFile(DraggyImageSequence, filenameOut);
        }
Beispiel #3
0
        /// <summary>Create an instance of the Windows save file dialog.</summary>
        /// <param name="settings">The settings for the save file dialog.</param>
        public IFrameworkDialog CreateSaveFileDialog(SaveFileDialogSettings settings)
        {
            if (settings == null)
            {
                throw new ArgumentNullException(nameof(settings));
            }

            return(new FileSaveComShellDialog(settings));
        }
Beispiel #4
0
    public bool?ShowSaveFileDialog(INotifyPropertyChanged ownerViewModel, SaveFileDialogSettings settings)
    {
        if (ownerViewModel == null)
        {
            throw new ArgumentNullException(nameof(ownerViewModel));
        }
        if (settings == null)
        {
            throw new ArgumentNullException(nameof(settings));
        }

        return(_frameworkDialogFactory.CreateSaveFileDialog(settings).ShowDialog(FindOwnerWindow(ownerViewModel)));
    }
Beispiel #5
0
        private void OnShowSaveFileCommand()
        {
            var defaultPath = TryGetDirectory(DestinationPath);
            var settings    = new SaveFileDialogSettings()
            {
                Filter           = "MP4 Files|*.mp4",
                InitialDirectory = !string.IsNullOrEmpty(defaultPath) ? Path.GetDirectoryName(defaultPath) : null
            };
            var result = _dialogService.ShowSaveFileDialog(this, settings);

            if (result == true)
            {
                DestinationPath = settings.FileName;
            }
        }
Beispiel #6
0
        public FormMain()
        {
            InitializeComponent();

            btnSaveAs.Visible       = false;
            progressBarIter.Visible = false;

            _saveFileDialogSetting = new SaveFileDialogSettings(saveFileDialog1);
            _saveFileDialogSetting.ApplySettings();

            _generator = new RandomData();
            _generator.SampleGeneratedEvent += _generator_SampleGeneratedEvent;

            _model = new Entity();
        }
Beispiel #7
0
        private void OnSaveAsTest()
        {
            var settings = new SaveFileDialogSettings
            {
                Title           = "Save As",
                Filter          = "Sample (.xml)|*.xml",
                CheckFileExists = false,
                OverwritePrompt = true
            };

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

            if (success == true)
            {
                // Do something
            }
        }
Beispiel #8
0
        private void SaveFile()
        {
            var settings = new SaveFileDialogSettings
            {
                Title            = "This Is The Title",
                InitialDirectory = IOPath.GetDirectoryName(Assembly.GetExecutingAssembly().Location),
                Filter           = "Text Documents (*.txt)|*.txt|All Files (*.*)|*.*",
                CheckFileExists  = false
            };

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

            if (success == true)
            {
                Path = settings.FileName;
            }
        }
        /// <summary>
        /// Shows the <see cref="SaveFileDialog"/>.
        /// </summary>
        /// <param name="ownerViewModel">
        /// A view model that represents the owner window of the dialog.
        /// </param>
        /// <param name="settings">The settings for the save 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?ShowSaveFileDialog(
            INotifyPropertyChanged ownerViewModel,
            SaveFileDialogSettings settings)
        {
            if (ownerViewModel == null)
            {
                throw new ArgumentNullException("ownerViewModel");
            }
            if (settings == null)
            {
                throw new ArgumentNullException("settings");
            }

            var dialog = new SaveFileDialogWrapper(settings);

            return(dialog.ShowDialog(FindOwnerWindow(ownerViewModel)));
        }
Beispiel #10
0
        public void SaveFile(SaveFileDialogSettings settings, Action <string> onAccepted)
        {
            FormManager.RunOnUIThreadAsync(() => {
                using SaveFileDialog dialog = new SaveFileDialog {
                          AutoUpgradeEnabled = true,
                          OverwritePrompt    = settings.OverwritePrompt,
                          Title    = settings.DialogTitle,
                          FileName = settings.FileName,
                          Filter   = settings.Filters == null ? null : string.Join("|", settings.Filters.Select(filter => filter.JoinFullNameAndPattern("|")))
                      };

                if (dialog.ShowDialog() == DialogResult.OK)
                {
                    onAccepted(dialog.FileName);
                }
            });
        }
Beispiel #11
0
        private void SaveFile()
        {
            var settings = new SaveFileDialogSettings
            {
                Title            = "This Is The Title",
                InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments),
                Filter           = "Text Documents (*.txt)|*.txt|All Files (*.*)|*.*",
                CheckFileExists  = false
            };

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

            if (success == true)
            {
                Path = settings.FileName;
            }
        }
Beispiel #12
0
        /// <summary>
        /// Shows the <see cref="SaveFileDialog"/>.
        /// </summary>
        /// <param name="ownerViewModel">
        /// A view model that represents the owner window of the dialog.
        /// </param>
        /// <param name="settings">The settings for the save 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?ShowSaveFileDialog(
            INotifyPropertyChanged ownerViewModel,
            SaveFileDialogSettings 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 SaveFileDialogWrapper(settings);

            return(dialog.ShowDialog(FindOwnerWindow(ownerViewModel)));
        }
Beispiel #13
0
        /// <summary>
        /// Initializes a new instance of the <see cref="CustomSaveFileDialog"/> class.
        /// </summary>
        /// <param name="settings">The settings for the save file dialog.</param>
        public CustomSaveFileDialog(SaveFileDialogSettings settings)
        {
            this.settings = settings ?? throw new ArgumentNullException(nameof(settings));

            saveFileDialog = new VistaSaveFileDialog
            {
                AddExtension     = settings.AddExtension,
                CheckFileExists  = settings.CheckFileExists,
                CheckPathExists  = settings.CheckPathExists,
                CreatePrompt     = settings.CreatePrompt,
                DefaultExt       = settings.DefaultExt,
                FileName         = settings.FileName,
                Filter           = settings.Filter,
                FilterIndex      = settings.FilterIndex,
                InitialDirectory = settings.InitialDirectory,
                OverwritePrompt  = settings.OverwritePrompt,
                Title            = settings.Title
            };
        }
Beispiel #14
0
        private void OnSaveAsTest()
        {
            var settings = new SaveFileDialogSettings
            {
                Title           = "Save As",
                Filter          = "File (.xml)|*.xml",
                CheckFileExists = false,
                OverwritePrompt = true
            };

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

            if (success == true)
            {
                // Do something
                fileName = settings.FileName;
                fileService.Save(settings.FileName, ReportList);
                Log.Info("Saving file: " + settings.FileName);
            }
        }
Beispiel #15
0
        public void SaveFile(SaveFileDialogSettings settings, Action <string> onAccepted)
        {
            Gtk.Application.Invoke(delegate {
                using FileChooserDialog dialog = new FileChooserDialog(settings.DialogTitle, WindowManager.MainWindow, FileChooserAction.Save);
                dialog.AddButton(Stock.Cancel, ResponseType.Cancel);
                dialog.AddButton(Stock.Save, ResponseType.Accept);
                dialog.DoOverwriteConfirmation = settings.OverwritePrompt;
                dialog.CurrentName             = settings.FileName;

                if (settings.Filters is {} filters)
                {
                    foreach (var filter in filters)
                    {
                        dialog.AddFilter(GtkUtils.CreateFileFilter(filter));
                    }
                }

                if (dialog.Run() == (int)ResponseType.Accept)
                {
                    onAccepted.Invoke(dialog.Filename);
                }
            });
        public Task <bool> ShowSaveFileDialog(SaveFileDialogSettings settings, Action <bool, FileDialogResult> afterHideCallback)
        {
            var dialog = new SaveFileDialog
            {
                AddExtension     = settings.AddExtension,
                CheckFileExists  = settings.CheckFileExists,
                CheckPathExists  = settings.CheckPathExists,
                CreatePrompt     = settings.CreatePrompt,
                DefaultExt       = settings.DefaultExt,
                FileName         = settings.FileName,
                Filter           = settings.Filter,
                FilterIndex      = settings.FilterIndex,
                InitialDirectory = settings.InitialDirectory,
                OverwritePrompt  = settings.OverwritePrompt,
                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; }));
        }
Beispiel #17
0
        /// <summary>
        /// Показать окно сохранения файла.
        /// </summary>
        /// <param name="ownerViewModel">Родительский презентер.</param>
        /// <param name="settings">Настройки диалога.</param>
        /// <returns>true, в случае получения результата, иначе false.</returns>
        public bool?ShowSaveFileDialog(IWindow ownerViewModel, SaveFileDialogSettings 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 SaveFileDialogWrapper(settings);

            return(wrapper.ShowDialog(ownerWindow));
        }
Beispiel #18
0
        private Task SaveLocalSingleDocumentAsync()
        {
            var settings = new SaveFileDialogSettings
            {
                DefaultExt      = "json",
                Filter          = "JSON files (*.json)|*.json|All files (*.*)|*.*",
                AddExtension    = true,
                FileName        = $"{SelectedDocument.Id}.json",
                OverwritePrompt = true,
                CheckFileExists = false,
                Title           = "Save document locally"
            };

            return(_dialogService.ShowSaveFileDialog(settings, async(confirm, result) =>
            {
                if (confirm)
                {
                    try
                    {
                        IsRunning = true;

                        Settings.Default.ExportFolder = (new FileInfo(result.FileName)).DirectoryName;
                        Settings.Default.Save();

                        await DispatcherHelper.RunAsync(() => File.WriteAllText(result.FileName, EditorViewModel.Content.Text));
                    }
                    catch (Exception ex)
                    {
                        await _dialogService.ShowError(ex, "Error", null, null).ConfigureAwait(false);
                    }
                    finally
                    {
                        IsRunning = false;
                    }
                }
            }));
        }
Beispiel #19
0
 public SaveFileDialogWrapper(SaveFileDialogSettings settings)
 {
     _dialog = new SaveFileDialog();
     _sync   = new SaveFileDialogSettingsSync(_dialog, settings);
     _sync.ToDialog();
 }
 public SaveFileDialogSettingsSync(SaveFileDialog dialog, SaveFileDialogSettings settings)
 {
     _dialog   = dialog ?? throw new ArgumentNullException(nameof(dialog));
     _settings = settings ?? throw new ArgumentNullException(nameof(settings));
 }
 public override IFrameworkDialog CreateSaveFileDialog(SaveFileDialogSettings settings)
 {
     return(new CustomSaveFileDialog(settings));
 }
Beispiel #22
0
 public bool?ShowSaveFileDialog(INotifyPropertyChanged ownerViewModel, SaveFileDialogSettings settings)
 {
     throw new NotImplementedException();
 }
Beispiel #23
0
 public FileSaveComShellDialog(SaveFileDialogSettings settings)
 {
     this.settings = settings;
 }
 /// <inheritdoc />
 public virtual IFrameworkDialog CreateSaveFileDialog(SaveFileDialogSettings settings)
 {
     return(new SaveFileDialogWrapper(settings));
 }
 public virtual IFrameworkDialog CreateSaveFileDialog(SaveFileDialogSettings settings) =>
 new SaveFileDialogWrapper(settings);
 /// <summary>
 /// Initializes a new instance of the <see cref="CustomSaveFileDialog"/> class.
 /// </summary>
 /// <param name="settings">The settings for the save file dialog.</param>
 public CustomSaveFileDialog(SaveFileDialogSettings settings)
 {
     this.settings = settings ?? throw new ArgumentNullException(nameof(settings));
 }