File indexing completed on 2024-05-19 05:08:34

0001 /*
0002     SPDX-FileCopyrightText: 2010-2018 Thomas Baumgart <tbaumgart@kde.org>
0003     SPDX-FileCopyrightText: 2010-2016 Cristian Oneț <onet.cristian@gmail.com>
0004     SPDX-FileCopyrightText: 2010 Alvaro Soliverez <asoliverez@gmail.com>
0005     SPDX-FileCopyrightText: 2017-2018 Łukasz Wojniłowicz <lukasz.wojnilowicz@gmail.com>
0006     SPDX-License-Identifier: GPL-2.0-or-later
0007 */
0008 
0009 #ifndef KMYMONEYPERIODCOMBO_H
0010 #define KMYMONEYPERIODCOMBO_H
0011 
0012 #include "kmm_base_widgets_export.h"
0013 
0014 // ----------------------------------------------------------------------------
0015 // QT Includes
0016 
0017 // ----------------------------------------------------------------------------
0018 // KDE Includes
0019 
0020 // ----------------------------------------------------------------------------
0021 // Project Includes
0022 
0023 #include "kmymoneygeneralcombo.h"
0024 
0025 namespace eMyMoney {
0026 namespace TransactionFilter {
0027 enum class Date;
0028 }
0029 }
0030 
0031 /**
0032  * This class implements a time period selector
0033  * @author Thomas Baumgart
0034  */
0035 class KMM_BASE_WIDGETS_EXPORT KMyMoneyPeriodCombo : public KMyMoneyGeneralCombo
0036 {
0037     Q_OBJECT
0038     Q_DISABLE_COPY(KMyMoneyPeriodCombo)
0039 
0040 public:
0041     explicit KMyMoneyPeriodCombo(QWidget* parent = nullptr);
0042     ~KMyMoneyPeriodCombo() override;
0043 
0044     eMyMoney::TransactionFilter::Date currentItem() const;
0045     void setCurrentItem(eMyMoney::TransactionFilter::Date id);
0046 
0047     /**
0048      * This function returns the actual start date for the given
0049      * period definition given by @p id. For user defined periods
0050      * the returned value is QDate()
0051      */
0052     static QDate start(eMyMoney::TransactionFilter::Date id);
0053 
0054     /**
0055      * This function returns the actual end date for the given
0056      * period definition given by @p id. For user defined periods
0057      * the returned value is QDate()
0058      */
0059     static QDate end(eMyMoney::TransactionFilter::Date id);
0060 
0061     // static void dates(QDate& start, QDate& end, MyMoneyTransactionFilter::dateOptionE id);
0062 };
0063 
0064 #endif