[grisbi-cvs] grisbi/src gsb_currency.c, 1.34, 1.35 gsb_currency_config.c, 1.46, 1.47

Pierre Biava pbiava at users.sourceforge.net
Thu Feb 5 23:19:49 CET 2009


Update of /cvsroot/grisbi/grisbi/src
In directory ddv4jf1.ch3.sourceforge.com:/tmp/cvs-serv4425/src

Modified Files:
	gsb_currency.c gsb_currency_config.c 
Log Message:
correction bug lenteur ajout de devise

Index: gsb_currency_config.c
===================================================================
RCS file: /cvsroot/grisbi/grisbi/src/gsb_currency_config.c,v
retrieving revision 1.46
retrieving revision 1.47
diff -u -d -r1.46 -r1.47
--- gsb_currency_config.c	5 Feb 2009 20:29:14 -0000	1.46
+++ gsb_currency_config.c	5 Feb 2009 22:19:46 -0000	1.47
@@ -74,13 +74,16 @@
 /*END_STATIC*/
 
 /*START_EXTERN*/
-extern GtkWidget *main_vbox ;
+extern GtkWidget *main_vbox;
 extern gint no_devise_totaux_categ;
 extern gint no_devise_totaux_ib;
 extern gint no_devise_totaux_tiers;
-extern GtkWidget *window ;
+extern GtkWidget *window;
 /*END_EXTERN*/
 
+GtkWidget *combo_devise_totaux_tiers;
+GtkWidget *combo_devise_totaux_ib;
+GtkWidget *combo_devise_totaux_categ;
 
 /* struct iso_4217_currency; */
 struct iso_4217_currency iso_4217_currencies[] = {
@@ -793,7 +796,7 @@
  */
 GtkWidget *gsb_currency_config_create_totals_page ( void )
 {
-    GtkWidget *vbox_pref, *combo_box, *table, *label;
+    GtkWidget *vbox_pref, *table, *label;
 
     vbox_pref = new_vbox_with_title_and_icon ( _("Totals currencies"),
 					       "currencies.png" );
@@ -807,9 +810,9 @@
     gtk_label_set_justify ( GTK_LABEL (label), GTK_JUSTIFY_LEFT );
     gtk_table_attach ( GTK_TABLE ( table ), label,
 		       0, 1, 0, 1, GTK_SHRINK | GTK_FILL, 0, 0, 0 );
-    combo_box = gsb_currency_config_new_combobox ( &no_devise_totaux_tiers,
+    combo_devise_totaux_tiers = gsb_currency_config_new_combobox ( &no_devise_totaux_tiers,
 						   payee_fill_tree );
-    gtk_table_attach ( GTK_TABLE ( table ), combo_box,
+    gtk_table_attach ( GTK_TABLE ( table ), combo_devise_totaux_tiers,
 		       1, 2, 0, 1, GTK_SHRINK | GTK_FILL, 0, 0, 0 );
 
     label = gtk_label_new (COLON(_("Currency for categories tree")));
@@ -817,9 +820,9 @@
     gtk_label_set_justify ( GTK_LABEL (label), GTK_JUSTIFY_LEFT );
     gtk_table_attach ( GTK_TABLE ( table ), label,
 		       0, 1, 1, 2, GTK_SHRINK | GTK_FILL, 0, 0, 0 );
-    combo_box = gsb_currency_config_new_combobox ( &no_devise_totaux_categ,
+    combo_devise_totaux_categ = gsb_currency_config_new_combobox ( &no_devise_totaux_categ,
 					       remplit_arbre_categ );
-    gtk_table_attach ( GTK_TABLE ( table ), combo_box,
+    gtk_table_attach ( GTK_TABLE ( table ), combo_devise_totaux_categ,
 		       1, 2, 1, 2, GTK_SHRINK | GTK_FILL, 0, 0, 0 );
 
     label = gtk_label_new (COLON(_("Currency for budgetary lines tree")));
@@ -827,9 +830,9 @@
     gtk_label_set_justify ( GTK_LABEL (label), GTK_JUSTIFY_LEFT );
     gtk_table_attach ( GTK_TABLE ( table ), label,
 		       0, 1, 2, 3, GTK_SHRINK | GTK_FILL, 0, 0, 0 );
-    combo_box = gsb_currency_config_new_combobox ( &no_devise_totaux_ib,
+    combo_devise_totaux_ib = gsb_currency_config_new_combobox ( &no_devise_totaux_ib,
 					       remplit_arbre_imputation );
-    gtk_table_attach ( GTK_TABLE ( table ), combo_box,
+    gtk_table_attach ( GTK_TABLE ( table ), combo_devise_totaux_ib,
 		       1, 2, 2, 3, GTK_SHRINK | GTK_FILL, 0, 0, 0 );
 
     gtk_box_pack_start ( GTK_BOX ( vbox_pref ), table, TRUE, TRUE, 0);
@@ -856,10 +859,15 @@
 	gsb_currency_set_combobox_history ( combo_box,
 					    *value );
 
-    g_signal_connect ( G_OBJECT (combo_box), "changed", (GCallback) gsb_currency_config_set_int_from_combobox, value );
-    g_signal_connect ( G_OBJECT (combo_box), "changed", (GCallback) hook, value );
+    g_signal_connect ( G_OBJECT (combo_box), "changed", (GCallback) 
+                        gsb_currency_config_set_int_from_combobox, value );
+    //~ g_signal_connect ( G_OBJECT (combo_box), "changed", (GCallback) hook, value );
     g_object_set_data ( G_OBJECT ( combo_box ), "pointer", value);
 
+	g_object_set_data ( G_OBJECT (combo_box), "changed-hook", 
+			    (gpointer) g_signal_connect_after (G_OBJECT(combo_box), "changed",
+							       G_CALLBACK (hook), value ));
+
     return combo_box;
 }
 

Index: gsb_currency.c
===================================================================
RCS file: /cvsroot/grisbi/grisbi/src/gsb_currency.c,v
retrieving revision 1.34
retrieving revision 1.35
diff -u -d -r1.34 -r1.35
--- gsb_currency.c	5 Feb 2009 20:22:06 -0000	1.34
+++ gsb_currency.c	5 Feb 2009 22:19:46 -0000	1.35
@@ -96,8 +96,11 @@
 extern gint mise_a_jour_liste_comptes_accueil;
 extern gint mise_a_jour_liste_echeances_auto_accueil;
 extern gint mise_a_jour_liste_echeances_manuelles_accueil;
-extern gsb_real null_real ;
-extern GtkWidget *window ;
+extern gsb_real null_real;
+extern GtkWidget *window;
+extern GtkWidget *combo_devise_totaux_tiers;
+extern GtkWidget *combo_devise_totaux_ib;
+extern GtkWidget *combo_devise_totaux_categ;
 /*END_EXTERN*/
 
 
@@ -290,6 +293,15 @@
     old_currency_number = gtk_combo_box_get_active (GTK_COMBO_BOX 
                         (detail_devise_compte));
     }
+    g_signal_handler_block ( (gpointer *) combo_devise_totaux_tiers,
+                        (gulong) g_object_get_data ( G_OBJECT 
+                        (combo_devise_totaux_tiers), "changed-hook" ) );
+    g_signal_handler_block ( (gpointer *) combo_devise_totaux_categ,
+                        (gulong) g_object_get_data ( G_OBJECT 
+                        (combo_devise_totaux_categ), "changed-hook" ) );
+    g_signal_handler_block ( (gpointer *) combo_devise_totaux_ib,
+                        (gulong) g_object_get_data ( G_OBJECT 
+                        (combo_devise_totaux_ib), "changed-hook" ) );
 
     gtk_list_store_clear (GTK_LIST_STORE (combobox_currency_store));
     list_tmp = gsb_data_currency_get_currency_list ();
@@ -332,13 +344,28 @@
 
     if ( detail_devise_compte )
     {
+    gtk_combo_box_set_active ( GTK_COMBO_BOX (detail_devise_compte), 
+                    old_currency_number );
 	g_signal_handler_unblock ( detail_devise_compte,
                         (gulong) g_object_get_data ( G_OBJECT 
                         (detail_devise_compte), "changed-hook" ) );
-    gtk_combo_box_set_active ( GTK_COMBO_BOX (detail_devise_compte), 
-                    old_currency_number );
     }
-
+    gtk_combo_box_set_active ( GTK_COMBO_BOX (combo_devise_totaux_tiers), 
+                    old_currency_number );
+    g_signal_handler_unblock ( (gpointer *) combo_devise_totaux_tiers,
+                        (gulong) g_object_get_data ( G_OBJECT 
+                        (combo_devise_totaux_tiers), "changed-hook" ) );
+    gtk_combo_box_set_active ( GTK_COMBO_BOX (combo_devise_totaux_categ), 
+                    old_currency_number );
+    g_signal_handler_unblock ( (gpointer *) combo_devise_totaux_categ,
+                        (gulong) g_object_get_data ( G_OBJECT 
+                        (combo_devise_totaux_categ), "changed-hook" ) );
+    gtk_combo_box_set_active ( GTK_COMBO_BOX (combo_devise_totaux_ib), 
+                    old_currency_number );
+    g_signal_handler_unblock ( (gpointer *) combo_devise_totaux_ib,
+                        (gulong) g_object_get_data ( G_OBJECT 
+                        (combo_devise_totaux_ib), "changed-hook" ) );
+    
     return FALSE;
 }
 



More information about the cvs mailing list