rem: g_signal_connect ( G_OBJECT(menu_item), "activate", edition_operation, NULL );
add: g_signal_connect ( G_OBJECT(menu_item), "activate", G_CALLBACK (gsb_transactions_list_edit_current_transaction), NULL );
context: void popup_transaction_context_menu ( gboolean full ){    GtkWidget *menu, *menu_item;    if ( gsb_account_get_current_transaction (compte_courant) == GINT_TO_POINTER(-1) )	full = FALSE;    menu = gtk_menu_new ();    /* Edit transaction */    menu_item = gtk_image_menu_item_new_with_label ( _("Edit transaction") );    gtk_image_menu_item_set_image ( GTK_IMAGE_MENU_ITEM(menu_item),				    gtk_image_new_from_stock ( GTK_STOCK_PROPERTIES,							       GTK_ICON_SIZE_MENU ));    g_signal_connect ( G_OBJECT(menu_item), "activate", edition_operation, NULL );    if ( !full )	gtk_widget_set_sensitive ( menu_item, FALSE );    gtk_menu_append ( menu, menu_item );    /* Separator */    gtk_menu_append ( menu, gtk_separator_menu_item_new() );    /* New transaction */    menu_item = gtk_image_menu_item_new_with_label ( _("New transaction") );    gtk_image_menu_item_set_image ( GTK_IMAGE_MENU_ITEM(menu_item),				    gtk_image_new_from_stock ( GTK_STOCK_NEW,							       GTK_ICON_SIZE_MENU ));    g_signal_connect ( G_OBJECT(menu_item), "activate", new_transaction, NULL );    gtk_menu_append ( menu, menu_item );    /* Delete transaction */    menu_item = gtk_image_menu_item_new_with_label ( _("Delete transaction") );    gtk_image_menu_item_set_image ( GTK_IMAGE_MENU_ITEM(menu_item),				    gtk_image_new_from_stock ( GTK_STOCK_DELETE,							       GTK_ICON_SIZE_MENU ));    g_signal_connect ( G_OBJECT(menu_item), "activate", remove_transaction, NULL );    if ( !full || 	 ((struct structure_operation *) gsb_account_get_current_transaction (compte_courant)) -> pointe == OPERATION_RAPPROCHEE ||	 ((struct structure_operation *) gsb_account_get_current_transaction (compte_courant)) -> pointe == OPERATION_TELERAPPROCHEE )	gtk_widget_set_sensitive ( menu_item, FALSE );    gtk_menu_append ( menu, menu_item );    /* Clone transaction */    menu_item = gtk_image_menu_item_new_with_label ( _("Clone transaction") );    gtk_image_menu_item_set_image ( GTK_IMAGE_MENU_ITEM(menu_item),				    gtk_image_new_from_stock ( GTK_STOCK_COPY,							       GTK_ICON_SIZE_MENU ));    g_signal_connect ( G_OBJECT(menu_item), "activate", clone_selected_transaction, NULL );    if ( !full )	gtk_widget_set_sensitive ( menu_item, FALSE );    gtk_menu_append ( menu, menu_item );    /* Separator */    gtk_menu_append ( menu, gtk_separator_menu_item_new() );    /* Convert to scheduled transaction */    menu_item = gtk_image_menu_item_new_with_label ( _("Convert transaction to scheduled transaction") );    gtk_image_menu_item_set_image ( GTK_IMAGE_MENU_ITEM(menu_item),				    gtk_image_new_from_stock ( GTK_STOCK_CONVERT,							       GTK_ICON_SIZE_MENU ));    g_signal_connect ( G_OBJECT(menu_item), "activate", schedule_selected_transaction, NULL );    if ( !full )	gtk_widget_set_sensitive ( menu_item, FALSE );    gtk_menu_append ( menu, menu_item );    /* Move to another account */    menu_item = gtk_image_menu_item_new_with_label ( _("Move transaction to another account") );    gtk_image_menu_item_set_image ( GTK_IMAGE_MENU_ITEM(menu_item),				    gtk_image_new_from_stock ( GTK_STOCK_JUMP_TO,							       GTK_ICON_SIZE_MENU ));    if ( !full || 	 ((struct structure_operation *) gsb_account_get_current_transaction (compte_courant)) -> pointe == OPERATION_RAPPROCHEE ||	 ((struct structure_operation *) gsb_account_get_current_transaction (compte_courant)) -> pointe == OPERATION_TELERAPPROCHEE )	gtk_widget_set_sensitive ( menu_item, FALSE );    gtk_menu_append ( menu, menu_item );    /* Add accounts submenu */    gtk_menu_item_set_submenu ( GTK_MENU_ITEM(menu_item), 				GTK_WIDGET(creation_option_menu_comptes(GTK_SIGNAL_FUNC(move_selected_operation_to_account), FALSE, FALSE)) );    gtk_widget_show_all (menu);    gtk_menu_popup ( GTK_MENU(menu), NULL, NULL, NULL, NULL, 3, gtk_get_current_event_time());}