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; } }
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; }