Porting KLocale::formatMoney()/readMoney() to Qt5/KF5, best practise?
Friedrich W. H. Kossebau
kossebau at kde.org
Wed Jan 6 07:12:49 GMT 2016
Hi developers of finance apps & Calligra Sheets & Calligra Plan,
(please keep cross-posting to both ml for now)
I (not only with my Calligra developer hat on) would like to collect
experiences and ideas for conversion of curreny values to and from
strings when using Qt5/KF5, especially when porting from kdelibs4's
KLocale.
PROBLEM
QLocale is rather limited (as of Qt 5.5):
- no currency string parsing method
- string formatting method toCurrencyString() does not allow
to control precision
KLocale and its currency related methods seem the last blocker to get
rid of kdelibs4support in Calligra in the Qt5/KF5 port. Plan uses them
for handling the costs of resources, and Sheets for the currency
formatted cells. And both limitations are a blocker.
APPROACHES
Long term ideally QLocale gets support in its API for that. So we
developers of currency data handling software should organize and
draft an API.
First and short term though, until some released & wide-spread Qt
version has the improved QLocale, I am looking for a solution
independent of QLocale.
Most obvious might be to duplicate all currency things from KLocale,
which would also include duplicating the database with all currency
formatting data. This is what I would plan to do if there is no better
idea.
Especially the database duplication is painful though, I would like to
avoid at least that if possible.
QUESTIONS
How have developers of e.g. Skrooge & KMyMoney approached the issue of
conversion of currency values to/from strings?
Do you know about any activities to improve QLocale here?
Seems that Calligra apps Plan & Sheets are the only KDE apps using
KLocale::readMoney() ?
https://lxr.kde.org/ident?v=stable-qt4&_i=readMoney&_remember=1
But KLocale::formatMoney() might be used by KMyMoney, Skrooge, Kraft &
others (did not check though if not custom code):
https://lxr.kde.org/ident?v=stable-qt4&_i=formatMoney&_remember=1
Cheers
Friedrich
More information about the calligra-devel
mailing list