public FileSelector(string title, Gtk.FileChooserAction action) : base(title, null, action) { switch (action) { case Gtk.FileChooserAction.Open: AddButton(Gtk.Stock.Cancel, ResponseType.Cancel); AddButton(Gtk.Stock.Open, ResponseType.Ok); break; case Gtk.FileChooserAction.SelectFolder: AddButton(Gtk.Stock.Cancel, ResponseType.Cancel); AddButton(GettextCatalog.GetString("Select Folder"), ResponseType.Ok); break; case Gtk.FileChooserAction.Save: AddButton(Gtk.Stock.Cancel, ResponseType.Cancel); AddButton(Gtk.Stock.Save, ResponseType.Ok); break; default: break; } DefaultResponse = ResponseType.Ok; CommonSetup(); }
public FileSelectorDialog(string title, Gtk.FileChooserAction action) : base(title, action) { LocalOnly = true; // Add the text encoding selector Table table = new Table(2, 2, false); table.RowSpacing = 6; table.ColumnSpacing = 6; encodingLabel = new Label(GettextCatalog.GetString("_Character Coding:")); encodingLabel.Xalign = 0; table.Attach(encodingLabel, 0, 1, 0, 1, AttachOptions.Fill, AttachOptions.Fill, 0, 0); encodingMenu = new Gtk.OptionMenu(); FillEncodings(); encodingMenu.SetHistory(0); table.Attach(encodingMenu, 1, 2, 0, 1, AttachOptions.Expand | AttachOptions.Fill, AttachOptions.Expand | AttachOptions.Fill, 0, 0); encodingMenu.Changed += EncodingChanged; // Add the viewer selector viewerLabel = new Label(GettextCatalog.GetString("Open With:")); viewerLabel.Xalign = 0; table.Attach(viewerLabel, 0, 1, 1, 2, AttachOptions.Fill, AttachOptions.Fill, 0, 0); Gtk.HBox box = new HBox(false, 6); viewerSelector = Gtk.ComboBox.NewText(); box.PackStart(viewerSelector, true, true, 0); closeWorkspaceCheck = new CheckButton(GettextCatalog.GetString("Close current workspace")); closeWorkspaceCheck.Active = true; box.PackStart(closeWorkspaceCheck, false, false, 0); table.Attach(box, 1, 2, 1, 2, AttachOptions.Expand | AttachOptions.Fill, AttachOptions.Expand | AttachOptions.Fill, 0, 0); FillViewers(); viewerSelector.Changed += OnViewerChanged; table.ShowAll(); this.ExtraWidget = table; // Give back the height that the extra widgets take int w, h; GetSize(out w, out h); Resize(w, h + table.SizeRequest().Height); if (action == Gtk.FileChooserAction.SelectFolder) { ShowEncodingSelector = false; } if (action != Gtk.FileChooserAction.Open) { closeWorkspaceCheck.Visible = ShowViewerSelector = false; } }
private bool ChooseDialog(ref string[] returnValue, string title, Gtk.FileChooserAction action, bool isImage, bool isMultiple) { Gtk.FileChooserDialog fileChooser = new Gtk.FileChooserDialog( title, this, action, "Cancel", ResponseType.Cancel, "Open", ResponseType.Accept ) { SelectMultiple = isMultiple, }; if (isImage) { FileFilter filter = new FileFilter(); filter.Name = "Image files"; filter.AddPattern("*.jpg"); filter.AddPattern("*.jpeg"); filter.AddPattern("*.png"); filter.AddPattern("*.tif"); filter.AddPattern("*.bmp"); filter.AddPattern("*.gif"); filter.AddPattern("*.tiff"); fileChooser.Filter = filter; } if (fileChooser.Run() == (int)ResponseType.Accept) { if (isMultiple) { returnValue = fileChooser.Filenames; } else { returnValue = new string[] { fileChooser.Filename }; } fileChooser.Destroy(); return(true); } else { fileChooser.Destroy(); return(false); } }
public FileChooserDialogLocalized(string backend, string title, Gtk.Window parent, Gtk.FileChooserAction action, params object[] button_data) : base(backend, title, parent, action, button_data) { Constructor(); }
public SelectFileDialog(string title, Gtk.FileChooserAction action) { Title = title; Action = action; }