# HG changeset patch # User masneyb # Date 1036636714 0 # Node ID 33a0ba7f52d123d0e640e6d067ad054ec6a6d2c8 # Parent d433c1417d7d5a7e6634a5ec66397762c6113689 2002-11-6 Brian Masney * src/gtk/gftp-gtk.c - connect to the select_row signal in the file listbox to grab the double click event diff -r d433c1417d7d -r 33a0ba7f52d1 ChangeLog --- a/ChangeLog Wed Nov 06 04:10:45 2002 +0000 +++ b/ChangeLog Thu Nov 07 02:38:34 2002 +0000 @@ -1,3 +1,7 @@ +2002-11-6 Brian Masney + * src/gtk/gftp-gtk.c - connect to the select_row signal in the file + listbox to grab the double click event + 2002-11-5 Brian Masney * src/gtk/dnd.c - some code cleanups. Also, add the file transfer with the function add_file_transfer() @@ -163,7 +167,7 @@ * cvsclean - added this script - * *.[ch] - added $Id: ChangeLog,v 1.28 2002/11/06 04:10:45 masneyb Exp $ tags + * *.[ch] - added $Id: ChangeLog,v 1.29 2002/11/07 02:38:30 masneyb Exp $ tags * debian/* - updated files from Debian maintainer diff -r d433c1417d7d -r 33a0ba7f52d1 src/gtk/gftp-gtk.c --- a/src/gtk/gftp-gtk.c Wed Nov 06 04:10:45 2002 +0000 +++ b/src/gtk/gftp-gtk.c Thu Nov 07 02:38:34 2002 +0000 @@ -513,34 +513,25 @@ gftp_window_data * wdata; wdata = data; + if (event->button == 3) gtk_item_factory_popup (wdata->ifactory, (guint) event->x_root, (guint) event->y_root, 3, event->time); - else if (!GFTP_IS_CONNECTED (wdata->request) || !IS_ONE_SELECTED (wdata)) - return (TRUE); + return (FALSE); +} + -#if GTK_MAJOR_VERSION == 1 - if (event->type == GDK_2BUTTON_PRESS && event->button == 1) - { - list_doaction (wdata); - return (FALSE); - } - return (TRUE); -#else - /* FIXME - If we're using GTK 2.0, if I connect to the button_press_event - signal, whenever I get the GDK_2BUTTON_PRESS event, nothing is selected - inside the clist. But if I connect_after to the button_release_event, it - seems to only get called when we double click */ +void +select_row_callback (GtkWidget *widget, gint row, gint column, + GdkEventButton *event, gpointer data) +{ + gftp_window_data * wdata; - /* This is also causing a bug where the file transfer is being added twice */ + wdata = data; - if (event->button == 1) - { - list_doaction (wdata); - return (FALSE); - } - return (TRUE); -#endif + if (event != NULL && event->type == GDK_2BUTTON_PRESS && event->button == 1 && + GFTP_IS_CONNECTED (wdata->request) && IS_ONE_SELECTED (wdata)) + list_doaction (wdata); } @@ -626,13 +617,11 @@ (gpointer) wdata); gtk_signal_connect_after (GTK_OBJECT (wdata->listbox), "key_press_event", GTK_SIGNAL_FUNC (list_enter), (gpointer) wdata); -#if GTK_MAJOR_VERSION == 1 + gtk_signal_connect (GTK_OBJECT (wdata->listbox), "select_row", + GTK_SIGNAL_FUNC(select_row_callback), + (gpointer) wdata); gtk_signal_connect_after (GTK_OBJECT (wdata->listbox), "button_press_event", GTK_SIGNAL_FUNC (list_dblclick), (gpointer) wdata); -#else - g_signal_connect_after (G_OBJECT (wdata->listbox), "button_release_event", - G_CALLBACK (list_dblclick), (gpointer) wdata); -#endif return (parent); }