X-Git-Url: https://git.street.me.uk/andy/viking.git/blobdiff_plain/644eea0ee18cdfc110d4cb28f16842d0e2fc0b46..9e90c3a511d4ea403d07522fb41d9f44328ecaa0:/src/vikfilelist.c diff --git a/src/vikfilelist.c b/src/vikfilelist.c index b2e6028a..6bd3529e 100644 --- a/src/vikfilelist.c +++ b/src/vikfilelist.c @@ -34,6 +34,7 @@ struct _VikFileList { GtkWidget *treeview; GtkWidget *file_selector; GtkTreeModel *model; + GtkFileFilter *filter; }; 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 ); + + 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 ) { @@ -150,12 +154,18 @@ GType vik_file_list_get_type (void) 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 ) ); + vfl->filter = filter; + GtkTreeViewColumn *column; vfl->model = GTK_TREE_MODEL ( gtk_list_store_new(1, G_TYPE_STRING) );