+static void deftransaction_set_cheque(GtkWidget *widget, gpointer user_data)
+{
+struct deftransaction_data *data;
+gdouble amount;
+gint kacc;
+Account *acc;
+guint cheque;
+gchar *cheque_str;
+
+ DB( g_print("\n[ui-transaction] set_cheque\n") );
+
+ data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data");
+
+ amount = gtk_spin_button_get_value(GTK_SPIN_BUTTON(data->ST_amount));
+ if( amount < 0 )
+ {
+ kacc = ui_acc_comboboxentry_get_key(GTK_COMBO_BOX(data->PO_acc));
+ //#1410166
+ if( kacc > 0 )
+ {
+ acc = da_acc_get( kacc );
+ if(acc != NULL)
+ {
+ DB( g_print(" - should fill for acc %d '%s'\n", kacc, acc->name) );
+
+ cheque = ( gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(data->CM_cheque))==TRUE ? acc->cheque2 : acc->cheque1 );
+ cheque_str = g_strdup_printf("%d", cheque + 1);
+ gtk_entry_set_text(GTK_ENTRY(data->ST_info), cheque_str);
+ g_free(cheque_str);
+ }
+ }
+ }
+ else
+ if( amount > 0 )
+ {
+ gtk_entry_set_text(GTK_ENTRY(data->ST_info), "");
+ }
+
+}
+
+
+
+//#1676162 update the nb digits of amount
+static void deftransaction_set_amount_nbdigits(GtkWidget *widget, guint32 kacc)
+{
+struct deftransaction_data *data;
+
+ DB( g_print("\n[ui-transaction] set_amount_nbdigits\n") );
+
+ data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data");
+
+ Account *srcacc = da_acc_get(kacc);
+ if(srcacc != NULL)
+ {
+ Currency *cur = da_cur_get(srcacc->kcur);
+
+ DB( g_print("- acc is %d '%s', curr=%d\n", srcacc->key, srcacc->name, srcacc->kcur) );
+
+ if(cur != NULL)
+ {
+ DB( g_print("- set digits to '%s' %d\n", cur->name, cur->frac_digits) );
+ gtk_spin_button_set_digits (GTK_SPIN_BUTTON(data->ST_amount), cur->frac_digits);
+ }
+ else
+ gtk_spin_button_set_digits (GTK_SPIN_BUTTON(data->ST_amount), 2);
+
+ }
+}
+