diff --git a/kmymoney/converter/mymoneygncreader.cpp b/kmymoney/converter/mymoneygncreader.cpp --- a/kmymoney/converter/mymoneygncreader.cpp +++ b/kmymoney/converter/mymoneygncreader.cpp @@ -1900,7 +1900,7 @@ } // validate numeric, work out sign MyMoneyMoney exFormula; - exFormula.setNegativeMonetarySignPosition(MyMoneyMoney::BeforeQuantityMoney); + exFormula.setNegativeMonetarySignPosition(eMyMoney::Money::BeforeQuantityMoney); QString numericTest; char crdr = 0 ; if (!gncCreditFormula.isEmpty()) { diff --git a/kmymoney/converter/mymoneystatementreader.cpp b/kmymoney/converter/mymoneystatementreader.cpp --- a/kmymoney/converter/mymoneystatementreader.cpp +++ b/kmymoney/converter/mymoneystatementreader.cpp @@ -50,6 +50,7 @@ #include "mymoneyfile.h" #include "mymoneyaccount.h" #include "mymoneyprice.h" +#include "mymoneyexception.h" #include "mymoneytransactionfilter.h" #include "mymoneypayee.h" #include "mymoneystatement.h" diff --git a/kmymoney/dialogs/investtransactioneditor.cpp b/kmymoney/dialogs/investtransactioneditor.cpp --- a/kmymoney/dialogs/investtransactioneditor.cpp +++ b/kmymoney/dialogs/investtransactioneditor.cpp @@ -50,6 +50,7 @@ #include "kmymoneyaccountselector.h" #include "kmymoneymvccombo.h" #include "mymoneyfile.h" +#include "mymoneyexception.h" #include "mymoneysecurity.h" #include "mymoneyprice.h" #include "ksplittransactiondlg.h" @@ -889,7 +890,7 @@ if (total && total->isVisible()) { MyMoneyMoney amount; totalAmount(amount); - total->setText(amount.convert(d->m_currency.smallestAccountFraction(), static_cast(d->m_security.roundingMethod())) + total->setText(amount.convert(d->m_currency.smallestAccountFraction(), d->m_security.roundingMethod()) .formatMoney(d->m_currency.tradingSymbol(), MyMoneyMoney::denomToPrec(d->m_currency.smallestAccountFraction()))); } } diff --git a/kmymoney/dialogs/kcurrencycalculator.cpp b/kmymoney/dialogs/kcurrencycalculator.cpp --- a/kmymoney/dialogs/kcurrencycalculator.cpp +++ b/kmymoney/dialogs/kcurrencycalculator.cpp @@ -51,6 +51,7 @@ #include "kmymoneydateinput.h" #include "mymoneyprice.h" #include "mymoneymoney.h" +#include "mymoneyexception.h" #include "mymoneysplit.h" #include "mymoneytransaction.h" #include "kmymoneyglobalsettings.h" diff --git a/kmymoney/dialogs/kmymoneypricedlg.cpp b/kmymoney/dialogs/kmymoneypricedlg.cpp --- a/kmymoney/dialogs/kmymoneypricedlg.cpp +++ b/kmymoney/dialogs/kmymoneypricedlg.cpp @@ -54,6 +54,7 @@ #include "mymoneyaccount.h" #include "mymoneysecurity.h" #include "mymoneymoney.h" +#include "mymoneyexception.h" #include "kmymoneyutils.h" #include "kpricetreeitem.h" #include "icons/icons.h" diff --git a/kmymoney/dialogs/kmymoneysplittable.cpp b/kmymoney/dialogs/kmymoneysplittable.cpp --- a/kmymoney/dialogs/kmymoneysplittable.cpp +++ b/kmymoney/dialogs/kmymoneysplittable.cpp @@ -66,6 +66,7 @@ #include "kcurrencycalculator.h" #include "mymoneyutils.h" #include "mymoneytracer.h" +#include "mymoneyexception.h" #include "icons.h" #include "mymoneyenums.h" diff --git a/kmymoney/dialogs/kreportconfigurationfilterdlg.cpp b/kmymoney/dialogs/kreportconfigurationfilterdlg.cpp --- a/kmymoney/dialogs/kreportconfigurationfilterdlg.cpp +++ b/kmymoney/dialogs/kreportconfigurationfilterdlg.cpp @@ -51,6 +51,7 @@ #include "kmymoneydateinput.h" #include "kmymoneyedit.h" #include "mymoneyfile.h" +#include "mymoneyexception.h" #include "mymoneybudget.h" #include "mymoneyreport.h" #include "daterangedlg.h" diff --git a/kmymoney/dialogs/ksplittransactiondlg.cpp b/kmymoney/dialogs/ksplittransactiondlg.cpp --- a/kmymoney/dialogs/ksplittransactiondlg.cpp +++ b/kmymoney/dialogs/ksplittransactiondlg.cpp @@ -53,6 +53,7 @@ #include "mymoneyfile.h" #include "kmymoneysplittable.h" #include "mymoneymoney.h" +#include "mymoneyexception.h" #include "mymoneyaccount.h" #include "mymoneysecurity.h" #include "mymoneysplit.h" diff --git a/kmymoney/dialogs/transactioneditor.cpp b/kmymoney/dialogs/transactioneditor.cpp --- a/kmymoney/dialogs/transactioneditor.cpp +++ b/kmymoney/dialogs/transactioneditor.cpp @@ -46,6 +46,7 @@ #include "ktagcontainer.h" #include "tabbar.h" #include "mymoneyutils.h" +#include "mymoneyexception.h" #include "kmymoneycategory.h" #include "kmymoneymvccombo.h" #include "kmymoneyedit.h" diff --git a/kmymoney/kmymoneyutils.cpp b/kmymoney/kmymoneyutils.cpp --- a/kmymoney/kmymoneyutils.cpp +++ b/kmymoney/kmymoneyutils.cpp @@ -53,6 +53,7 @@ // Project Includes #include "mymoneymoney.h" +#include "mymoneyexception.h" #include "mymoneyfile.h" #include "mymoneyaccount.h" #include "mymoneysecurity.h" diff --git a/kmymoney/models/accountsmodel.cpp b/kmymoney/models/accountsmodel.cpp --- a/kmymoney/models/accountsmodel.cpp +++ b/kmymoney/models/accountsmodel.cpp @@ -37,6 +37,7 @@ #include "mymoneyutils.h" #include "mymoneymoney.h" +#include "mymoneyexception.h" #include "mymoneyfile.h" #include "mymoneyinstitution.h" #include "mymoneyaccount.h" diff --git a/kmymoney/models/ledgermodel.cpp b/kmymoney/models/ledgermodel.cpp --- a/kmymoney/models/ledgermodel.cpp +++ b/kmymoney/models/ledgermodel.cpp @@ -40,6 +40,7 @@ #include "mymoneytransactionfilter.h" #include "mymoneyfile.h" #include "mymoneymoney.h" +#include "mymoneyexception.h" #include "kmymoneyutils.h" #include "kmymoneyglobalsettings.h" #include "mymoneyenums.h" diff --git a/kmymoney/models/splitmodel.cpp b/kmymoney/models/splitmodel.cpp --- a/kmymoney/models/splitmodel.cpp +++ b/kmymoney/models/splitmodel.cpp @@ -40,6 +40,7 @@ #include "mymoneyaccount.h" #include "mymoneypayee.h" #include "mymoneymoney.h" +#include "mymoneyexception.h" #include "kmymoneyutils.h" #include "modelenums.h" diff --git a/kmymoney/mymoney/mymoneyenums.h b/kmymoney/mymoney/mymoneyenums.h --- a/kmymoney/mymoney/mymoneyenums.h +++ b/kmymoney/mymoney/mymoneyenums.h @@ -319,5 +319,16 @@ inline uint qHash(const Action key, uint seed) { return ::qHash(static_cast(key), seed); } } + namespace Money { + enum signPosition : int { + // keep those in sync with the ones defined in klocale.h + ParensAround = 0, + BeforeQuantityMoney = 1, + AfterQuantityMoney = 2, + BeforeMoney = 3, + AfterMoney = 4 + }; + } + } #endif diff --git a/kmymoney/mymoney/mymoneyexception.h b/kmymoney/mymoney/mymoneyexception.h --- a/kmymoney/mymoney/mymoneyexception.h +++ b/kmymoney/mymoney/mymoneyexception.h @@ -29,7 +29,10 @@ // ---------------------------------------------------------------------------- // QT Includes -#include +#include + +class QString; + /** * @file * @author Thomas Baumgart diff --git a/kmymoney/mymoney/mymoneyexception.cpp b/kmymoney/mymoney/mymoneyexception.cpp --- a/kmymoney/mymoney/mymoneyexception.cpp +++ b/kmymoney/mymoney/mymoneyexception.cpp @@ -23,6 +23,17 @@ #include "mymoneyexception.h" +// ---------------------------------------------------------------------------- +// QT Includes + +#include + +// ---------------------------------------------------------------------------- +// KDE Includes + +// ---------------------------------------------------------------------------- +// Project Includes + class MyMoneyExceptionPrivate { public: diff --git a/kmymoney/mymoney/mymoneyfinancialcalculator_p.h b/kmymoney/mymoney/mymoneyfinancialcalculator_p.h --- a/kmymoney/mymoney/mymoneyfinancialcalculator_p.h +++ b/kmymoney/mymoney/mymoneyfinancialcalculator_p.h @@ -31,6 +31,8 @@ // ---------------------------------------------------------------------------- // QT Includes +#include + // ---------------------------------------------------------------------------- // KDE Includes diff --git a/kmymoney/mymoney/mymoneyforecast.cpp b/kmymoney/mymoney/mymoneyforecast.cpp --- a/kmymoney/mymoney/mymoneyforecast.cpp +++ b/kmymoney/mymoney/mymoneyforecast.cpp @@ -44,6 +44,7 @@ #include "mymoneytransaction.h" #include "mymoneytransactionfilter.h" #include "mymoneyfinancialcalculator.h" +#include "mymoneyexception.h" #include "mymoneyenums.h" enum class eForecastMethod {Scheduled = 0, Historic = 1 }; diff --git a/kmymoney/mymoney/mymoneymoney.h b/kmymoney/mymoney/mymoneymoney.h --- a/kmymoney/mymoney/mymoneymoney.h +++ b/kmymoney/mymoney/mymoneymoney.h @@ -3,6 +3,7 @@ ------------------- copyright : (C) 2000-2002 by Michael Edwardes email : mte@users.sourceforge.net + (C) 2017 by Łukasz Wojniłowicz ***************************************************************************/ /*************************************************************************** @@ -16,26 +17,18 @@ #ifndef MYMONEYMONEY_H #define MYMONEYMONEY_H -// #include -#include - -//FIXME workaround for dealing with lond double -#include - // So we can save this object -#include -#include #include #include "kmm_mymoney_export.h" #include "mymoneyunittestable.h" -#include "mymoneyexception.h" #include typedef qint64 signed64; typedef quint64 unsigned64; +namespace eMyMoney { namespace Money { enum signPosition : int; } } /** * This class represents a value within the MyMoney Engine @@ -48,31 +41,6 @@ KMM_MYMONEY_UNIT_TESTABLE public: - enum fileVersionE { - FILE_4_BYTE_VALUE = 0, - FILE_8_BYTE_VALUE - }; - - enum signPosition { - // keep those in sync with the ones defined in klocale.h - ParensAround = 0, - BeforeQuantityMoney = 1, - AfterQuantityMoney = 2, - BeforeMoney = 3, - AfterMoney = 4 - }; - - enum roundingMethod { - RndNever = 0, - RndFloor, - RndCeil, - RndTrunc, - RndPromote, - RndHalfDown, - RndHalfUp, - RndRound - }; - // construction MyMoneyMoney(); explicit MyMoneyMoney(const int iAmount, const signed64 denom); @@ -124,22 +92,21 @@ */ static int denomToPrec(signed64 fract); - MyMoneyMoney convert(const signed64 denom = 100, const roundingMethod how = RndRound) const; + MyMoneyMoney convert(const signed64 denom = 100, const AlkValue::RoundingMethod how = AlkValue::RoundRound) const; static signed64 precToDenom(int prec); double toDouble() const; static void setThousandSeparator(const QChar &); static void setDecimalSeparator(const QChar &); - static void setNegativeMonetarySignPosition(const signPosition pos); - static void setPositiveMonetarySignPosition(const signPosition pos); + static void setNegativeMonetarySignPosition(const eMyMoney::Money::signPosition pos); + static void setPositiveMonetarySignPosition(const eMyMoney::Money::signPosition pos); static void setNegativePrefixCurrencySymbol(const bool flags); static void setPositivePrefixCurrencySymbol(const bool flags); static const QChar thousandSeparator(); static const QChar decimalSeparator(); - static signPosition negativeMonetarySignPosition(); - static signPosition positiveMonetarySignPosition(); - static void setFileVersion(const fileVersionE version); + static eMyMoney::Money::signPosition negativeMonetarySignPosition(); + static eMyMoney::Money::signPosition positiveMonetarySignPosition(); const MyMoneyMoney& operator=(const QString& pszAmount); const MyMoneyMoney& operator=(const AlkValue& val); @@ -180,16 +147,6 @@ static const MyMoneyMoney ONE; static const MyMoneyMoney MINUS_ONE; - -private: - - static QChar _thousandSeparator; - static QChar _decimalSeparator; - static signPosition _negativeMonetarySignPosition; - static signPosition _positiveMonetarySignPosition; - static bool _negativePrefixCurrencySymbol; - static bool _positivePrefixCurrencySymbol; - static MyMoneyMoney::fileVersionE _fileVersion; }; //============================================================================= @@ -211,22 +168,6 @@ { } -//////////////////////////////////////////////////////////////////////////////// -// Name: MyMoneyMoney -// Purpose: Constructor - constructs object from an amount in a signed64 value -// Returns: None -// Throws: Nothing. -// Arguments: Amount - signed 64 object containing amount -// denom - denominator of the object -// -//////////////////////////////////////////////////////////////////////////////// -inline MyMoneyMoney::MyMoneyMoney(signed64 Amount, const signed64 denom) -{ - if (!denom) - throw MYMONEYEXCEPTION("Denominator 0 not allowed!"); - - *this = AlkValue(QString("%1/%2").arg(Amount).arg(denom), _decimalSeparator); -} //////////////////////////////////////////////////////////////////////////////// // Name: MyMoneyMoney @@ -242,38 +183,6 @@ { } -//////////////////////////////////////////////////////////////////////////////// -// Name: MyMoneyMoney -// Purpose: Constructor - constructs object from an amount in a integer value -// Returns: None -// Throws: Nothing. -// Arguments: iAmount - integer object containing amount -// denom - denominator of the object -// -//////////////////////////////////////////////////////////////////////////////// -inline MyMoneyMoney::MyMoneyMoney(const int iAmount, const signed64 denom) -{ - if (!denom) - throw MYMONEYEXCEPTION("Denominator 0 not allowed!"); - *this = AlkValue(iAmount, denom); -} - -//////////////////////////////////////////////////////////////////////////////// -// Name: MyMoneyMoney -// Purpose: Constructor - constructs object from an amount in a long integer value -// Returns: None -// Throws: Nothing. -// Arguments: iAmount - integer object containing amount -// denom - denominator of the object -// -//////////////////////////////////////////////////////////////////////////////// -inline MyMoneyMoney::MyMoneyMoney(const long int iAmount, const signed64 denom) -{ - if (!denom) - throw MYMONEYEXCEPTION("Denominator 0 not allowed!"); - *this = AlkValue(QString("%1/%2").arg(iAmount).arg(denom), _decimalSeparator); -} - //////////////////////////////////////////////////////////////////////////////// // Name: MyMoneyMoney // Purpose: Copy Constructor - constructs object from another diff --git a/kmymoney/mymoney/mymoneymoney.cpp b/kmymoney/mymoney/mymoneymoney.cpp --- a/kmymoney/mymoney/mymoneymoney.cpp +++ b/kmymoney/mymoney/mymoneymoney.cpp @@ -5,6 +5,7 @@ copyright : (C) 2000-2002 by Michael Edwardes (C) 2011 by Carlos Eduardo da Silva (C) 2001-2017 by Thomas Baumgart + (C) 2017 by Łukasz Wojniłowicz ***************************************************************************/ /*************************************************************************** @@ -24,25 +25,48 @@ #include "mymoneymoney.h" #include +#include // ---------------------------------------------------------------------------- // QT Includes +#include + // ---------------------------------------------------------------------------- // Project Includes +#include "mymoneyexception.h" +#include "mymoneyenums.h" const MyMoneyMoney MyMoneyMoney::ONE = MyMoneyMoney(1, 1); const MyMoneyMoney MyMoneyMoney::MINUS_ONE = MyMoneyMoney(-1, 1); +namespace eMyMoney +{ + namespace Money { + + enum fileVersionE : int { + FILE_4_BYTE_VALUE = 0, + FILE_8_BYTE_VALUE + }; + + QChar _thousandSeparator = QLatin1Char(','); + QChar _decimalSeparator = QLatin1Char('.'); + eMyMoney::Money::signPosition _negativeMonetarySignPosition = BeforeQuantityMoney; + eMyMoney::Money::signPosition _positiveMonetarySignPosition = BeforeQuantityMoney; + bool _negativePrefixCurrencySymbol = false; + bool _positivePrefixCurrencySymbol = false; + eMyMoney::Money::fileVersionE _fileVersion = fileVersionE::FILE_4_BYTE_VALUE; + } +} -QChar MyMoneyMoney::_thousandSeparator = ','; -QChar MyMoneyMoney::_decimalSeparator = '.'; -MyMoneyMoney::signPosition MyMoneyMoney::_negativeMonetarySignPosition = BeforeQuantityMoney; -MyMoneyMoney::signPosition MyMoneyMoney::_positiveMonetarySignPosition = BeforeQuantityMoney; -bool MyMoneyMoney::_negativePrefixCurrencySymbol = false; -bool MyMoneyMoney::_positivePrefixCurrencySymbol = false; +//eMyMoney::Money::_thousandSeparator = QLatin1Char(','); +//eMyMoney::Money::_decimalSeparator = QLatin1Char('.'); +//eMyMoney::Money::signPosition eMyMoney::Money::_negativeMonetarySignPosition = BeforeQuantityMoney; +//eMyMoney::Money::signPosition eMyMoney::Money::_positiveMonetarySignPosition = BeforeQuantityMoney; +//bool eMyMoney::Money::_negativePrefixCurrencySymbol = false; +//bool eMyMoney::Money::_positivePrefixCurrencySymbol = false; -MyMoneyMoney::fileVersionE MyMoneyMoney::_fileVersion = MyMoneyMoney::FILE_4_BYTE_VALUE; +//MyMoneyMoney::fileVersionE eMyMoney::Money::_fileVersion = MyMoneyMoney::FILE_4_BYTE_VALUE; MyMoneyMoney MyMoneyMoney::maxValue = MyMoneyMoney(INT64_MAX, 100); MyMoneyMoney MyMoneyMoney::minValue = MyMoneyMoney(INT64_MIN, 100); @@ -50,71 +74,115 @@ void MyMoneyMoney::setNegativePrefixCurrencySymbol(const bool flag) { - _negativePrefixCurrencySymbol = flag; + eMyMoney::Money::_negativePrefixCurrencySymbol = flag; } void MyMoneyMoney::setPositivePrefixCurrencySymbol(const bool flag) { - _positivePrefixCurrencySymbol = flag; + eMyMoney::Money::_positivePrefixCurrencySymbol = flag; } -void MyMoneyMoney::setNegativeMonetarySignPosition(const signPosition pos) +void MyMoneyMoney::setNegativeMonetarySignPosition(const eMyMoney::Money::signPosition pos) { - _negativeMonetarySignPosition = pos; + eMyMoney::Money::_negativeMonetarySignPosition = pos; } -MyMoneyMoney::signPosition MyMoneyMoney::negativeMonetarySignPosition() +eMyMoney::Money::signPosition MyMoneyMoney::negativeMonetarySignPosition() { - return _negativeMonetarySignPosition; + return eMyMoney::Money::_negativeMonetarySignPosition; } -void MyMoneyMoney::setPositiveMonetarySignPosition(const signPosition pos) +void MyMoneyMoney::setPositiveMonetarySignPosition(const eMyMoney::Money::signPosition pos) { - _positiveMonetarySignPosition = pos; + eMyMoney::Money::_positiveMonetarySignPosition = pos; } -MyMoneyMoney::signPosition MyMoneyMoney::positiveMonetarySignPosition() +eMyMoney::Money::signPosition MyMoneyMoney::positiveMonetarySignPosition() { - return _positiveMonetarySignPosition; + return eMyMoney::Money::_positiveMonetarySignPosition; } void MyMoneyMoney::setThousandSeparator(const QChar &separator) { - if (separator != ' ') - _thousandSeparator = separator; + if (separator != QLatin1Char(' ')) + eMyMoney::Money::_thousandSeparator = separator; else - _thousandSeparator = 0; + eMyMoney::Money::_thousandSeparator = 0; } const QChar MyMoneyMoney::thousandSeparator() { - return _thousandSeparator; + return eMyMoney::Money::_thousandSeparator; } void MyMoneyMoney::setDecimalSeparator(const QChar &separator) { - if (separator != ' ') - _decimalSeparator = separator; + if (separator != QLatin1Char(' ')) + eMyMoney::Money::_decimalSeparator = separator; else - _decimalSeparator = 0; + eMyMoney::Money::_decimalSeparator = 0; } const QChar MyMoneyMoney::decimalSeparator() { - return _decimalSeparator; + return eMyMoney::Money::_decimalSeparator; } -void MyMoneyMoney::setFileVersion(fileVersionE version) +MyMoneyMoney::MyMoneyMoney(const QString& pszAmount) + : AlkValue(pszAmount, eMyMoney::Money::_decimalSeparator) { - _fileVersion = version; } +//////////////////////////////////////////////////////////////////////////////// +// Name: MyMoneyMoney +// Purpose: Constructor - constructs object from an amount in a signed64 value +// Returns: None +// Throws: Nothing. +// Arguments: Amount - signed 64 object containing amount +// denom - denominator of the object +// +//////////////////////////////////////////////////////////////////////////////// +MyMoneyMoney::MyMoneyMoney(signed64 Amount, const signed64 denom) +{ + if (!denom) + throw MYMONEYEXCEPTION("Denominator 0 not allowed!"); -MyMoneyMoney::MyMoneyMoney(const QString& pszAmount) - : AlkValue(pszAmount, _decimalSeparator) + *this = AlkValue(QString::fromLatin1("%1/%2").arg(Amount).arg(denom), eMyMoney::Money::_decimalSeparator); +} + +//////////////////////////////////////////////////////////////////////////////// +// Name: MyMoneyMoney +// Purpose: Constructor - constructs object from an amount in a integer value +// Returns: None +// Throws: Nothing. +// Arguments: iAmount - integer object containing amount +// denom - denominator of the object +// +//////////////////////////////////////////////////////////////////////////////// +MyMoneyMoney::MyMoneyMoney(const int iAmount, const signed64 denom) +{ + if (!denom) + throw MYMONEYEXCEPTION("Denominator 0 not allowed!"); + *this = AlkValue(iAmount, denom); +} + +//////////////////////////////////////////////////////////////////////////////// +// Name: MyMoneyMoney +// Purpose: Constructor - constructs object from an amount in a long integer value +// Returns: None +// Throws: Nothing. +// Arguments: iAmount - integer object containing amount +// denom - denominator of the object +// +//////////////////////////////////////////////////////////////////////////////// +MyMoneyMoney::MyMoneyMoney(const long int iAmount, const signed64 denom) { + if (!denom) + throw MYMONEYEXCEPTION("Denominator 0 not allowed!"); + *this = AlkValue(QString::fromLatin1("%1/%2").arg(iAmount).arg(denom), eMyMoney::Money::_decimalSeparator); } + MyMoneyMoney::~MyMoneyMoney() { } @@ -126,7 +194,7 @@ QString MyMoneyMoney::formatMoney(int denom, bool showThousandSeparator) const { - return formatMoney("", denomToPrec(denom), showThousandSeparator); + return formatMoney(QString(), denomToPrec(denom), showThousandSeparator); } QString MyMoneyMoney::formatMoney(const QString& currency, const int prec, bool showThousandSeparator) const @@ -193,47 +261,47 @@ if (decimalSeparator() != 0) res += decimalSeparator(); - QString rs = QString("%1").arg(right.get_str().c_str()); + auto rs = QString::fromLatin1("%1").arg(right.get_str().c_str()); if (prec != -1) - rs = rs.rightJustified(prec, '0', true); + rs = rs.rightJustified(prec, QLatin1Char('0'), true); else { - rs = rs.rightJustified(9, '0', true); + rs = rs.rightJustified(9, QLatin1Char('0'), true); // no trailing zeroes or decimal separators - while (rs.endsWith('0')) + while (rs.endsWith(QLatin1Char('0'))) rs.truncate(rs.length() - 1); - while (rs.endsWith(QChar(decimalSeparator()))) + while (rs.endsWith(decimalSeparator())) rs.truncate(rs.length() - 1); } res += rs; } - signPosition signpos = bNegative ? _negativeMonetarySignPosition : _positiveMonetarySignPosition; - QString sign = bNegative ? "-" : ""; + eMyMoney::Money::signPosition signpos = bNegative ? eMyMoney::Money::_negativeMonetarySignPosition : eMyMoney::Money::_positiveMonetarySignPosition; + auto sign = bNegative ? QString::fromLatin1("-") : QString(); switch (signpos) { - case ParensAround: - res.prepend('('); - res.append(')'); + case eMyMoney::Money::ParensAround: + res.prepend(QLatin1Char('(')); + res.append(QLatin1Char(')')); break; - case BeforeQuantityMoney: + case eMyMoney::Money::BeforeQuantityMoney: res.prepend(sign); break; - case AfterQuantityMoney: + case eMyMoney::Money::AfterQuantityMoney: res.append(sign); break; - case BeforeMoney: + case eMyMoney::Money::BeforeMoney: tmpCurrency.prepend(sign); break; - case AfterMoney: + case eMyMoney::Money::AfterMoney: tmpCurrency.append(sign); break; } if (!tmpCurrency.isEmpty()) { - if (bNegative ? _negativePrefixCurrencySymbol : _positivePrefixCurrencySymbol) { - res.prepend(' '); + if (bNegative ? eMyMoney::Money::_negativePrefixCurrencySymbol : eMyMoney::Money::_positivePrefixCurrencySymbol) { + res.prepend(QLatin1Char(' ')); res.prepend(tmpCurrency); } else { - res.append(' '); + res.append(QLatin1Char(' ')); res.append(tmpCurrency); } } @@ -314,9 +382,9 @@ return (*this == autoCalc); } -MyMoneyMoney MyMoneyMoney::convert(const signed64 _denom, const roundingMethod how) const +MyMoneyMoney MyMoneyMoney::convert(const signed64 _denom, const AlkValue::RoundingMethod how) const { - return static_cast(convertDenominator(_denom, static_cast(how))); + return static_cast(convertDenominator(_denom, how)); } MyMoneyMoney MyMoneyMoney::reduce() const diff --git a/kmymoney/mymoney/mymoneysplit.cpp b/kmymoney/mymoney/mymoneysplit.cpp --- a/kmymoney/mymoney/mymoneysplit.cpp +++ b/kmymoney/mymoney/mymoneysplit.cpp @@ -38,6 +38,7 @@ #include "mymoneyutils.h" #include "mymoneytransaction.h" +#include "mymoneyexception.h" const char MyMoneySplit::ActionCheck[] = "Check"; const char MyMoneySplit::ActionDeposit[] = "Deposit"; diff --git a/kmymoney/mymoney/mymoneytransaction.cpp b/kmymoney/mymoney/mymoneytransaction.cpp --- a/kmymoney/mymoney/mymoneytransaction.cpp +++ b/kmymoney/mymoney/mymoneytransaction.cpp @@ -32,6 +32,7 @@ #include "mymoneystoragenames.h" #include "mymoneyutils.h" #include "mymoneymoney.h" +#include "mymoneyexception.h" using namespace MyMoneyStorageNodes; diff --git a/kmymoney/mymoney/storage/mymoneystorageanon.cpp b/kmymoney/mymoney/storage/mymoneystorageanon.cpp --- a/kmymoney/mymoney/storage/mymoneystorageanon.cpp +++ b/kmymoney/mymoney/storage/mymoneystorageanon.cpp @@ -49,6 +49,7 @@ #include "mymoneypayee.h" #include "mymoneytag.h" #include "mymoneykeyvaluecontainer.h" +#include "mymoneyexception.h" QStringList MyMoneyStorageANON::zKvpNoModify = QString("kmm-baseCurrency,OpeningBalanceAccount,PreferredAccount,Tax,fixed-interest,interest-calculation,payee,schedule,term,kmm-online-source,kmm-brokerage-account,lastStatementDate,kmm-sort-reconcile,kmm-sort-std,kmm-iconpos,mm-closed,payee,schedule,term,lastImportedTransactionDate,VatAccount,VatRate,kmm-matched-tx,Imported,priceMode").split(','); QStringList MyMoneyStorageANON::zKvpXNumber = QString("final-payment,loan-amount,periodic-payment,lastStatementBalance").split(','); diff --git a/kmymoney/mymoney/tests/mymoneymoney-test.cpp b/kmymoney/mymoney/tests/mymoneymoney-test.cpp --- a/kmymoney/mymoney/tests/mymoneymoney-test.cpp +++ b/kmymoney/mymoney/tests/mymoneymoney-test.cpp @@ -26,7 +26,7 @@ #include #include "mymoneyexception.h" #include "mymoneymoney.h" - +#include "mymoneyenums.h" QTEST_GUILESS_MAIN(MyMoneyMoneyTest) @@ -42,7 +42,7 @@ MyMoneyMoney::setDecimalSeparator('.'); MyMoneyMoney::setThousandSeparator(','); - MyMoneyMoney::setNegativeMonetarySignPosition(MyMoneyMoney::BeforeQuantityMoney); + MyMoneyMoney::setNegativeMonetarySignPosition(eMyMoney::Money::BeforeQuantityMoney); } void MyMoneyMoneyTest::cleanup() @@ -201,7 +201,7 @@ MyMoneyMoney::setDecimalSeparator(','); MyMoneyMoney::setThousandSeparator('.'); - MyMoneyMoney::setNegativeMonetarySignPosition(MyMoneyMoney::ParensAround); + MyMoneyMoney::setNegativeMonetarySignPosition(eMyMoney::Money::ParensAround); m1 = new MyMoneyMoney("x1.234,567 EUR"); QVERIFY(m1->valueRef().get_num() == (1234567)); QVERIFY(m1->valueRef().get_den() == 1000); @@ -584,30 +584,30 @@ { MyMoneyMoney m("-123456/100"); - MyMoneyMoney::signPosition pos = MyMoneyMoney::negativeMonetarySignPosition(); + eMyMoney::Money::signPosition pos = MyMoneyMoney::negativeMonetarySignPosition(); MyMoneyMoney::setNegativePrefixCurrencySymbol(false); - MyMoneyMoney::setNegativeMonetarySignPosition(MyMoneyMoney::ParensAround); + MyMoneyMoney::setNegativeMonetarySignPosition(eMyMoney::Money::ParensAround); QVERIFY(m.formatMoney("CUR", 2) == "(1,234.56) CUR"); - MyMoneyMoney::setNegativeMonetarySignPosition(MyMoneyMoney::BeforeQuantityMoney); + MyMoneyMoney::setNegativeMonetarySignPosition(eMyMoney::Money::BeforeQuantityMoney); QVERIFY(m.formatMoney("CUR", 2) == "-1,234.56 CUR"); - MyMoneyMoney::setNegativeMonetarySignPosition(MyMoneyMoney::AfterQuantityMoney); + MyMoneyMoney::setNegativeMonetarySignPosition(eMyMoney::Money::AfterQuantityMoney); QVERIFY(m.formatMoney("CUR", 2) == "1,234.56- CUR"); - MyMoneyMoney::setNegativeMonetarySignPosition(MyMoneyMoney::BeforeMoney); + MyMoneyMoney::setNegativeMonetarySignPosition(eMyMoney::Money::BeforeMoney); QVERIFY(m.formatMoney("CUR", 2) == "1,234.56 -CUR"); - MyMoneyMoney::setNegativeMonetarySignPosition(MyMoneyMoney::AfterMoney); + MyMoneyMoney::setNegativeMonetarySignPosition(eMyMoney::Money::AfterMoney); QVERIFY(m.formatMoney("CUR", 2) == "1,234.56 CUR-"); MyMoneyMoney::setNegativePrefixCurrencySymbol(true); - MyMoneyMoney::setNegativeMonetarySignPosition(MyMoneyMoney::ParensAround); + MyMoneyMoney::setNegativeMonetarySignPosition(eMyMoney::Money::ParensAround); QVERIFY(m.formatMoney("CUR", 2) == "CUR (1,234.56)"); - MyMoneyMoney::setNegativeMonetarySignPosition(MyMoneyMoney::BeforeQuantityMoney); + MyMoneyMoney::setNegativeMonetarySignPosition(eMyMoney::Money::BeforeQuantityMoney); QVERIFY(m.formatMoney("CUR", 2) == "CUR -1,234.56"); - MyMoneyMoney::setNegativeMonetarySignPosition(MyMoneyMoney::AfterQuantityMoney); + MyMoneyMoney::setNegativeMonetarySignPosition(eMyMoney::Money::AfterQuantityMoney); QVERIFY(m.formatMoney("CUR", 2) == "CUR 1,234.56-"); - MyMoneyMoney::setNegativeMonetarySignPosition(MyMoneyMoney::BeforeMoney); + MyMoneyMoney::setNegativeMonetarySignPosition(eMyMoney::Money::BeforeMoney); QVERIFY(m.formatMoney("CUR", 2) == "-CUR 1,234.56"); - MyMoneyMoney::setNegativeMonetarySignPosition(MyMoneyMoney::AfterMoney); + MyMoneyMoney::setNegativeMonetarySignPosition(eMyMoney::Money::AfterMoney); QVERIFY(m.formatMoney("CUR", 2) == "CUR- 1,234.56"); MyMoneyMoney::setNegativeMonetarySignPosition(pos); @@ -617,30 +617,30 @@ { MyMoneyMoney m("123456/100"); - MyMoneyMoney::signPosition pos = MyMoneyMoney::positiveMonetarySignPosition(); + eMyMoney::Money::signPosition pos = MyMoneyMoney::positiveMonetarySignPosition(); MyMoneyMoney::setPositivePrefixCurrencySymbol(false); - MyMoneyMoney::setPositiveMonetarySignPosition(MyMoneyMoney::ParensAround); + MyMoneyMoney::setPositiveMonetarySignPosition(eMyMoney::Money::ParensAround); QVERIFY(m.formatMoney("CUR", 2) == "(1,234.56) CUR"); - MyMoneyMoney::setPositiveMonetarySignPosition(MyMoneyMoney::BeforeQuantityMoney); + MyMoneyMoney::setPositiveMonetarySignPosition(eMyMoney::Money::BeforeQuantityMoney); QVERIFY(m.formatMoney("CUR", 2) == "1,234.56 CUR"); - MyMoneyMoney::setPositiveMonetarySignPosition(MyMoneyMoney::AfterQuantityMoney); + MyMoneyMoney::setPositiveMonetarySignPosition(eMyMoney::Money::AfterQuantityMoney); QVERIFY(m.formatMoney("CUR", 2) == "1,234.56 CUR"); - MyMoneyMoney::setPositiveMonetarySignPosition(MyMoneyMoney::BeforeMoney); + MyMoneyMoney::setPositiveMonetarySignPosition(eMyMoney::Money::BeforeMoney); QVERIFY(m.formatMoney("CUR", 2) == "1,234.56 CUR"); - MyMoneyMoney::setPositiveMonetarySignPosition(MyMoneyMoney::AfterMoney); + MyMoneyMoney::setPositiveMonetarySignPosition(eMyMoney::Money::AfterMoney); QVERIFY(m.formatMoney("CUR", 2) == "1,234.56 CUR"); MyMoneyMoney::setPositivePrefixCurrencySymbol(true); - MyMoneyMoney::setPositiveMonetarySignPosition(MyMoneyMoney::ParensAround); + MyMoneyMoney::setPositiveMonetarySignPosition(eMyMoney::Money::ParensAround); QVERIFY(m.formatMoney("CUR", 2) == "CUR (1,234.56)"); - MyMoneyMoney::setPositiveMonetarySignPosition(MyMoneyMoney::BeforeQuantityMoney); + MyMoneyMoney::setPositiveMonetarySignPosition(eMyMoney::Money::BeforeQuantityMoney); QVERIFY(m.formatMoney("CUR", 2) == "CUR 1,234.56"); - MyMoneyMoney::setPositiveMonetarySignPosition(MyMoneyMoney::AfterQuantityMoney); + MyMoneyMoney::setPositiveMonetarySignPosition(eMyMoney::Money::AfterQuantityMoney); QVERIFY(m.formatMoney("CUR", 2) == "CUR 1,234.56"); - MyMoneyMoney::setPositiveMonetarySignPosition(MyMoneyMoney::BeforeMoney); + MyMoneyMoney::setPositiveMonetarySignPosition(eMyMoney::Money::BeforeMoney); QVERIFY(m.formatMoney("CUR", 2) == "CUR 1,234.56"); - MyMoneyMoney::setPositiveMonetarySignPosition(MyMoneyMoney::AfterMoney); + MyMoneyMoney::setPositiveMonetarySignPosition(eMyMoney::Money::AfterMoney); QVERIFY(m.formatMoney("CUR", 2) == "CUR 1,234.56"); MyMoneyMoney::setPositiveMonetarySignPosition(pos); @@ -651,14 +651,14 @@ MyMoneyMoney *m1; MyMoneyMoney::setDecimalSeparator(','); MyMoneyMoney::setThousandSeparator('.'); - MyMoneyMoney::setNegativeMonetarySignPosition(MyMoneyMoney::ParensAround); + MyMoneyMoney::setNegativeMonetarySignPosition(eMyMoney::Money::ParensAround); m1 = new MyMoneyMoney("x(1.234,567) EUR"); QVERIFY(m1->valueRef().get_num() == (-1234567)); QVERIFY(m1->valueRef().get_den() == 1000); delete m1; - MyMoneyMoney::setNegativeMonetarySignPosition(MyMoneyMoney::BeforeQuantityMoney); + MyMoneyMoney::setNegativeMonetarySignPosition(eMyMoney::Money::BeforeQuantityMoney); m1 = new MyMoneyMoney("x1.234,567- EUR"); //qDebug("Created: %s", m1->valueRef().get_str().c_str()); diff --git a/kmymoney/plugins/ofximport/ofximporterplugin.cpp b/kmymoney/plugins/ofximport/ofximporterplugin.cpp --- a/kmymoney/plugins/ofximport/ofximporterplugin.cpp +++ b/kmymoney/plugins/ofximport/ofximporterplugin.cpp @@ -43,6 +43,7 @@ #include "konlinebankingsetupwizard.h" #include "kofxdirectconnectdlg.h" #include "mymoneyaccount.h" +#include "mymoneyexception.h" #include "mymoneystatement.h" #include "statementinterface.h" #include "importinterface.h" diff --git a/kmymoney/plugins/qif/config/mymoneyqifprofile.cpp b/kmymoney/plugins/qif/config/mymoneyqifprofile.cpp --- a/kmymoney/plugins/qif/config/mymoneyqifprofile.cpp +++ b/kmymoney/plugins/qif/config/mymoneyqifprofile.cpp @@ -37,6 +37,7 @@ #include "mymoneyexception.h" #include "mymoneymoney.h" +#include "mymoneyenums.h" /* * CENTURY_BREAK is used to identfy the century for a two digit year @@ -680,11 +681,11 @@ _decimalSeparator = MyMoneyMoney::decimalSeparator(); _thousandsSeparator = MyMoneyMoney::thousandSeparator(); - MyMoneyMoney::signPosition _signPosition = MyMoneyMoney::negativeMonetarySignPosition(); + eMyMoney::Money::signPosition _signPosition = MyMoneyMoney::negativeMonetarySignPosition(); MyMoneyMoney::setDecimalSeparator(amountDecimal(def).toLatin1()); MyMoneyMoney::setThousandSeparator(amountThousands(def).toLatin1()); - MyMoneyMoney::setNegativeMonetarySignPosition(MyMoneyMoney::BeforeQuantityMoney); + MyMoneyMoney::setNegativeMonetarySignPosition(eMyMoney::Money::BeforeQuantityMoney); res = valuein.formatMoney("", 2); MyMoneyMoney::setDecimalSeparator(_decimalSeparator); @@ -702,11 +703,11 @@ _decimalSeparator = MyMoneyMoney::decimalSeparator(); _thousandsSeparator = MyMoneyMoney::thousandSeparator(); - MyMoneyMoney::signPosition _signPosition = MyMoneyMoney::negativeMonetarySignPosition(); + eMyMoney::Money::signPosition _signPosition = MyMoneyMoney::negativeMonetarySignPosition(); MyMoneyMoney::setDecimalSeparator(amountDecimal(def).toLatin1()); MyMoneyMoney::setThousandSeparator(amountThousands(def).toLatin1()); - MyMoneyMoney::setNegativeMonetarySignPosition(MyMoneyMoney::BeforeQuantityMoney); + MyMoneyMoney::setNegativeMonetarySignPosition(eMyMoney::Money::BeforeQuantityMoney); res = MyMoneyMoney(valuein); diff --git a/kmymoney/plugins/qif/import/mymoneyqifreader.cpp b/kmymoney/plugins/qif/import/mymoneyqifreader.cpp --- a/kmymoney/plugins/qif/import/mymoneyqifreader.cpp +++ b/kmymoney/plugins/qif/import/mymoneyqifreader.cpp @@ -52,6 +52,7 @@ #include "mymoneyfile.h" #include "mymoneysecurity.h" #include "mymoneysplit.h" +#include "mymoneyexception.h" #include "kmymoneyglobalsettings.h" #include "mymoneystatement.h" diff --git a/kmymoney/reports/pivottable.cpp b/kmymoney/reports/pivottable.cpp --- a/kmymoney/reports/pivottable.cpp +++ b/kmymoney/reports/pivottable.cpp @@ -47,6 +47,7 @@ #include "mymoneyschedule.h" #include "mymoneysplit.h" #include "mymoneytransaction.h" +#include "mymoneyexception.h" #include "mymoneyenums.h" namespace KChart { class Widget; } diff --git a/kmymoney/views/kforecastview.cpp b/kmymoney/views/kforecastview.cpp --- a/kmymoney/views/kforecastview.cpp +++ b/kmymoney/views/kforecastview.cpp @@ -40,6 +40,7 @@ #include "mymoneyutils.h" #include "mymoneyfile.h" #include "mymoneyaccount.h" +#include "mymoneyexception.h" #include "mymoneyprice.h" #include "mymoneysecurity.h" #include "kmymoneyglobalsettings.h" diff --git a/kmymoney/views/kreportsview.cpp b/kmymoney/views/kreportsview.cpp --- a/kmymoney/views/kreportsview.cpp +++ b/kmymoney/views/kreportsview.cpp @@ -63,6 +63,7 @@ #include "mymoneyfile.h" #include "mymoneyreport.h" +#include "mymoneyexception.h" #include "kmymoneyglobalsettings.h" #include "querytable.h" #include "objectinfotable.h" diff --git a/kmymoney/views/newspliteditor.cpp b/kmymoney/views/newspliteditor.cpp --- a/kmymoney/views/newspliteditor.cpp +++ b/kmymoney/views/newspliteditor.cpp @@ -43,6 +43,7 @@ #include "ledgermodel.h" #include "splitmodel.h" #include "mymoneyaccount.h" +#include "mymoneyexception.h" #include "ui_newspliteditor.h" #include "widgethintframe.h" #include "ledgerview.h" diff --git a/kmymoney/views/newtransactioneditor.cpp b/kmymoney/views/newtransactioneditor.cpp --- a/kmymoney/views/newtransactioneditor.cpp +++ b/kmymoney/views/newtransactioneditor.cpp @@ -38,6 +38,7 @@ #include "creditdebithelper.h" #include "mymoneyfile.h" #include "mymoneyaccount.h" +#include "mymoneyexception.h" #include "kmymoneyutils.h" #include "kmymoneyaccountcombo.h" #include "models.h" diff --git a/kmymoney/widgets/kmymoneybriefschedule.cpp b/kmymoney/widgets/kmymoneybriefschedule.cpp --- a/kmymoney/widgets/kmymoneybriefschedule.cpp +++ b/kmymoney/widgets/kmymoneybriefschedule.cpp @@ -43,6 +43,7 @@ #include "ui_kmymoneybriefschedule.h" +#include "mymoneyexception.h" #include "mymoneymoney.h" #include "mymoneyaccount.h" #include "mymoneyschedule.h" diff --git a/kmymoney/widgets/register.cpp b/kmymoney/widgets/register.cpp --- a/kmymoney/widgets/register.cpp +++ b/kmymoney/widgets/register.cpp @@ -45,6 +45,7 @@ #include "mymoneysplit.h" #include "mymoneytransaction.h" +#include "mymoneyexception.h" #include "mymoneyaccount.h" #include "stdtransactiondownloaded.h" #include "stdtransactionmatched.h" diff --git a/kmymoney/widgets/stdtransaction.cpp b/kmymoney/widgets/stdtransaction.cpp --- a/kmymoney/widgets/stdtransaction.cpp +++ b/kmymoney/widgets/stdtransaction.cpp @@ -43,6 +43,7 @@ #include "ktagcontainer.h" #include "mymoneytransaction.h" #include "mymoneysplit.h" +#include "mymoneyexception.h" #include "mymoneyfile.h" #include "register.h" #include "transactionform.h" diff --git a/kmymoney/widgets/stdtransactionmatched.cpp b/kmymoney/widgets/stdtransactionmatched.cpp --- a/kmymoney/widgets/stdtransactionmatched.cpp +++ b/kmymoney/widgets/stdtransactionmatched.cpp @@ -38,6 +38,7 @@ #include "mymoneymoney.h" #include "mymoneysplit.h" #include "mymoneytransaction.h" +#include "mymoneyexception.h" #include "widgetenums.h" using namespace KMyMoneyRegister; diff --git a/kmymoney/wizards/endingbalancedlg/kendingbalancedlg.cpp b/kmymoney/wizards/endingbalancedlg/kendingbalancedlg.cpp --- a/kmymoney/wizards/endingbalancedlg/kendingbalancedlg.cpp +++ b/kmymoney/wizards/endingbalancedlg/kendingbalancedlg.cpp @@ -39,6 +39,7 @@ #include "ui_interestchargecheckingswizardpage.h" #include "mymoneymoney.h" +#include "mymoneyexception.h" #include "mymoneyutils.h" #include "mymoneytracer.h" #include "kmymoneyedit.h" diff --git a/kmymoney/wizards/newinvestmentwizard/knewinvestmentwizard.cpp b/kmymoney/wizards/newinvestmentwizard/knewinvestmentwizard.cpp --- a/kmymoney/wizards/newinvestmentwizard/knewinvestmentwizard.cpp +++ b/kmymoney/wizards/newinvestmentwizard/knewinvestmentwizard.cpp @@ -40,6 +40,7 @@ #include "mymoneyfile.h" #include "webpricequote.h" #include "kmymoneyutils.h" +#include "mymoneyexception.h" class KNewInvestmentWizardPrivate { diff --git a/kmymoney/wizards/newloanwizard/knewloanwizard_p.h b/kmymoney/wizards/newloanwizard/knewloanwizard_p.h --- a/kmymoney/wizards/newloanwizard/knewloanwizard_p.h +++ b/kmymoney/wizards/newloanwizard/knewloanwizard_p.h @@ -51,6 +51,7 @@ #include "mymoneyfinancialcalculator.h" #include "mymoneyfile.h" +#include "mymoneyexception.h" #include "mymoneysecurity.h" #include "mymoneyaccountloan.h" #include "mymoneyschedule.h"