/* gcc file-chooser-example.c $(pkg-config --cflags --libs glib-2.0 gtk+-2.0 hildon-1 hildon-fm-2) -Wall */#include <stdlib.h>#include <glib.h>#include <gtk/gtk.h>#include <hildon/hildon.h>#include <hildon/hildon-file-chooser-dialog.h>static void on_file_chooser_dialog_response (GtkWidget *file_chooser_dialog, gint response_id, gpointer user_data G_GNUC_UNUSED){ if (response_id == GTK_RESPONSE_OK) { char *filename = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (file_chooser_dialog)); GtkWidget *note = hildon_note_new_information (GTK_WINDOW (file_chooser_dialog), filename); gtk_dialog_run (GTK_DIALOG (note)); gtk_widget_destroy (note); g_free (filename); } gtk_widget_destroy (file_chooser_dialog); gtk_main_quit ();}int main (int argc, char* argv[]){ GtkWidget *file_chooser_dialog; GtkFileFilter *file_chooser_filter; g_assert (g_file_test ("/home/user/MyDocs/.sounds", G_FILE_TEST_IS_DIR)); hildon_gtk_init (&argc, &argv); file_chooser_dialog = hildon_file_chooser_dialog_new (NULL, GTK_FILE_CHOOSER_ACTION_OPEN); gtk_window_set_title (GTK_WINDOW (file_chooser_dialog), "Open Sound"); gtk_file_chooser_set_current_folder (GTK_FILE_CHOOSER (file_chooser_dialog), "/home/user/MyDocs/.sounds"); file_chooser_filter = gtk_file_filter_new (); /* gtk_file_filter_set_name (file_chooser_filter, "Wave Files"); */ /* No point with the HildonFileChooserDialog... */ gtk_file_filter_add_pattern (file_chooser_filter, "*.wav"); gtk_file_chooser_add_filter (GTK_FILE_CHOOSER (file_chooser_dialog), file_chooser_filter); gtk_file_chooser_set_filter (GTK_FILE_CHOOSER (file_chooser_dialog), file_chooser_filter); g_signal_connect (G_OBJECT (file_chooser_dialog), "response", G_CALLBACK (on_file_chooser_dialog_response), NULL); gtk_widget_show_all (file_chooser_dialog); gtk_main (); return EXIT_SUCCESS;}