diff options
author | Owen Taylor <otaylor@src.gnome.org> | 2003-03-21 20:34:02 +0000 |
---|---|---|
committer | Owen Taylor <otaylor@src.gnome.org> | 2003-03-21 20:34:02 +0000 |
commit | e3849905a9f6945ab664a026a2af78958d02641f (patch) | |
tree | 3c4d7df4785e8f01118f0bb4aad5cfa54431ba77 /tests/testfilechooser.c | |
parent | 250fd7cc43af62578cbcd58a90e1fe0fb706eed1 (diff) | |
download | gtk+-e3849905a9f6945ab664a026a2af78958d02641f.tar.gz |
Initial revision
Diffstat (limited to 'tests/testfilechooser.c')
-rw-r--r-- | tests/testfilechooser.c | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/tests/testfilechooser.c b/tests/testfilechooser.c new file mode 100644 index 0000000000..b44f3efe4e --- /dev/null +++ b/tests/testfilechooser.c @@ -0,0 +1,79 @@ +#include <gtk/gtk.h> +#include "gtkfilechooserdialog.h" +#include "gtkfilechooser.h" +#include "prop-editor.h" + +static void +print_current_folder (GtkFileChooser *chooser) +{ + gchar *uri; + + uri = gtk_file_chooser_get_current_folder_uri (chooser); + g_print ("Current folder changed :\n %s\n", uri); + g_free (uri); +} + +static void +print_selected (GtkFileChooser *chooser) +{ + GSList *uris = gtk_file_chooser_get_uris (chooser); + GSList *tmp_list; + + g_print ("Selection changed :\n"); + for (tmp_list = uris; tmp_list; tmp_list = tmp_list->next) + { + gchar *uri = tmp_list->data; + g_print (" %s\n", uri); + g_free (uri); + } + g_print ("\n"); + g_slist_free (uris); +} + +int +main (int argc, char **argv) +{ + GtkWidget *control_window; + GtkWidget *vbbox; + GtkWidget *button; + GtkWidget *dialog; + GtkWidget *prop_editor; + + gtk_init (&argc, &argv); + + dialog = gtk_file_chooser_dialog_new ("Select a file", NULL, + GTK_FILE_CHOOSER_ACTION_OPEN, + GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, + GTK_STOCK_OPEN, GTK_RESPONSE_OK, + NULL); + g_signal_connect (dialog, "selection_changed", + G_CALLBACK (print_selected), NULL); + g_signal_connect (dialog, "current_folder_changed", + G_CALLBACK (print_current_folder), NULL); + + gtk_window_set_default_size (GTK_WINDOW (dialog), 600, 400); + gtk_widget_show (dialog); + + prop_editor = create_prop_editor (G_OBJECT (dialog), GTK_TYPE_FILE_CHOOSER); + + control_window = gtk_window_new (GTK_WINDOW_TOPLEVEL); + + vbbox = gtk_vbutton_box_new (); + gtk_container_add (GTK_CONTAINER (control_window), vbbox); + + button = gtk_button_new_with_mnemonic ("_Select all"); + gtk_container_add (GTK_CONTAINER (vbbox), button); + g_signal_connect_swapped (button, "clicked", + G_CALLBACK (gtk_file_chooser_select_all), dialog); + + button = gtk_button_new_with_mnemonic ("_Unselect all"); + gtk_container_add (GTK_CONTAINER (vbbox), button); + g_signal_connect_swapped (button, "clicked", + G_CALLBACK (gtk_file_chooser_unselect_all), dialog); + + gtk_widget_show_all (control_window); + + gtk_main (); + + return 0; +} |