summaryrefslogtreecommitdiff
path: root/tests/testfilechooser.c
diff options
context:
space:
mode:
authorOwen Taylor <otaylor@src.gnome.org>2003-03-21 20:34:02 +0000
committerOwen Taylor <otaylor@src.gnome.org>2003-03-21 20:34:02 +0000
commite3849905a9f6945ab664a026a2af78958d02641f (patch)
tree3c4d7df4785e8f01118f0bb4aad5cfa54431ba77 /tests/testfilechooser.c
parent250fd7cc43af62578cbcd58a90e1fe0fb706eed1 (diff)
downloadgtk+-e3849905a9f6945ab664a026a2af78958d02641f.tar.gz
Initial revision
Diffstat (limited to 'tests/testfilechooser.c')
-rw-r--r--tests/testfilechooser.c79
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;
+}