#include <gtk/gtk.h>

void OnSelectSingleFileDialogResponse(GtkWidget* dialog, gint response_id, void* foo) {
  gchar* filename = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(dialog));
  printf("RESPONSE: %d\n", response_id);
  printf("FILE: %s\n", filename);
}

int main (int argc, char *argv[])
{
  GtkWidget *dialog;

  g_type_init();
  gtk_init(&argc, &argv);

  dialog = gtk_file_chooser_dialog_new ("Test",
                                        NULL,
                                        GTK_FILE_CHOOSER_ACTION_OPEN,
                                        GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
                                        GTK_STOCK_OPEN, GTK_RESPONSE_ACCEPT,
                                        NULL);
  g_signal_connect(G_OBJECT(dialog), "response",
                   G_CALLBACK(OnSelectSingleFileDialogResponse), NULL);
  gtk_dialog_run (GTK_DIALOG (dialog));
  gtk_widget_destroy (dialog);

  return 0;
}
