[mistelix] Filter audio files in the audio selection dialog



commit 50153df5716144c2fff4780a57aa18486524f3cf
Author: Jordi Mas <jmas softcatala org>
Date:   Sat May 9 16:07:21 2009 +0200

    Filter audio files in the audio selection dialog
---
 src/dialogs/AudioSelectionDialog.cs |   13 +++++++++++++
 src/widgets/BrowseFile.cs           |    9 ++++++---
 2 files changed, 19 insertions(+), 3 deletions(-)

diff --git a/src/dialogs/AudioSelectionDialog.cs b/src/dialogs/AudioSelectionDialog.cs
index 717237c..bf62ee3 100644
--- a/src/dialogs/AudioSelectionDialog.cs
+++ b/src/dialogs/AudioSelectionDialog.cs
@@ -56,6 +56,19 @@ namespace Mistelix.Dialogs
 			box.Expand = false;
 			box.Fill = false;
 
+			FileFilter[] filters = new FileFilter [2];
+
+			filters[0] = new FileFilter ();
+			filters[0].AddPattern ("*.ogg");
+			filters[0].AddPattern ("*.mp3");
+			filters[0].Name = Catalog.GetString ("Audio files");
+
+			filters[1] = new FileFilter ();
+			filters[1].AddPattern ("*.*");
+			filters[1].Name = Catalog.GetString ("All files");
+
+			audiofile_browser.Filters = filters;
+
 			clean_button.ShowAll ();
 		}
 
diff --git a/src/widgets/BrowseFile.cs b/src/widgets/BrowseFile.cs
index abd8380..6322413 100644
--- a/src/widgets/BrowseFile.cs
+++ b/src/widgets/BrowseFile.cs
@@ -34,7 +34,7 @@ namespace Mistelix.Widgets
 		Entry filename;
 		Button browse;
 		bool browse_file;
-		Gtk.FileFilter filter;
+		Gtk.FileFilter[] filters;
 		string default_dir;
 
 		public virtual event EventHandler FileSelectedChanged;
@@ -77,8 +77,8 @@ namespace Mistelix.Widgets
 			}
 		}
 
-		public Gtk.FileFilter Filter {
-			set { filter = value; }
+		public Gtk.FileFilter[] Filters {
+			set { filters = value; }
 		}
 
 		void OnBrowse (object o, EventArgs args)
@@ -100,6 +100,9 @@ namespace Mistelix.Widgets
 			chooser_dialog.AddButton (Stock.Open, ResponseType.Ok);
 			chooser_dialog.DefaultResponse = ResponseType.Ok;
 			chooser_dialog.LocalOnly = false;
+	
+			foreach (Gtk.FileFilter filter in filters)
+				chooser_dialog.AddFilter (filter);
 
 			if (chooser_dialog.Run () == (int) ResponseType.Ok) {
 				filename.Text = chooser_dialog.Filename;



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]