protected void OnButtonOutputChooseClicked(object sender, EventArgs e) { FileChooserDialog fileChooserDialog; fileChooserDialog = new FileChooserDialog("Choose output file", this, FileChooserAction.Save, ("Cancel"), ResponseType.Cancel, ("Save"), ResponseType.Accept, null); try { if (File.Exists(entry_output_file_path.Text) || Directory.Exists(entry_output_file_path.Text)) { fileChooserDialog.SetFilename(entry_output_file_path.Text); } else if (Directory.Exists(System.IO.Path.GetDirectoryName(entry_output_file_path.Text))) { fileChooserDialog.SetFilename(System.IO.Path.GetDirectoryName(entry_output_file_path.Text)); } } catch (Exception ex) { } fileChooserDialog.Show(); if (fileChooserDialog.Run() == -3) { entry_output_file_path.Text = fileChooserDialog.Filename; checkbutton_output_copy_input_name.Active = false; } fileChooserDialog.Destroy(); }
// Save protected void OnButton17Pressed(object sender, EventArgs e) { FileChooserDialog sav = new FileChooserDialog("Save My Nes palette present file", this, FileChooserAction.Save, Stock.Cancel, ResponseType.Cancel, Stock.Save, ResponseType.Accept); FileFilter filter = new FileFilter(); filter.Name = "My Nes Palette Present (*.mnpp)"; filter.AddMimeType("mnpp"); filter.AddPattern("*.mnpp"); sav.AddFilter(filter); sav.SetFilename("present.mnpp"); if (sav.Run() == (int)ResponseType.Accept) { List <string> lines = new List <string>(); lines.Add("Brightness=" + NTSCPaletteGenerator.brightness); lines.Add("Contrast=" + NTSCPaletteGenerator.contrast); lines.Add("Gamma=" + NTSCPaletteGenerator.gamma); lines.Add("Hue=" + NTSCPaletteGenerator.hue_tweak); lines.Add("Saturation=" + NTSCPaletteGenerator.saturation); File.WriteAllLines(sav.Filename, lines.ToArray()); } sav.Destroy(); }
public static string?SaveFile(Window parent, string?path) { using var fc = new FileChooserDialog("XDM", parent, FileChooserAction.Save); if (!string.IsNullOrEmpty(path)) { var dir = Path.GetDirectoryName(path); fc.SetFilename(Path.GetFileName(path)); fc.SetCurrentFolderFile(GLib.FileFactory.NewForPath(dir)); } try { if (parent.Group != null) { parent.Group.AddWindow(fc); } fc.AddButton(Stock.Save, ResponseType.Accept); fc.AddButton(Stock.Cancel, ResponseType.Cancel); if (fc.Run() == (int)ResponseType.Accept) { return(fc.Filename); } return(null); } finally { if (parent.Group != null) { parent.Group.RemoveWindow(fc); } fc.Destroy(); fc.Dispose(); } }
private void Generate(object sender, EventArgs a) { if (meetingNotes == null) { return; } var saveFileDialog = new FileChooserDialog("Save report as ...", this, FileChooserAction.Save, "OK", ResponseType.Ok, "Cancel", ResponseType.Cancel); saveFileDialog.SetFilename("report.docx"); var dialogResult = saveFileDialog.Run(); saveFileDialog.Hide(); if (dialogResult != (int)ResponseType.Ok) { return; } var filename = saveFileDialog.Filename; GenerationHelper.GenerateAndOpen(filename, meetingNotes); }
static void saveButton_Clicked(object sender, EventArgs e) { FileChooserDialog fcd = new FileChooserDialog("Save page as...", (Window)((Widget)sender).Toplevel, FileChooserAction.Save); fcd.AddButton(Stock.Cancel, ResponseType.Cancel); fcd.AddButton(Stock.Save, ResponseType.Ok); fcd.DefaultResponse = ResponseType.Ok; fcd.Filter = new FileFilter(); fcd.Filter.AddPattern("*.aspx"); fcd.SelectMultiple = false; fcd.SetFilename(((System.Web.UI.Control)host.RootComponent).ID + ".aspx"); ResponseType response = (ResponseType)fcd.Run(); fcd.Hide(); if (response == ResponseType.Ok && fcd.Filename != null) { using (FileStream fileStream = new FileStream(fcd.Filename, FileMode.Create)) { if (fileStream == null) { return; } host.SaveDocument(fileStream); } } fcd.Destroy(); }
void OpenAction_Activated(object sender, EventArgs e) { // Let the user select a file to open. var dialog = new FileChooserDialog( string.Format("Open file - {0}", BaseTitle), this, FileChooserAction.Open); dialog.AddButton(Stock.Cancel, ResponseType.Cancel); dialog.AddButton(Stock.Open, ResponseType.Ok); // Try to start file selection from current file, // if there is one. // // This enables the user to successively open files // from the same directory, e.g., from a collection // of notes files. if (!string.IsNullOrEmpty(_FilePath)) dialog.SetFilename(_FilePath); int result = dialog.Run(); string filePath = dialog.Filename; dialog.Destroy(); // Check that the user did in fact give confirmation. if (result != (int)ResponseType.Ok) return; // Actually open the file. LoadFile(filePath); }
internal static string ShowSaveAsDialog(Window parentWindow, string currentFilename = null) { var fileChooserDialog = new FileChooserDialog(Mono.Unix.Catalog.GetString("Save Experiment File"), parentWindow, FileChooserAction.Save, Gtk.Stock.Cancel, Gtk.ResponseType.Cancel, Gtk.Stock.Save, Gtk.ResponseType.Ok); fileChooserDialog.DoOverwriteConfirmation = true; fileChooserDialog.AlternativeButtonOrder = new int[] { (int)ResponseType.Ok, (int)ResponseType.Cancel }; fileChooserDialog.SelectMultiple = false; if (String.IsNullOrEmpty(currentFilename) == false) { fileChooserDialog.SetFilename(currentFilename); } AddFilters(fileChooserDialog); int response = fileChooserDialog.Run(); string filename = null; if (response == (int)Gtk.ResponseType.Ok) { filename = fileChooserDialog.Filename; } fileChooserDialog.Destroy(); return(filename); }
protected virtual FileChooserDialog CreateFileChooserDialog() { // TODO: set parent var dlg = new FileChooserDialog(Title, null, Action); dlg.Response += HandleDlgResponse; if (ShowHelp) { dlg.AddButton(FileDialogStrings.Help, ResponseType.Help); } dlg.AddButton(FileDialogStrings.Cancel, ResponseType.Cancel); dlg.AddButton(AcceptButtonText, ResponseType.Accept); dlg.LocalOnly = true; dlg.SelectMultiple = Multiselect; if (!string.IsNullOrEmpty(InitialDirectory)) { dlg.SetCurrentFolder(InitialDirectory); } if (!string.IsNullOrEmpty(FileName)) { dlg.SetFilename(FileName); } ApplyFilter(dlg); return(dlg); }
private UploadFileChooserUI() { Glade.XML gxml = new Glade.XML(null, "organizer.glade", "filechooserdialog1", null); gxml.Autoconnect(this); _job = new ThreadStart(ProcessThumbnail); _previewthread = new Thread(_job); label16.WidthRequest = eventbox7.WidthRequest; eventbox7.ModifyBg(Gtk.StateType.Normal, bgcolor); eventbox8.ModifyBg(Gtk.StateType.Normal, bgcolor); eventbox9.ModifyBg(Gtk.StateType.Normal, bgcolor); filechooserdialog1.Title = "Select files to upload"; filechooserdialog1.SetIconFromFile(DeskFlickrUI.ICON_PATH); filechooserdialog1.SetFilename(PersistentInformation.GetInstance().UploadFilename); filechooserdialog1.SelectMultiple = true; FileFilter imagefilter = new FileFilter(); imagefilter.AddMimeType("image/jpeg"); imagefilter.AddMimeType("image/png"); filechooserdialog1.Filter = imagefilter; filechooserdialog1.SelectionChanged += new EventHandler(OnFileSelectedChanged); filechooserdialog1.FileActivated += new EventHandler(OnOpenButtonClicked); button10.Clicked += new EventHandler(OnOpenButtonClicked); button11.Clicked += new EventHandler(OnCancelButtonClicked); DeskFlickrUI.GetInstance().SetUploadWindow(false); filechooserdialog1.ShowAll(); }
private void OnChoose(object o, EventArgs args) { FileChooserDialog dialog = new FileChooserDialog("Choose resource", null, FileChooserAction.Open, new object[] { }); dialog.AddButton(Gtk.Stock.Cancel, Gtk.ResponseType.Cancel); dialog.AddButton(Gtk.Stock.Open, Gtk.ResponseType.Ok); dialog.DefaultResponse = Gtk.ResponseType.Ok; dialog.Action = FileChooserAction.Open; dialog.SetFilename(Settings.Instance.TuxjuniorData + entry.Text); int result = dialog.Run(); if (result != (int)ResponseType.Ok) { dialog.Destroy(); return; } string path; if (dialog.Filename.StartsWith(Settings.Instance.TuxjuniorData)) { path = dialog.Filename.Substring(Settings.Instance.TuxjuniorData.Length, dialog.Filename.Length - Settings.Instance.TuxjuniorData.Length); } else { path = System.IO.Path.GetFileName(dialog.Filename); } // Fixes backslashes on windows: entry.Text = path.Replace("\\", "/"); dialog.Destroy(); OnEntryChangeDone(entry, null); }
void fixupBrowseButton_Clicked(object sender, EventArgs e) { var fixupFilter = new FileFilter { Name = "Gir fixup files (*.girfixup)" }; fixupFilter.AddPattern("*.girfixup"); var allFilesFilter = new FileFilter { Name = "All files (*.*)" }; allFilesFilter.AddPattern("*.*"); var fileDialog = new FileChooserDialog("Select", this, FileChooserAction.Open, "_Cancel", ResponseType.Cancel, "_Open", ResponseType.Ok); fileDialog.AddFilter(fixupFilter); fileDialog.AddFilter(allFilesFilter); if (File.Exists(fixupFileNameEntry.Text)) { fileDialog.SetFilename(fixupFileNameEntry.Text); } else { fileDialog.SetCurrentFolder("."); } if (fileDialog.Run() == (int)ResponseType.Ok) { fixupFileNameEntry.Text = fileDialog.Filename; } fileDialog.Destroy(); }
public async Task <StorageFile?> PickSaveFileAsync(CancellationToken token) { string commitText = "Save File"; if (!string.IsNullOrWhiteSpace(_picker.CommitButtonText)) { commitText = _picker.CommitButtonText; } using FileChooserDialog dialog = new FileChooserDialog( "Save File", GtkHost.Window, FileChooserAction.Save, "Cancel", ResponseType.Cancel, commitText, ResponseType.Accept); dialog.SelectMultiple = false; dialog.SetFilename(_picker.SuggestedFileName); dialog.SetCurrentFolder(PickerHelpers.GetInitialDirectory(_picker.SuggestedStartLocation)); StorageFile?file = null; if (dialog.Run() == (int)ResponseType.Accept) { if (!File.Exists(dialog.Filename)) { File.Create(dialog.Filename).Dispose(); } file = await StorageFile.GetFileFromPathAsync(dialog.Filename); } return(file); }
/// <summary>Ask user for a filename to open.</summary> /// <param name="prompt">String to use as dialog heading</param> /// <param name="fileSpec">The file specification used to filter the files.</param> /// <param name="action">Action to perform (currently either "Open" or "Save")</param> /// <param name="initialPath">Optional Initial starting filename or directory</param> static public string AskUserForFileName(string prompt, string fileSpec, FileChooserAction action = FileChooserAction.Open, string initialPath = "") { string fileName = null; if (ProcessUtilities.CurrentOS.IsWindows) { return(WindowsFileDialog(prompt, fileSpec, action, initialPath)); } else if (ProcessUtilities.CurrentOS.IsMac) { return(OSXFileDialog(prompt, fileSpec, action, initialPath)); } else { string btnText = "Open"; if (action == FileChooserAction.Save) { btnText = "Save"; } FileChooserDialog fileChooser = new FileChooserDialog(prompt, null, action, "Cancel", ResponseType.Cancel, btnText, ResponseType.Accept); if (!String.IsNullOrEmpty(fileSpec)) { string[] specParts = fileSpec.Split(new Char[] { '|' }); for (int i = 0; i < specParts.Length; i += 2) { FileFilter fileFilter = new FileFilter(); fileFilter.Name = specParts[i]; fileFilter.AddPattern(specParts[i + 1]); fileChooser.AddFilter(fileFilter); } } FileFilter allFilter = new FileFilter(); allFilter.AddPattern("*"); allFilter.Name = "All files"; fileChooser.AddFilter(allFilter); if (File.Exists(initialPath)) { fileChooser.SetFilename(initialPath); } else if (Directory.Exists(initialPath)) { fileChooser.SetCurrentFolder(initialPath); } else { fileChooser.SetCurrentFolder(Utility.Configuration.Settings.PreviousFolder); } if (fileChooser.Run() == (int)ResponseType.Accept) { fileName = fileChooser.Filename; } fileChooser.Destroy(); } return(fileName); }
void OnChoose(object sender, EventArgs args) { chooseDialog.SetFilename(sMSPDebugPath.Text); ResponseType r = (ResponseType)chooseDialog.Run(); chooseDialog.Hide(); if (r == ResponseType.Ok) { sMSPDebugPath.Text = chooseDialog.Filename; } }
protected void OnButtonInputChooseClicked(object sender, EventArgs e) { FileChooserDialog fileChooserDialog; fileChooserDialog = new FileChooserDialog("Choose input file", this, FileChooserAction.Open, ("Cancel"), ResponseType.Cancel, ("Open"), ResponseType.Accept, null); if (File.Exists(entry_input_file_path.Text) || Directory.Exists(entry_input_file_path.Text)) { fileChooserDialog.SetFilename(entry_input_file_path.Text); } fileChooserDialog.Show(); if (fileChooserDialog.Run() == -3) { entry_input_file_path.Text = fileChooserDialog.Filename; } fileChooserDialog.Destroy(); }
protected void saveDoc(object o, EventArgs e) { FileChooserDialog d = new FileChooserDialog( "SAVE MEE!", this, FileChooserAction.Save, "SAVE!", ResponseType.Accept, "NOPE", ResponseType.Cancel ); d.SetFilename(((NotebookTabLabel)notebook.GetTabLabel(notebook.GetNthPage(notebook.Page))).Pth); if ((ResponseType)d.Run() == ResponseType.Accept) { if (System.IO.File.Exists(d.Filename)) { MessageDialog d2 = new MessageDialog(this, DialogFlags.Modal, MessageType.Question, ButtonsType.YesNo, "File Exists! Overwrite?"); if ((ResponseType)d2.Run() != ResponseType.Yes) { d2.Destroy(); d.Destroy(); return; } d2.Destroy(); } System.IO.File.WriteAllText(d.Filename, ((TextView)((ScrolledWindow)notebook.GetNthPage(notebook.Page)).Child).Buffer.Text); //((TextView)notebook.Children [notebook.Page]).Buffer.Text notebook.SetTabLabel(notebook.GetNthPage(notebook.Page), new NotebookTabLabel(System.IO.Path.GetFileName(d.Filename), d.Filename)); notebook.SetMenuLabel(notebook.GetNthPage(notebook.Page), new Label(System.IO.Path.GetFileName(d.Filename))); int p = notebook.Page; ((NotebookTabLabel)notebook.GetTabLabel(notebook.GetNthPage(notebook.Page))).CloseClicked += delegate(object obj, EventArgs eventArgs) { //closeTab (notebook.PageNum(w)); for (int i = notebook.Page; i > p; i--) { notebook.PrevPage(); } for (int i = notebook.Page; i < p; i++) { notebook.NextPage(); } closeDoc(null, null); }; } d.Destroy(); return; }
protected virtual void OnButtonBrowseClicked(object sender, System.EventArgs e) { FileChooserDialog dlg = new FileChooserDialog("Select Folder", this, FileChooserAction.SelectFolder); try { dlg.AddButton(Gtk.Stock.Cancel, Gtk.ResponseType.Cancel); dlg.AddButton(Gtk.Stock.Open, Gtk.ResponseType.Ok); dlg.SetFilename(Environment.GetFolderPath(Environment.SpecialFolder.Personal)); if (dlg.Run() == (int)ResponseType.Ok) { pathEntry.Text = dlg.Filename; } } finally { dlg.Destroy(); } }
protected void OnButtonFileChooserClicked(object sender, EventArgs e) { FileChooserDialog fc = new FileChooserDialog("Укажите файл резервной копии", (Window)this.Toplevel, FileChooserAction.Save, "Отмена", ResponseType.Cancel, "Сохранить", ResponseType.Accept); fc.SetFilename(ViewModel.FileName); fc.Show(); if (fc.Run() == (int)ResponseType.Accept) { ViewModel.FileName = fc.Filename; } fc.Destroy(); }
internal static string ShowSaveAsDialog(Window parentWindow, string currentFilename = null) { var fileChooserDialog = new FileChooserDialog(Mono.Unix.Catalog.GetString("Save Experiment File"), parentWindow, FileChooserAction.Save, Gtk.Stock.Cancel, Gtk.ResponseType.Cancel, Gtk.Stock.Save, Gtk.ResponseType.Ok); fileChooserDialog.DoOverwriteConfirmation = true; fileChooserDialog.AlternativeButtonOrder = new int[] { (int)ResponseType.Ok, (int)ResponseType.Cancel }; fileChooserDialog.SelectMultiple = false; if (String.IsNullOrEmpty(currentFilename) == false) { fileChooserDialog.SetFilename(currentFilename); } string defaultExtension = AddFilters(fileChooserDialog); while (fileChooserDialog.Run() == (int)Gtk.ResponseType.Ok) { string filename = fileChooserDialog.Filename; if (string.IsNullOrEmpty(Path.GetExtension(filename))) { // No extension; add one from the format descriptor. filename = string.Format("{0}.{1}", filename, defaultExtension); fileChooserDialog.CurrentName = Path.GetFileName(filename); // We also need to display an overwrite confirmation message manually, // because MessageDialog won't do this for us in this case. if (File.Exists(filename) && !ConfirmOverwrite(fileChooserDialog, filename)) { continue; } } fileChooserDialog.Destroy(); return(filename); } //if file was not selected return null fileChooserDialog.Destroy(); return(null); }
private static bool escolher(string filtro, string titulo, FileChooserAction acao, string textoAcao) { FileChooserDialog fcdialog = new FileChooserDialog(titulo, null, acao, "Cancelar", ResponseType.Cancel, textoAcao, ResponseType.Accept); fcdialog.SetPosition(WindowPosition.Center); montaFiltro(fcdialog, filtro); fcdialog.SelectMultiple = false; fcdialog.SetFilename(nomeArquivo); fcdialog.SetCurrentFolder(diretorioCorrente); int retorno = fcdialog.Run(); nomeArquivo = fcdialog.Filename; diretorioCorrente = fcdialog.CurrentFolder; fcdialog.Destroy(); return(retorno == (int)ResponseType.Accept); }
public override void LaunchDialogue() { var declarationParameter = ((ParticleParameterDescriptor)Property).DeclarationParameter; var kindAtt = this.Property.Attributes.OfType <FilePathIsFolderAttribute>().FirstOrDefault(); FileChooserAction action; string title; if (kindAtt == null) { action = FileChooserAction.Open; title = "Select File..."; } else { action = FileChooserAction.SelectFolder; title = "Select Folder..."; } var currentValue = (FilePath)Value; var fc = new FileChooserDialog(title, null, action, "Cancel", ResponseType.Cancel, "Open", ResponseType.Accept); //fc.SetCurrentFolder(currentValue.ParentDirectory); fc.SetFilename(currentValue); fc.PreviewWidget = previewImage; fc.UpdatePreview += DialogOnUpdatePreview; UpdatePreview(fc, currentValue); var filters = GtkTools.ParseFilterString(declarationParameter.FilePathFilter); if (filters != null) { filters.ForEach(fc.AddFilter); } if (fc.Run() == (int)ResponseType.Accept) { Property.SetValue(Instance, (FilePath)fc.Filename); } fc.Destroy(); }
protected void OnOpenActionActivated(object sender, EventArgs e) { FileChooserDialog openD = new FileChooserDialog("Open file", this, FileChooserAction.Open, Stock.Cancel, ResponseType.Cancel, Stock.Open, ResponseType.Accept); FileFilter filter = new FileFilter(); filter.Name = "INES rom (*.nes)"; filter.AddMimeType("Ines"); filter.AddPattern("*.nes"); openD.AddFilter(filter); openD.SetFilename(MyNesGTK.Settings.LastUsedFile); if (openD.Run() == (int)ResponseType.Accept) { MyNesGTK.Settings.LastUsedFile = openD.Filename; LoadRom(openD.Filename); } openD.Destroy(); }
// Save as .pal protected void OnButton19Pressed(object sender, EventArgs e) { FileChooserDialog sav = new FileChooserDialog("Save Palette file", this, FileChooserAction.Save, Stock.Cancel, ResponseType.Cancel, Stock.Save, ResponseType.Accept); FileFilter filter1 = new FileFilter(); filter1.Name = "Palette file '64 indexes' (*.pal)"; filter1.AddMimeType("pal"); filter1.AddPattern("*.pal"); sav.AddFilter(filter1); FileFilter filter2 = new FileFilter(); filter2.Name = "Palette file '512 indexes' (*.pal)"; filter2.AddMimeType("pal"); filter2.AddPattern("*.pal"); sav.AddFilter(filter2); sav.SetFilename("palette.pal"); if (sav.Run() == (int)ResponseType.Accept) { //get pallete List <byte> palette = new List <byte>(); int[] NesPalette = (combobox_paletteOf.Active == 0) ? NTSCPaletteGenerator.GeneratePalette() : PALBPaletteGenerator.GeneratePalette(); for (int i = 0; i < ((sav.Filter == filter1) ? 64 : 512); i++) { int color = NesPalette[i]; palette.Add((byte)((color >> 16) & 0xFF)); //Red palette.Add((byte)((color >> 8) & 0xFF)); //Green palette.Add((byte)((color >> 0) & 0xFF)); //Blue } Stream str = new FileStream(sav.Filename, FileMode.Create, FileAccess.Write); str.Write(palette.ToArray(), 0, palette.Count); str.Close(); } sav.Destroy(); }
/// <summary>Handles the Click event of the button1 control.</summary> /// <param name="sender">The source of the event.</param> /// <param name="e">The <see cref="EventArgs"/> instance containing the event data.</param> private void OnButton1Click(object sender, EventArgs e) { string fileName = null; FileChooserDialog fileChooser = new FileChooserDialog("Choose a weather file to open", null, FileChooserAction.Open, "Cancel", ResponseType.Cancel, "Open", ResponseType.Accept); FileFilter fileFilter = new FileFilter(); fileFilter.Name = "APSIM Weather file (*.met)"; fileFilter.AddPattern("*.met"); fileChooser.AddFilter(fileFilter); FileFilter excelFilter = new FileFilter(); excelFilter.Name = "Excel file (*.xlsx)"; excelFilter.AddPattern("*.xlsx"); fileChooser.AddFilter(excelFilter); FileFilter allFilter = new FileFilter(); allFilter.Name = "All files"; allFilter.AddPattern("*"); fileChooser.AddFilter(allFilter); fileChooser.SetFilename(labelFileName.Text); if (fileChooser.Run() == (int)ResponseType.Accept) { fileName = fileChooser.Filename; fileChooser.Destroy(); if (BrowseClicked != null) { BrowseClicked.Invoke(fileName); //reload the grid with data } } else { fileChooser.Destroy(); } }
protected void OnSaveActionActivated(object sender, EventArgs e) { if (gameInfoList == null) { Gtk.MessageDialog dialog = new Gtk.MessageDialog(this, Gtk.DialogFlags.DestroyWithParent, Gtk.MessageType.Error, Gtk.ButtonsType.Ok, "No info entry to save !!"); dialog.Run(); dialog.Destroy(); return; } FileChooserDialog openD = new FileChooserDialog("Save text file", this, FileChooserAction.Save, Stock.Cancel, ResponseType.Cancel, Stock.Save, ResponseType.Accept); FileFilter filter = new FileFilter(); filter.Name = "Text file (*.txt)"; filter.AddMimeType("Text"); filter.AddPattern("*.txt"); openD.AddFilter(filter); openD.SetFilename(filechooserwidget2.Filename.Replace(".nes", ".txt")); if (openD.Run() == (int)ResponseType.Accept) { File.WriteAllLines(openD.Filename, gameInfoLines.ToArray(), System.Text.Encoding.UTF8); try { Process.Start(openD.Filename); } catch { } } openD.Destroy(); }
public void guardarComo() { FileChooserDialog filechooser = new FileChooserDialog( "Save document", this, FileChooserAction.Save, "Cancel", ResponseType.Cancel, "Save", ResponseType.Accept); if (filechooser.Run() == (int)ResponseType.Accept) { filechooser.SetFilename("sin titulo.txt"); using (var savefile = new StreamWriter(filechooser.Filename)) { savefile.WriteLine(textview3.Buffer.Text); this.currentFile = filechooser.Filename; this.caracteresEscritos = textview3.Buffer.CharCount; this.caracteresActuales = textview3.Buffer.CharCount; IsEditing(); } } filechooser.Destroy(); }
protected void OnButtonFinishClicked(object sender, EventArgs e) { string saveTo = null; progressFinal.Adjustment.Upper = 2; logger.Info("Пользователь выбирает файл..."); using (FileChooserDialog Chooser = new FileChooserDialog("Выберите куда сохранить изменения...", (Window)MainClass.MainWin.Toplevel, FileChooserAction.Save, "Отмена", ResponseType.Cancel, "Сохранить", ResponseType.Accept)) { Chooser.SetFilename(filePath); Chooser.DoOverwriteConfirmation = true; FileFilter Filter = new FileFilter(); Filter.AddPattern("*.xls"); Filter.AddPattern("*.xlsx"); Filter.Name = "Все поддерживаемые"; Chooser.AddFilter(Filter); Filter = new FileFilter(); Filter.AddPattern("*.xls"); Filter.Name = "Excel 2003"; Chooser.AddFilter(Filter); Filter = new FileFilter(); Filter.AddPattern("*.xlsx"); Filter.Name = "Excel 2007"; Chooser.AddFilter(Filter); if ((ResponseType)Chooser.Run() == ResponseType.Accept) { saveTo = Chooser.Filename; } Chooser.Destroy(); } if (String.IsNullOrEmpty(saveTo)) { return; } progressFinal.Adjustment.Value++; logger.Info("Обновляем таблицы..."); foreach (var row in xlsRows.Where(x => x.ChangePrice)) { var priceCell = row.XlsRow.GetCell(row.ColumnsMap[UpdatingXLSRow.ColumnType.Price]); priceCell.SetCellValue((double)row.NewPrice.Value); } progressFinal.Adjustment.Value++; logger.Info("Записываем фаил..."); try { using (FileStream file = new FileStream(saveTo, FileMode.Create, FileAccess.Write)) { wb.Write(file); } } catch (IOException ex) { if (ex.HResult == -2147024864) { MessageDialogWorks.RunErrorDialog("Указанный файл уже открыт в другом приложении. Оно заблокировало доступ к файлу."); return; } throw ex; } progressFinal.Adjustment.Value++; if (checkOpenAfterSave.Active) { logger.Info("Открываем во внешем приложении..."); System.Diagnostics.Process.Start(saveTo); } logger.Info("Ок"); OnCloseTab(false); }
protected void OnBtnDatabaseClicked(object sender, EventArgs e) { FileChooserDialog dlgFile = new FileChooserDialog("Choose database to open/create", this, FileChooserAction.Save, "Cancel", ResponseType.Cancel, "Choose", ResponseType.Accept) { SelectMultiple = false }; dlgFile.SetCurrentFolder(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments)); dlgFile.SetFilename("Core.db"); if (dlgFile.Run() == (int)ResponseType.Accept) { if (File.Exists(dlgFile.Filename)) { DbCore dbCore = new SQLite(); bool notDb = false; try { notDb |= !dbCore.OpenDb(dlgFile.Filename, null, null, null); } catch { notDb = true; } if (notDb) { MessageDialog dlgMsg = new MessageDialog(this, DialogFlags.Modal, MessageType.Error, ButtonsType.Ok, "Cannot open specified file as a database, please choose another."); dlgMsg.Run(); dlgMsg.Destroy(); dlgFile.Destroy(); return; } dbCore.CloseDb(); } else { DbCore dbCore = new SQLite(); bool notDb = false; try { notDb |= !dbCore.CreateDb(dlgFile.Filename, null, null, null); } catch { notDb = true; } if (notDb) { MessageDialog dlgMsg = new MessageDialog(this, DialogFlags.Modal, MessageType.Error, ButtonsType.Ok, "Cannot create a database in the specified file as a database."); dlgMsg.Run(); dlgMsg.Destroy(); dlgFile.Destroy(); return; } dbCore.CloseDb(); } txtDatabase.Text = dlgFile.Filename; } dlgFile.Destroy(); }
// This is actually both for "Save As" and saving a file that never // been saved before. Either way, we need to prompt for a filename. private bool SaveFileAs(Document document) { var fcd = new FileChooserDialog(Mono.Unix.Catalog.GetString("Save Image File"), PintaCore.Chrome.MainWindow, FileChooserAction.Save, Gtk.Stock.Cancel, Gtk.ResponseType.Cancel, Gtk.Stock.Save, Gtk.ResponseType.Ok); fcd.DoOverwriteConfirmation = true; fcd.SetCurrentFolder(PintaCore.System.GetDialogDirectory()); fcd.AlternativeButtonOrder = new int[] { (int)ResponseType.Ok, (int)ResponseType.Cancel }; bool hasFile = document.HasFile; if (hasFile) { fcd.SetFilename(document.PathAndFileName); } Dictionary <FileFilter, FormatDescriptor> filetypes = new Dictionary <FileFilter, FormatDescriptor> (); // Add all the formats we support to the save dialog foreach (var format in PintaCore.System.ImageFormats.Formats) { if (!format.IsReadOnly()) { fcd.AddFilter(format.Filter); filetypes.Add(format.Filter, format); // Set the filter to anything we found // We want to ensure that *something* is selected in the filetype fcd.Filter = format.Filter; } } // If we already have a format, set it to the default. // If not, default to jpeg FormatDescriptor format_desc = null; if (hasFile) { format_desc = PintaCore.System.ImageFormats.GetFormatByFile(document.Filename); } if (format_desc == null) { format_desc = PintaCore.System.ImageFormats.GetDefaultSaveFormat(); // Gtk doesn't like it if we set the file name to an extension that we don't have // a filter for, so we change the extension to our default extension. if (hasFile) { fcd.SetFilename(Path.ChangeExtension(document.PathAndFileName, format_desc.Extensions[0])); } } fcd.Filter = format_desc.Filter; fcd.AddNotification("filter", this.OnFilterChanged); // Replace GTK's ConfirmOverwrite with our own, for UI consistency fcd.ConfirmOverwrite += (eventSender, eventArgs) => { if (this.ConfirmOverwrite(fcd, fcd.Filename)) { eventArgs.RetVal = FileChooserConfirmation.AcceptFilename; } else { eventArgs.RetVal = FileChooserConfirmation.SelectAgain; } }; while (fcd.Run() == (int)Gtk.ResponseType.Ok) { FormatDescriptor format = filetypes[fcd.Filter]; string file = fcd.Filename; if (string.IsNullOrEmpty(Path.GetExtension(file))) { // No extension; add one from the format descriptor. file = string.Format("{0}.{1}", file, format.Extensions[0]); fcd.CurrentName = Path.GetFileName(file); // We also need to display an overwrite confirmation message manually, // because MessageDialog won't do this for us in this case. if (File.Exists(file) && !ConfirmOverwrite(fcd, file)) { continue; } } // Always follow the extension rather than the file type drop down // ie: if the user chooses to save a "jpeg" as "foo.png", we are going // to assume they just didn't update the dropdown and really want png var format_type = PintaCore.System.ImageFormats.GetFormatByFile(file); if (format_type != null) { format = format_type; } PintaCore.System.LastDialogDirectory = fcd.CurrentFolder; // If saving the file failed or was cancelled, let the user select // a different file type. if (!SaveFile(document, file, format, fcd)) { continue; } //The user is saving the Document to a new file, so technically it //hasn't been saved to its associated file in this session. document.HasBeenSavedInSession = false; RecentManager.Default.AddFull(fcd.Uri, PintaCore.System.RecentData); PintaCore.System.ImageFormats.SetDefaultFormat(Path.GetExtension(file)); document.HasFile = true; document.PathAndFileName = file; fcd.Destroy(); return(true); } fcd.Destroy(); return(false); }