Mercurial > gftp.yaz
changeset 51:33a0ba7f52d1
2002-11-6 Brian Masney <masneyb@gftp.org>
* src/gtk/gftp-gtk.c - connect to the select_row signal in the file
listbox to grab the double click event
author | masneyb |
---|---|
date | Thu, 07 Nov 2002 02:38:34 +0000 |
parents | d433c1417d7d |
children | 59bddadd51d7 |
files | ChangeLog src/gtk/gftp-gtk.c |
diffstat | 2 files changed, 21 insertions(+), 28 deletions(-) [+] |
line wrap: on
line diff
--- 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 <masneyb@gftp.org> + * 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 <masneyb@gftp.org> * 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
--- 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); }