File indexing completed on 2024-05-12 05:06:15

0001 /*
0002     SPDX-FileCopyrightText: 2023 Thomas Baumgart <tbaumgart@kde.org>
0003     SPDX-License-Identifier: GPL-2.0-or-later
0004 */
0005 
0006 #include "ledgerconcatenatemodel.h"
0007 
0008 // ----------------------------------------------------------------------------
0009 // QT Includes
0010 
0011 #include <QSet>
0012 
0013 // ----------------------------------------------------------------------------
0014 // KDE Includes
0015 
0016 // ----------------------------------------------------------------------------
0017 // Project Includes
0018 
0019 #include "mymoneyfile.h"
0020 
0021 class LedgerConcatenateModelPrivate
0022 {
0023 public:
0024     LedgerConcatenateModelPrivate()
0025     {
0026     }
0027 };
0028 
0029 LedgerConcatenateModel::LedgerConcatenateModel(QObject* parent)
0030     : QConcatenateTablesProxyModel(parent)
0031     , d_ptr(new LedgerConcatenateModelPrivate)
0032 {
0033     connect(MyMoneyFile::instance(), &MyMoneyFile::storageTransactionStarted, this, [&](bool journalBlocking) {
0034         if (journalBlocking) {
0035             blockSignals(true);
0036         }
0037     });
0038 
0039     connect(MyMoneyFile::instance(), &MyMoneyFile::storageTransactionEnded, this, [&](bool journalBlocking) {
0040         if (journalBlocking) {
0041             blockSignals(false);
0042             beginResetModel();
0043             endResetModel();
0044         }
0045     });
0046 }
0047 
0048 LedgerConcatenateModel::~LedgerConcatenateModel()
0049 {
0050     Q_D(LedgerConcatenateModel);
0051     delete d;
0052 }