File indexing completed on 2024-05-12 16:44:03

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 // ----------------------------------------------------------------------------
0013 // QT Includes
0014 
0015 // ----------------------------------------------------------------------------
0016 // KDE Includes
0017 
0018 // ----------------------------------------------------------------------------
0019 // Project Includes
0020 
0021 #include "kmymoneygeneralcombo.h"
0022 
0023 namespace eMyMoney {
0024 namespace TransactionFilter {
0025 enum class Date;
0026 }
0027 }
0028 
0029 /**
0030  * This class implements a time period selector
0031  * @author Thomas Baumgart
0032  */
0033 class KMM_WIDGETS_EXPORT KMyMoneyPeriodCombo : public KMyMoneyGeneralCombo
0034 {
0035     Q_OBJECT
0036     Q_DISABLE_COPY(KMyMoneyPeriodCombo)
0037 
0038 public:
0039     explicit KMyMoneyPeriodCombo(QWidget* parent = nullptr);
0040     ~KMyMoneyPeriodCombo() override;
0041 
0042     eMyMoney::TransactionFilter::Date currentItem() const;
0043     void setCurrentItem(eMyMoney::TransactionFilter::Date id);
0044 
0045     /**
0046      * This function returns the actual start date for the given
0047      * period definition given by @p id. For user defined periods
0048      * the returned value is QDate()
0049      */
0050     static QDate start(eMyMoney::TransactionFilter::Date id);
0051 
0052     /**
0053      * This function returns the actual end date for the given
0054      * period definition given by @p id. For user defined periods
0055      * the returned value is QDate()
0056      */
0057     static QDate end(eMyMoney::TransactionFilter::Date id);
0058 
0059     // static void dates(QDate& start, QDate& end, MyMoneyTransactionFilter::dateOptionE id);
0060 };
0061 
0062 #endif