Review Request 126888: Fix locale conflict in kMyMoneyMoneyValidator

Alexey Chernov 4ernov at gmail.com
Wed Feb 24 11:11:46 UTC 2016



> On Фев. 24, 2016, 8:25 д.п., Christian David wrote:
> > Are you sure you used the branch "master"? Because that should not compile with Qt 5 and KF 5 at all.
> > 
> > Also I am suprised that setting ```setLocale(QLocale::c());``` works here.

Oh, sorry, no, it's "frameworks" branch, I'll change it right away accordingly.

Yes, there's a little redundancy in that the input string is parsed manually first (replacing "," to "." etc.) and then default locale validation is applied. Obviously it can all be done in the locale-specific validation, but it's unclear for me, what was solved (if any) by this manual parsing instead of use of locale-specific validation.


- Alexey


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/126888/#review92708
-----------------------------------------------------------


On Фев. 24, 2016, 11:11 д.п., Alexey Chernov wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/126888/
> -----------------------------------------------------------
> 
> (Updated Фев. 24, 2016, 11:11 д.п.)
> 
> 
> Review request for KMymoney, Christian David and Cristian Oneț.
> 
> 
> Bugs: 358573
>     http://bugs.kde.org/show_bug.cgi?id=358573
> 
> 
> Repository: kmymoney
> 
> 
> Description
> -------
> 
> kMyMoneyMoneyValidator does all the locale-specific stuff of value validation by itself and relies on QDoubleValidator only to validate canonically formatted (i.e. "C" locale) value. Previously QDoubleValidator has a special case to always validate such values in spite of the system locale, but this seems to be removed in recent Qt5 versions. To return to the previous behaviour, "C" locale is set now explicitly. Generally it might be worth revisiting kMyMoneyMoneyValidator's code to possibly get rid of KDE4Support's KLocale type and use QDoubleValidator locale-specific validation facilities.
> 
> 
> Diffs
> -----
> 
>   kmymoney/widgets/kmymoneyedit.cpp c164ea8 
> 
> Diff: https://git.reviewboard.kde.org/r/126888/diff/
> 
> 
> Testing
> -------
> 
> Tested the "master" branch, with KF-5.18.0, Qt-5.5.1. Locale-specific decimal separator ("," in Russian locale) can now be successfully entered.
> 
> 
> Thanks,
> 
> Alexey Chernov
> 
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kmymoney-devel/attachments/20160224/83058c49/attachment.html>


More information about the KMyMoney-devel mailing list