File indexing completed on 2024-05-19 05:06:56

0001 /*
0002     SPDX-FileCopyrightText: 2021 Thomas Baumgart <tbaumgart@kde.org>
0003     SPDX-License-Identifier: GPL-2.0-or-later
0004 */
0005 
0006 #ifndef COMBOBOXMODELS_H
0007 #define COMBOBOXMODELS_H
0008 
0009 #include "kmm_models_export.h"
0010 
0011 // ----------------------------------------------------------------------------
0012 // QT Includes
0013 
0014 #include <QStringListModel>
0015 
0016 // ----------------------------------------------------------------------------
0017 // KDE Includes
0018 
0019 // ----------------------------------------------------------------------------
0020 // Project Includes
0021 
0022 #include "mymoneyenums.h"
0023 
0024 class OccurrencesModelPrivate;
0025 class KMM_MODELS_EXPORT OccurrencesModel : public QStringListModel
0026 {
0027     Q_OBJECT
0028 public:
0029     explicit OccurrencesModel(QObject* parent = nullptr);
0030     ~OccurrencesModel();
0031 
0032     QVariant data(const QModelIndex& idx, int role) const override;
0033 
0034     QModelIndex indexByOccurrence(eMyMoney::Schedule::Occurrence occurrence) const;
0035 
0036 private:
0037     OccurrencesModelPrivate* d_ptr;
0038     Q_DECLARE_PRIVATE(OccurrencesModel);
0039 };
0040 
0041 class PaymentMethodModelPrivate;
0042 class KMM_MODELS_EXPORT PaymentMethodModel : public QStringListModel
0043 {
0044     Q_OBJECT
0045 public:
0046     explicit PaymentMethodModel(QObject* parent = nullptr);
0047     ~PaymentMethodModel();
0048 
0049     QVariant data(const QModelIndex& idx, int role) const override;
0050 
0051     QModelIndex indexByPaymentMethod(eMyMoney::Schedule::PaymentType paymentType) const;
0052 
0053 private:
0054     PaymentMethodModelPrivate* d_ptr;
0055     Q_DECLARE_PRIVATE(PaymentMethodModel);
0056 };
0057 
0058 #endif // COMBOBOXMODELS_H