diff -ur gtktalog-1.0.0/src/gtktalog/interface.c gtktalog-1.0.0-new/src/gtktalog/interface.c --- gtktalog-1.0.0/src/gtktalog/interface.c Thu Oct 10 22:19:49 2002 +++ gtktalog-1.0.0-new/src/gtktalog/interface.c Tue Oct 22 10:08:27 2002 @@ -1199,64 +1199,18 @@ } void -tree_pressed (GtkWidget * wid, GdkEventButton * event, gpointer data) +tree_selected(GtkWidget * clist, gint row, gint column, + GdkEventButton * event, gpointer data) { - GtkWidget *list_menu; - FOLDER *racine = data; - GString *tmp; - gint row, column; - gint x, y; GNode *gn, *gntmp; + FOLDER *racine; FILE_DATA *fd, *tmpfd; + GString *tmp; - if (event->button == 3) - { - if ((get_thread_status () == THREAD_SCAN_RUNNING_NO) - && (!is_search_running ())) - { - x = event->x; - y = event->y; - if (gtk_clist_get_selection_info - (GTK_CLIST (wid), x, y, &row, &column)) - { - gn = gtk_clist_get_row_data (GTK_CLIST (wid), row); - racine = get_catalog_from_gnode (gn); - racine->selected_folder = gn; - - if (is_dir (gn) == TRUE) - { - list_menu = gnome_popup_menu_new (tree_pressed_menu_dir); - - } - else if (is_link (gn) == TRUE) - { - list_menu = gnome_popup_menu_new (tree_pressed_menu_link); - } - else if (is_vfs_any (gn) == TRUE) - { - list_menu = gnome_popup_menu_new (tree_pressed_menu_vfs); - } - else - { - list_menu = gnome_popup_menu_new (tree_pressed_menu_disk); - } -#ifdef GNOME1 - gnome_popup_menu_do_popup (list_menu, NULL, NULL, event, - racine); -#else - gnome_popup_menu_do_popup (list_menu, NULL, NULL, event, - racine, NULL); -#endif - } - } - } - else if ((event->button == 1)) + if ((event->button == 1)) { - x = event->x; - y = event->y; - if (gtk_clist_get_selection_info (GTK_CLIST (wid), x, y, &row, &column)) { - gn = gtk_clist_get_row_data (GTK_CLIST (wid), row); + gn = gtk_clist_get_row_data (GTK_CLIST (clist), row); racine = get_catalog_from_gnode (gn); if (G_NODE_IS_ROOT (gn) != TRUE) { @@ -1301,6 +1255,60 @@ } } } +} + + +void +tree_pressed (GtkWidget * wid, GdkEventButton * event, gpointer data) +{ + GtkWidget *list_menu; + FOLDER *racine = data; + gint row, column; + gint x, y; + GNode *gn; + + if (event->button == 3) + { + if ((get_thread_status () == THREAD_SCAN_RUNNING_NO) + && (!is_search_running ())) + { + x = event->x; + y = event->y; + if (gtk_clist_get_selection_info + (GTK_CLIST (wid), x, y, &row, &column)) + { + gn = gtk_clist_get_row_data (GTK_CLIST (wid), row); + racine = get_catalog_from_gnode (gn); + racine->selected_folder = gn; + + if (is_dir (gn) == TRUE) + { + list_menu = gnome_popup_menu_new (tree_pressed_menu_dir); + + } + else if (is_link (gn) == TRUE) + { + list_menu = gnome_popup_menu_new (tree_pressed_menu_link); + } + else if (is_vfs_any (gn) == TRUE) + { + list_menu = gnome_popup_menu_new (tree_pressed_menu_vfs); + } + else + { + list_menu = gnome_popup_menu_new (tree_pressed_menu_disk); + } +#ifdef GNOME1 + gnome_popup_menu_do_popup (list_menu, NULL, NULL, event, + racine); +#else + gnome_popup_menu_do_popup (list_menu, NULL, NULL, event, + racine, NULL); +#endif + } + } + } + } diff -ur gtktalog-1.0.0/src/gtktalog/interface.h gtktalog-1.0.0-new/src/gtktalog/interface.h --- gtktalog-1.0.0/src/gtktalog/interface.h Wed Sep 12 22:24:01 2001 +++ gtktalog-1.0.0-new/src/gtktalog/interface.h Tue Oct 22 10:08:27 2002 @@ -40,6 +40,7 @@ void clist_pressed (GtkWidget * wid, GdkEventButton * event, gpointer data); GtkWidget *create_list (); void tree_pressed (GtkWidget * wid, GdkEventButton * event, gpointer data); +void tree_selected(GtkWidget * clist, gint row, gint column, GdkEventButton * event, gpointer data); void update_tree (FOLDER * racine); void clean_description (FOLDER * racine); GList *add_file_to_recent_files (GList * recent_files, diff -ur gtktalog-1.0.0/src/gtktalog/io.c gtktalog-1.0.0-new/src/gtktalog/io.c --- gtktalog-1.0.0/src/gtktalog/io.c Wed Jul 24 18:39:21 2002 +++ gtktalog-1.0.0-new/src/gtktalog/io.c Tue Oct 22 10:11:00 2002 @@ -246,6 +246,9 @@ gtk_signal_connect (GTK_OBJECT (racine->ctree), "button_press_event", GTK_SIGNAL_FUNC (tree_pressed), racine); + gtk_signal_connect (GTK_OBJECT (racine->ctree), "select_row", + GTK_SIGNAL_FUNC (tree_selected), racine); + racine->ctree_tree_expand_signal_id gtk_signal_connect_after (GTK_OBJECT (racine->ctree), "tree_expand", GTK_SIGNAL_FUNC (expand_cb), racine);