diff options
author | Marius Ungureanu <marius.ungureanu@xamarin.com> | 2015-11-17 16:25:14 +0300 |
---|---|---|
committer | Marius Ungureanu <marius.ungureanu@xamarin.com> | 2015-11-17 16:25:14 +0300 |
commit | 304a4d87efab99cc849a0cb59cf424e6663e8966 (patch) | |
tree | 8eb9ad1aa13ce2a479c9fe3f0743f978de3a58d6 /main/src/core/MonoDevelop.Ide/MonoDevelop.Components.Extensions | |
parent | c7e901c53818b86de91f11a1564b1ef9e1ceae8b (diff) |
[Ide] Abstract FileChooserAction.
Diffstat (limited to 'main/src/core/MonoDevelop.Ide/MonoDevelop.Components.Extensions')
-rw-r--r-- | main/src/core/MonoDevelop.Ide/MonoDevelop.Components.Extensions/ISelectFileDialog.cs | 33 |
1 files changed, 30 insertions, 3 deletions
diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Components.Extensions/ISelectFileDialog.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Components.Extensions/ISelectFileDialog.cs index 9784169415..6aac4de6d5 100644 --- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Components.Extensions/ISelectFileDialog.cs +++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Components.Extensions/ISelectFileDialog.cs @@ -50,7 +50,7 @@ namespace MonoDevelop.Components.Extensions FilterSet = new FileFilterSet (); } internal FileFilterSet FilterSet { get; set; } - public Gtk.FileChooserAction Action { get; set; } + public FileChooserAction Action { get; set; } public IList<SelectFileDialogFilter> Filters { get { return FilterSet.Filters; } } public FilePath CurrentFolder { get; set; } public bool SelectMultiple { get; set; } @@ -107,7 +107,7 @@ namespace MonoDevelop.Components.Extensions /// <summary> /// Action to perform with the file dialog. /// </summary> - public Gtk.FileChooserAction Action { + public FileChooserAction Action { get { return data.Action; } set { data.Action = value; } } @@ -269,7 +269,7 @@ namespace MonoDevelop.Components.Extensions internal void SetDefaultProperties (FileSelector fdiag) { fdiag.Title = Title; - fdiag.Action = Action; + fdiag.Action = Action.ToGtkAction (); fdiag.LocalOnly = true; fdiag.SelectMultiple = SelectMultiple; fdiag.TransientFor = TransientFor; @@ -328,4 +328,31 @@ namespace MonoDevelop.Components.Extensions } } } + + public enum FileChooserAction + { + Open, + Save, + SelectFolder, + CreateFolder, + } + + static class FileChooserActionExtensions + { + public static Gtk.FileChooserAction ToGtkAction(this FileChooserAction action) + { + switch (action) { + case FileChooserAction.Open: + return Gtk.FileChooserAction.Open; + case FileChooserAction.Save: + return Gtk.FileChooserAction.Save; + case FileChooserAction.SelectFolder: + return Gtk.FileChooserAction.SelectFolder; + case FileChooserAction.CreateFolder: + return Gtk.FileChooserAction.CreateFolder; + default: + throw new NotSupportedException (); + } + } + } }
|