rem: GTK_SIGNAL_FUNC ( desensitive_widget ), GTK_OBJECT ( compte -> bouton_compte )); gtk_signal_connect_object ( GTK_OBJECT ( menu_item ), "activate", GTK_SIGNAL_FUNC ( sensitive_widget ), GTK_OBJECT ( compte -> bouton_type_compte )); gtk_menu_append ( GTK_MENU ( menu ), menu_item ); gtk_widget_show ( menu_item );  if ( nb_comptes ) { menu_item = gtk_menu_item_new_with_label ( _("Add the operations")); gtk_object_set_data ( GTK_OBJECT ( menu_item ), "no_action", GINT_TO_POINTER ( 1 )); gtk_signal_connect_object ( GTK_OBJECT ( menu_item ), "activate", GTK_SIGNAL_FUNC ( sensitive_widget ), GTK_OBJECT ( compte -> bouton_compte )); gtk_signal_connect_object ( GTK_OBJECT ( menu_item ), "activate", GTK_SIGNAL_FUNC ( desensitive_widget ), GTK_OBJECT ( compte -> bouton_type_compte )); gtk_menu_append ( GTK_MENU ( menu ), menu_item ); gtk_widget_show ( menu_item );  menu_item = gtk_menu_item_new_with_label ( _("Mark the operations")); gtk_object_set_data ( GTK_OBJECT ( menu_item ), "no_action", GINT_TO_POINTER ( 2 ) ); gtk_signal_connect_object ( GTK_OBJECT ( menu_item ), "activate", GTK_SIGNAL_FUNC ( sensitive_widget ), GTK_OBJECT ( compte -> bouton_compte )); gtk_signal_connect_object ( GTK_OBJECT ( menu_item ), "activate", GTK_SIGNAL_FUNC ( desensitive_widget ), GTK_OBJECT ( compte -> bouton_type_compte )); gtk_menu_append ( GTK_MENU ( menu ), menu_item ); gtk_widget_show ( menu_item ); }  gtk_option_menu_set_menu ( GTK_OPTION_MENU ( compte -> bouton_action ), menu ); gtk_widget_show ( menu ); gtk_table_attach ( GTK_TABLE ( table_recapitulatif ), compte -> bouton_action, 3, 4, position, position+1, GTK_SHRINK, GTK_SHRINK, 0, 0 ); gtk_widget_show ( compte -> bouton_action );      if ( nb_comptes ) { menu = gtk_menu_new ();  p_tab_nom_de_compte_variable = p_tab_nom_de_compte; no_compte_trouve = -1;  do
add: GTK_SIGNAL_FUNC ( sensitive_widget ), GTK_OBJECT ( compte -> bouton_type_compte )); gtk_menu_append ( GTK_MENU ( menu ), menu_item ); gtk_widget_show ( menu_item );  if ( nb_comptes ) { menu_item = gtk_menu_item_new_with_label ( _("Add the transactions")); gtk_object_set_data ( GTK_OBJECT ( menu_item ), "no_action", GINT_TO_POINTER ( 1 )); gtk_signal_connect_object ( GTK_OBJECT ( menu_item ), "activate", GTK_SIGNAL_FUNC ( sensitive_widget ), GTK_OBJECT ( compte -> bouton_compte )); gtk_signal_connect_object ( GTK_OBJECT ( menu_item ), "activate", GTK_SIGNAL_FUNC ( desensitive_widget ), GTK_OBJECT ( compte -> bouton_type_compte )); gtk_menu_append ( GTK_MENU ( menu ), menu_item ); gtk_widget_show ( menu_item );  menu_item = gtk_menu_item_new_with_label ( _("Mark the transactions")); gtk_object_set_data ( GTK_OBJECT ( menu_item ), "no_action", GINT_TO_POINTER ( 2 ) ); gtk_signal_connect_object ( GTK_OBJECT ( menu_item ), "activate", GTK_SIGNAL_FUNC ( sensitive_widget ), GTK_OBJECT ( compte -> bouton_compte )); gtk_signal_connect_object ( GTK_OBJECT ( menu_item ), "activate", GTK_SIGNAL_FUNC ( desensitive_widget ), GTK_OBJECT ( compte -> bouton_type_compte )); gtk_menu_append ( GTK_MENU ( menu ), menu_item ); gtk_widget_show ( menu_item ); }  gtk_option_menu_set_menu ( GTK_OPTION_MENU ( compte -> bouton_action ), menu ); gtk_widget_show ( menu ); gtk_table_attach ( GTK_TABLE ( table_recapitulatif ), compte -> bouton_action, 3, 4, position, position+1, GTK_SHRINK, GTK_SHRINK, 0, 0 ); gtk_widget_show ( compte -> bouton_action );      if ( nb_comptes ) { menu = gtk_menu_new ();  p_tab_nom_de_compte_variable = p_tab_nom_de_compte; no_compte_trouve = -1;  do
context: void cree_ligne_recapitulatif ( struct struct_compte_importation *compte,				gint position ){  /* cre la ligne du compte en argument dans le rcapitulatif  la position donne */  GtkWidget *label;  GtkWidget *menu;  GtkWidget *menu_item;  GSList *liste_tmp;  gint no_compte_trouve;  /* mise en place de la date si elle existe */  if ( compte -> date_solde )    {      label = gtk_label_new ( g_strdup_printf ( "%02d/%02d/%d",						g_date_day ( compte -> date_solde ),						g_date_month ( compte -> date_solde ),						g_date_year ( compte -> date_solde )));      gtk_table_attach ( GTK_TABLE ( table_recapitulatif ),			 label,			 0, 1,			 position, position+1,			 GTK_SHRINK,			 GTK_SHRINK,			 0, 0 );      gtk_widget_show ( label );    }  /* mise en place du nom du compte s'il existe */  if ( compte -> nom_de_compte )    {      label = gtk_label_new ( compte -> nom_de_compte );      gtk_table_attach ( GTK_TABLE ( table_recapitulatif ),			 label,			 1, 2,			 position, position+1,			 GTK_SHRINK,			 GTK_SHRINK,			 0, 0 );      gtk_widget_show ( label );    }  /* on cre le bouton de choix de devise */  compte -> bouton_devise = gtk_option_menu_new ();  gtk_option_menu_set_menu ( GTK_OPTION_MENU ( compte -> bouton_devise ),			     creation_option_menu_devises ( 0,							    liste_struct_devises ));  gtk_table_attach ( GTK_TABLE ( table_recapitulatif ),		     compte -> bouton_devise,		     2, 3,		     position, position+1,		     GTK_SHRINK,		     GTK_SHRINK,		     0, 0 );  gtk_widget_show ( compte -> bouton_devise );  if ( compte -> devise )    {      liste_tmp = g_slist_find_custom ( liste_struct_devises,					compte -> devise,					(GCompareFunc) recherche_devise_par_nom );      if ( liste_tmp )	gtk_option_menu_set_history ( GTK_OPTION_MENU ( compte -> bouton_devise ),				      g_slist_position ( liste_struct_devises,							 liste_tmp ));    }  /* on cre les boutons de comptes et de type de compte tout de suite */  /*   pour les (d)sensitiver lors de changement de l'action */  if ( nb_comptes )    compte -> bouton_compte = gtk_option_menu_new ();  compte -> bouton_type_compte = gtk_option_menu_new ();  /* on cre le bouton de l'action demande */  /* si aucun fichier n'est ouvert, on ne propose que crer un compte */  compte -> bouton_action = gtk_option_menu_new ();    menu = gtk_menu_new ();  menu_item = gtk_menu_item_new_with_label ( _("Create a new account"));  gtk_object_set_data ( GTK_OBJECT ( menu_item ),			"no_action",			GINT_TO_POINTER ( 0 ) );  if ( nb_comptes )    gtk_signal_connect_object ( GTK_OBJECT ( menu_item ),				"activate",				GTK_SIGNAL_FUNC ( desensitive_widget ),				GTK_OBJECT ( compte -> bouton_compte ));  gtk_signal_connect_object ( GTK_OBJECT ( menu_item ),			      "activate",			      GTK_SIGNAL_FUNC ( sensitive_widget ),			      GTK_OBJECT ( compte -> bouton_type_compte ));   gtk_menu_append ( GTK_MENU ( menu ),		    menu_item );  gtk_widget_show ( menu_item );  if ( nb_comptes )    {      menu_item = gtk_menu_item_new_with_label ( _("Add the operations"));      gtk_object_set_data ( GTK_OBJECT ( menu_item ),			    "no_action",			    GINT_TO_POINTER ( 1 ));      gtk_signal_connect_object ( GTK_OBJECT ( menu_item ),				  "activate",				  GTK_SIGNAL_FUNC ( sensitive_widget ),				  GTK_OBJECT ( compte -> bouton_compte ));      gtk_signal_connect_object ( GTK_OBJECT ( menu_item ),				  "activate",				  GTK_SIGNAL_FUNC ( desensitive_widget ),				  GTK_OBJECT ( compte -> bouton_type_compte ));      gtk_menu_append ( GTK_MENU ( menu ),			menu_item );      gtk_widget_show ( menu_item );      menu_item = gtk_menu_item_new_with_label ( _("Mark the operations"));      gtk_object_set_data ( GTK_OBJECT ( menu_item ),			    "no_action",			    GINT_TO_POINTER ( 2 ) );      gtk_signal_connect_object ( GTK_OBJECT ( menu_item ),				  "activate",				  GTK_SIGNAL_FUNC ( sensitive_widget ),				  GTK_OBJECT ( compte -> bouton_compte ));      gtk_signal_connect_object ( GTK_OBJECT ( menu_item ),				  "activate",				  GTK_SIGNAL_FUNC ( desensitive_widget ),				  GTK_OBJECT ( compte -> bouton_type_compte ));      gtk_menu_append ( GTK_MENU ( menu ),			menu_item );      gtk_widget_show ( menu_item );    }  gtk_option_menu_set_menu ( GTK_OPTION_MENU ( compte -> bouton_action ),			     menu );  gtk_widget_show ( menu );  gtk_table_attach ( GTK_TABLE ( table_recapitulatif ),		     compte -> bouton_action,		     3, 4,		     position, position+1,		     GTK_SHRINK,		     GTK_SHRINK,		     0, 0 );  gtk_widget_show ( compte -> bouton_action );  /* on cre le bouton du compte slectionn */  /* si aucun fichier n'est ouvert, on ne cre pas ce bouton */  if ( nb_comptes )    {      menu = gtk_menu_new ();      p_tab_nom_de_compte_variable = p_tab_nom_de_compte;      no_compte_trouve = -1;      do	{	  menu_item = gtk_menu_item_new_with_label ( NOM_DU_COMPTE );	  gtk_object_set_data ( GTK_OBJECT ( menu_item ),				"no_compte",				GINT_TO_POINTER ( p_tab_nom_de_compte_variable - p_tab_nom_de_compte ));	  /* on recherche quel compte tait not dans le fichier  */	  if ( compte -> nom_de_compte	       &&	       !g_strcasecmp ( compte -> nom_de_compte,			       NOM_DU_COMPTE ))	    no_compte_trouve = p_tab_nom_de_compte_variable - p_tab_nom_de_compte;	  gtk_menu_append ( GTK_MENU ( menu ),			    menu_item );	  gtk_widget_show ( menu_item );	  p_tab_nom_de_compte_variable++;	}      while ( p_tab_nom_de_compte_variable < (p_tab_nom_de_compte + nb_comptes ) );      gtk_option_menu_set_menu ( GTK_OPTION_MENU ( compte -> bouton_compte ),				 menu );      gtk_widget_show ( menu );      gtk_table_attach ( GTK_TABLE ( table_recapitulatif ),			 compte -> bouton_compte,			 4, 5,			 position, position+1,			 GTK_SHRINK,			 GTK_SHRINK,			 0, 0 );      gtk_widget_show ( compte -> bouton_compte );      if ( no_compte_trouve != -1 )	gtk_option_menu_set_history ( GTK_OPTION_MENU ( compte -> bouton_compte ),				      no_compte_trouve );      gtk_widget_set_sensitive ( compte -> bouton_compte,				 FALSE );    }  /* on cre le bouton du type de compte  */  gtk_option_menu_set_menu ( GTK_OPTION_MENU ( compte -> bouton_type_compte ),			     creation_menu_type_compte() );  gtk_table_attach ( GTK_TABLE ( table_recapitulatif ),		     compte -> bouton_type_compte,		     5, 6,		     position, position+1,		     GTK_SHRINK,		     GTK_SHRINK,		     0, 0 );  gtk_widget_show ( compte -> bouton_type_compte );  switch ( compte -> type_de_compte )    {    case 3:      /* actif ou passif */      gtk_option_menu_set_history ( GTK_OPTION_MENU ( compte -> bouton_type_compte ),				    2 );      break;    case 7:      /* cash */      gtk_option_menu_set_history ( GTK_OPTION_MENU ( compte -> bouton_type_compte ),				    1 );      break;    }  /* mise en place de l'origine */  switch ( compte -> origine )    {    case 0 :      label = gtk_label_new ( _( "QIF file"));      break;    case 1:      label = gtk_label_new ( _( "OFX file"));      break;    case 2:      label = gtk_label_new ( _( "HTML file"));      break;    default:       label = gtk_label_new ( _("Unknown"));    }  gtk_table_attach ( GTK_TABLE ( table_recapitulatif ),		     label,		     6, 7,		     position, position+1,		     GTK_SHRINK,		     GTK_SHRINK,		     0, 0 );  gtk_widget_show ( label );}