]> git.street.me.uk Git - andy/viking.git/blobdiff - src/vikfilelist.c
[QA] Use labs() instead of abs() in comparison of timestamps to avoid truncation...
[andy/viking.git] / src / vikfilelist.c
index b2e6028a010c36be146f2d866fcb799bde47bd5c..6bd3529ed353157405ecac0c30fb0446b26ef7d4 100644 (file)
@@ -34,6 +34,7 @@ struct _VikFileList {
   GtkWidget *treeview;
   GtkWidget *file_selector;
   GtkTreeModel *model;
   GtkWidget *treeview;
   GtkWidget *file_selector;
   GtkTreeModel *model;
+  GtkFileFilter *filter;
 };
 
 static void file_list_add ( VikFileList *vfl )
 };
 
 static void file_list_add ( VikFileList *vfl )
@@ -54,6 +55,9 @@ static void file_list_add ( VikFileList *vfl )
     gtk_file_chooser_set_select_multiple ( GTK_FILE_CHOOSER(vfl->file_selector), TRUE );
     gtk_window_set_transient_for ( GTK_WINDOW(vfl->file_selector), GTK_WINDOW(win) );
     gtk_window_set_destroy_with_parent ( GTK_WINDOW(vfl->file_selector), TRUE );
     gtk_file_chooser_set_select_multiple ( GTK_FILE_CHOOSER(vfl->file_selector), TRUE );
     gtk_window_set_transient_for ( GTK_WINDOW(vfl->file_selector), GTK_WINDOW(win) );
     gtk_window_set_destroy_with_parent ( GTK_WINDOW(vfl->file_selector), TRUE );
+
+    if ( vfl->filter )
+      gtk_file_chooser_add_filter ( GTK_FILE_CHOOSER(vfl->file_selector), vfl->filter );
   }
 
   if ( gtk_dialog_run ( GTK_DIALOG(vfl->file_selector) ) == GTK_RESPONSE_ACCEPT ) {
   }
 
   if ( gtk_dialog_run ( GTK_DIALOG(vfl->file_selector) ) == GTK_RESPONSE_ACCEPT ) {
@@ -150,12 +154,18 @@ GType vik_file_list_get_type (void)
   return vs_type;
 }
 
   return vs_type;
 }
 
-GtkWidget *vik_file_list_new ( const gchar *title )
+/**
+ * Support just one filter, as that's all that's needed ATM
+ * Probably need to use a GList of them if more than one is required
+ */
+GtkWidget *vik_file_list_new ( const gchar *title, GtkFileFilter *filter )
 {
   GtkWidget *add_btn, *del_btn;
   GtkWidget *hbox, *scrolledwindow;
   VikFileList *vfl = VIK_FILE_LIST ( g_object_new ( VIK_FILE_LIST_TYPE, NULL ) );
 
 {
   GtkWidget *add_btn, *del_btn;
   GtkWidget *hbox, *scrolledwindow;
   VikFileList *vfl = VIK_FILE_LIST ( g_object_new ( VIK_FILE_LIST_TYPE, NULL ) );
 
+  vfl->filter = filter;
+
   GtkTreeViewColumn *column;
 
   vfl->model = GTK_TREE_MODEL ( gtk_list_store_new(1, G_TYPE_STRING) );
   GtkTreeViewColumn *column;
 
   vfl->model = GTK_TREE_MODEL ( gtk_list_store_new(1, G_TYPE_STRING) );