diff --git a/Source/Samples/Sections/Dialogs/FileChooserDialogSection.cs b/Source/Samples/Sections/Dialogs/FileChooserDialogSection.cs new file mode 100644 index 000000000..6c75a366a --- /dev/null +++ b/Source/Samples/Sections/Dialogs/FileChooserDialogSection.cs @@ -0,0 +1,32 @@ +using Gtk; + +namespace Samples +{ + [Section(ContentType = typeof(FileChooserDialog), Category = Category.Dialogs)] + class FileChooserDialogSection : ListSection + { + public FileChooserDialogSection () + { + AddItem ($"Press button to open {nameof(FileChooserDialog)} :", new FileChooserDialogDemo ("Press me")); + } + } + + class FileChooserDialogDemo : Button + { + public FileChooserDialogDemo (string text) : base (text) { } + + protected override void OnPressed () + { + var fcd = new FileChooserDialog ("Open File", null, FileChooserAction.Open); + fcd.AddButton (Stock.Cancel, ResponseType.Cancel); + fcd.AddButton (Stock.Open, ResponseType.Ok); + fcd.DefaultResponse = ResponseType.Ok; + fcd.SelectMultiple = false; + + ResponseType response = (ResponseType) fcd.Run (); + if (response == ResponseType.Ok) + ApplicationOutput.WriteLine (fcd.Filename); + fcd.Destroy (); + } + } +} \ No newline at end of file