--- a/gf_theme_editor.c Sat Dec 27 17:42:41 2003 +0000
+++ b/gf_theme_editor.c Sat Dec 27 20:04:57 2003 +0000
@@ -77,7 +77,7 @@
static void color_dialog(GtkWidget *widget, gpointer data);
static void color_dialog_ok(GtkWidget *widget, gpointer data);
static void modified_message_response_cb(GtkWidget *widget, gint response_id, gpointer data);
-static void file_dialog_ok(GtkWidget *widget, gpointer data);
+static void file_dialog_cb(GtkWidget *widget, gint response_id, gpointer data); /***********************************************************************
**********************************************************************/
@@ -757,16 +757,26 @@
/**********************************************************************/
make_file_dialog(gchar *title, gboolean open, gboolean quit) {
+ GtkWidget *dialog, *scrolled_window, *dir_tree; + dialog = gtk_dialog_new_with_buttons(title, GTK_WINDOW(window), GTK_DIALOG_MODAL, GTK_STOCK_OK, GTK_RESPONSE_ACCEPT, GTK_STOCK_CANCEL, GTK_RESPONSE_REJECT, NULL); + gtk_container_set_border_width(GTK_CONTAINER(dialog), 12); - dialog = gtk_file_selection_new(title);
+ scrolled_window = gtk_scrolled_window_new(NULL, NULL); + gtk_widget_set_size_request(scrolled_window, 300, 350); + gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scrolled_window), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); + gtk_box_pack_start(GTK_BOX(GTK_DIALOG(dialog)->vbox), scrolled_window, TRUE, TRUE, 8); + gtk_widget_show(scrolled_window); + dir_tree = grim_dir_tree_view_new(); + gtk_container_add(GTK_CONTAINER(scrolled_window), dir_tree); + grim_dir_tree_view_set_path(GRIM_DIR_TREE_VIEW(dir_tree), g_get_home_dir()); + gtk_widget_show(dir_tree); g_object_set_data(G_OBJECT(dialog), "open", (gpointer)open);
g_object_set_data(G_OBJECT(dialog), "quit", (gpointer)quit);
- g_signal_connect(G_OBJECT(GTK_FILE_SELECTION(dialog)->ok_button), "clicked", G_CALLBACK(file_dialog_ok), (gpointer)dialog);
- g_signal_connect_swapped(G_OBJECT(GTK_FILE_SELECTION(dialog)->cancel_button), "clicked", G_CALLBACK(gtk_widget_destroy), (gpointer)dialog);
+ g_signal_connect(G_OBJECT(dialog), "response", G_CALLBACK(file_dialog_cb), (gpointer)dialog); @@ -1101,20 +1111,24 @@
/**********************************************************************/
-file_dialog_ok(GtkWidget *widget, gpointer data) {
+file_dialog_cb(GtkWidget *widget, gint response_id, gpointer data) { GtkWidget *dialog = (GtkWidget*)data;
GtkWidget *overwrite_dialog = NULL;
gboolean open = (gboolean)g_object_get_data(G_OBJECT(dialog), "open");
gboolean quit = (gboolean)g_object_get_data(G_OBJECT(dialog), "quit");
- printf("ok clicked\n");
+ if (response_id == GTK_RESPONSE_ACCEPT) { + printf("ok clicked\n");
- gtk_widget_destroy(dialog);
+ gtk_widget_destroy(dialog); /**********************************************************************/