rem: gnome_property_box_changed,
add: activer_bouton_appliquer,
context: GtkWidget *onglet_affichage ( void ){  GtkWidget *hbox, *vbox;  GtkWidget *separateur;  GtkWidget *label;  GtkWidget *frame;  GSList *liste_tmp;  GtkWidget *vbox2;  GtkWidget *fleche;  GtkWidget *hbox2;  GtkWidget *bouton;  GtkWidget *onglet;  onglet = gtk_hbox_new ( FALSE,			5 );  gtk_container_set_border_width ( GTK_CONTAINER ( onglet ),				   10 );  gtk_widget_show ( onglet );  /* fenetre de base verticale */  vbox = gtk_vbox_new ( FALSE,			     5 );  gtk_box_pack_start ( GTK_BOX ( onglet ),		       vbox,		       FALSE,		       FALSE,		       0 );  /*   ajout du choix de la fonte pour les listes */  hbox = gtk_hbox_new ( FALSE,			     5 );  gtk_box_pack_start ( GTK_BOX ( vbox ),		       hbox,		       FALSE,		       FALSE,		       0 );  gtk_widget_show ( hbox );  bouton = gnome_font_picker_new ();  gtk_button_set_relief ( GTK_BUTTON ( bouton ),			  GTK_RELIEF_NONE );  if ( fonte_liste )    gnome_font_picker_set_font_name ( GNOME_FONT_PICKER ( bouton ),				      fonte_liste );  gtk_signal_connect ( GTK_OBJECT ( bouton ),		       "font-set",		       GTK_SIGNAL_FUNC ( choix_fonte ),		       NULL );  gtk_box_pack_start ( GTK_BOX ( hbox ),		       bouton,		       FALSE,		       FALSE,		       0 );  gtk_widget_show ( bouton );  label = gtk_label_new ( SPACIFY(_(": Change lists font /")) );  gtk_box_pack_start ( GTK_BOX ( hbox ),		       label,		       FALSE,		       FALSE,		       0 );  gtk_widget_show ( label );  /* on remet un font_picker sans nom de fonte pour le raz */  bouton = gnome_font_picker_new ();  gtk_button_set_relief ( GTK_BUTTON ( bouton ),			  GTK_RELIEF_NONE );  gtk_signal_connect ( GTK_OBJECT ( bouton ),		       "font-set",		       GTK_SIGNAL_FUNC ( choix_fonte ),		       NULL );  gtk_box_pack_start ( GTK_BOX ( hbox ),		       bouton,		       FALSE,		       FALSE,		       0 );  gtk_container_remove ( GTK_CONTAINER ( bouton ),			 GTK_BIN ( bouton ) -> child );  label = gtk_label_new ( _("Init") );  gtk_container_add ( GTK_CONTAINER ( bouton ),		      label );  gtk_widget_show ( label );  gtk_widget_show ( bouton );  /*   ajout du choix de la fonte gnrale */  hbox = gtk_hbox_new ( FALSE,			     5 );  gtk_box_pack_start ( GTK_BOX ( vbox ),		       hbox,		       FALSE,		       FALSE,		       0 );  gtk_widget_show ( hbox );  bouton = gnome_font_picker_new ();  gtk_button_set_relief ( GTK_BUTTON ( bouton ),			  GTK_RELIEF_NONE );  if ( fonte_general )    gnome_font_picker_set_font_name ( GNOME_FONT_PICKER ( bouton ),				      fonte_general );  gtk_signal_connect ( GTK_OBJECT ( bouton ),		       "font-set",		       GTK_SIGNAL_FUNC ( choix_fonte_general ),		       NULL );  gtk_box_pack_start ( GTK_BOX ( hbox ),		       bouton,		       FALSE,		       FALSE,		       0 );  gtk_widget_show ( bouton );  label = gtk_label_new ( SPACIFY(_(": Change general font /")) );  gtk_box_pack_start ( GTK_BOX ( hbox ),		       label,		       FALSE,		       FALSE,		       0 );  gtk_widget_show ( label );  /* on remet un font_picker sans nom de fonte pour le raz */  bouton = gnome_font_picker_new ();  gtk_button_set_relief ( GTK_BUTTON ( bouton ),			  GTK_RELIEF_NONE );  gtk_signal_connect ( GTK_OBJECT ( bouton ),		       "font-set",		       GTK_SIGNAL_FUNC ( choix_fonte_general ),		       NULL );  gtk_box_pack_start ( GTK_BOX ( hbox ),		       bouton,		       FALSE,		       FALSE,		       0 );  gtk_container_remove ( GTK_CONTAINER ( bouton ),			 GTK_BIN ( bouton ) -> child );  label = gtk_label_new ( _("Init") );  gtk_container_add ( GTK_CONTAINER ( bouton ),		      label );  gtk_widget_show ( label );  gtk_widget_show ( bouton );  /* ajout de la modification du logo de l'accueil  */  hbox = gtk_hbox_new ( FALSE,			     5 );  gtk_box_pack_start ( GTK_BOX ( vbox ),		       hbox,		       FALSE,		       FALSE,		       0 );  gtk_widget_show ( hbox );  bouton = gtk_button_new ();  gtk_button_set_relief ( GTK_BUTTON ( bouton ),			  GTK_RELIEF_NONE );  gtk_container_add ( GTK_CONTAINER ( bouton ),		  bouton = gtk_button_new_from_stock (GTK_STOCK_OK));		      //gnome_stock_pixmap_widget ( bouton,						  //GNOME_STOCK_PIXMAP_FORWARD ));  gtk_signal_connect ( GTK_OBJECT ( bouton ),		       "clicked",		       GTK_SIGNAL_FUNC ( modification_logo_accueil ),		       NULL );  gtk_box_pack_start ( GTK_BOX ( hbox ),		       bouton,		       FALSE,		       FALSE,		       0 );  gtk_widget_show_all ( bouton );  label = gtk_label_new ( g_strconcat (" : ", 				       _("Change homepage logo"), 				       NULL ));  gtk_box_pack_start ( GTK_BOX ( hbox ),		       label,		       FALSE,		       FALSE,		       0 );  gtk_widget_show ( label );  separateur = gtk_hseparator_new ();  gtk_box_pack_start ( GTK_BOX ( vbox ),		       separateur,		       FALSE,		       FALSE,		       0 );  gtk_widget_show ( separateur );  /* mise en place de l'ordre d'affichage des comptes */  hbox2 = gtk_hbox_new ( FALSE, 5 );  gtk_box_pack_start ( GTK_BOX ( vbox ),		       hbox2,		       TRUE,		       TRUE,		       0);    frame = gtk_frame_new ( SPACIFY(_("Accounts display order")) );  gtk_frame_set_shadow_type ( GTK_FRAME ( frame ),			      GTK_SHADOW_ETCHED_OUT );  gtk_container_set_border_width ( GTK_CONTAINER ( frame ),				   10 );  gtk_box_pack_start ( GTK_BOX ( hbox2 ),		       frame,		       TRUE,		       TRUE,		       0);  if ( !ordre_comptes )    {      label = gtk_label_new ( _("No account defined") );      gtk_container_add ( GTK_CONTAINER ( frame ),			  label );   }  else    {      gpointer ** p_tab_nom_de_compte_variable;                    /* vite d'craser la variable globale */      gchar *nom_compte[1];      GtkWidget *scroll_liste_choix_ordre_comptes;      hbox = gtk_hbox_new ( FALSE,				 5 );      gtk_container_set_border_width ( GTK_CONTAINER ( hbox ),				       10 );      gtk_container_add ( GTK_CONTAINER ( frame ),			  hbox );      gtk_widget_show ( hbox );/* mise en place de la list qui contient les noms et l'ordre des comptes */      scroll_liste_choix_ordre_comptes = gtk_scrolled_window_new ( NULL, NULL );      gtk_box_pack_start ( GTK_BOX ( hbox ),			   scroll_liste_choix_ordre_comptes,			   FALSE,			   FALSE,			   0);      gtk_scrolled_window_set_policy ( GTK_SCROLLED_WINDOW ( scroll_liste_choix_ordre_comptes ),				       GTK_POLICY_AUTOMATIC,				       GTK_POLICY_AUTOMATIC);      gtk_widget_set_usize ( GTK_WIDGET ( scroll_liste_choix_ordre_comptes ),			     150,			     120 );      liste_choix_ordre_comptes = gtk_clist_new ( 1 );      gtk_clist_set_column_auto_resize ( GTK_CLIST ( liste_choix_ordre_comptes ) ,					 0,					 TRUE );      gtk_clist_set_reorderable ( GTK_CLIST ( liste_choix_ordre_comptes ),				  TRUE );      gtk_clist_set_use_drag_icons ( GTK_CLIST ( liste_choix_ordre_comptes ),				     TRUE );      gtk_container_add ( GTK_CONTAINER ( scroll_liste_choix_ordre_comptes ),			  liste_choix_ordre_comptes );      liste_tmp = ordre_comptes;      do	{	  p_tab_nom_de_compte_variable = p_tab_nom_de_compte + (gint) liste_tmp->data;	  nom_compte[0] = g_strdup ( NOM_DU_COMPTE );	  gtk_clist_set_row_data ( GTK_CLIST ( liste_choix_ordre_comptes ),				   gtk_clist_append ( GTK_CLIST ( liste_choix_ordre_comptes) , nom_compte ),				   liste_tmp->data );	}      while ( ( liste_tmp = liste_tmp -> next ));      gtk_signal_connect_object ( GTK_OBJECT ( liste_choix_ordre_comptes ),				  "row_move",				  gnome_property_box_changed,				  GTK_OBJECT (fenetre_preferences));       /* on place ici les flches sur le ct de la liste */      vbox2 = gtk_vbutton_box_new ();      gtk_box_pack_start ( GTK_BOX ( hbox ),			   vbox2,			   FALSE,			   FALSE,			   0);      fleche = gtk_button_new_from_stock (GTK_STOCK_GO_UP);//      fleche = gnome_stock_button ( GNOME_STOCK_BUTTON_UP );      gtk_button_set_relief ( GTK_BUTTON ( fleche ),			     GTK_RELIEF_NONE );      gtk_signal_connect ( GTK_OBJECT ( fleche ),			   "clicked",			   (GtkSignalFunc ) deplacement_haut,			   NULL );      gtk_container_add ( GTK_CONTAINER ( vbox2 ),			  fleche  );      fleche = gtk_button_new_from_stock (GTK_STOCK_GO_DOWN);      //fleche = gnome_stock_button ( GNOME_STOCK_BUTTON_DOWN );      gtk_button_set_relief ( GTK_BUTTON ( fleche ),			     GTK_RELIEF_NONE );      gtk_signal_connect ( GTK_OBJECT ( fleche ),			   "clicked",			   (GtkSignalFunc ) deplacement_bas,			    NULL);      gtk_container_add ( GTK_CONTAINER ( vbox2 ),			  fleche  );      /* connecte maintenant les slections */      gtk_signal_connect_object ( GTK_OBJECT ( liste_choix_ordre_comptes ),				  "select-row",				  GTK_SIGNAL_FUNC ( selection_choix_ordre_comptes ),				  GTK_OBJECT ( vbox2 ));      gtk_signal_connect_object ( GTK_OBJECT ( liste_choix_ordre_comptes ),				  "unselect-row",				  GTK_SIGNAL_FUNC ( deselection_choix_ordre_comptes ),				  GTK_OBJECT ( vbox2 ));      /*       selectionne le premier compte */      gtk_clist_select_row ( GTK_CLIST ( liste_choix_ordre_comptes ),			     0,			     0);    }  gtk_widget_show_all ( vbox );  /*   place la partie de droite : comptabilit */  separateur = gtk_vseparator_new ();  gtk_box_pack_start ( GTK_BOX ( onglet ),		       separateur,		       FALSE,		       FALSE,		       0 );  gtk_widget_show ( separateur );  vbox = gtk_vbox_new ( FALSE,			     5 );  gtk_box_pack_start ( GTK_BOX ( onglet ),		       vbox,		       FALSE,		       FALSE,		       0 );  gtk_widget_show ( vbox );  frame = gtk_frame_new ( _("Transactions list and form") );  gtk_box_pack_start ( GTK_BOX ( vbox ),		       frame,		       FALSE,		       FALSE,		       0 );  gtk_widget_show ( frame );  vbox2 = gtk_vbox_new ( FALSE,			 5 );  gtk_container_add ( GTK_CONTAINER ( frame ),		      vbox2 );  gtk_widget_show ( vbox2 );  bouton_afficher_no_operation = gtk_check_button_new_with_label ( _("Display the number of the edited transaction.") );  gtk_toggle_button_set_active ( GTK_TOGGLE_BUTTON ( bouton_afficher_no_operation ),				 etat.affiche_no_operation );  gtk_signal_connect_object ( GTK_OBJECT ( bouton_afficher_no_operation ),			      "toggled",			      gnome_property_box_changed,			      GTK_OBJECT (fenetre_preferences));  gtk_box_pack_start ( GTK_BOX ( vbox2 ),		       bouton_afficher_no_operation,		       FALSE,		       FALSE,		       0 );  gtk_widget_show ( bouton_afficher_no_operation );  /* GDC : bouton pour choisir d'afficher ou non la date relle (colonne et champ) */  bouton_afficher_date_bancaire = gtk_check_button_new_with_label ( _("Display the value date of the transactions.") );  gtk_toggle_button_set_active ( GTK_TOGGLE_BUTTON ( bouton_afficher_date_bancaire ),				 etat.affiche_date_bancaire );  gtk_signal_connect_object ( GTK_OBJECT ( bouton_afficher_date_bancaire ),			      "toggled",			      gnome_property_box_changed,			      GTK_OBJECT (fenetre_preferences));  gtk_box_pack_start ( GTK_BOX ( vbox2 ),		       bouton_afficher_date_bancaire,		       FALSE,		       FALSE,		       0 );  gtk_widget_show ( bouton_afficher_date_bancaire );  /* FinGDC */  bouton_utiliser_exercices = gtk_check_button_new_with_label ( _("Use financial years.") );  gtk_toggle_button_set_active ( GTK_TOGGLE_BUTTON ( bouton_utiliser_exercices ),				 etat.utilise_exercice );  gtk_signal_connect_object ( GTK_OBJECT ( bouton_utiliser_exercices ),			      "toggled",			      gnome_property_box_changed,			      GTK_OBJECT (fenetre_preferences));  gtk_box_pack_start ( GTK_BOX ( vbox2 ),		       bouton_utiliser_exercices,		       FALSE,		       FALSE,		       0 );  gtk_widget_show ( bouton_utiliser_exercices );  bouton_utiliser_imputation_budgetaire = gtk_check_button_new_with_label ( _("Use budgetary informations.") );  gtk_toggle_button_set_active ( GTK_TOGGLE_BUTTON ( bouton_utiliser_imputation_budgetaire ),				 etat.utilise_imputation_budgetaire );  gtk_signal_connect_object ( GTK_OBJECT ( bouton_utiliser_imputation_budgetaire ),			      "toggled",			      gnome_property_box_changed,			      GTK_OBJECT (fenetre_preferences));  gtk_box_pack_start ( GTK_BOX ( vbox2 ),		       bouton_utiliser_imputation_budgetaire,		       FALSE,		       FALSE,		       0 );  gtk_widget_show ( bouton_utiliser_imputation_budgetaire );  bouton_utiliser_piece_comptable = gtk_check_button_new_with_label ( _("Use the voucher number field.") );  gtk_toggle_button_set_active ( GTK_TOGGLE_BUTTON ( bouton_utiliser_piece_comptable ),				 etat.utilise_piece_comptable );  gtk_signal_connect_object ( GTK_OBJECT ( bouton_utiliser_piece_comptable ),			      "toggled",			      gnome_property_box_changed,			      GTK_OBJECT (fenetre_preferences));  gtk_box_pack_start ( GTK_BOX ( vbox2 ),		       bouton_utiliser_piece_comptable,		       FALSE,		       FALSE,		       0 );  gtk_widget_show ( bouton_utiliser_piece_comptable );  bouton_utiliser_info_banque_guichet = gtk_check_button_new_with_label ( _("Use the bank references field.") );  gtk_toggle_button_set_active ( GTK_TOGGLE_BUTTON ( bouton_utiliser_info_banque_guichet ),				 etat.utilise_info_banque_guichet );  gtk_signal_connect_object ( GTK_OBJECT ( bouton_utiliser_info_banque_guichet ),			      "toggled",			      gnome_property_box_changed,			      GTK_OBJECT (fenetre_preferences));  gtk_box_pack_start ( GTK_BOX ( vbox2 ),		       bouton_utiliser_info_banque_guichet,		       FALSE,		       FALSE,		       0 );  gtk_widget_show ( bouton_utiliser_info_banque_guichet );  bouton_afficher_boutons_valider_annuler = gtk_check_button_new_with_label ( _("Display 'Accept' and 'Cancel' transaction buttons.") );  gtk_toggle_button_set_active ( GTK_TOGGLE_BUTTON ( bouton_afficher_boutons_valider_annuler ),				 etat.affiche_boutons_valider_annuler );  gtk_signal_connect_object ( GTK_OBJECT ( bouton_afficher_boutons_valider_annuler ),			      "toggled",			      gnome_property_box_changed,			      GTK_OBJECT (fenetre_preferences));  gtk_box_pack_start ( GTK_BOX ( vbox2 ),		       bouton_afficher_boutons_valider_annuler,		       FALSE,		       FALSE,		       0 );  gtk_widget_show ( bouton_afficher_boutons_valider_annuler );  /* mise en place de la frame sur l'affichage des listes */  frame = gtk_frame_new ( _("Third parties, categories and budgetary info lists.") );  gtk_box_pack_start ( GTK_BOX ( vbox ),		       frame,		       FALSE,		       FALSE,		       0 );  gtk_widget_show ( frame );  vbox2 = gtk_vbox_new ( FALSE,			 5 );  gtk_container_add ( GTK_CONTAINER ( frame ),		      vbox2 );  gtk_widget_show ( vbox2 );  /*   mise en place du choix de la devise pour les totaux des tiers, catg et ib */  hbox = gtk_hbox_new ( FALSE,			     5 );  gtk_box_pack_start ( GTK_BOX ( vbox2 ),		       hbox,		       FALSE,		       FALSE,		       0 );  gtk_widget_show ( hbox );  label = gtk_label_new ( COLON(_("Currency")) );  gtk_box_pack_start ( GTK_BOX (hbox  ),		       label,		       FALSE,		       FALSE,		       0 );  gtk_widget_show ( label );  bouton_choix_devise_totaux_tiers = gtk_option_menu_new ();  gtk_option_menu_set_menu ( GTK_OPTION_MENU ( bouton_choix_devise_totaux_tiers ),			     creation_option_menu_devises ( -1,							    liste_struct_devises ) );  gtk_box_pack_start ( GTK_BOX ( hbox ),		       bouton_choix_devise_totaux_tiers,		       TRUE,		       FALSE,		       0 );  gtk_widget_show ( bouton_choix_devise_totaux_tiers );  gtk_option_menu_set_history ( GTK_OPTION_MENU ( bouton_choix_devise_totaux_tiers ),				g_slist_position ( liste_struct_devises,						   g_slist_find_custom ( liste_struct_devises,									 GINT_TO_POINTER ( no_devise_totaux_tiers ),									 ( GCompareFunc ) recherche_devise_par_no )));  gtk_signal_connect_object ( GTK_OBJECT ( GTK_OPTION_MENU ( bouton_choix_devise_totaux_tiers ) -> menu ),			      "selection-done",			      gnome_property_box_changed,			      GTK_OBJECT (fenetre_preferences));  if ( !nb_comptes )    gtk_widget_set_sensitive ( hbox,			       FALSE );  /* affichage du nb d'critures */  bouton_afficher_nb_ecritures = gtk_check_button_new_with_label ( _("Display the number of transactions.") );  gtk_toggle_button_set_active ( GTK_TOGGLE_BUTTON ( bouton_afficher_nb_ecritures ),				 etat.affiche_nb_ecritures_listes );  gtk_signal_connect_object ( GTK_OBJECT ( bouton_afficher_nb_ecritures ),			      "toggled",			      gnome_property_box_changed,			      GTK_OBJECT (fenetre_preferences));  gtk_box_pack_start ( GTK_BOX ( vbox2 ),		       bouton_afficher_nb_ecritures,		       FALSE,		       FALSE,		       0 );  gtk_widget_show ( bouton_afficher_nb_ecritures );  /*   place la partie de droite : classement des listes */  separateur = gtk_vseparator_new ();  gtk_box_pack_start ( GTK_BOX ( onglet ),		       separateur,		       FALSE,		       FALSE,		       0 );  gtk_widget_show ( separateur );  vbox = gtk_vbox_new ( FALSE,			     5 );  gtk_box_pack_start ( GTK_BOX ( onglet ),		       vbox,		       FALSE,		       FALSE,		       0 );  gtk_widget_show ( vbox );  frame = gtk_frame_new ( _("Sort the transaction list") );  gtk_box_pack_start ( GTK_BOX ( vbox ),		       frame,		       FALSE,		       FALSE,		       0 );  gtk_widget_show ( frame );  vbox2 = gtk_vbox_new ( FALSE,			 5 );  gtk_container_add ( GTK_CONTAINER ( frame ),		      vbox2 );  gtk_widget_show ( vbox2 );  bouton_classer_liste_par_date = gtk_radio_button_new_with_label ( NULL,								    _("by date") );  gtk_box_pack_start ( GTK_BOX ( vbox2 ),		       bouton_classer_liste_par_date,		       FALSE,		       FALSE,		       0 );  gtk_widget_show ( bouton_classer_liste_par_date );  bouton_classer_liste_par_date_bancaire = gtk_radio_button_new_with_label ( gtk_radio_button_group ( GTK_RADIO_BUTTON ( bouton_classer_liste_par_date)),									     _("by value date") );  gtk_box_pack_start ( GTK_BOX ( vbox2 ),		       bouton_classer_liste_par_date_bancaire,		       FALSE,		       FALSE,		       0 );  gtk_widget_show ( bouton_classer_liste_par_date_bancaire );  if ( etat.classement_par_date )    gtk_toggle_button_set_active ( GTK_TOGGLE_BUTTON ( bouton_classer_liste_par_date ),				   TRUE );  else    gtk_toggle_button_set_active ( GTK_TOGGLE_BUTTON ( bouton_classer_liste_par_date_bancaire ),				   TRUE );  gtk_signal_connect_object ( GTK_OBJECT ( bouton_classer_liste_par_date ),			      "toggled",			      gnome_property_box_changed,			      GTK_OBJECT (fenetre_preferences));  gtk_signal_connect_object ( GTK_OBJECT ( bouton_classer_liste_par_date_bancaire ),			      "toggled",			      gnome_property_box_changed,			      GTK_OBJECT (fenetre_preferences));  return ( onglet );}