[grisbi-devel] [bug] espace insécable dans les champs valeurs

Pierre Biava pierre.biava at orange.fr
Sun May 5 07:07:56 CEST 2019


Ludovic Rousseau a écrit le 04/05/2019 à 15:10 :

Bonjour,

> Le sam. 4 mai 2019 à 12:40, Pierre PANTALÉON <pipantal at free.fr> 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



More information about the devel mailing list