File indexing completed on 2024-05-12 16:43:47

0001 /*
0002     SPDX-FileCopyrightText: 2007 Thomas Baumgart <ipwizard@users.sourceforge.net>
0003     SPDX-FileCopyrightText: 2017 Łukasz Wojniłowicz <lukasz.wojnilowicz@gmail.com>
0004     SPDX-License-Identifier: GPL-2.0-or-later
0005 */
0006 
0007 #ifndef KINSTITUTIONSVIEW_P_H
0008 #define KINSTITUTIONSVIEW_P_H
0009 
0010 #include "kinstitutionsview.h"
0011 
0012 // ----------------------------------------------------------------------------
0013 // QT Includes
0014 
0015 // ----------------------------------------------------------------------------
0016 // KDE Includes
0017 
0018 // ----------------------------------------------------------------------------
0019 // Project Includes
0020 
0021 #include "ui_kinstitutionsview.h"
0022 #include "kmymoneyaccountsviewbase_p.h"
0023 
0024 #include "accountsviewproxymodel.h"
0025 #include "mymoneyinstitution.h"
0026 #include "icons.h"
0027 
0028 using namespace Icons;
0029 
0030 class KInstitutionsViewPrivate : public KMyMoneyAccountsViewBasePrivate
0031 {
0032     Q_DECLARE_PUBLIC(KInstitutionsView)
0033 
0034 public:
0035     explicit KInstitutionsViewPrivate(KInstitutionsView *qq) :
0036         q_ptr(qq),
0037         ui(new Ui::KInstitutionsView)
0038     {
0039     }
0040 
0041     ~KInstitutionsViewPrivate()
0042     {
0043         delete ui;
0044     }
0045 
0046     void init()
0047     {
0048         Q_Q(KInstitutionsView);
0049         m_accountTree = &ui->m_accountTree;
0050 
0051         // setup icons for collapse and expand button
0052         ui->m_collapseButton->setIcon(Icons::get(Icon::ListCollapse));
0053         ui->m_expandButton->setIcon(Icons::get(Icon::ListExpand));
0054 
0055         // the proxy filter model
0056         m_proxyModel = ui->m_accountTree->init(View::Institutions);
0057         q->connect(ui->m_searchWidget, &QLineEdit::textChanged, m_proxyModel, &QSortFilterProxyModel::setFilterFixedString);
0058         q->connect(ui->m_accountTree, &KMyMoneyAccountTreeView::selectByObject, q, &KInstitutionsView::selectByObject);
0059         q->connect(ui->m_accountTree, &KMyMoneyAccountTreeView::selectByVariant, q, &KInstitutionsView::selectByVariant);
0060         q->connect(MyMoneyFile::instance(), &MyMoneyFile::dataChanged, q, &KInstitutionsView::refresh);
0061     }
0062 
0063     KInstitutionsView       *q_ptr;
0064     Ui::KInstitutionsView   *ui;
0065     MyMoneyInstitution       m_currentInstitution;
0066 };
0067 
0068 #endif