[Xfce4-commits] <parole:master> Added better filters to media chooser. Opening a folder now works properly.

Sean Davis noreply at xfce.org
Tue Jul 24 03:50:01 CEST 2012


Updating branch refs/heads/master
         to b78df0518014a78232266b188374def82a3a675c (commit)
       from abb837f464253d96d3e914b9add428b9e8763428 (commit)

commit b78df0518014a78232266b188374def82a3a675c
Author: Sean Davis <smd.seandavis at gmail.com>
Date:   Mon Jul 23 21:48:45 2012 -0400

    Added better filters to media chooser.  Opening a folder now works properly.

 data/interfaces/mediachooser.ui |    2 ++
 src/parole-mediachooser.c       |   38 ++++++++++++++++++++++++--------------
 2 files changed, 26 insertions(+), 14 deletions(-)

diff --git a/data/interfaces/mediachooser.ui b/data/interfaces/mediachooser.ui
index ed98224..cbe19ee 100644
--- a/data/interfaces/mediachooser.ui
+++ b/data/interfaces/mediachooser.ui
@@ -105,6 +105,7 @@
             <property name="orientation">vertical</property>
             <property name="spacing">1</property>
             <property name="create_folders">False</property>
+            <property name="filter">filefilter</property>
             <property name="local_only">False</property>
             <property name="select_multiple">True</property>
             <signal name="file-activated" handler="media_chooser_file_activate_cb" swapped="no"/>
@@ -119,6 +120,7 @@
       </object>
     </child>
   </object>
+  <object class="GtkFileFilter" id="filefilter"/>
   <object class="GtkImage" id="image1">
     <property name="visible">True</property>
     <property name="can_focus">False</property>
diff --git a/src/parole-mediachooser.c b/src/parole-mediachooser.c
index 9ac46a2..c5b7e7f 100644
--- a/src/parole-mediachooser.c
+++ b/src/parole-mediachooser.c
@@ -186,15 +186,16 @@ void media_chooser_file_activate_cb (GtkFileChooser *filechooser, ParoleMediaCho
 static void
 parole_media_chooser_open_internal (ParoleMediaChooser *media_chooser)
 {
-    GtkWidget   *file_chooser;
-    GtkBuilder  *builder;
-    GtkWidget   *recursive;
-    GtkWidget   *replace;
-    GtkWidget   *play_opened;
-    gboolean     scan_recursive;
-    gboolean     replace_playlist;
-    gboolean     play;
-    const gchar *folder;
+    GtkWidget       *file_chooser;
+    GtkBuilder      *builder;
+    GtkWidget       *recursive;
+    GtkWidget       *replace;
+    GtkWidget       *play_opened;
+    GtkFileFilter   *filter;
+    gboolean        scan_recursive;
+    gboolean        replace_playlist;
+    gboolean        play;
+    const gchar    *folder;
 
     builder = parole_builder_new_from_string (mediachooser_ui, mediachooser_ui_length);
     
@@ -204,12 +205,21 @@ parole_media_chooser_open_internal (ParoleMediaChooser *media_chooser)
     gtk_widget_hide( media_chooser->spinner );
     
     file_chooser = GTK_WIDGET (gtk_builder_get_object (builder, "filechooserwidget"));
+    filter = gtk_file_chooser_get_filter (GTK_FILE_CHOOSER (file_chooser));
+    
+    gtk_file_filter_set_name( filter, _("Supported files") );
+    
+    gtk_file_filter_add_mime_type (GTK_FILE_FILTER (filter), "audio/*");
+    gtk_file_filter_add_mime_type (GTK_FILE_FILTER (filter), "video/*");
+    
+    GtkFileFilter *all_files;
+    all_files = gtk_file_filter_new();
+    gtk_file_filter_add_pattern ( all_files, "*");
+    
+    gtk_file_filter_set_name( all_files, _("All files") );
     
-    gtk_file_chooser_add_filter (GTK_FILE_CHOOSER (file_chooser), parole_get_supported_files_filter ());
-    gtk_file_chooser_add_filter (GTK_FILE_CHOOSER (file_chooser), parole_get_supported_media_filter ());
-    gtk_file_chooser_add_filter (GTK_FILE_CHOOSER (file_chooser), parole_get_supported_audio_filter ());
-    gtk_file_chooser_add_filter (GTK_FILE_CHOOSER (file_chooser), parole_get_supported_video_filter ());
-    gtk_file_chooser_add_filter (GTK_FILE_CHOOSER (file_chooser), parole_get_supported_playlist_filter ());
+    gtk_file_chooser_add_filter( GTK_FILE_CHOOSER(file_chooser), filter );
+    gtk_file_chooser_add_filter( GTK_FILE_CHOOSER(file_chooser), all_files );
 
     folder = parole_rc_read_entry_string ("media-chooser-folder", PAROLE_RC_GROUP_GENERAL, NULL);
     


More information about the Xfce4-commits mailing list