File indexing completed on 2024-05-19 05:08:16
0001 /* 0002 SPDX-FileCopyrightText: 2021 Thomas Baumgart <tbaumgart@kde.org> 0003 SPDX-License-Identifier: GPL-2.0-or-later 0004 */ 0005 0006 #ifndef KEDITSCHEDULEDLG_H 0007 #define KEDITSCHEDULEDLG_H 0008 0009 // ---------------------------------------------------------------------------- 0010 // QT Includes 0011 0012 #include <QDialog> 0013 0014 // ---------------------------------------------------------------------------- 0015 // KDE Includes 0016 0017 // ---------------------------------------------------------------------------- 0018 // Project Includes 0019 0020 class MyMoneySchedule; 0021 class MyMoneyAccount; 0022 class MyMoneyTransaction; 0023 class TransactionEditor; 0024 #include "tabordereditor.h" 0025 0026 namespace eMyMoney { namespace Schedule { 0027 enum class Occurrence; 0028 }} 0029 0030 /** 0031 * @author Thomas Baumgart 0032 */ 0033 0034 class KEditScheduleDlgPrivate; 0035 class KEditScheduleDlg : public QDialog, TabOrderEditorInterface 0036 { 0037 Q_OBJECT 0038 Q_DISABLE_COPY(KEditScheduleDlg) 0039 0040 public: 0041 explicit KEditScheduleDlg(const MyMoneySchedule& schedule, QWidget* parent = nullptr); 0042 ~KEditScheduleDlg(); 0043 0044 /** 0045 * Returns the edited schedule. 0046 * 0047 * @return MyMoneySchedule The schedule details. 0048 **/ 0049 const MyMoneySchedule& schedule(); 0050 0051 static void newSchedule(const MyMoneyTransaction& _t, eMyMoney::Schedule::Occurrence occurrence); 0052 static void editSchedule(const MyMoneySchedule& inputSchedule); 0053 0054 // Implement TabOrderEditorInterface methods 0055 void setupUi(QWidget* parent) override; 0056 void storeTabOrder(const QStringList& tabOrder) override; 0057 0058 protected: 0059 void keyPressEvent(QKeyEvent* event) override; 0060 bool focusNextPrevChild(bool next) override; 0061 0062 private Q_SLOTS: 0063 /// Overridden for internal reasons. No API changes. 0064 void accept() override; 0065 0066 private: 0067 KEditScheduleDlgPrivate* const d_ptr; 0068 Q_DECLARE_PRIVATE(KEditScheduleDlg) 0069 }; 0070 0071 #endif