/// <param name="displayPrefix"> /// A descriptive name for the format, such as "OpenRaster". This will be displayed /// in the file dialog's filter. /// </param> /// <param name="extensions">A list of supported file extensions (for example, "jpeg" and "JPEG").</param> /// <param name="importer">The importer for this file format, or null if importing is not supported.</param> /// <param name="exporter">The exporter for this file format, or null if exporting is not supported.</param> public FormatDescriptor (string displayPrefix, string[] extensions, IImageImporter importer, IImageExporter exporter) { if (extensions == null || (importer == null && exporter == null)) { throw new ArgumentNullException ("Format descriptor is initialized incorrectly"); } this.Extensions = extensions; this.Importer = importer; this.Exporter = exporter; FileFilter ff = new FileFilter (); StringBuilder formatNames = new StringBuilder (); foreach (string ext in extensions) { if (formatNames.Length > 0) formatNames.Append (", "); string wildcard = string.Format ("*.{0}", ext); ff.AddPattern (wildcard); formatNames.Append (wildcard); } ff.Name = string.Format (Catalog.GetString ("{0} image ({1})"), displayPrefix, formatNames); this.Filter = ff; }
private void Activated(object sender, EventArgs e) { var fcd = new Gtk.FileChooserDialog (Catalog.GetString ("Open Image File"), PintaCore.Chrome.MainWindow, FileChooserAction.Open, Gtk.Stock.Cancel, Gtk.ResponseType.Cancel, Gtk.Stock.Open, Gtk.ResponseType.Ok); // Add image files filter FileFilter ff = new FileFilter (); ff.AddPixbufFormats (); ff.AddPattern ("*.ora"); ff.Name = Catalog.GetString ("Image files"); fcd.AddFilter (ff); FileFilter ff2 = new FileFilter (); ff2.Name = Catalog.GetString ("All files"); ff2.AddPattern ("*.*"); fcd.AddFilter (ff2); fcd.AlternativeButtonOrder = new int[] { (int)ResponseType.Ok, (int)ResponseType.Cancel }; fcd.SetCurrentFolder (PintaCore.System.LastDialogDirectory); fcd.SelectMultiple = true; int response = fcd.Run (); if (response == (int)Gtk.ResponseType.Ok) { PintaCore.System.LastDialogDirectory = fcd.CurrentFolder; foreach (var file in fcd.Filenames) if (PintaCore.Workspace.OpenFile (file)) RecentManager.Default.AddFull (fcd.Uri, PintaCore.System.RecentData); } fcd.Destroy (); }
protected void OnTargetNMMLFileButtonClicked(object sender, System.EventArgs e) { Gtk.FileChooserDialog fc = new Gtk.FileChooserDialog ("Target NMML file", this.Toplevel as Gtk.Window, FileChooserAction.Open, "Cancel", ResponseType.Cancel, "Select", ResponseType.Accept); Gtk.FileFilter filter = new Gtk.FileFilter (); filter.Name = "NMML files"; filter.AddPattern ("*.nmml"); fc.AddFilter (filter); if (mProject.TargetNMMLFile != "") { fc.SetFilename (mProject.TargetNMMLFile); } else { fc.SetFilename (mProject.BaseDirectory); } if (fc.Run () == (int)ResponseType.Accept) { string path = PathHelper.ToRelativePath (fc.Filename, mProject.BaseDirectory); TargetNMMLFileEntry.Text = path; } fc.Destroy (); }
protected void OnButtonLoadPhotoClicked(object sender, EventArgs e) { FileChooserDialog Chooser = new FileChooserDialog ("Выберите фото для загрузки...", (Window)this.Toplevel, FileChooserAction.Open, "Отмена", ResponseType.Cancel, "Загрузить", ResponseType.Accept); FileFilter Filter = new FileFilter (); Filter.AddPixbufFormats (); Filter.Name = "Все изображения"; Chooser.AddFilter (Filter); if ((ResponseType)Chooser.Run () == ResponseType.Accept) { Chooser.Hide (); logger.Info ("Загрузка фотографии..."); FileStream fs = new FileStream (Chooser.Filename, FileMode.Open, FileAccess.Read); if (Chooser.Filename.ToLower ().EndsWith (".jpg")) { using (MemoryStream ms = new MemoryStream ()) { fs.CopyTo (ms); ImageFile = ms.ToArray (); } } else { logger.Info ("Конвертация в jpg ..."); Gdk.Pixbuf image = new Gdk.Pixbuf (fs); ImageFile = image.SaveToBuffer ("jpeg"); } fs.Close (); buttonSavePhoto.Sensitive = true; logger.Info ("Ok"); } Chooser.Destroy (); }
/* Private methods */ private void SetFilters () { /* Video files */ FileFilter videoFilesFilter = new FileFilter(); videoFilesFilter.Name = Catalog.GetString("All Video Files"); videoFilesFilter.AddMimeType("video/*"); videoFilesFilter.AddMimeType("application/vnd.rn-realmedia"); //support for real media files (currently includes rmvb) videoFilesFilter.AddMimeType("application/vnd.rn-realmedia-vbr"); //this should be the real mime type for rmvb files dialog.AddFilter(videoFilesFilter); /* Audio files */ FileFilter audioFilesFilter = new FileFilter(); audioFilesFilter.Name = Catalog.GetString("All Audio Files"); audioFilesFilter.AddMimeType("audio/*"); audioFilesFilter.AddMimeType("application/ogg"); dialog.AddFilter(audioFilesFilter); /* All files */ FileFilter allFilesFilter = new FileFilter(); allFilesFilter.Name = Catalog.GetString("All Files"); allFilesFilter.AddPattern("*"); dialog.AddFilter(allFilesFilter); /* Set active filter */ dialog.Filter = videoFilesFilter; }
protected virtual void OpenClicked (object sender, System.EventArgs e) { FileChooserDialog dlg = new FileChooserDialog ( GettextCatalog.GetString ("Select Executable"), null, FileChooserAction.Open, "gtk-cancel", ResponseType.Cancel, "gtk-open", ResponseType.Accept ); dlg.SelectMultiple = false; dlg.LocalOnly = true; dlg.Modal = true; dlg.SetCurrentFolder (Environment.GetFolderPath (Environment.SpecialFolder.Personal)); FileFilter filterExe = new FileFilter (); filterExe.AddPattern ("*.exe"); filterExe.Name = GettextCatalog.GetString ("Executables"); FileFilter filterAll = new FileFilter (); filterAll.AddPattern ("*"); filterAll.Name = GettextCatalog.GetString ("All files"); dlg.AddFilter (filterExe); dlg.AddFilter (filterAll); if (dlg.Run () == (int)ResponseType.Accept) entryExecutable.Text = dlg.Filename; dlg.Destroy (); }
public override WindowResponse Show() { FileChooserAction fca = FileChooserAction.Open; switch(DialogType) { case FileDialogType.OpenFile: fca = FileChooserAction.Open; break; case FileDialogType.SelectFolder: fca = FileChooserAction.SelectFolder; break; case FileDialogType.SaveFile: fca = FileChooserAction.Save; break; } fc = new FileChooserDialog(Title, null, fca, Message.GetString("Cancel"), ResponseType.Cancel, Message.GetString("Select"), ResponseType.Ok); fc.SetCurrentFolder(InitialDirectory); foreach(FileTypeFilter filter in FileTypeFilters) { FileFilter ft = new FileFilter(); ft.Name = filter.FilterName; foreach(string pat in filter.Filter) ft.AddPattern("*." + pat); fc.AddFilter(ft); } WindowResponse resp = GtkHelper.GetResponse((ResponseType)fc.Run()); SelectedPath = fc.Filename; return resp; }
protected override void OnActivated() { base.OnActivated(); if(String.IsNullOrEmpty(MainClass.Workspace.FilePath)){ MessageDialogs md = new MessageDialogs(MessageDialogs.DialogButtonType.Ok, MainClass.Languages.Translate("workspace_not_exist"), MainClass.Languages.Translate("please_create_workspace"), Gtk.MessageType.Error); md.ShowDialog(); return; } Gtk.FileChooserDialog fc = new Gtk.FileChooserDialog(MainClass.Languages.Translate("chose_project_import"), MainClass.MainWindow, FileChooserAction.Open, "Cancel", ResponseType.Cancel, "Open", ResponseType.Accept); if (!String.IsNullOrEmpty(MainClass.Settings.LastOpenedImportDir)) fc.SetCurrentFolder(MainClass.Settings.LastOpenedImportDir); FileFilter filter = new FileFilter(); filter.Name = "zip files"; filter.AddMimeType("zip file"); filter.AddPattern("*.zip"); fc.AddFilter(filter); if (fc.Run() == (int)ResponseType.Accept) { MainClass.Settings.LastOpenedImportDir = System.IO.Path.GetDirectoryName(fc.Filename); MainClass.MainWindow.ImportProject(fc.Filename,true); } fc.Destroy(); }
protected void onAddClicked(object sender, System.EventArgs e) { String[] items = {}; FileChooserDialog dialog = new FileChooserDialog("Open", null, FileChooserAction.Open, "Cancel",ResponseType.Cancel, "Open",ResponseType.Accept); dialog.SelectMultiple=true; FileFilter filter = new FileFilter(); /*filter.AddPattern("*.jpg"); filter.AddPattern("*.jpeg"); filter.AddPattern("*.png"); filter.AddPattern("*.svg");*/ filter.AddMimeType("image/*"); dialog.Filter = filter; if(dialog.Run()==(int)ResponseType.Accept) { items = dialog.Filenames; } dialog.Destroy(); localfiles.LocalFiles.addItems(items); fillList(); }
private DatabaseSaveDialog(Window parent) { Glade.XML xml = new Glade.XML(null,"gui.glade","databaseSaveDialog",null); xml.Autoconnect(this); databaseSaveDialog.Icon = parent.Icon; // Conectamos las acciones de los botones del diálogo. databaseSaveDialog.AddActionWidget(btnSave,ResponseType.Ok); databaseSaveDialog.AddActionWidget(btnCancel,ResponseType.Cancel); // Añadimos los archivos de filtros soportados FileFilter filter1=new FileFilter(); filter1.Name="Archivo XML"; filter1.AddPattern("*.xml"); filter1.AddPattern("*.XML"); FileFilter filter2=new FileFilter(); filter2.Name="Base de datos de reconocimiento"; filter2.AddPattern("*.jilfml"); filter2.AddPattern("*.JILFML"); FileFilter filter3=new FileFilter(); filter3.Name="Todos los archivos"; filter3.AddPattern("*.*"); databaseSaveDialog.AddFilter(filter2); databaseSaveDialog.AddFilter(filter1); databaseSaveDialog.AddFilter(filter3); }
public ImageFileChooserDialog () : base (Catalog.GetString("Select album cover image"), FileChooserAction.Open) { AddButton (Stock.Cancel, ResponseType.Cancel); AddButton (Stock.Open, ResponseType.Ok); DefaultResponse = ResponseType.Ok; FileFilter filter = new FileFilter (); filter.Name = Catalog.GetString ("All image files"); filter.AddMimeType ("image/jpeg"); filter.AddMimeType ("image/png"); AddFilter (filter); Filter = filter; filter = new FileFilter (); filter.Name = Catalog.GetString ("JPEG image files"); filter.AddMimeType ("image/jpeg"); AddFilter (filter); filter = new FileFilter (); filter.Name = Catalog.GetString ("PNG image files"); filter.AddMimeType ("image/png"); AddFilter (filter); PreviewWidget = preview; }
private bool ShowSelectDatabaseDialog (out string database) { FileChooserDialog dlg = new FileChooserDialog ( AddinCatalog.GetString ("Open Database"), null, FileChooserAction.Open, "gtk-cancel", ResponseType.Cancel, "gtk-open", ResponseType.Accept ); dlg.SelectMultiple = false; dlg.LocalOnly = true; dlg.Modal = true; FileFilter filter = new FileFilter (); filter.AddMimeType ("application/x-sqlite2"); filter.AddMimeType ("application/x-sqlite3"); filter.AddPattern ("*.db"); filter.AddPattern ("*.sqlite"); filter.Name = AddinCatalog.GetString ("SQLite databases"); FileFilter filterAll = new FileFilter (); filterAll.AddPattern ("*"); filterAll.Name = AddinCatalog.GetString ("All files"); dlg.AddFilter (filter); dlg.AddFilter (filterAll); database = null; bool result = false; try { if (dlg.Run () == (int)ResponseType.Accept) { database = dlg.Filename; result = true; } } finally { dlg.Destroy (); } return result; }
/// <summary> /// Constructor de la clase LogSaveDialog. Crea y muestra el diálogo. /// </summary> public LogSaveDialog() { Glade.XML gxml = new Glade.XML (null,"gui.glade", "logSaveDialog", null); gxml.Autoconnect (this); FileFilter logFilter = new FileFilter(); logFilter.Name = "Archivo de registro"; logFilter.AddPattern("*.log"); logFilter.AddPattern("*.LOG"); FileFilter txtFilter = new FileFilter(); txtFilter.Name = "Archivo de texto"; txtFilter.AddPattern("*.txt"); txtFilter.AddPattern("*.TXT"); FileFilter allFilter = new FileFilter(); allFilter.Name = "Todos los archivos"; allFilter.AddPattern("*.*"); logSaveDialog.AddFilter(logFilter); logSaveDialog.AddFilter(txtFilter); logSaveDialog.AddFilter(allFilter); logSaveDialog.AddActionWidget(btnSave,ResponseType.Ok); logSaveDialog.AddActionWidget(btnCancel,ResponseType.Cancel); }
private void setupOpenDialog() { FileFilter filter; Glade.XML xml = getGlade("OpenDialog.glade"); xml.Autoconnect(this); filter = new FileFilter(); filter.Name = "All support files (*.fld, *.fld.gz, *.gat)"; filter.AddPattern("*.fld"); filter.AddPattern("*.fld.gz"); filter.AddPattern("*.gat"); openFileDialog.AddFilter(filter); filter = new FileFilter(); filter.Name = "OpenKore Field Files (*.fld, *.fld.gz)"; filter.AddPattern("*.fld"); filter.AddPattern("*.fld.gz"); openFileDialog.AddFilter(filter); filter = new FileFilter(); filter.Name = "Ragnarok Online Ground Files (*.gat)"; filter.AddPattern("*.gat"); openFileDialog.AddFilter(filter); filter = new FileFilter(); filter.Name = "All Files (*)"; filter.AddPattern("*"); openFileDialog.AddFilter(filter); openFileDialog.PreviewWidget = new FieldPreview(); openFileDialog.UpdatePreview += OnUpdatePreview; }
/// <summary> /// Adds the filters. Returns default extension /// </summary> /// <returns>The filters.</returns> /// <param name="dialog">Dialog.</param> private static string AddFilters(FileChooserDialog dialog) { string defaultExtension = "teml"; string cryptedFileExtension = "temlx"; // Add experiment files filter FileFilter fileFilter = new FileFilter(); fileFilter.AddPattern(string.Format("*.{0}", defaultExtension)); fileFilter.Name = Mono.Unix.Catalog.GetString(string.Format("Experiment files (.{0})", defaultExtension)); dialog.AddFilter(fileFilter); // Add experiment files filter //TLAB-67 //here: we check if the file is crypted, if it's so we ask the user to insert a password. then we decrypt the file and check the /// password. if the pwd is the same we contninue with the standard process, otherwise we raise and error FileFilter fileFilterCryptedFile = new FileFilter(); fileFilterCryptedFile.AddPattern(string.Format("*.{0}", cryptedFileExtension)); fileFilterCryptedFile.Name = Mono.Unix.Catalog.GetString(string.Format("Experiment files (.{0})", cryptedFileExtension)); dialog.AddFilter(fileFilterCryptedFile); //add another option of All files FileFilter allFilesFilter = new FileFilter(); allFilesFilter.Name = Mono.Unix.Catalog.GetString("All files"); allFilesFilter.AddPattern("*.*"); dialog.AddFilter(allFilesFilter); return defaultExtension; }
public AssemblyReferencePanel (SelectReferenceDialog selectDialog) { this.selectDialog = selectDialog; chooser = new FileChooserWidget (FileChooserAction.Open, ""); chooser.SetCurrentFolder (Environment.GetFolderPath (Environment.SpecialFolder.Personal)); chooser.SelectMultiple = true; // this should only allow dll's and exe's FileFilter filter = new FileFilter (); filter.Name = GettextCatalog.GetString ("Assemblies"); filter.AddPattern ("*.[Dd][Ll][Ll]"); filter.AddPattern ("*.[Ee][Xx][Ee]"); chooser.AddFilter (filter); chooser.FileActivated += new EventHandler (SelectReferenceDialog); PackStart (chooser, true, true, 0); PackStart (new Gtk.VSeparator(), false, false, 0); VBox box = new VBox (); Gtk.Button addButton = new Gtk.Button (Gtk.Stock.Add); addButton.Clicked += new EventHandler(SelectReferenceDialog); box.PackStart (addButton, false, false, 0); PackStart (box, false, false, 0); BorderWidth = 6; Spacing = 6; ShowAll(); }
/// <summary> /// Raises the activated event when the Import menu item is invoked. /// </summary> /// <param name='sender'> /// The Gtk.MenuItem. /// </param> /// <param name='args'> /// Arguments. /// </param> void OnImportActivated(object sender, EventArgs args) { var fc = new Gtk.FileChooserDialog("Choose a file to import", null, Gtk.FileChooserAction.Open, "Cancel", Gtk.ResponseType.Cancel, "Import", Gtk.ResponseType.Accept); try { fc.SetCurrentFolder("/media/LocalD/SolidProject/Tools/DataMorphose/plugins/ImportExport/test/DemoDB/Text/"); // then create a filter for files. For example .csvdb: // filter is not necessary if you wish to see all files in the dialog Gtk.FileFilter filter = new Gtk.FileFilter(); filter.Name = "CSV database"; filter.AddPattern("*.csvdb"); fc.AddFilter(filter); if (fc.Run() == (int)Gtk.ResponseType.Accept) { CSVImporter importer = new CSVImporter(/*firstRawIsHeader*/ true); DataModel model = morphose.GetModel(); Database db = importer.importDBFromFiles(fc.Filename); model.BeginUpdate(); model.DB = db; model.EndUpdate(); } } finally { fc.Destroy(); } }
static void GetClip() { // TODO: Do not offer to save clip after selection and popup a clickable tooltip instead. FileChooserDialog fcd = new FileChooserDialog("PixClip - Save clip as...", null, FileChooserAction.Save, "Cancel", ResponseType.Cancel, "Save", ResponseType.Accept); FileFilter fltJpg = new FileFilter(); fltJpg.AddMimeType("image/jpeg"); fltJpg.Name = "JPEG image format"; fcd.SetFilename("clip.jpg"); fcd.SetCurrentFolder(System.Environment.GetFolderPath(System.Environment.SpecialFolder.Desktop)); fcd.AddFilter(fltJpg); Console.WriteLine("main: selecting save target"); if (fcd.Run() == (int) ResponseType.Accept) { // TODO: Add quality setting to options form. // http://library.gnome.org/devel/gdk-pixbuf/stable/gdk-pixbuf-file-saving.html string [] keys = {"quality"}; string [] values = {"90"}; pixClip.Savev(fcd.Filename, "jpeg", keys, values); Console.WriteLine("main: image saved"); } else { Console.WriteLine("main: image save canceled"); } fcd.Destroy(); Clipboard clip = Gtk.Clipboard.Get(Atom.Intern("CLIPBOARD", false)); clip.Image = pixClip; Console.WriteLine("main: image added to the clipboard"); }
public static byte[] GetTemplateFromDisk() { //Читаем файл документа FileChooserDialog Chooser = new FileChooserDialog ("Выберите шаблон документа...", null, FileChooserAction.Open, "Отмена", ResponseType.Cancel, "Выбрать", ResponseType.Accept); FileFilter Filter = new FileFilter (); Filter.Name = "ODT документы и OTT шаблоны"; Filter.AddMimeType ("application/vnd.oasis.opendocument.text"); Filter.AddMimeType ("application/vnd.oasis.opendocument.text-template"); Filter.AddPattern ("*.odt"); Filter.AddPattern ("*.ott"); Chooser.AddFilter (Filter); Filter = new FileFilter (); Filter.Name = "Все файлы"; Filter.AddPattern ("*.*"); Chooser.AddFilter (Filter); byte[] file = null; if ((ResponseType)Chooser.Run () == ResponseType.Accept) { Chooser.Hide (); logger.Info ("Чтение файла..."); file = File.ReadAllBytes(Chooser.Filename); logger.Info ("Ok"); } Chooser.Destroy (); return file; }
protected override void OnActivated() { base.OnActivated(); Gtk.FileChooserDialog fc = new Gtk.FileChooserDialog(MainClass.Languages.Translate("chose_workspace_open"), MainClass.MainWindow, FileChooserAction.Open, "Cancel", ResponseType.Cancel, "Open", ResponseType.Accept); FileFilter filter = new FileFilter(); filter.Name = "Workspace files"; filter.AddMimeType("Workspace file"); filter.AddPattern("*.msw"); fc.AddFilter(filter); if (!String.IsNullOrEmpty(MainClass.Settings.LastOpenedWorkspaceDir)) fc.SetCurrentFolder(MainClass.Settings.LastOpenedWorkspaceDir); if (fc.Run() == (int)ResponseType.Accept) { MainClass.Settings.LastOpenedWorkspaceDir = System.IO.Path.GetDirectoryName(fc.Filename); //CloseActualWorkspace(); Workspace.Workspace workspace = Workspace.Workspace.OpenWorkspace(fc.Filename); if (workspace != null){ //MainClass.Settings.RecentFiles.AddWorkspace(fc.Filename,fc.Filename); MainClass.MainWindow.ReloadWorkspace(workspace,true,true); } } fc.Destroy(); }
private void HandleOpenAction() { CustomFileChooserDialog dlg = new CustomFileChooserDialog(this, "Open pack", FileChooserAction.Open); dlg.FileChooser.SelectMultiple = false; Packer.SupportedExtensions.ToList().ForEach(ext => { using (Gtk.FileFilter filter = new Gtk.FileFilter()) { filter.Name = ext.ToUpper(); filter.AddPattern("*." + ext); dlg.FileChooser.AddFilter(filter); } }); dlg.Ok += (sender, e) => { if (fileSystem != null) { fileSystem.Close(); } fileSystem = null; OpenPack(dlg.FileChooser.Filename); dlg.Destroy(); }; dlg.Cancel += (sender, e) => dlg.Destroy(); dlg.Show(); }
void OpenFile(string title, string filterName, string filter) { var fc = new Gtk.FileChooserDialog(title, this, Gtk.FileChooserAction.Open, "Cancel", Gtk.ResponseType.Cancel, "Open", Gtk.ResponseType.Accept); var f = new Gtk.FileFilter(); f.Name = filterName; f.AddPattern(filter); fc.AddFilter(f); if (fc.Run() == (int)Gtk.ResponseType.Accept) { if (filterName == ".keystore") { entryCustomKeystore.Text = fc.Filename; } else if (filterName == "keytool") { entryKeytool.Text = fc.Filename; } } fc.Destroy(); }
protected void OnSaveButtonClicked(object sender, EventArgs e) { try { FileChooserDialog fc = new FileChooserDialog("Save Filterset", this, FileChooserAction.Save, "Cancel", ResponseType.Cancel, "Save", ResponseType.Accept); FileFilter filter = new FileFilter(); filter.Name = "DeSERt Filterset"; filter.AddMimeType("Filterset/fis"); filter.AddPattern("*.fis"); fc.AddFilter(filter); fc.DoOverwriteConfirmation = true; fc.CurrentName = FiltersetnameEntry.Text.Replace(" ", "-"); if (Directory.Exists(MySettings.LastFilterDir)) { fc.SetCurrentFolder(MySettings.LastFilterDir); } ResponseType res = (ResponseType)fc.Run(); if (res == ResponseType.Ok || res == ResponseType.Close) { string path; if (!System.IO.Path.HasExtension(fc.Filename)) { path = fc.Filename + ".fis"; } else { path = fc.Filename; } MySettings.LastFilterDir = System.IO.Path.GetDirectoryName(fc.Filename); MySettings.Save(); fst.Name = FiltersetnameEntry.Text; Filterset.SaveFilterset(path, fst); saved = true; } fc.Destroy(); if (res == ResponseType.Close) { this.Destroy(); } } catch (Exception ex) { ErrorReport.ReportError("Save Button (Create Filterset)", ex); } }
public static FileFilter FileTypesToGtkFilter(params FileTypes[] types) { FileFilter filter = new FileFilter(); for (int i = 0; i < types.Length; i++) { FileTypes type = types[i]; switch (type) { case FileTypes.Images: filter.AddPattern("*.jpg"); filter.AddPattern("*.png"); filter.AddPattern("*.bmp"); filter.Name += "Images "; break; case FileTypes.JPG: filter.AddPattern("*.jpg"); filter.Name += "Jpg "; break; case FileTypes.PNG: filter.AddPattern("*.png"); filter.Name += "Png "; break; case FileTypes.BMP: filter.AddPattern("*.bmp"); filter.Name += "Bmp "; break; } } return filter; }
#pragma warning restore 0169 private FileFilter CreateAssemblyFilter () { FileFilter fileFilter = new FileFilter (); fileFilter.Name = "Assemblies"; fileFilter.AddPattern ("*.dll"); fileFilter.AddPattern ("*.exe"); return fileFilter; }
public void AddFilter(string name, string pattern) { var filter = new FileFilter(); filter.Name = name; filter.AddPattern(pattern); dialog.AddFilter(filter); }
protected override void OnActivated() { base.OnActivated(); if(String.IsNullOrEmpty(MainClass.Workspace.FilePath)){ MessageDialogs md = new MessageDialogs(MessageDialogs.DialogButtonType.Ok, MainClass.Languages.Translate("workspace_not_exist"), MainClass.Languages.Translate("please_create_workspace"), Gtk.MessageType.Error); md.ShowDialog(); return; } Gtk.FileChooserDialog fc = new Gtk.FileChooserDialog(MainClass.Languages.Translate("save_project_export"), MainClass.MainWindow, FileChooserAction.Save, "Cancel", ResponseType.Cancel, "Save", ResponseType.Accept); if (!String.IsNullOrEmpty(MainClass.Settings.LastOpenedExportDir)) fc.SetCurrentFolder(MainClass.Settings.LastOpenedExportDir); FileFilter filter = new FileFilter(); filter.Name = "zip files"; filter.AddMimeType("zip file"); filter.AddPattern("*.zip"); fc.AddFilter(filter); string appname = ""; int typ = -1; Gtk.TreeIter ti = new Gtk.TreeIter(); MainClass.MainWindow.WorkspaceTree.GetSelectedFile(out appname, out typ, out ti); if (String.IsNullOrEmpty(appname)){ return; } Project p = MainClass.Workspace.FindProject_byApp(appname, true); if(p== null){ return; } fc.CurrentName =p.ProjectName+"_"+p.AppFile.Version.Replace(".","_") ; //fc.SetFilename(p.ProjectName); if (fc.Run() != (int)ResponseType.Accept) { fc.Destroy(); return; } string name =fc.Filename; string ext = System.IO.Path.GetExtension(name); if(ext.ToLower() != ".zip"){ name = name+".zip"; } if(p!= null){ p.Export(name,true); MainClass.Settings.LastOpenedExportDir = System.IO.Path.GetDirectoryName(fc.Filename); } fc.Destroy(); }
protected void OnOpen(object sender, EventArgs e) { Gtk.FileChooserDialog dialog = new Gtk.FileChooserDialog("Open Document", (Gtk.Window) this.Toplevel, Gtk.FileChooserAction.Open); dialog.AddButton(Gtk.Stock.Cancel, Gtk.ResponseType.Cancel); dialog.AddButton(Gtk.Stock.Open, Gtk.ResponseType.Accept); dialog.DefaultResponse = Gtk.ResponseType.Cancel; dialog.LocalOnly = true; Gtk.FileFilter filter = new Gtk.FileFilter(); filter.Name = "doc/pdf"; filter.AddMimeType("application/pdf"); filter.AddMimeType("application/ps"); filter.AddMimeType("application/eps"); filter.AddMimeType("application/pcl"); filter.AddMimeType("application/xps"); filter.AddMimeType("application/oxps"); filter.AddPattern("*.pdf"); filter.AddPattern("*.ps"); filter.AddPattern("*.eps"); filter.AddPattern("*.bin"); filter.AddPattern("*.xps"); filter.AddPattern("*.oxps"); dialog.Filter = filter; int response = dialog.Run(); if (response != (int)Gtk.ResponseType.Accept) { dialog.Destroy(); return; } if (m_file_open) { /* launch a new process */ string path = System.Reflection.Assembly.GetExecutingAssembly().Location; Process p = new Process(); try { String name = dialog.Filename; Process.Start(path, name); } catch (Exception except) { Console.WriteLine("Problem opening file: " + except.Message); } dialog.Destroy(); return; } m_currfile = dialog.Filename; dialog.Destroy(); ProcessFile(); }
public static FileFilter GetFileFilter() { FileFilter filter = new FileFilter(); filter.Name = "Images"; filter.AddPattern("*.png"); filter.AddPattern("*.jpg"); filter.AddPattern("*.jpeg"); return filter; }
public MainWindow() : base(Gtk.WindowType.Toplevel) { Build (); Gtk.FileFilter fileFilter = new Gtk.FileFilter(); fileFilter.AddPattern("blue.dll"); ChooseFile.Filter = fileFilter; }
protected void OnImportImage(object o, EventArgs e) { FileChooserDialog fileChooser = new FileChooserDialog("Select ImageFile", MainWindow, FileChooserAction.Open, new object[] {}); fileChooser.AddButton(Gtk.Stock.Cancel, Gtk.ResponseType.Cancel); fileChooser.AddButton(Gtk.Stock.Ok, Gtk.ResponseType.Ok); fileChooser.DefaultResponse = Gtk.ResponseType.Ok; Gtk.FileFilter all = new Gtk.FileFilter(); all.Name = "All Files"; all.AddPattern("*"); fileChooser.AddFilter(all); int result = fileChooser.Run(); fileChooser.Hide(); if (result != (int)ResponseType.Ok) { return; } string file = fileChooser.Filename; string trim = tilesetdir + "/"; if (!file.StartsWith(trim)) { Console.WriteLine( "Imported file must be located inside tileset directory"); return; } ChangeImage(file.TrimStart(trim.ToCharArray())); int startid = tileset.Tiles.Count; for (int y = 0; y < TilesY; ++y) { for (int x = 0; x < TilesX; ++x) { int i = y * TilesX + x; Tile tile = new Tile(); tile.ID = startid + i; ImageRegion region = new ImageRegion(); region.ImageFile = currentimage; region.Region = new System.Drawing.Rectangle(x * TileSet.TILE_WIDTH, y * TileSet.TILE_HEIGHT, TileSet.TILE_WIDTH, TileSet.TILE_HEIGHT); tile.Images.Add(region); if (Tiles[i] != null) { Console.WriteLine( "Warning Tile in this region already existed..."); } Tiles[i] = tile; tileset.Tiles.Add(tile); } } FillTileList(); }
public CopyMoveDialog() { this.Build (); FileFilter filter = new FileFilter (); filter.Name = "OCM Databases"; filter.AddPattern ("*.ocm"); chooser.AddFilter (filter); chooser.SelectionChanged += HandleChooserSelectionChanged; buttonOk.Sensitive = false; }
protected virtual void OnButtonInstallFromFileClicked(object sender, System.EventArgs e) { string[] files; Gtk.FileChooserDialog dlg = new Gtk.FileChooserDialog(Catalog.GetString("Install Add-in Package"), this, FileChooserAction.Open); try { if (lastFolder != null) { dlg.SetCurrentFolder(lastFolder); } else { dlg.SetCurrentFolder(Environment.GetFolderPath(Environment.SpecialFolder.Personal)); } dlg.SelectMultiple = true; Gtk.FileFilter f = new Gtk.FileFilter(); f.AddPattern("*.mpack"); f.Name = Catalog.GetString("Add-in packages"); dlg.AddFilter(f); f = new Gtk.FileFilter(); f.AddPattern("*"); f.Name = Catalog.GetString("All files"); dlg.AddFilter(f); dlg.AddButton(Gtk.Stock.Cancel, ResponseType.Cancel); dlg.AddButton(Gtk.Stock.Open, ResponseType.Ok); if (dlg.Run() != (int)Gtk.ResponseType.Ok) { return; } files = dlg.Filenames; lastFolder = dlg.CurrentFolder; } finally { dlg.Destroy(); } InstallDialog idlg = new InstallDialog(this, service); try { idlg.InitForInstall(files); if (idlg.Run() == (int)Gtk.ResponseType.Ok) { LoadAll(); } } finally { idlg.Destroy(); } }
protected void OnImportCommandsButtonPress(object sender, EventArgs e) { Gtk.FileChooserDialog fileChooser = new Gtk.FileChooserDialog ("Choose files" , this , FileChooserAction.Open , "Select" , ResponseType.Accept , "Cancel" , ResponseType.Close); Gtk.FileFilter xmlFileFilter = new Gtk.FileFilter(); xmlFileFilter.AddPattern("*.xml"); fileChooser.AddFilter(xmlFileFilter); int response = fileChooser.Run(); if (response == Utils.static_cast <int>(ResponseType.Close)) { UIUtils.ShutDownWindow(ref fileChooser); } else if (response == Utils.static_cast <int>(ResponseType.Accept)) { string fullPath = fileChooser.Filename; UIUtils.ShutDownWindow(ref fileChooser); GameConfigDescriptorLoader loader = new GameConfigDescriptorLoader(fullPath); FileOperationResult fileOperationResult = loader.Load(); if (fileOperationResult.IsSuccess()) { GameConfigDB sourceConfigDB = loader.GetConfig(); UITabPage currentTabPage = GetCurrentTabPage(); GameConfigDB targetConfigDB = currentTabPage.GetGameConfig(); foreach (GameConfigSectionDescriptor sectionDescriptor in sourceConfigDB.GetSections()) { targetConfigDB.AddSection(sectionDescriptor); currentTabPage.AddNewSection(sectionDescriptor); } currentTabPage.RefreshCanvas(); } else { UIUtils.ShutDownWindowSafe(ref _windowPrompt); _windowPrompt = new WindowPrompt(fileOperationResult.GetResult()); _windowPrompt.OnAcceptEvent += OnAlertAccept; _windowPrompt.SetCancelVisible(false); _windowPrompt.Show(); MainApp.GetInstance().MoveWindowToMousePos(_windowPrompt); } } }
public ImportDialog() { this.Build (); FileFilter filter = new FileFilter (); filter.Name = "Waypoint Files"; filter.AddPattern ("*.gpx"); filter.AddPattern ("*.loc"); filter.AddPattern ("*.zip"); fileWidget.AddFilter (filter); UpdateBookMarkCombo(); }
public bool OpenFileDialog(OpenFileDialogParams openParams, Action <OpenFileDialogParams> callback) { WinformsSystemWindow.ShowingSystemDialog = true; Gtk.Application.Init(); Gtk.FileChooserDialog fc = new Gtk.FileChooserDialog(openParams.Title, null, FileChooserAction.Open, "Cancel", ResponseType.Cancel, "Open", ResponseType.Accept); if (openParams.InitialDirectory != null) { fc.SetCurrentFolder(openParams.InitialDirectory); } fc.SelectMultiple = openParams.MultiSelect; Gtk.FileFilter filter = new Gtk.FileFilter(); filter.Name = openParams.Filter.Split('|')[0]; string[] extensions = openParams.Filter.Split('|') [1].Split(';'); foreach (string e in extensions) { filter.AddPattern(e.ToLower()); filter.AddPattern(e.ToUpper()); } fc.AddFilter(filter); // fc.Show(); // fc.Present(); fc.KeepAbove = true; if (fc.Run() == (int)ResponseType.Accept) { this.LastDirectoryUsed = Path.GetDirectoryName(fc.Filename); openParams.FileNames = fc.Filenames; openParams.FileName = fc.Filename; UiThread.RunOnIdle(() => { callback(openParams); }); } fc.Destroy(); while (Gtk.Application.EventsPending()) { Gtk.Main.Iteration(); } WinformsSystemWindow.ShowingSystemDialog = false; return(true); }
/// <summary> /// add a new filepattern to the filechooserbutton (e.g. *.xml) /// </summary> /// <param name='pattern'> /// Pattern. /// </param> public void AddPattern(String pattern) { if (CurrentFilter == null) { CurrentFilter = new Gtk.FileFilter(); CurrentFilter.AddPattern(pattern); Chooser.Filter = CurrentFilter; } else { CurrentFilter.AddPattern(pattern); } }
public override bool OpenFileDialog(OpenFileDialogParams openParams, Action <OpenFileDialogParams> callback) { WidgetForWindowsFormsAbstract.MainWindowsFormsWindow.ShowingSystemDialog = true; Gtk.FileChooserDialog fc = new Gtk.FileChooserDialog(openParams.Title, null, FileChooserAction.Open, "Cancel", ResponseType.Cancel, "Open", ResponseType.Accept); fc.SetCurrentFolder(openParams.InitialDirectory); fc.SelectMultiple = openParams.MultiSelect; Gtk.FileFilter filter = new Gtk.FileFilter(); filter.Name = openParams.Filter.Split('|')[0]; string[] extensions = openParams.Filter.Split('|') [1].Split(';'); foreach (string e in extensions) { filter.AddPattern(e.ToLower()); filter.AddPattern(e.ToUpper()); } fc.AddFilter(filter); Gtk.Application.Init(); if (fc.Run() == (int)ResponseType.Accept) { openParams.FileNames = fc.Filenames; openParams.FileName = fc.Filename; UiThread.RunOnIdle((state) => { OpenFileDialogParams openParamsIn = state as OpenFileDialogParams; if (openParamsIn != null) { callback(openParamsIn); } }, openParams); } fc.Destroy(); while (Gtk.Application.EventsPending()) { Gtk.Main.Iteration(); } WidgetForWindowsFormsAbstract.MainWindowsFormsWindow.ShowingSystemDialog = false; return(true); }
private void OpenFileFromMenu(object sender, EventArgs a) { Gtk.FileChooserDialog dialog = new Gtk.FileChooserDialog("Open File", null, FileChooserAction.Open, "Open", Gtk.ResponseType.Accept, "Cancel", Gtk.ResponseType.Cancel); dialog.SelectMultiple = true; Gtk.FileFilter filter = new Gtk.FileFilter(); filter.Name = "ogg File"; filter.AddPattern("*.ogg"); dialog.AddFilter(filter); if (dialog.Run() == (int)ResponseType.Accept) { AddSongs(dialog.Filenames); } dialog.Destroy(); }
public bool SaveFileDialog(SaveFileDialogParams saveParams, Action <SaveFileDialogParams> callback) { WinformsSystemWindow.ShowingSystemDialog = true; Gtk.Application.Init(); Gtk.FileChooserDialog fc = new Gtk.FileChooserDialog(saveParams.Title, null, FileChooserAction.Save, "Cancel", ResponseType.Cancel, "Save", ResponseType.Accept); Gtk.FileFilter filter = new Gtk.FileFilter(); filter.Name = saveParams.Filter.Split('|')[0]; string[] extensions = saveParams.Filter.Split('|')[1].Split(';'); foreach (string e in extensions) { filter.AddPattern(e.ToLower()); } fc.AddFilter(filter); //Set default filename and add file extension fc.CurrentName = saveParams.FileName + extensions[0].TrimStart('*'); if (saveParams.InitialDirectory != null) { fc.SetCurrentFolder(saveParams.InitialDirectory); } fc.KeepAbove = true; if (fc.Run() == (int)ResponseType.Accept) { this.LastDirectoryUsed = Path.GetDirectoryName(fc.Filename); saveParams.FileName = fc.Filename; UiThread.RunOnIdle(() => { callback(saveParams); }); } fc.Destroy(); while (Gtk.Application.EventsPending()) { Gtk.Main.Iteration(); } WinformsSystemWindow.ShowingSystemDialog = false; return(true); }
private static void AddFilters(FileChooserDialog dialog) { // Add experiment files filter FileFilter fileFilter = new FileFilter(); fileFilter.AddPattern("*.teml"); fileFilter.Name = Mono.Unix.Catalog.GetString("Experiment files (.teml)"); dialog.AddFilter(fileFilter); //add another option of All files FileFilter allFilesFilter = new FileFilter(); allFilesFilter.Name = Mono.Unix.Catalog.GetString("All files"); allFilesFilter.AddPattern("*.*"); dialog.AddFilter(allFilesFilter); }
public MainWindow2() : base(Gtk.WindowType.Toplevel) { this.Build(); m_app = new App(); m_app.Should += delegate(Act action) { switch (action) { case Act.AnalyzeHorizontal: return IsHorizontalActive; case Act.AnalyzeVertical: return IsVerticalActive; case Act.AnalyzeIslands: return IsIslandsActive; case Act.Analyze: return true; case Act.Clean: return IsCleanActive; case Act.RemoveBackground: return IsRemoveBackgroundActive; case Act.RefreshIslandsOutputAction: return true; case Act.Process: return true; } #if DEBUG throw new NotImplementedException(action.ToString()); #else return false; #endif }; m_app.UpdateInterface += delegate(object sender, UIEventArgs e) { var app = m_app; switch (e.UI) { case UI.Output: textviewOutput.Buffer.Text = app.Output; return; case UI.ErrorMessage: ShowError(app.ErrorMessage); return; case UI.Filename: return; case UI.IslandEditor: islandeditor1.App = m_app; islandeditor1.QueueDraw(); return; case UI.CompletedTask: ShowCompleted(app.Task); return; } #if DEBUG throw new NotImplementedException(e.UI.ToString()); #endif }; comboboxMode.Active = 0; comboboxProcess.Active = 0; islandeditor1.App = m_app; var filter = new FileFilter(); filter.AddPattern("*.png"); filter.AddPattern("*.PNG"); filechooserbuttonOpen.AddFilter(filter); }
/// <summary> /// Choose file to save contacts. /// </summary> private string ChooseFileToSave(string dialogTitle) { string fileToSave = ""; // New dialog to save sim contacts on file Gtk.FileChooserDialog FileBox = new Gtk.FileChooserDialog(dialogTitle, MainWindow, FileChooserAction.Save, GlobalObjUI.LMan.GetString("cancellbl"), Gtk.ResponseType.Cancel, GlobalObjUI.LMan.GetString("savelbl"), Gtk.ResponseType.Accept); // Filter for using only monosim files Gtk.FileFilter myFilter = new Gtk.FileFilter(); myFilter.AddPattern("*.monosim"); myFilter.Name = "monosim files"; FileBox.AddFilter(myFilter); // Manage result of dialog box FileBox.Icon = Gdk.Pixbuf.LoadFromResource("monosim.png"); int retFileBox = FileBox.Run(); if ((ResponseType)retFileBox == Gtk.ResponseType.Accept) { // path of a right file returned fileToSave = FileBox.Filename; string chkfile = fileToSave.PadLeft(9).ToLower(); if (chkfile.Substring(chkfile.Length - 8) != ".monosim") { fileToSave += ".monosim"; } FileBox.Destroy(); FileBox.Dispose(); } else { // nothing returned FileBox.Destroy(); FileBox.Dispose(); return(""); } return(fileToSave); }
/// <summary> /// Open command file /// </summary> private void OpenCommandFile() { // New dialog for select command file Gtk.FileChooserDialog FileBox = new Gtk.FileChooserDialog(GlobalObj.LMan.GetString("selectfile"), MainWindow, FileChooserAction.Open, GlobalObj.LMan.GetString("cancellbl"), Gtk.ResponseType.Cancel, GlobalObj.LMan.GetString("openlbl"), Gtk.ResponseType.Accept); // Filter to use only comex files Gtk.FileFilter myFilter = new Gtk.FileFilter(); myFilter.AddPattern("*.comex"); myFilter.Name = "comex project files (*.comex)"; FileBox.AddFilter(myFilter); // Manage result of dialog box FileBox.Icon = Gdk.Pixbuf.LoadFromResource("comex_256.png"); int retFileBox = FileBox.Run(); if ((ResponseType)retFileBox == Gtk.ResponseType.Accept) { // path of a right file returned commandFilePath = FileBox.Filename; commandFileName = System.IO.Path.GetFileNameWithoutExtension(commandFilePath); log.Debug("file selected: " + commandFilePath); UpdateGuiForCommandFile(); FileBox.Destroy(); FileBox.Dispose(); } else { // nothing returned FileBox.Destroy(); FileBox.Dispose(); return; } }
private void HandleAddFilesAction() { if (fileSystem == null) { return; } CustomFileChooserDialog dlg = new CustomFileChooserDialog(this, "Add files to pack", FileChooserAction.Open); dlg.FileChooser.SelectMultiple = true; using (Gtk.FileFilter filter = new Gtk.FileFilter()) { filter.Name = "All"; filter.AddPattern("*.*"); dlg.FileChooser.AddFilter(filter); } dlg.Ok += (sender, e) => { packTreeView.Selection.UnselectAll(); waitWindow = new WaitWindow(this, "Adding", ""); waitWindow.Show(); ThreadNotify done = new ThreadNotify(new ReadyEvent(() => { dlg.Destroy(); waitWindow.Destroy(); waitWindow = null; })); new Thread(new ThreadStart(() => { dlg.FileChooser.Filenames.ToList().ForEach( file => AppendFile(currentFolder, file)); done.WakeupMain(); })).Start(); }; dlg.Cancel += (sender, e) => dlg.Destroy(); dlg.Show(); }
public void OnOpenActivate(object o, EventArgs args) { string filename = null; //FileSelection openFileDialog = new FileSelection ("Open File"); Gtk.FileFilter txtFileFilter = new Gtk.FileFilter(); txtFileFilter.AddPattern("*.txt"); txtFileFilter.Name = "Plain Text"; Gtk.FileChooserDialog openFileDialog = new Gtk.FileChooserDialog("Open file", mindFire, FileChooserAction.Open, Stock.Cancel, ResponseType.Cancel, Stock.Open, ResponseType.Ok); //openFileDialog.Complete ("*.txt"); //openFileDialog.HideFileopButtons (); openFileDialog.AddFilter(txtFileFilter); openFileDialog.Run(); filename = openFileDialog.Filename; if (File.Exists(filename)) { // Check mimetype OpenFile(filename); } openFileDialog.Destroy(); }
private void file_dialog() { Gtk.FileChooserDialog filechooser = new Gtk.FileChooserDialog("Pick the sh.tex", this, FileChooserAction.Open, "Cancel", ResponseType.Cancel, "Open", ResponseType.Accept); Gtk.FileFilter filter = new Gtk.FileFilter(); filter.Name = "tex"; filter.AddPattern("sh.tex"); filechooser.Filter = filter; if (filechooser.Run() == (int)ResponseType.Accept) { filepath = filechooser.Filename; load_file(); } filechooser.Destroy(); }
protected void OnOpen(object o, EventArgs e) { FileChooserDialog fileChooser = new FileChooserDialog("Select TileSet", MainWindow, FileChooserAction.Open, new object[] {}); fileChooser.AddButton(Gtk.Stock.Cancel, Gtk.ResponseType.Cancel); fileChooser.AddButton(Gtk.Stock.Ok, Gtk.ResponseType.Ok); fileChooser.DefaultResponse = Gtk.ResponseType.Ok; Gtk.FileFilter filter; filter = new Gtk.FileFilter(); filter.Name = "Supertux tilesets"; filter.AddPattern("*.strf"); filter.AddPattern("*.stgt"); fileChooser.AddFilter(filter); filter = new Gtk.FileFilter(); filter.Name = "Supertux 0.1.x tilesets"; filter.AddPattern("*.stgt"); fileChooser.AddFilter(filter); filter = new Gtk.FileFilter(); filter.Name = "Supertux 0.3.x tilesets"; filter.AddPattern("*.strf"); fileChooser.AddFilter(filter); Gtk.FileFilter all = new Gtk.FileFilter(); all.Name = "All Files"; all.AddPattern("*"); fileChooser.AddFilter(all); int result = fileChooser.Run(); fileChooser.Hide(); if (result != (int)ResponseType.Ok) { return; } LoadTileSet(fileChooser.Filename); }
protected void OnTargetNMMLFileButtonClicked(object sender, System.EventArgs e) { Gtk.FileChooserDialog fc = new Gtk.FileChooserDialog("Target NMML file", this.Toplevel as Gtk.Window, FileChooserAction.Open, "Cancel", ResponseType.Cancel, "Select", ResponseType.Accept); Gtk.FileFilter filterNMML = new Gtk.FileFilter(); filterNMML.Name = "NMML Files"; filterNMML.AddPattern("*.nmml"); Gtk.FileFilter filterAll = new Gtk.FileFilter(); filterAll.Name = "All Files"; filterAll.AddPattern("*"); fc.AddFilter(filterNMML); fc.AddFilter(filterAll); if (mProject.TargetNMMLFile != "") { fc.SetFilename(mProject.TargetNMMLFile); } else { fc.SetFilename(mProject.BaseDirectory); } if (fc.Run() == (int)ResponseType.Accept) { string path = PathHelper.ToRelativePath(fc.Filename, mProject.BaseDirectory); TargetNMMLFileEntry.Text = path; } fc.Destroy(); }
protected void OnPdfActionActivated(object sender, System.EventArgs e) { // ********************************* object[] param = new object[4]; param[0] = "Cancel"; param[1] = Gtk.ResponseType.Cancel; param[2] = "Save"; param[3] = Gtk.ResponseType.Accept; Gtk.FileChooserDialog fc = new Gtk.FileChooserDialog("Save File As", null, Gtk.FileChooserAction.Save, param); fc.CurrentName = DefaultExportFileName ?? report.Name; Gtk.FileFilter pdfFilter = new Gtk.FileFilter(); pdfFilter.Name = "PDF"; Gtk.FileFilter csvFilter = new Gtk.FileFilter(); csvFilter.Name = "CSV"; Gtk.FileFilter asphtmlFilter = new Gtk.FileFilter(); asphtmlFilter.Name = "ASP HTML"; Gtk.FileFilter excel2007 = new Gtk.FileFilter(); excel2007.Name = "Excel 2007"; Gtk.FileFilter htmlFilter = new Gtk.FileFilter(); htmlFilter.Name = "HTML"; Gtk.FileFilter mhtmlFilter = new Gtk.FileFilter(); mhtmlFilter.Name = "MHTML"; Gtk.FileFilter rtfFilter = new Gtk.FileFilter(); rtfFilter.Name = "RTF"; Gtk.FileFilter xmlFilter = new Gtk.FileFilter(); xmlFilter.Name = "XML"; fc.AddFilter(pdfFilter); fc.AddFilter(csvFilter); fc.AddFilter(asphtmlFilter); fc.AddFilter(excel2007); fc.AddFilter(htmlFilter); fc.AddFilter(mhtmlFilter); fc.AddFilter(xmlFilter); if (fc.Run() == (int)Gtk.ResponseType.Accept) { try { // Must use the RunGetData before each export or there is no data. report.RunGetData(this.Parameters); string filename = fc.Filename; OutputPresentationType exportType = OutputPresentationType.PDF; if (fc.Filter.Name == "CSV") { exportType = OutputPresentationType.CSV; if (filename.ToLower().Trim().EndsWith(".csv") == false) { filename = filename + ".csv"; } } else if (fc.Filter.Name == "PDF") { exportType = OutputPresentationType.PDF; if (filename.ToLower().Trim().EndsWith(".pdf") == false) { filename = filename + ".pdf"; } } else if (fc.Filter.Name == "ASP HTML") { exportType = OutputPresentationType.ASPHTML; if (filename.ToLower().Trim().EndsWith(".asphtml") == false) { filename = filename + ".asphtml"; } } else if (fc.Filter.Name == "Excel 2007") { exportType = OutputPresentationType.Excel; if (filename.ToLower().Trim().EndsWith(".xlsx") == false) { filename = filename + ".xlsx"; } } else if (fc.Filter.Name == "HTML") { exportType = OutputPresentationType.HTML; if (filename.ToLower().Trim().EndsWith(".html") == false) { filename = filename + ".html"; } } else if (fc.Filter.Name == "MHTML") { exportType = OutputPresentationType.MHTML; if (filename.ToLower().Trim().EndsWith(".mhtml") == false) { filename = filename + ".mhtml"; } } else if (fc.Filter.Name == "XML") { exportType = OutputPresentationType.XML; if (filename.ToLower().Trim().EndsWith(".xml") == false) { filename = filename + ".xml"; } } ExportReport(report, filename, exportType); } catch (Exception ex) { Gtk.MessageDialog m = new Gtk.MessageDialog(null, Gtk.DialogFlags.Modal, Gtk.MessageType.Info, Gtk.ButtonsType.Ok, false, "Error Saving Copy of PDF." + System.Environment.NewLine + ex.Message); m.Run(); m.Destroy(); } } //Don't forget to call Destroy() or the FileChooserDialog window won't get closed. fc.Destroy(); }
protected void OnPdfActionActivated(object sender, System.EventArgs e) { // ********************************* object[] param = new object[4]; param[0] = "Cancel"; param[1] = Gtk.ResponseType.Cancel; param[2] = "Save"; param[3] = Gtk.ResponseType.Accept; Gtk.FileChooserDialog fc = new Gtk.FileChooserDialog("Save File As", null, Gtk.FileChooserAction.Save, param); fc.CurrentName = DefaultExportFileName ?? report.Name; if (!restrictedOutputPresentationTypes.Contains(OutputPresentationType.PDF)) { Gtk.FileFilter pdfFilter = new Gtk.FileFilter { Name = "PDF" }; fc.AddFilter(pdfFilter); } if (!restrictedOutputPresentationTypes.Contains(OutputPresentationType.CSV)) { Gtk.FileFilter csvFilter = new Gtk.FileFilter { Name = "CSV" }; fc.AddFilter(csvFilter); } if (!restrictedOutputPresentationTypes.Contains(OutputPresentationType.ExcelTableOnly)) { Gtk.FileFilter excel2007Data = new Gtk.FileFilter { Name = "Excel no formatting (Fast)" }; fc.AddFilter(excel2007Data); } if (!restrictedOutputPresentationTypes.Contains(OutputPresentationType.Excel2007)) { Gtk.FileFilter excel2007 = new Gtk.FileFilter { Name = "Excel with formatting (Slow)" }; fc.AddFilter(excel2007); } if (!restrictedOutputPresentationTypes.Contains(OutputPresentationType.TIF)) { Gtk.FileFilter tiffFilter = new Gtk.FileFilter { Name = "TIFF" }; fc.AddFilter(tiffFilter); } if (!restrictedOutputPresentationTypes.Contains(OutputPresentationType.ASPHTML)) { Gtk.FileFilter asphtmlFilter = new Gtk.FileFilter { Name = "ASP HTML" }; fc.AddFilter(asphtmlFilter); } if (!restrictedOutputPresentationTypes.Contains(OutputPresentationType.HTML)) { Gtk.FileFilter htmlFilter = new Gtk.FileFilter { Name = "HTML" }; fc.AddFilter(htmlFilter); } if (!restrictedOutputPresentationTypes.Contains(OutputPresentationType.MHTML)) { Gtk.FileFilter mhtmlFilter = new Gtk.FileFilter { Name = "MHTML" }; fc.AddFilter(mhtmlFilter); } if (!restrictedOutputPresentationTypes.Contains(OutputPresentationType.XML)) { Gtk.FileFilter xmlFilter = new Gtk.FileFilter { Name = "XML" }; fc.AddFilter(xmlFilter); } if (!fc.Filters.Any()) { Gtk.MessageDialog m = new Gtk.MessageDialog(null, Gtk.DialogFlags.Modal, Gtk.MessageType.Info, Gtk.ButtonsType.Ok, false, "Export in all document formats is prohibited"); m.WindowPosition = WindowPosition.Center; m.Run(); m.Destroy(); return; } if (fc.Run() == (int)Gtk.ResponseType.Accept) { try { // Must use the RunGetData before each export or there is no data. report.RunGetData(this.Parameters); string filename = fc.Filename; OutputPresentationType exportType = OutputPresentationType.PDF; if (fc.Filter.Name == "CSV") { exportType = OutputPresentationType.CSV; if (filename.ToLower().Trim().EndsWith(".csv") == false) { filename = filename + ".csv"; } } else if (fc.Filter.Name == "PDF") { exportType = OutputPresentationType.PDF; if (filename.ToLower().Trim().EndsWith(".pdf") == false) { filename = filename + ".pdf"; } } else if (fc.Filter.Name == "Excel 2007 Data") { exportType = OutputPresentationType.ExcelTableOnly; if (filename.ToLower().Trim().EndsWith(".xlsx") == false) { filename = filename + ".xlsx"; } } else if (fc.Filter.Name == "Excel 2007") { exportType = OutputPresentationType.Excel2007; if (filename.ToLower().Trim().EndsWith(".xlsx") == false) { filename = filename + ".xlsx"; } } else if (fc.Filter.Name == "TIFF") { exportType = OutputPresentationType.TIF; if (filename.ToLower().Trim().EndsWith(".tif") == false) { filename = filename + ".tif"; } } else if (fc.Filter.Name == "ASP HTML") { exportType = OutputPresentationType.ASPHTML; if (filename.ToLower().Trim().EndsWith(".asphtml") == false) { filename = filename + ".asphtml"; } } else if (fc.Filter.Name == "HTML") { exportType = OutputPresentationType.HTML; if (filename.ToLower().Trim().EndsWith(".html") == false) { filename = filename + ".html"; } } else if (fc.Filter.Name == "MHTML") { exportType = OutputPresentationType.MHTML; if (filename.ToLower().Trim().EndsWith(".mhtml") == false) { filename = filename + ".mhtml"; } } else if (fc.Filter.Name == "XML") { exportType = OutputPresentationType.XML; if (filename.ToLower().Trim().EndsWith(".xml") == false) { filename = filename + ".xml"; } } ExportReport(report, filename, exportType); } catch (Exception ex) { Gtk.MessageDialog m = new Gtk.MessageDialog(null, Gtk.DialogFlags.Modal, Gtk.MessageType.Info, Gtk.ButtonsType.Ok, false, "Error Saving Copy of PDF." + System.Environment.NewLine + ex.Message); m.Run(); m.Destroy(); } } //Don't forget to call Destroy() or the FileChooserDialog window won't get closed. fc.Destroy(); }
protected void OnPdfActionActivated(object sender, System.EventArgs e) { // ********************************* object[] param = new object[4]; param[0] = Strings.ButtonCancel_Text; param[1] = Gtk.ResponseType.Cancel; param[2] = Strings.ButtonSave_Text; param[3] = Gtk.ResponseType.Accept; Gtk.FileChooserDialog fc = new Gtk.FileChooserDialog(Strings.FileChooser_SaveFileTo_Title, null, Gtk.FileChooserAction.Save, param); fc.CurrentName = DefaultExportFileName ?? report.Name; if (!restrictedOutputPresentationTypes.Contains(OutputPresentationType.PDF)) { Gtk.FileFilter pdfFilter = new Gtk.FileFilter { Name = "PDF" }; var extensionPDF = ".pdf"; pdfFilter.AddPattern($"*{extensionPDF}"); fc.AddFilter(pdfFilter); } if (!restrictedOutputPresentationTypes.Contains(OutputPresentationType.CSV)) { Gtk.FileFilter csvFilter = new Gtk.FileFilter { Name = "CSV" }; var extensionCSV = ".csv"; csvFilter.AddPattern($"*{extensionCSV}"); fc.AddFilter(csvFilter); } if (!restrictedOutputPresentationTypes.Contains(OutputPresentationType.ExcelTableOnly)) { Gtk.FileFilter excel2007Data = new Gtk.FileFilter { Name = "Excel no formatting (Fast)" }; var extensionXLSX = ".xlsx"; excel2007Data.AddPattern($"*{extensionXLSX}"); fc.AddFilter(excel2007Data); } if (!restrictedOutputPresentationTypes.Contains(OutputPresentationType.Excel2007)) { Gtk.FileFilter excel2007 = new Gtk.FileFilter { Name = "Excel with formatting (Slow)" }; var extensionXLSX = ".xlsx"; excel2007.AddPattern($"*{extensionXLSX}"); fc.AddFilter(excel2007); } if (!restrictedOutputPresentationTypes.Contains(OutputPresentationType.TIF)) { Gtk.FileFilter tiffFilter = new Gtk.FileFilter { Name = "TIFF" }; var extensionTIFF = ".tiff"; tiffFilter.AddPattern($"*{extensionTIFF}"); fc.AddFilter(tiffFilter); } if (!restrictedOutputPresentationTypes.Contains(OutputPresentationType.ASPHTML)) { Gtk.FileFilter asphtmlFilter = new Gtk.FileFilter { Name = "ASP HTML" }; var extensionASPHTML = ".asphtml"; asphtmlFilter.AddPattern($"*{extensionASPHTML}"); fc.AddFilter(asphtmlFilter); } if (!restrictedOutputPresentationTypes.Contains(OutputPresentationType.HTML)) { Gtk.FileFilter htmlFilter = new Gtk.FileFilter { Name = "HTML" }; var extensionHTML = ".html"; htmlFilter.AddPattern($"*{extensionHTML}"); fc.AddFilter(htmlFilter); } if (!restrictedOutputPresentationTypes.Contains(OutputPresentationType.MHTML)) { Gtk.FileFilter mhtmlFilter = new Gtk.FileFilter { Name = "MHTML" }; var extensionMHTML = ".mhtml"; mhtmlFilter.AddPattern($"*{extensionMHTML}"); fc.AddFilter(mhtmlFilter); } if (!restrictedOutputPresentationTypes.Contains(OutputPresentationType.XML)) { Gtk.FileFilter xmlFilter = new Gtk.FileFilter { Name = "XML" }; var extensionXML = ".xml"; xmlFilter.AddPattern($"*{extensionXML}"); fc.AddFilter(xmlFilter); } if (!fc.Filters.Any()) { Gtk.MessageDialog m = new Gtk.MessageDialog(null, Gtk.DialogFlags.Modal, Gtk.MessageType.Info, Gtk.ButtonsType.Ok, false, "Export in all document formats is prohibited"); m.WindowPosition = WindowPosition.Center; m.Run(); m.Destroy(); return; } if (fc.Run() == (int)Gtk.ResponseType.Accept) { try { string searchPattern = "*"; string filename = fc.Filename; OutputPresentationType exportType = OutputPresentationType.PDF; if (fc.Filter.Name == "CSV") { exportType = OutputPresentationType.CSV; if (filename.ToLower().Trim().EndsWith(".csv") == false) { filename = filename + ".csv"; searchPattern = "*.csv"; } } else if (fc.Filter.Name == "PDF") { exportType = OutputPresentationType.PDF; if (filename.ToLower().Trim().EndsWith(".pdf") == false) { filename = filename + ".pdf"; searchPattern = "*.pdf"; } } else if (fc.Filter.Name == "Excel 2007 Data") { exportType = OutputPresentationType.ExcelTableOnly; if (filename.ToLower().Trim().EndsWith(".xlsx") == false) { filename = filename + ".xlsx"; searchPattern = "*.xlsx"; } } else if (fc.Filter.Name == "Excel 2007") { exportType = OutputPresentationType.Excel2007; if (filename.ToLower().Trim().EndsWith(".xlsx") == false) { filename = filename + ".xlsx"; searchPattern = "*.xlsx"; } } else if (fc.Filter.Name == "TIFF") { exportType = OutputPresentationType.TIF; if (filename.ToLower().Trim().EndsWith(".tif") == false) { filename = filename + ".tif"; searchPattern = "*.tif"; } } else if (fc.Filter.Name == "ASP HTML") { exportType = OutputPresentationType.ASPHTML; if (filename.ToLower().Trim().EndsWith(".asphtml") == false) { filename = filename + ".asphtml"; searchPattern = "*.asphtml"; } } else if (fc.Filter.Name == "HTML") { exportType = OutputPresentationType.HTML; if (filename.ToLower().Trim().EndsWith(".html") == false) { filename = filename + ".html"; searchPattern = "*.html"; } } else if (fc.Filter.Name == "MHTML") { exportType = OutputPresentationType.MHTML; if (filename.ToLower().Trim().EndsWith(".mhtml") == false) { filename = filename + ".mhtml"; searchPattern = "*.mhtml"; } } else if (fc.Filter.Name == "XML") { exportType = OutputPresentationType.XML; if (filename.ToLower().Trim().EndsWith(".xml") == false) { filename = filename + ".xml"; searchPattern = "*.xml"; } } string directory = filename.Remove(filename.LastIndexOf(@"\") + 1); var files = Directory.GetFiles(directory, searchPattern); //Check for files with same name in directory if (files.Any()) { for (int i = 0; i < files.Length; i++) { if (files[i] == filename) { //If found files with the same name in directory MessageDialog m = new Gtk.MessageDialog(null, DialogFlags.Modal, MessageType.Question, Gtk.ButtonsType.YesNo, false, Strings.SaveToFile_CheckIf_SameFilesInDir); m.SetPosition(WindowPosition.Center); ResponseType result = (ResponseType)m.Run(); m.Destroy(); if (result == ResponseType.Yes) { // Must use the RunGetData before each export or there is no data. report.RunGetData(this.Parameters); ExportReport(report, filename, exportType); break; } else { break; } } if (i + 1 == files.Length && files[i] != filename) { //If no files with the same name found in directory // Must use the RunGetData before each export or there is no data. report.RunGetData(this.Parameters); ExportReport(report, filename, exportType); break; } } } else { //If no files found in directory // Must use the RunGetData before each export or there is no data. report.RunGetData(this.Parameters); ExportReport(report, filename, exportType); } } catch (Exception ex) { Gtk.MessageDialog m = new Gtk.MessageDialog(null, Gtk.DialogFlags.Modal, Gtk.MessageType.Info, Gtk.ButtonsType.Ok, false, "Error Saving Copy of PDF." + System.Environment.NewLine + ex.Message); m.Run(); m.Destroy(); } } //Don't forget to call Destroy() or the FileChooserDialog window won't get closed. fc.Destroy(); }
protected void OnButtonOkClicked(object sender, EventArgs e) { #region Выбираем файл var fileChooser = new Gtk.FileChooserDialog( "Сохранить как...", (Window)this.Toplevel, Gtk.FileChooserAction.Save, "Отмена", ResponseType.Cancel, "Сохранить", ResponseType.Accept); Gtk.FileFilter excel2007 = new Gtk.FileFilter(); excel2007.AddPattern("*.xlsx"); excel2007.Name = ".xlsx (Excel 2007)"; //Gtk.FileFilter excel2003 = new Gtk.FileFilter(); //excel2003.AddPattern("*.xls"); //excel2003.Name = ".xls (Excel 2003)"; fileChooser.AddFilter(excel2007); //fileChooser.AddFilter(excel2003); string filename; bool result = fileChooser.Run() == (int)ResponseType.Accept; filename = fileChooser.Filename; fileChooser.Destroy(); if (!result) { return; } #endregion #region Загружаем заказы buttonOk.Sensitive = buttonCancel.Sensitive = false; progressbar1.Text = "Загрузка списка заказов..."; progressbar1.Adjustment.Upper = 1; GtkHelper.WaitRedraw(); if (!filename.EndsWith(".xlsx")) //&& !filename.EndsWith(".xls")) { filename += ".xlsx"; } var orders = WorkOrderRepository.GetOrders(UoW, daterange.StartDateOrNull, daterange.EndDateOrNull); logger.Info($"Загружено {orders.Count} заказов."); progressbar1.Adjustment.Upper = orders.Count + 2; progressbar1.Text = "Формирование файла..."; GtkHelper.WaitRedraw(); #endregion #region Базовые настройки var workbook = new XSSFWorkbook(); var sheet = workbook.CreateSheet("Заказы"); //Заголовок var headerStyle = workbook.CreateCellStyle(); var headerFont = workbook.CreateFont(); headerFont.FontName = "Calibri"; headerFont.FontHeightInPoints = 11; headerFont.IsBold = true; headerStyle.SetFont(headerFont); var newDataFormat = workbook.CreateDataFormat(); var dateCellStyle = workbook.CreateCellStyle(); dateCellStyle.DataFormat = newDataFormat.GetFormat("dd.MM.yyyy"); //Ширина измеряется в количестве симвовлов * 256 sheet.SetColumnWidth(0, 7 * 256); sheet.SetColumnWidth(1, 14 * 256); sheet.SetColumnWidth(2, 16 * 256); sheet.SetColumnWidth(3, 5 * 256); sheet.SetColumnWidth(4, 20 * 256); sheet.SetColumnWidth(5, 11 * 256); sheet.SetColumnWidth(6, 14 * 256); sheet.SetColumnWidth(7, 15 * 256); sheet.SetColumnWidth(8, 6 * 256); sheet.SetColumnWidth(9, 20 * 256); sheet.SetColumnWidth(10, 12 * 256); sheet.SetColumnWidth(11, 15 * 256); sheet.SetColumnWidth(12, 10 * 256); #endregion #region параметры экспорта string[] columnTiles = new string[] { "Номер", "Марка", "Модель", "Год", "Еврокод", "Производитель", "Склад", "Телефон", "Сумма работ", "Коментарий", "Состояние заказа", "Вид работ", "Дата работы" }; Action <WorkOrder, ICell>[] SetValuesFuncs = new Action <WorkOrder, ICell>[] { (o, c) => c.SetCellValue(o.Id), (o, c) => c.SetCellValue(o.CarModel?.Brand?.Name), (o, c) => c.SetCellValue(o.CarModel?.Name), (o, c) => c.SetCellValue(o.CarYearText), (o, c) => c.SetCellValue(o.Eurocode), (o, c) => c.SetCellValue(o.Manufacturer?.Name), (o, c) => c.SetCellValue(o.Stock?.Name), (o, c) => c.SetCellValue(o.Phone), (o, c) => c.SetCellValue((double)o.Pays.Sum(x => x.Cost)), (o, c) => c.SetCellValue(o.Comment), (o, c) => c.SetCellValue(o.OrderState?.Name), (o, c) => c.SetCellValue(o.OrderTypeClass?.Name), (o, c) => { c.SetCellValue(o.Date); c.CellStyle = dateCellStyle; }, }; #endregion var headerRow = sheet.CreateRow(0); for (var i = 0; i < columnTiles.Length; i++) { var cell = headerRow.CreateCell(i); cell.SetCellValue(columnTiles[i]); cell.CellStyle = headerStyle; } for (var row = 1; row <= orders.Count; row++) { progressbar1.Text = $"Заказ {row} из {orders.Count}"; progressbar1.Adjustment.Value++; GtkHelper.WaitRedraw(); var dataRow = sheet.CreateRow(row); for (var i = 0; i < columnTiles.Length; i++) { var cell = dataRow.CreateCell(i); SetValuesFuncs[i](orders[row - 1], cell); } } if (updatePhoneFormat) { PhoneUpdate(workbook, orders); } progressbar1.Text = "Записываем фаил..."; progressbar1.Adjustment.Value++; GtkHelper.WaitRedraw(); try { using (FileStream file = new FileStream(filename, FileMode.Create, FileAccess.Write)) { workbook.Write(file); } } catch (IOException ex) { if (ex.HResult == -2147024864) { MessageDialogHelper.RunErrorDialog("Указанный файл уже открыт в другом приложении. Оно заблокировало доступ к файлу."); return; } throw ex; } progressbar1.Text = "Готово"; progressbar1.Adjustment.Value++; GtkHelper.WaitRedraw(); if (checkOpenAfterSave.Active) { progressbar1.Text = "Открываем Excel"; GtkHelper.WaitRedraw(); logger.Info("Открываем во внешем приложении..."); System.Diagnostics.Process.Start(filename); } logger.Info("Ок"); Respond(ResponseType.Ok); }
private void HandleExtractAction() { if (fileSystem == null) { return; } int selectedCount = packTreeView.Selection.CountSelectedRows(); if (selectedCount == 0) { return; } List <TreeIter> selectedInFolder = packTreeView.GetSelected().ToList(); Packer.Item firstItem = folderStore.GetValue(selectedInFolder.First(), 2) as Packer.Item; if (selectedCount == 1 && !firstItem.IsFolder) { TreeIter iterInPack = FindInPack(firstItem); CustomFileChooserDialog dlg = new CustomFileChooserDialog(this, "Extract file from pack", FileChooserAction.Save); dlg.FileChooser.CurrentName = firstItem.Name; using (Gtk.FileFilter filter = new Gtk.FileFilter()) { filter.Name = "All"; filter.AddPattern("*.*"); dlg.FileChooser.AddFilter(filter); } dlg.Ok += (sender, e) => { ExtractFile(iterInPack, dlg.FileChooser.Filename); dlg.Destroy(); }; dlg.Cancel += (sender, e) => dlg.Destroy(); dlg.Show(); } else { CustomFileChooserDialog dlg = new CustomFileChooserDialog( this, "Extract from pack", FileChooserAction.SelectFolder); dlg.Ok += (sender, e) => { selectedInFolder.ForEach(iter => { Packer.Item item = folderStore.GetValue(iter, 2) as Packer.Item; TreeIter iterInPack = FindInPack(item); if (item.IsFolder) { ExtractFolder(iterInPack, dlg.FileChooser.Filename); } else { ExtractFile(iterInPack, dlg.FileChooser.Filename + System.IO.Path.DirectorySeparatorChar + item.Name); } }); dlg.Destroy(); }; dlg.Cancel += (sender, e) => dlg.Destroy(); dlg.Show(); } }
/* GS Result*/ public void GSResult(gsParamState_t gs_result) { TempFile tempfile = null; if (gs_result.outputfile != null) { tempfile = new TempFile(gs_result.outputfile); } if (gs_result.result == GS_Result_t.gsCANCELLED) { if (tempfile != null) { try { tempfile.DeleteFile(); } catch { ShowMessage(NotifyType_t.MESS_STATUS, "Problem Deleting Temp File"); } } return; } if (gs_result.result == GS_Result_t.gsFAILED) { ShowMessage(NotifyType_t.MESS_STATUS, "GS Failed Conversion"); if (tempfile != null) { try { tempfile.DeleteFile(); } catch { ShowMessage(NotifyType_t.MESS_STATUS, "Problem Deleting Temp File"); } } return; } switch (gs_result.task) { case GS_Task_t.PS_DISTILL: m_origfile = gs_result.inputfile; Gtk.FileChooserDialog dialog = new Gtk.FileChooserDialog("Save Document", (Gtk.Window) this.Toplevel, Gtk.FileChooserAction.Save); dialog.LocalOnly = true; dialog.AddButton(Gtk.Stock.Cancel, Gtk.ResponseType.Cancel); dialog.AddButton(Gtk.Stock.Save, Gtk.ResponseType.Yes); dialog.SetFilename(System.IO.Path.GetFileNameWithoutExtension(m_origfile) + ".pdf"); Gtk.FileFilter filter = new Gtk.FileFilter(); filter.Name = "doc/pdf"; filter.AddMimeType("application/pdf"); filter.AddPattern("*.pdf"); dialog.Filter = filter; int response = dialog.Run(); if (response == (int)Gtk.ResponseType.Yes) { m_currfile = dialog.Filename; try { if (System.IO.File.Exists(m_currfile)) { System.IO.File.Delete(m_currfile); } var res = System.IO.File.Exists(tempfile.Filename); System.IO.File.Copy(tempfile.Filename, dialog.Filename); } catch (Exception except) { ShowMessage(NotifyType_t.MESS_ERROR, "Exception Saving Distilled Result:" + except.Message); } } dialog.Destroy(); tempfile.DeleteFile(); break; } }
private Application(string[] args) { selection = new Selection(); Glade.XML.CustomHandler = GladeCustomWidgetHandler; Glade.XML gxml = new Glade.XML("editor.glade", "MainWindow"); gxml.Autoconnect(this); if (MainWindow == null) { throw new Exception("Couldn't resolve all widgets"); } Tileset.LoadEditorImages = true; // Initialize status bar for PrintStatus() printStatusContextID = sbMain.GetContextId("PrintStatus"); printStatusMessageID = sbMain.Push(printStatusContextID, "Welcome to Tuxjunior-Editor."); MainWindow.DeleteEvent += OnDelete; MainWindow.SetSizeRequest(900, 675); MainWindowTitlePrefix = MainWindow.Title; UpdateTitlebar(); UpdateRecentDocuments(); MainWindow.Icon = EditorStock.WindowIcon; //HACK: not a typo, EditorStock adds icons to the stock only when called 2x or more.. MainWindow.Icon = EditorStock.WindowIcon; MainWindow.ShowAll(); // Tool "Select" is selected by default - call its event handler OnToolSelect(null, null); fileChooser = new FileChooserDialog("Choose a Level", MainWindow, FileChooserAction.Open, new object[] {}); if (Settings.Instance.LastDirectoryName == null) { if (Settings.Instance.TuxjuniorData != null) { Settings.Instance.LastDirectoryName = Settings.Instance.TuxjuniorData + "levels" + System.IO.Path.DirectorySeparatorChar; } else { Settings.Instance.LastDirectoryName = Environment.ExpandEnvironmentVariables("%HOME%"); } } fileChooser.SetCurrentFolder(Settings.Instance.LastDirectoryName); fileChooser.AddButton(Gtk.Stock.Cancel, Gtk.ResponseType.Cancel); fileChooser.AddButton(Gtk.Stock.Ok, Gtk.ResponseType.Ok); fileChooser.DefaultResponse = Gtk.ResponseType.Ok; Gtk.FileFilter filter = new Gtk.FileFilter(); filter.Name = "Tuxjunior Levels and Worldmaps"; filter.AddPattern("*.stl"); filter.AddPattern("*.stwm"); fileChooser.AddFilter(filter); Gtk.FileFilter levelfilter = new Gtk.FileFilter(); levelfilter.Name = "Tuxjunior Levels"; levelfilter.AddPattern("*.stl"); fileChooser.AddFilter(levelfilter); Gtk.FileFilter worldmapfilter = new Gtk.FileFilter(); worldmapfilter.Name = "Tuxjunior Worldmaps"; worldmapfilter.AddPattern("*.stwm"); fileChooser.AddFilter(worldmapfilter); Gtk.FileFilter brushfilter = new Gtk.FileFilter(); brushfilter.Name = "Tuxjunior-Editor Brushes"; brushfilter.AddPattern("*.csv"); fileChooser.AddFilter(brushfilter); Gtk.FileFilter all = new Gtk.FileFilter(); all.Name = "All Files"; all.AddPattern("*"); fileChooser.AddFilter(all); if (Settings.Instance.TuxjuniorData != null) { try { fileChooser.AddShortcutFolder(Settings.Instance.TuxjuniorData + System.IO.Path.DirectorySeparatorChar + "levels"); } catch (Exception e) { LogManager.Log(LogLevel.Warning, "Couldn't add tuxjunior level directory to File Chooser: " + e.Message); } } if (args.Length > 0) { Load(args[0]); } UndoManager.OnAddCommand += OnUndoManager; UndoManager.OnRedo += OnUndoManager; UndoManager.OnUndo += OnUndoManager; PrintStatus("Welcome to Tuxjunior-Editor."); }
private void HandleSaveAction() { if (fileSystem == null) { return; } CustomFileChooserDialog dlg = new CustomFileChooserDialog(this, "Save pack", FileChooserAction.Save); dlg.FileChooser.SelectMultiple = false; using (Gtk.FileFilter filter = new Gtk.FileFilter()) { filter.Name = fileSystem.Extension.ToUpper(); filter.AddPattern("*." + fileSystem.Extension.ToLower()); dlg.FileChooser.AddFilter(filter); } using (Gtk.FileFilter filter = new Gtk.FileFilter()) { filter.Name = "All"; filter.AddPattern("*.*"); dlg.FileChooser.AddFilter(filter); } dlg.Ok += (sender, e) => { string filename = dlg.FileChooser.Filename; waitWindow = new WaitWindow(this, "Saving", filename); waitWindow.Show(); ThreadNotify done = new ThreadNotify(new ReadyEvent(() => { waitWindow.Destroy(); waitWindow = null; })); ThreadNotify error = new ThreadNotify(new ReadyEvent(() => { waitWindow.Destroy(); waitWindow = null; CustomMessageDialog msg = new CustomMessageDialog(this, MessageType.Error, fileSystem.LastError); msg.Run(); msg.Destroy(); })); new Thread(new ThreadStart(() => { if (fileSystem.Save(filename)) { done.WakeupMain(); } else { error.WakeupMain(); } })).Start(); dlg.Destroy(); }; dlg.Cancel += (sender, e) => dlg.Destroy(); dlg.Show(); }
private Application(Options opts) { selection = new TileSelection(); Glade.XML.CustomHandler = GladeCustomWidgetHandler; Glade.XML gxml = new Glade.XML("editor.glade", "MainWindow"); gxml.Autoconnect(this); if (MainWindow == null) { throw new Exception("Couldn't resolve all widgets"); } ((GameObjectListWidget)ToolGObjectsProps).SetGtkFrame(fGObjects); Tileset.LoadEditorImages = true; // Initialize status bar for PrintStatus() printStatusContextID = sbMain.GetContextId("PrintStatus"); printStatusMessageID = sbMain.Push(printStatusContextID, "Welcome to Supertux-Editor."); MainWindow.DeleteEvent += OnDelete; MainWindow.SetSizeRequest(900, 675); MainWindowTitlePrefix = MainWindow.Title; UpdateTitlebar(); UpdateRecentDocuments(); MainWindow.Icon = EditorStock.WindowIcon; //HACK: not a typo, EditorStock adds icons to the stock only when called 2x or more.. MainWindow.Icon = EditorStock.WindowIcon; MainWindow.ShowAll(); // Manually set icons for Tools, automatic stock initialization is broken on some systems ToolSelect.StockId = EditorStock.ToolSelect; ToolTiles.StockId = EditorStock.ToolTiles; ToolObjects.StockId = EditorStock.ToolObjects; ToolBrush.StockId = EditorStock.ToolBrush; ToolFill.StockId = EditorStock.ToolFill; ToolReplace.StockId = EditorStock.ToolReplace; ToolPath.StockId = EditorStock.ToolPath; ToolButtonCamera.StockId = EditorStock.Camera; // Hide some extra widgets (because MainWindow.ShowAll(); showed them all) fGObjects.Visible = false; if (Settings.Instance.ToolboxOnRight) { aTools.Reparent(fToolsRight); fToolsLeft.Hide(); } else { aTools.Reparent(fToolsLeft); fToolsRight.Hide(); } // Tool "Select" is selected by default - call its event handler OnToolSelect(null, null); //Setup drag destination for "files" Gtk.Drag.DestSet(MainWindow, Gtk.DestDefaults.All, target_table, Gdk.DragAction.Default | Gdk.DragAction.Copy | Gdk.DragAction.Move | Gdk.DragAction.Link | Gdk.DragAction.Private | Gdk.DragAction.Ask); MainWindow.DragDataReceived += OnDragDataReceived; fileChooser = new Gtk.FileChooserDialog("Choose a Level", MainWindow, Gtk.FileChooserAction.Open, new object[] {}); if (!Directory.Exists(Settings.Instance.LastDirectoryName)) //noexistent (or null) LastDirectoryName, resetting to default { if (Settings.Instance.SupertuxData != null) { Settings.Instance.LastDirectoryName = System.IO.Path.Combine(Settings.Instance.SupertuxData, "levels") + System.IO.Path.DirectorySeparatorChar; } else { Settings.Instance.LastDirectoryName = Environment.ExpandEnvironmentVariables("%HOME%"); } } fileChooser.SetCurrentFolder(Settings.Instance.LastDirectoryName); fileChooser.AddButton(Gtk.Stock.Cancel, Gtk.ResponseType.Cancel); fileChooser.AddButton(Gtk.Stock.Ok, Gtk.ResponseType.Ok); fileChooser.DefaultResponse = Gtk.ResponseType.Ok; Gtk.FileFilter filter = new Gtk.FileFilter(); filter.Name = "Supertux Levels and Worldmaps"; filter.AddPattern("*.stl"); filter.AddPattern("*.stwm"); fileChooser.AddFilter(filter); Gtk.FileFilter levelfilter = new Gtk.FileFilter(); levelfilter.Name = "Supertux Levels"; levelfilter.AddPattern("*.stl"); fileChooser.AddFilter(levelfilter); Gtk.FileFilter worldmapfilter = new Gtk.FileFilter(); worldmapfilter.Name = "Supertux Worldmaps"; worldmapfilter.AddPattern("*.stwm"); fileChooser.AddFilter(worldmapfilter); Gtk.FileFilter brushfilter = new Gtk.FileFilter(); brushfilter.Name = "Supertux-Editor Brushes"; brushfilter.AddPattern("*.csv"); fileChooser.AddFilter(brushfilter); Gtk.FileFilter all = new Gtk.FileFilter(); all.Name = "All Files"; all.AddPattern("*"); fileChooser.AddFilter(all); if (Settings.Instance.SupertuxData != null) { try { fileChooser.AddShortcutFolder(System.IO.Path.Combine(Settings.Instance.SupertuxData, "levels")); } catch (Exception e) { LogManager.Log(LogLevel.Warning, "Couldn't add supertux level directory to File Chooser: " + e.Message); } } if (opts.FileNames.Count > 0) { Load(opts.FileNames[0]); } UndoManager.OnAddCommand += OnUndoManager; UndoManager.OnRedo += OnUndoManager; UndoManager.OnUndo += OnUndoManager; editorApplication = this; PrintStatus("Welcome to Supertux-Editor."); }
protected void cmdAdd_Clicked(object sender, EventArgs e) { FileChooserDialog cdlOpen = new FileChooserDialog("Add Alert Window Styles", this, FileChooserAction.Open, Gtk.Stock.Cancel, Gtk.ResponseType.Cancel, Gtk.Stock.Open, Gtk.ResponseType.Ok); Gtk.FileFilter fTGZ = new Gtk.FileFilter(); fTGZ.AddPattern("*.tar"); fTGZ.AddPattern("*.tgz"); fTGZ.AddPattern("*.tar.gz"); fTGZ.Name = "Window Styles"; cdlOpen.AddFilter(fTGZ); cdlOpen.SelectMultiple = true; cdlOpen.SetCurrentFolder(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments)); ResponseType ret = (ResponseType)cdlOpen.Run(); string[] sRet = cdlOpen.Filenames; FileFilter fRet = cdlOpen.Filter; cdlOpen.Destroy(); if (ret == ResponseType.Ok) { if (fRet == fTGZ) { foreach (string StylePath in sRet) { string sTitle = System.IO.Path.GetFileNameWithoutExtension(StylePath); string sExt = System.IO.Path.GetExtension(StylePath).ToLower(); while (!string.IsNullOrEmpty(System.IO.Path.GetExtension(sTitle))) { sExt = System.IO.Path.GetExtension(sTitle).ToLower() + sExt; sTitle = System.IO.Path.GetFileNameWithoutExtension(sTitle); } if (sExt == ".tgz" | sExt == ".tar.gz" | sExt == ".tar") { File.Copy(StylePath, System.IO.Path.Combine(modFunctions.AppData, sTitle + sExt), true); TreeIter iter; lstStyles.Model.GetIterFirst(out iter); bool Add = true; do { GLib.Value val = new GLib.Value(); lstStyles.Model.GetValue(iter, 0, ref val); if ((string)val.Val == sTitle) { Add = false; break; } } while (lstStyles.Model.IterNext(ref iter)); if (Add) { lstStyles.AddItem(sTitle); } if (sRet.Length == 1) { TreeIter iterSel; lstStyles.Model.GetIterFirst(out iterSel); do { GLib.Value val = new GLib.Value(); lstStyles.Model.GetValue(iterSel, 0, ref val); if ((string)val.Val == sTitle) { lstStyles.Selection.SelectIter(iterSel); break; } } while (lstStyles.Model.IterNext(ref iterSel)); } } } } } }
private void OpenContactsFile() { GlobalObjUI.ContactsFilePath = ""; // New dialog for select contacts file Gtk.FileChooserDialog FileBox = new Gtk.FileChooserDialog(GlobalObjUI.LMan.GetString("openfileact"), MainWindow, FileChooserAction.Open, GlobalObjUI.LMan.GetString("cancellbl"), Gtk.ResponseType.Cancel, GlobalObjUI.LMan.GetString("openlbl"), Gtk.ResponseType.Accept); // Filter for using only monosim files Gtk.FileFilter myFilter = new Gtk.FileFilter(); myFilter.AddPattern("*.monosim"); myFilter.Name = "monosim files"; FileBox.AddFilter(myFilter); // Manage result of dialog box FileBox.Icon = Gdk.Pixbuf.LoadFromResource("monosim.png"); int retFileBox = FileBox.Run(); if ((ResponseType)retFileBox == Gtk.ResponseType.Accept) { // path of a right file returned GlobalObjUI.ContactsFilePath = FileBox.Filename; FileBox.Destroy(); FileBox.Dispose(); } else { // nothing returned FileBox.Destroy(); FileBox.Dispose(); return; } // Update gui UpdateFileControls(false); lstFileContacts.Clear(); MainClass.GtkWait(); try { GlobalObjUI.FileContacts = new Contacts(); StreamReader sr = new StreamReader(GlobalObjUI.ContactsFilePath); string descRow = sr.ReadLine(); string phoneRow = ""; while (!sr.EndOfStream) { phoneRow = sr.ReadLine(); // check for right values if (descRow.Trim() != "" && phoneRow.Trim() != "") { GlobalObjUI.FileContacts.SimContacts.Add(new Contact(descRow, phoneRow)); } // read new contact description descRow = sr.ReadLine(); } sr.Close(); sr.Dispose(); sr = null; } catch (Exception Ex) { log.Error("MainWindowClass::OpenContactsFile: " + Ex.Message + "\r\n" + Ex.StackTrace); MainClass.ShowMessage(MainWindow, "ERROR", Ex.Message, MessageType.Error); return; } // loop to append data readed from file foreach (Contact cnt in GlobalObjUI.FileContacts.SimContacts) { lstFileContacts.AppendValues(new string[] { cnt.Description, cnt.PhoneNumber }); } UpdateFileControls(true); }