From pierre.biava at orange.fr Sun May 5 07:07:56 2019 From: pierre.biava at orange.fr (Pierre Biava) Date: Sun, 5 May 2019 07:07:56 +0200 Subject: [grisbi-devel] =?utf-8?q?=5Bbug=5D_espace_ins=C3=A9cable_dans_le?= =?utf-8?q?s_champs_valeurs?= In-Reply-To: References: Message-ID: Ludovic Rousseau a ?crit le 04/05/2019 ? 15:10?: Bonjour, > Le sam. 4 mai 2019 ? 12:40, Pierre PANTAL?ON a ?crit : >> Bonjour, > Bonjour, > >> je viens par mon post signaler un petit bug. >> En effet, sur mon site bancaire, lorsque je fais un ? copier ? d?un >> solde de compte qui contient un espace ins?cable pour s?parer les >> milliers (ce qui est un comportement tout ? fait normal en langue et >> typographie fran?aise) et que je le copie dans un champs valeur, >> celui-ci reste en rouge car non reconnu. >> Dans les param?tres, il y a l?espace, la virgule, le point et rien. >> Donc je ne sais pas comment on pourrait faire, mais il faudrait rajouter >> l?espace ins?cable pour qu?on puisse faire un ? copier-coller ? simplement. >> Pour information, il s?agit de la banque en ligne Boursorama qui affiche >> les soldes et autres valeurs avec des espaces ins?cables. >> Merci ? tous. >> >> La solution pourrait ?tre de rajouter un ? ou ? logique dans le choix de >> param?tre ? espace ? comme s?parateur de milliers plut?t que rajouter un >> 5?me choix. > M?me si l'entr?e est affich?e en rouge la valeur est quand m?me > correctement utilis?e, non ? > > Le choix du s?parateur de milliers ne sert pas que pour la validation > d'une saisie mais aussi pour la sortie. > Je ne sais pas si c'est judicieux d'utiliser une espace non-s?cable > pour l'affichage et l'export. ?a risque de cr?er des probl?mes si > l'export en texte est utilis? par d'autres outils. > Pour tester ?a il suffit d'?diter le fichier .gsb et de changer la ligne : > Thousands_separator=" " > en rempla?ant " " par " " (le deuxi?me est un espace ins?cable). > > J'ai un patch tr?s simple pour accepter l'espace non-s?cable dans une saisie : > diff --git a/src/gsb_form_widget.c b/src/gsb_form_widget.c > index ff3810146..e1614bea4 100644 > --- a/src/gsb_form_widget.c > +++ b/src/gsb_form_widget.c > @@ -1084,7 +1084,7 @@ gboolean gsb_form_widget_get_valide_amout_entry > (const gchar *string) > if (g_unichar_isdefined (thousands_sep)) > { > if (ch != '.' && ch != ',' && ch != '+' && ch != '-' > - && ch != '*' && ch != '/' && ch != thousands_sep) > + && ch != '*' && ch != '/' && ch != thousands_sep && > ch != 0x00A0 /* NO-BREAK SPACE */) > { > g_free (mon_decimal_point); > g_free (mon_thousands_sep); > > Je ne sais pas si ?a peut avoir des effet de bords. J'aimerais que > Pierre nous donne son avis. Pour ce qui me concerne j'ai regard? ?a et demand? ? Pierre PANTAL?ON de m'envoyer un exemple de fichier pour faire le test. Pour ce qui concerne le patch c'est bon mais il faut le g?n?raliser ? tous les cas (avec ou sans s?parateur des milliers) puisque c'est un copier/coll? d'un fichier externe. Je suis plut?t pour supprimer le caract?re lui-m?me avant le test ci-dessus ce qui devrait fonctionner dans tous les cas. Je le v?rifierai quand j'aurais re?u le fichier ce qui permettra aussi de faire la correction quand ce sera dans un fichier import?. Bonne journ?e. -- A+ Pierre Biava From ludovic.rousseau at gmail.com Sun May 5 13:44:29 2019 From: ludovic.rousseau at gmail.com (Ludovic Rousseau) Date: Sun, 5 May 2019 13:44:29 +0200 Subject: [grisbi-devel] =?utf-8?q?=5Bbug=5D_espace_ins=C3=A9cable_dans_le?= =?utf-8?q?s_champs_valeurs?= In-Reply-To: References: Message-ID: Le dim. 5 mai 2019 ? 07:08, Pierre Biava a ?crit : > > Ludovic Rousseau a ?crit le 04/05/2019 ? 15:10 : > > Je ne sais pas si ?a peut avoir des effet de bords. J'aimerais que > > Pierre nous donne son avis. > > Pour ce qui me concerne j'ai regard? ?a et demand? ? Pierre PANTAL?ON de > m'envoyer un exemple de fichier pour faire le test. Sur macOS je peux ins?rer des espaces ins?cables avec Alt + espace. Il doit y avoir une combinaison de touches sur GNU/Linux aussi. > Pour ce qui concerne le patch c'est bon mais il faut le g?n?raliser ? > tous les cas (avec ou sans s?parateur des milliers) puisque c'est un > copier/coll? d'un fichier externe. > > Je suis plut?t pour supprimer le caract?re lui-m?me avant le test > ci-dessus ce qui devrait fonctionner dans tous les cas. Je le v?rifierai > quand j'aurais re?u le fichier ce qui permettra aussi de faire la > correction quand ce sera dans un fichier import?. J'y avais pens? aussi. Mais si tu supprimes les espaces en d?but de fonction alors le cas "1 2 3" sera transform? en "123" et consid?r? comme valide alors qu'il ne devrait pas ?tre valide avec un espace comme s?parateur de milliers. Apr?s on n'est pas oblig? de viser le code parfait. > Bonne journ?e. ? toi aussi ?+ -- Dr. Ludovic Rousseau