File indexing completed on 2024-05-12 16:42:07
0001 /* 0002 SPDX-FileCopyrightText: 2005-2009 Thomas Baumgart <tbaumgart@kde.org> 0003 SPDX-FileCopyrightText: 2017-2018 Łukasz Wojniłowicz <lukasz.wojnilowicz@gmail.com> 0004 SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 0007 #include "kmymoneyfileinfodlg.h" 0008 0009 // ---------------------------------------------------------------------------- 0010 // QT Includes 0011 0012 #include <QLabel> 0013 #include <QList> 0014 #include <QDate> 0015 0016 // ---------------------------------------------------------------------------- 0017 // KDE Includes 0018 0019 // ---------------------------------------------------------------------------- 0020 // Project Includes 0021 0022 #include "ui_kmymoneyfileinfodlg.h" 0023 0024 #include "mymoneystoragemgr.h" 0025 #include "mymoneyfile.h" 0026 #include "mymoneyinstitution.h" 0027 #include "mymoneyaccount.h" 0028 #include "mymoneypayee.h" 0029 #include "mymoneyprice.h" 0030 #include "mymoneyschedule.h" 0031 #include "mymoneytransaction.h" 0032 #include "mymoneytransactionfilter.h" 0033 #include "mymoneyenums.h" 0034 0035 KMyMoneyFileInfoDlg::KMyMoneyFileInfoDlg(QWidget *parent) : 0036 QDialog(parent), 0037 ui(new Ui::KMyMoneyFileInfoDlg) 0038 { 0039 ui->setupUi(this); 0040 // Now fill the fields with data 0041 auto storage = MyMoneyFile::instance()->storage(); 0042 0043 ui->m_creationDate->setText(storage->creationDate().toString(Qt::ISODate)); 0044 ui->m_lastModificationDate->setText(storage->lastModificationDate().toString(Qt::ISODate)); 0045 ui->m_baseCurrency->setText(storage->value("kmm-baseCurrency")); 0046 0047 ui->m_payeeCount->setText(QString::fromLatin1("%1").arg(storage->payeeList().count())); 0048 ui->m_institutionCount->setText(QString::fromLatin1("%1").arg(storage->institutionList().count())); 0049 0050 QList<MyMoneyAccount> a_list; 0051 storage->accountList(a_list); 0052 ui->m_accountCount->setText(QString::fromLatin1("%1").arg(a_list.count())); 0053 0054 QMap<eMyMoney::Account::Type, int> accountMap; 0055 QMap<eMyMoney::Account::Type, int> accountMapClosed; 0056 QList<MyMoneyAccount>::const_iterator it_a; 0057 for (it_a = a_list.constBegin(); it_a != a_list.constEnd(); ++it_a) { 0058 accountMap[(*it_a).accountType()] = accountMap[(*it_a).accountType()] + 1; 0059 accountMapClosed[(*it_a).accountType()] = accountMapClosed[(*it_a).accountType()] + 0; 0060 if ((*it_a).isClosed()) 0061 accountMapClosed[(*it_a).accountType()] = accountMapClosed[(*it_a).accountType()] + 1; 0062 } 0063 0064 QMap<eMyMoney::Account::Type, int>::const_iterator it_m; 0065 for (it_m = accountMap.constBegin(); it_m != accountMap.constEnd(); ++it_m) { 0066 QTreeWidgetItem *item = new QTreeWidgetItem(); 0067 item->setText(0, MyMoneyAccount::accountTypeToString(it_m.key())); 0068 item->setText(1, QString::fromLatin1("%1").arg(*it_m)); 0069 item->setText(2, QString::fromLatin1("%1").arg(accountMapClosed[it_m.key()])); 0070 ui->m_accountView->invisibleRootItem()->addChild(item); 0071 } 0072 0073 MyMoneyTransactionFilter filter; 0074 filter.setReportAllSplits(false); 0075 ui->m_transactionCount->setText(QString::fromLatin1("%1").arg(storage->transactionList(filter).count())); 0076 filter.setReportAllSplits(true); 0077 ui->m_splitCount->setText(QString::fromLatin1("%1").arg(storage->transactionList(filter).count())); 0078 ui->m_scheduleCount->setText(QString::fromLatin1("%1").arg(storage->scheduleList(QString(), eMyMoney::Schedule::Type::Any, eMyMoney::Schedule::Occurrence::Any, eMyMoney::Schedule::PaymentType::Any, 0079 QDate(), QDate(), false).count())); 0080 MyMoneyPriceList list = storage->priceList(); 0081 MyMoneyPriceList::const_iterator it_p; 0082 int pCount = 0; 0083 for (it_p = list.constBegin(); it_p != list.constEnd(); ++it_p) 0084 pCount += (*it_p).count(); 0085 ui->m_priceCount->setText(QString::fromLatin1("%1").arg(pCount)); 0086 } 0087 0088 KMyMoneyFileInfoDlg::~KMyMoneyFileInfoDlg() 0089 { 0090 delete ui; 0091 }