diff options
author | Jay Painter <jpaint@src.gnome.org> | 1998-02-19 02:59:55 +0000 |
---|---|---|
committer | Jay Painter <jpaint@src.gnome.org> | 1998-02-19 02:59:55 +0000 |
commit | 8923d60dba0e1990ca066ef7cf9b6b065a4c4b63 (patch) | |
tree | 53a7b15dfb88079748c6d6038432b9071a5c630b /gtk/gtkfilesel.c | |
parent | 9ad922290cc7495298099a4b97029942b0ce34c3 (diff) | |
download | gdk-pixbuf-8923d60dba0e1990ca066ef7cf9b6b065a4c4b63.tar.gz |
CList signal revert (right back at you! *ouch*)
Diffstat (limited to 'gtk/gtkfilesel.c')
-rw-r--r-- | gtk/gtkfilesel.c | 110 |
1 files changed, 38 insertions, 72 deletions
diff --git a/gtk/gtkfilesel.c b/gtk/gtkfilesel.c index 2001e2d93..6ac032659 100644 --- a/gtk/gtkfilesel.c +++ b/gtk/gtkfilesel.c @@ -286,27 +286,15 @@ static gint gtk_file_selection_key_press (GtkWidget *widget, static void gtk_file_selection_file_button (GtkWidget *widget, gint row, gint column, - gint button, + GdkEventButton *bevent, gpointer user_data); -static void gtk_file_selection_file_button_double (GtkWidget *widget, - gint row, - gint column, - gint button, - gpointer user_data); - static void gtk_file_selection_dir_button (GtkWidget *widget, gint row, gint column, - gint button, + GdkEventButton *bevent, gpointer data); -static void gtk_file_selection_dir_button_double (GtkWidget *widget, - gint row, - gint column, - gint button, - gpointer data); - static void gtk_file_selection_populate (GtkFileSelection *fs, gchar *rel_path, gint try_complete); @@ -440,9 +428,6 @@ gtk_file_selection_init (GtkFileSelection *filesel) gtk_signal_connect (GTK_OBJECT (filesel->dir_list), "select_row", (GtkSignalFunc) gtk_file_selection_dir_button, (gpointer) filesel); - gtk_signal_connect (GTK_OBJECT (filesel->dir_list), "mouse_double_click", - (GtkSignalFunc) gtk_file_selection_dir_button_double, - (gpointer) filesel); gtk_clist_set_policy (GTK_CLIST (filesel->dir_list), GTK_POLICY_ALWAYS, GTK_POLICY_AUTOMATIC); gtk_clist_column_titles_passive (GTK_CLIST (filesel->dir_list)); gtk_container_border_width (GTK_CONTAINER (filesel->dir_list), 5); @@ -455,9 +440,6 @@ gtk_file_selection_init (GtkFileSelection *filesel) gtk_signal_connect (GTK_OBJECT (filesel->file_list), "select_row", (GtkSignalFunc) gtk_file_selection_file_button, (gpointer) filesel); - gtk_signal_connect (GTK_OBJECT (filesel->file_list), "mouse_double_click", - (GtkSignalFunc) gtk_file_selection_file_button_double, - (gpointer) filesel); gtk_clist_set_policy (GTK_CLIST (filesel->file_list), GTK_POLICY_ALWAYS, GTK_POLICY_AUTOMATIC); gtk_clist_column_titles_passive (GTK_CLIST (filesel->file_list)); gtk_container_border_width (GTK_CONTAINER (filesel->file_list), 5); @@ -1110,32 +1092,10 @@ gtk_file_selection_update_history_menu (GtkFileSelection *fs, static void gtk_file_selection_file_button (GtkWidget *widget, - gint row, - gint column, - gint button, - gpointer user_data) -{ - GtkFileSelection *fs = NULL; - gchar *filename; - - g_return_if_fail (GTK_IS_CLIST (widget)); - - fs = user_data; - g_return_if_fail (fs != NULL); - g_return_if_fail (GTK_IS_FILE_SELECTION (fs)); - - filename = gtk_clist_get_row_data (GTK_CLIST (fs->file_list), row); - - if (filename) - gtk_entry_set_text (GTK_ENTRY (fs->selection_entry), filename); -} - -static void -gtk_file_selection_file_button_double (GtkWidget *widget, - gint row, - gint column, - gint button, - gpointer user_data) + gint row, + gint column, + GdkEventButton *bevent, + gpointer user_data) { GtkFileSelection *fs = NULL; gchar *filename; @@ -1148,15 +1108,29 @@ gtk_file_selection_file_button_double (GtkWidget *widget, filename = gtk_clist_get_row_data (GTK_CLIST (fs->file_list), row); - if (filename) - gtk_button_clicked (GTK_BUTTON (fs->ok_button)); + if (bevent && filename) + { + switch (bevent->type) + { + case GDK_BUTTON_PRESS: + gtk_entry_set_text (GTK_ENTRY (fs->selection_entry), filename); + break; + + case GDK_2BUTTON_PRESS: + gtk_button_clicked (GTK_BUTTON (fs->ok_button)); + break; + + default: + break; + } + } } static void gtk_file_selection_dir_button (GtkWidget *widget, gint row, gint column, - gint button, + GdkEventButton *bevent, gpointer user_data) { GtkFileSelection *fs = NULL; @@ -1170,30 +1144,22 @@ gtk_file_selection_dir_button (GtkWidget *widget, filename = gtk_clist_get_row_data (GTK_CLIST (fs->dir_list), row); - if (filename) - gtk_entry_set_text (GTK_ENTRY (fs->selection_entry), filename); -} - -static void -gtk_file_selection_dir_button_double (GtkWidget *widget, - gint row, - gint column, - gint button, - gpointer user_data) -{ - GtkFileSelection *fs = NULL; - gchar *filename; - - g_return_if_fail (GTK_IS_CLIST (widget)); - - fs = GTK_FILE_SELECTION (user_data); - g_return_if_fail (fs != NULL); - g_return_if_fail (GTK_IS_FILE_SELECTION (fs)); - - filename = gtk_clist_get_row_data (GTK_CLIST (fs->dir_list), row); + if (bevent && filename) { - if (filename) - gtk_file_selection_populate (fs, filename, FALSE); + switch (bevent->type) + { + case GDK_BUTTON_PRESS: + gtk_entry_set_text (GTK_ENTRY (fs->selection_entry), filename); + break; + + case GDK_2BUTTON_PRESS: + gtk_file_selection_populate (fs, filename, FALSE); + break; + + default: + break; + } + } } static void |