2 #include "gtkfilechooserdialog.h"
3 #include "gtkfilechooser.h"
4 #include "prop-editor.h"
7 #include "gtkfilesystemgnomevfs.h"
9 #include "gtkfilesystemunix.h"
13 print_current_folder (GtkFileChooser *chooser)
17 uri = gtk_file_chooser_get_current_folder_uri (chooser);
18 g_print ("Current folder changed :\n %s\n", uri);
23 print_selected (GtkFileChooser *chooser)
25 GSList *uris = gtk_file_chooser_get_uris (chooser);
28 g_print ("Selection changed :\n");
29 for (tmp_list = uris; tmp_list; tmp_list = tmp_list->next)
31 gchar *uri = tmp_list->data;
32 g_print (" %s\n", uri);
40 response_cb (GtkDialog *dialog,
47 main (int argc, char **argv)
49 GtkWidget *control_window;
53 GtkWidget *prop_editor;
54 GtkFileSystem *file_system;
56 gtk_init (&argc, &argv);
59 file_system = _gtk_file_system_gnome_vfs_new ();
61 file_system = _gtk_file_system_unix_new ();
64 dialog = g_object_new (GTK_TYPE_FILE_CHOOSER_DIALOG,
65 "action", GTK_FILE_CHOOSER_ACTION_OPEN,
66 "file-system", file_system,
67 "title", "Select a file",
70 gtk_dialog_add_buttons (GTK_DIALOG (dialog),
71 GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
72 GTK_STOCK_OPEN, GTK_RESPONSE_OK,
74 gtk_dialog_set_default_response (GTK_DIALOG (dialog), GTK_RESPONSE_OK);
76 g_signal_connect (dialog, "selection-changed",
77 G_CALLBACK (print_selected), NULL);
78 g_signal_connect (dialog, "current-folder-changed",
79 G_CALLBACK (print_current_folder), NULL);
80 g_signal_connect (dialog, "response",
81 G_CALLBACK (response_cb), NULL);
83 gtk_window_set_default_size (GTK_WINDOW (dialog), 600, 400);
84 gtk_widget_show (dialog);
86 prop_editor = create_prop_editor (G_OBJECT (dialog), GTK_TYPE_FILE_CHOOSER);
88 control_window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
90 vbbox = gtk_vbutton_box_new ();
91 gtk_container_add (GTK_CONTAINER (control_window), vbbox);
93 button = gtk_button_new_with_mnemonic ("_Select all");
94 gtk_container_add (GTK_CONTAINER (vbbox), button);
95 g_signal_connect_swapped (button, "clicked",
96 G_CALLBACK (gtk_file_chooser_select_all), dialog);
98 button = gtk_button_new_with_mnemonic ("_Unselect all");
99 gtk_container_add (GTK_CONTAINER (vbbox), button);
100 g_signal_connect_swapped (button, "clicked",
101 G_CALLBACK (gtk_file_chooser_unselect_all), dialog);
103 gtk_widget_show_all (control_window);