diff options
author | Lluis Sanchez <llsan@microsoft.com> | 2018-09-17 10:38:58 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-09-17 10:38:58 +0300 |
commit | f073f52c6acfeea09f80de629d373d7681ed7ec0 (patch) | |
tree | f463ed01c47e62da70af0ee24111377a5df47438 | |
parent | b1ccb260a8a520736651aacf858d5c6cb4a1f545 (diff) | |
parent | 182fda9d34553989e553b143d3b4b1f6e2d968b3 (diff) |
Merge pull request #851 from hamekoz/fix-FileSelectorFilters
Fix file selector filters
-rw-r--r-- | TestApps/Samples/Samples/FileSelectorSample.cs | 12 | ||||
-rw-r--r-- | Xwt/Xwt.Backends/IFileSelectorBackend.cs | 5 | ||||
-rw-r--r-- | Xwt/Xwt/FileSelector.cs | 8 |
3 files changed, 22 insertions, 3 deletions
diff --git a/TestApps/Samples/Samples/FileSelectorSample.cs b/TestApps/Samples/Samples/FileSelectorSample.cs index 23a49f49..6b13172d 100644 --- a/TestApps/Samples/Samples/FileSelectorSample.cs +++ b/TestApps/Samples/Samples/FileSelectorSample.cs @@ -45,6 +45,18 @@ namespace Samples PackStart (fsel2 = new FileSelector { FileSelectionMode = FileSelectionMode.Save }); PackStart (label2 = new Label ()); fsel2.FileChanged += (sender, e) => label2.Text = "File changed: " + fsel2.FileName; + + var pdfFormat = new FileDialogFilter ("PDF", "*.pdf"); + var xlsFormat = new FileDialogFilter ("PNG", "*.png"); + + var fsel3 = new FileSelector { FileSelectionMode = FileSelectionMode.Open }; + fsel3.Filters.Add (pdfFormat); + fsel3.Filters.Add (xlsFormat); + Label label3; + PackStart (new Label ("An Open file selector with filters:") { MarginTop = 12 }); + PackStart (fsel3); + PackStart (label3 = new Label ()); + fsel3.FileChanged += (sender, e) => label3.Text = "File changed: " + fsel3.FileName; } } } diff --git a/Xwt/Xwt.Backends/IFileSelectorBackend.cs b/Xwt/Xwt.Backends/IFileSelectorBackend.cs index b9e3bc1a..aa37fd79 100644 --- a/Xwt/Xwt.Backends/IFileSelectorBackend.cs +++ b/Xwt/Xwt.Backends/IFileSelectorBackend.cs @@ -35,6 +35,11 @@ namespace Xwt.Backends string CurrentFolder { get; set; } /// <summary> + /// Filters that allow the user to chose the kinds of files the dialog displays. + /// </summary> + FileDialogFilterCollection Filters { get; } + + /// <summary> /// Gets or sets the active filter. /// </summary> /// <value>The active filter.</value> diff --git a/Xwt/Xwt/FileSelector.cs b/Xwt/Xwt/FileSelector.cs index c7c2164b..b91d19e2 100644 --- a/Xwt/Xwt/FileSelector.cs +++ b/Xwt/Xwt/FileSelector.cs @@ -55,8 +55,6 @@ namespace Xwt } } - FileDialogFilterCollection filters = new FileDialogFilterCollection (null); - static FileSelector () { MapEvent (FileSelectorEvent.FileChanged, typeof (FileSelector), "OnFileChanged"); @@ -106,7 +104,7 @@ namespace Xwt /// Filters that allow the user to chose the kinds of files the dialog displays. /// </summary> public FileDialogFilterCollection Filters { - get { return filters; } + get { return Backend.Filters; } } /// <summary> @@ -208,6 +206,10 @@ namespace Xwt } } + public FileDialogFilterCollection Filters { + get { return filters; } + } + public string FileName { get { return dialog != null ? dialog.FileName : entry.Text; } set { entry.Text = value; } |