File indexing completed on 2024-05-19 05:06:51
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 "mymoneyfile.h" 0025 #include "mymoneyaccount.h" 0026 #include "mymoneyprice.h" 0027 #include "mymoneysecurity.h" 0028 #include "mymoneyenums.h" 0029 #include "pricemodel.h" 0030 #include "parametersmodel.h" 0031 #include "payeesmodel.h" 0032 #include "institutionsmodel.h" 0033 #include "journalmodel.h" 0034 #include "schedulesmodel.h" 0035 0036 KMyMoneyFileInfoDlg::KMyMoneyFileInfoDlg(QWidget *parent) : 0037 QDialog(parent), 0038 ui(new Ui::KMyMoneyFileInfoDlg) 0039 { 0040 ui->setupUi(this); 0041 // Now fill the fields with data 0042 0043 const auto file = MyMoneyFile::instance(); 0044 ui->m_creationDate->setText(file->parametersModel()->itemById(file->fixedKey(MyMoneyFile::CreationDate)).value()); 0045 ui->m_lastModificationDate->setText(file->parametersModel()->itemById(file->fixedKey(MyMoneyFile::LastModificationDate)).value()); 0046 ui->m_baseCurrency->setText(file->baseCurrency().name()); 0047 0048 ui->m_payeeCount->setText(QString::fromLatin1("%1").arg(file->payeesModel()->rowCount())); 0049 ui->m_institutionCount->setText(QString::fromLatin1("%1").arg(file->institutionsModel()->rowCount())); 0050 0051 QList<MyMoneyAccount> a_list = file->accountsModel()->itemList(); 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 ui->m_transactionCount->setText(QString::fromLatin1("%1").arg(file->journalModel()->transactionCount(QString()))); 0074 ui->m_splitCount->setText(QString::fromLatin1("%1").arg(file->journalModel()->rowCount())); 0075 ui->m_scheduleCount->setText(QString::fromLatin1("%1").arg(file->scheduleList().count())); 0076 ui->m_priceCount->setText(QString::fromLatin1("%1").arg(file->priceModel()->rowCount())); 0077 } 0078 0079 KMyMoneyFileInfoDlg::~KMyMoneyFileInfoDlg() 0080 { 0081 delete ui; 0082 }