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

0001 /*
0002     SPDX-FileCopyrightText: 2015 Thomas Baumgart <tbaumgart@kde.org>
0003     SPDX-License-Identifier: GPL-2.0-or-later
0004 */
0005 
0006 #ifndef LEDGERVIEWPAGE_H
0007 #define LEDGERVIEWPAGE_H
0008 
0009 // ----------------------------------------------------------------------------
0010 // QT Includes
0011 
0012 #include <QWidget>
0013 
0014 // ----------------------------------------------------------------------------
0015 // KDE Includes
0016 
0017 // ----------------------------------------------------------------------------
0018 // Project Includes
0019 
0020 class MyMoneyAccount;
0021 
0022 class LedgerViewPage : public QWidget
0023 {
0024     Q_OBJECT
0025 public:
0026     explicit LedgerViewPage(QWidget* parent = 0);
0027     virtual ~LedgerViewPage();
0028 
0029     virtual void setAccount(const MyMoneyAccount& id);
0030     virtual QString accountId() const;
0031 
0032     /**
0033      * This method is used to modify the visibility of the
0034      * empty entry at the end of the ledger. The default
0035      * for the parameter @a show is @c true.
0036      */
0037     void setShowEntryForNewTransaction(bool show = true);
0038 
0039 protected:
0040 
0041 public Q_SLOTS:
0042     void showTransactionForm(bool show);
0043     void splitterChanged(int pos, int index);
0044 
0045 protected Q_SLOTS:
0046     void startEdit();
0047     void finishEdit();
0048 
0049 Q_SIGNALS:
0050     void transactionSelected(const QString& transactionSplitId);
0051     void aboutToStartEdit();
0052     void aboutToFinishEdit();
0053 
0054 private:
0055     class Private;
0056     Private * const d;
0057 };
0058 
0059 #endif // LEDGERVIEWPAGE_H
0060