File indexing completed on 2024-05-12 16:42:10

0001 /*
0002     SPDX-FileCopyrightText: 2007-2018 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 #ifndef KSELECTTRANSACTIONSDLG_H
0008 #define KSELECTTRANSACTIONSDLG_H
0009 
0010 // ----------------------------------------------------------------------------
0011 // QT Includes
0012 
0013 #include <QDialog>
0014 
0015 // ----------------------------------------------------------------------------
0016 // KDE Includes
0017 
0018 // ----------------------------------------------------------------------------
0019 // Project Includes
0020 
0021 class MyMoneyTransaction;
0022 class MyMoneyAccount;
0023 
0024 namespace KMyMoneyRegister {
0025 class SelectedTransactions;
0026 class Register;
0027 }
0028 
0029 class KSelectTransactionsDlgPrivate;
0030 class KSelectTransactionsDlg: public QDialog
0031 {
0032     Q_OBJECT
0033     Q_DISABLE_COPY(KSelectTransactionsDlg)
0034 
0035 public:
0036     explicit KSelectTransactionsDlg(const MyMoneyAccount& account, QWidget* parent = nullptr);
0037     ~KSelectTransactionsDlg();
0038 
0039     /**
0040      * Adds the transaction @a t to the dialog
0041      */
0042     void addTransaction(const MyMoneyTransaction& t);
0043     int exec() override;
0044 
0045     MyMoneyTransaction transaction() const;
0046     KMyMoneyRegister::Register *getRegister();
0047 
0048     bool eventFilter(QObject* o, QEvent* e) override;
0049 
0050 public Q_SLOTS:
0051     virtual void slotHelp();
0052 
0053 protected Q_SLOTS:
0054     void slotEnableOk(const KMyMoneyRegister::SelectedTransactions& list);
0055 
0056 protected:
0057     void resizeEvent(QResizeEvent* ev) override;
0058     void showEvent(QShowEvent* event) override;
0059     KSelectTransactionsDlgPrivate * const d_ptr;
0060 
0061 private:
0062     Q_DECLARE_PRIVATE(KSelectTransactionsDlg)
0063 };
0064 
0065 #endif // KSELECTTRANSACTIONSDLG_H