Exemplo n.º 1
0
        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;
            }
        }
Exemplo n.º 3
0
 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);
     }
 }
Exemplo n.º 4
0
 public FileChooserDialogLocalized(string backend, string title, Gtk.Window parent, Gtk.FileChooserAction action, params object[] button_data)
     : base(backend, title, parent, action, button_data)
 {
     Constructor();
 }
Exemplo n.º 5
0
 public SelectFileDialog(string title, Gtk.FileChooserAction action)
 {
     Title  = title;
     Action = action;
 }