Changeset View
Changeset View
Standalone View
Standalone View
kmymoney/mymoney/mymoneyreport.cpp
Context not available. | |||||
32 | 32 | | |||
---|---|---|---|---|---|
33 | #include "mymoneyfile.h" | 33 | #include "mymoneyfile.h" | ||
34 | #include "mymoneystoragenames.h" | 34 | #include "mymoneystoragenames.h" | ||
35 | #include "mymoneytransaction.h" | ||||
35 | 36 | | |||
36 | using namespace MyMoneyStorageNodes; | 37 | using namespace MyMoneyStorageNodes; | ||
37 | 38 | | |||
Context not available. | |||||
180 | 181 | | |||
181 | //add the corresponding account groups | 182 | //add the corresponding account groups | ||
182 | if (_rt == MyMoneyReport::eAssetLiability) { | 183 | if (_rt == MyMoneyReport::eAssetLiability) { | ||
183 | addAccountGroup(MyMoneyAccount::Asset); | 184 | addAccountGroup(eMyMoney::Account::Asset); | ||
184 | addAccountGroup(MyMoneyAccount::Liability); | 185 | addAccountGroup(eMyMoney::Account::Liability); | ||
185 | m_showRowTotals = true; | 186 | m_showRowTotals = true; | ||
186 | } | 187 | } | ||
187 | if (_rt == MyMoneyReport::eAccount) { | 188 | if (_rt == MyMoneyReport::eAccount) { | ||
188 | addAccountGroup(MyMoneyAccount::Asset); | 189 | addAccountGroup(eMyMoney::Account::Asset); | ||
189 | addAccountGroup(MyMoneyAccount::AssetLoan); | 190 | addAccountGroup(eMyMoney::Account::AssetLoan); | ||
190 | addAccountGroup(MyMoneyAccount::Cash); | 191 | addAccountGroup(eMyMoney::Account::Cash); | ||
191 | addAccountGroup(MyMoneyAccount::Checkings); | 192 | addAccountGroup(eMyMoney::Account::Checkings); | ||
192 | addAccountGroup(MyMoneyAccount::CreditCard); | 193 | addAccountGroup(eMyMoney::Account::CreditCard); | ||
193 | if (KMyMoneyGlobalSettings::expertMode()) | 194 | if (KMyMoneyGlobalSettings::expertMode()) | ||
194 | addAccountGroup(MyMoneyAccount::Equity); | 195 | addAccountGroup(eMyMoney::Account::Equity); | ||
195 | addAccountGroup(MyMoneyAccount::Expense); | 196 | addAccountGroup(eMyMoney::Account::Expense); | ||
196 | addAccountGroup(MyMoneyAccount::Income); | 197 | addAccountGroup(eMyMoney::Account::Income); | ||
197 | addAccountGroup(MyMoneyAccount::Liability); | 198 | addAccountGroup(eMyMoney::Account::Liability); | ||
198 | addAccountGroup(MyMoneyAccount::Loan); | 199 | addAccountGroup(eMyMoney::Account::Loan); | ||
199 | addAccountGroup(MyMoneyAccount::Savings); | 200 | addAccountGroup(eMyMoney::Account::Savings); | ||
200 | addAccountGroup(MyMoneyAccount::Stock); | 201 | addAccountGroup(eMyMoney::Account::Stock); | ||
201 | m_showRowTotals = true; | 202 | m_showRowTotals = true; | ||
202 | } | 203 | } | ||
203 | if (_rt == MyMoneyReport::eExpenseIncome) { | 204 | if (_rt == MyMoneyReport::eExpenseIncome) { | ||
204 | addAccountGroup(MyMoneyAccount::Expense); | 205 | addAccountGroup(eMyMoney::Account::Expense); | ||
205 | addAccountGroup(MyMoneyAccount::Income); | 206 | addAccountGroup(eMyMoney::Account::Income); | ||
206 | m_showRowTotals = true; | 207 | m_showRowTotals = true; | ||
207 | } | 208 | } | ||
208 | //FIXME take this out once we have sorted out all issues regarding budget of assets and liabilities -- asoliverez@gmail.com | 209 | //FIXME take this out once we have sorted out all issues regarding budget of assets and liabilities -- asoliverez@gmail.com | ||
209 | if (_rt == MyMoneyReport::eBudget || _rt == MyMoneyReport::eBudgetActual) { | 210 | if (_rt == MyMoneyReport::eBudget || _rt == MyMoneyReport::eBudgetActual) { | ||
210 | addAccountGroup(MyMoneyAccount::Expense); | 211 | addAccountGroup(eMyMoney::Account::Expense); | ||
211 | addAccountGroup(MyMoneyAccount::Income); | 212 | addAccountGroup(eMyMoney::Account::Income); | ||
212 | } | 213 | } | ||
213 | if (_rt == MyMoneyReport::eAccountInfo) { | 214 | if (_rt == MyMoneyReport::eAccountInfo) { | ||
214 | addAccountGroup(MyMoneyAccount::Asset); | 215 | addAccountGroup(eMyMoney::Account::Asset); | ||
215 | addAccountGroup(MyMoneyAccount::Liability); | 216 | addAccountGroup(eMyMoney::Account::Liability); | ||
216 | } | 217 | } | ||
217 | //cash flow reports show splits for all account groups | 218 | //cash flow reports show splits for all account groups | ||
218 | if (_rt == MyMoneyReport::eCashFlow) { | 219 | if (_rt == MyMoneyReport::eCashFlow) { | ||
219 | addAccountGroup(MyMoneyAccount::Expense); | 220 | addAccountGroup(eMyMoney::Account::Expense); | ||
220 | addAccountGroup(MyMoneyAccount::Income); | 221 | addAccountGroup(eMyMoney::Account::Income); | ||
221 | addAccountGroup(MyMoneyAccount::Asset); | 222 | addAccountGroup(eMyMoney::Account::Asset); | ||
222 | addAccountGroup(MyMoneyAccount::Liability); | 223 | addAccountGroup(eMyMoney::Account::Liability); | ||
223 | } | 224 | } | ||
224 | #ifdef DEBUG_REPORTS | 225 | #ifdef DEBUG_REPORTS | ||
225 | QDebug out = qDebug(); | 226 | QDebug out = qDebug(); | ||
226 | out << _name << toString(_rt) << toString(m_reportType); | 227 | out << _name << toString(_rt) << toString(m_reportType); | ||
227 | foreach(const MyMoneyAccount::accountTypeE accountType, m_accountGroups) | 228 | foreach(const eMyMoney::Account accountType, m_accountGroups) | ||
228 | out << MyMoneyAccount::accountTypeToString(accountType); | 229 | out << MyMoneyAccount::accountTypeToString(accountType); | ||
229 | if (m_accounts.size() > 0) | 230 | if (m_accounts.size() > 0) | ||
230 | out << m_accounts; | 231 | out << m_accounts; | ||
Context not available. | |||||
302 | m_accountGroups.clear(); | 303 | m_accountGroups.clear(); | ||
303 | 304 | | |||
304 | if (_rt == MyMoneyReport::eAssetLiability) { | 305 | if (_rt == MyMoneyReport::eAssetLiability) { | ||
305 | addAccountGroup(MyMoneyAccount::Asset); | 306 | addAccountGroup(eMyMoney::Account::Asset); | ||
306 | addAccountGroup(MyMoneyAccount::Liability); | 307 | addAccountGroup(eMyMoney::Account::Liability); | ||
307 | } | 308 | } | ||
308 | if (_rt == MyMoneyReport::eExpenseIncome) { | 309 | if (_rt == MyMoneyReport::eExpenseIncome) { | ||
309 | addAccountGroup(MyMoneyAccount::Expense); | 310 | addAccountGroup(eMyMoney::Account::Expense); | ||
310 | addAccountGroup(MyMoneyAccount::Income); | 311 | addAccountGroup(eMyMoney::Account::Income); | ||
311 | } | 312 | } | ||
312 | } | 313 | } | ||
313 | 314 | | |||
314 | bool MyMoneyReport::accountGroups(QList<MyMoneyAccount::accountTypeE>& list) const | 315 | bool MyMoneyReport::accountGroups(QList<eMyMoney::Account>& list) const | ||
315 | 316 | | |||
316 | { | 317 | { | ||
317 | bool result = m_accountGroupFilter; | 318 | bool result = m_accountGroupFilter; | ||
318 | 319 | | |||
319 | if (result) { | 320 | if (result) { | ||
320 | QList<MyMoneyAccount::accountTypeE>::const_iterator it_group = m_accountGroups.begin(); | 321 | QList<eMyMoney::Account>::const_iterator it_group = m_accountGroups.begin(); | ||
321 | while (it_group != m_accountGroups.end()) { | 322 | while (it_group != m_accountGroups.end()) { | ||
322 | list += (*it_group); | 323 | list += (*it_group); | ||
323 | ++it_group; | 324 | ++it_group; | ||
Context not available. | |||||
326 | return result; | 327 | return result; | ||
327 | } | 328 | } | ||
328 | 329 | | |||
329 | void MyMoneyReport::addAccountGroup(MyMoneyAccount::accountTypeE type) | 330 | void MyMoneyReport::addAccountGroup(eMyMoney::Account type) | ||
330 | { | 331 | { | ||
331 | if (!m_accountGroups.isEmpty() && type != MyMoneyAccount::UnknownAccountType) { | 332 | if (!m_accountGroups.isEmpty() && type != eMyMoney::Account::Unknown) { | ||
332 | if (m_accountGroups.contains(type)) | 333 | if (m_accountGroups.contains(type)) | ||
333 | return; | 334 | return; | ||
334 | } | 335 | } | ||
335 | m_accountGroupFilter = true; | 336 | m_accountGroupFilter = true; | ||
336 | if (type != MyMoneyAccount::UnknownAccountType) | 337 | if (type != eMyMoney::Account::Unknown) | ||
337 | m_accountGroups.push_back(type); | 338 | m_accountGroups.push_back(type); | ||
338 | } | 339 | } | ||
339 | 340 | | |||
340 | bool MyMoneyReport::includesAccountGroup(MyMoneyAccount::accountTypeE type) const | 341 | bool MyMoneyReport::includesAccountGroup(eMyMoney::Account type) const | ||
341 | { | 342 | { | ||
342 | bool result = (! m_accountGroupFilter) | 343 | bool result = (! m_accountGroupFilter) | ||
343 | || (isIncludingTransfers() && m_rowType == MyMoneyReport::eExpenseIncome) | 344 | || (isIncludingTransfers() && m_rowType == MyMoneyReport::eExpenseIncome) | ||
Context not available. | |||||
352 | 353 | | |||
353 | if (includesAccountGroup(acc.accountGroup())) { | 354 | if (includesAccountGroup(acc.accountGroup())) { | ||
354 | switch (acc.accountGroup()) { | 355 | switch (acc.accountGroup()) { | ||
355 | case MyMoneyAccount::Income: | 356 | case eMyMoney::Account::Income: | ||
356 | case MyMoneyAccount::Expense: | 357 | case eMyMoney::Account::Expense: | ||
357 | if (isTax()) | 358 | if (isTax()) | ||
358 | result = (acc.value("Tax") == "Yes") && includesCategory(acc.id()); | 359 | result = (acc.value("Tax") == "Yes") && includesCategory(acc.id()); | ||
359 | else | 360 | else | ||
360 | result = includesCategory(acc.id()); | 361 | result = includesCategory(acc.id()); | ||
361 | break; | 362 | break; | ||
362 | case MyMoneyAccount::Asset: | 363 | case eMyMoney::Account::Asset: | ||
363 | case MyMoneyAccount::Liability: | 364 | case eMyMoney::Account::Liability: | ||
364 | if (isLoansOnly()) | 365 | if (isLoansOnly()) | ||
365 | result = acc.isLoan() && includesAccount(acc.id()); | 366 | result = acc.isLoan() && includesAccount(acc.id()); | ||
366 | else if (isInvestmentsOnly()) | 367 | else if (isInvestmentsOnly()) | ||
Context not available. | |||||
372 | else | 373 | else | ||
373 | result = includesAccount(acc.id()); | 374 | result = includesAccount(acc.id()); | ||
374 | break; | 375 | break; | ||
375 | case MyMoneyAccount::Equity: | 376 | case eMyMoney::Account::Equity: | ||
376 | if (isInvestmentsOnly()) | 377 | if (isInvestmentsOnly()) | ||
377 | result = (isIncludingPrice() || isIncludingAveragePrice()) && acc.isInvest() && includesAccount(acc.id()); | 378 | result = (isIncludingPrice() || isIncludingAveragePrice()) && acc.isInvest() && includesAccount(acc.id()); | ||
378 | break; | 379 | break; | ||
Context not available. | |||||
613 | // Account Groups Filter | 614 | // Account Groups Filter | ||
614 | // | 615 | // | ||
615 | 616 | | |||
616 | QList<MyMoneyAccount::accountTypeE> accountgrouplist; | 617 | QList<eMyMoney::Account> accountgrouplist; | ||
617 | if (accountGroups(accountgrouplist)) { | 618 | if (accountGroups(accountgrouplist)) { | ||
618 | // iterate over accounts, and add each one | 619 | // iterate over accounts, and add each one | ||
619 | QList<MyMoneyAccount::accountTypeE>::const_iterator it_group = accountgrouplist.constBegin(); | 620 | QList<eMyMoney::Account>::const_iterator it_group = accountgrouplist.constBegin(); | ||
620 | while (it_group != accountgrouplist.constEnd()) { | 621 | while (it_group != accountgrouplist.constEnd()) { | ||
621 | QDomElement p = doc->createElement(getElName(enAccountGroup)); | 622 | QDomElement p = doc->createElement(getElName(enAccountGroup)); | ||
622 | p.setAttribute(getAttrName(anGroup), kAccountTypeText[*it_group]); | 623 | p.setAttribute(getAttrName(anGroup), kAccountTypeText[(int)*it_group]); | ||
623 | e.appendChild(p); | 624 | e.appendChild(p); | ||
624 | 625 | | |||
625 | ++it_group; | 626 | ++it_group; | ||
Context not available. | |||||
883 | if (getElName(enAccountGroup) == c.tagName() && c.hasAttribute(getAttrName(anGroup))) { | 884 | if (getElName(enAccountGroup) == c.tagName() && c.hasAttribute(getAttrName(anGroup))) { | ||
884 | i = kAccountTypeText.indexOf(c.attribute(getAttrName(anGroup))); | 885 | i = kAccountTypeText.indexOf(c.attribute(getAttrName(anGroup))); | ||
885 | if (i != -1) | 886 | if (i != -1) | ||
886 | addAccountGroup(static_cast<MyMoneyAccount::accountTypeE>(i)); | 887 | addAccountGroup(static_cast<eMyMoney::Account>(i)); | ||
887 | } | 888 | } | ||
888 | child = child.nextSibling(); | 889 | child = child.nextSibling(); | ||
889 | } | 890 | } | ||
Context not available. |