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 #include "kmymoneyperiodcombo.h"
0010 
0011 // ----------------------------------------------------------------------------
0012 // QT Includes
0013 
0014 #include <QDate>
0015 
0016 // ----------------------------------------------------------------------------
0017 // KDE Includes
0018 
0019 #include <KLocalizedString>
0020 
0021 // ----------------------------------------------------------------------------
0022 // Project Includes
0023 
0024 #include "mymoneytransactionfilter.h"
0025 #include "mymoneyenums.h"
0026 
0027 using namespace eMyMoney;
0028 
0029 KMyMoneyPeriodCombo::KMyMoneyPeriodCombo(QWidget* parent) :
0030     KMyMoneyGeneralCombo(parent)
0031 {
0032     insertItem(i18n("All dates"), (int)TransactionFilter::Date::All);
0033     insertItem(i18n("As of today"), (int)TransactionFilter::Date::AsOfToday);
0034     insertItem(i18n("Today"), (int)TransactionFilter::Date::Today);
0035     insertItem(i18n("Current month"), (int)TransactionFilter::Date::CurrentMonth);
0036     insertItem(i18n("Current quarter"), (int)TransactionFilter::Date::CurrentQuarter);
0037     insertItem(i18n("Current year"), (int)TransactionFilter::Date::CurrentYear);
0038     insertItem(i18n("Current fiscal year"), (int)TransactionFilter::Date::CurrentFiscalYear);
0039     insertItem(i18n("Month to date"), (int)TransactionFilter::Date::MonthToDate);
0040     insertItem(i18n("Year to date"), (int)TransactionFilter::Date::YearToDate);
0041     insertItem(i18n("Year to month"), (int)TransactionFilter::Date::YearToMonth);
0042     insertItem(i18n("Last month"), (int)TransactionFilter::Date::LastMonth);
0043     insertItem(i18n("Last year"), (int)TransactionFilter::Date::LastYear);
0044     insertItem(i18n("Last fiscal year"), (int)TransactionFilter::Date::LastFiscalYear);
0045     insertItem(i18n("Last 7 days"), (int)TransactionFilter::Date::Last7Days);
0046     insertItem(i18n("Last 30 days"), (int)TransactionFilter::Date::Last30Days);
0047     insertItem(i18n("Last 3 months"), (int)TransactionFilter::Date::Last3Months);
0048     insertItem(i18n("Last quarter"), (int)TransactionFilter::Date::LastQuarter);
0049     insertItem(i18n("Last 6 months"), (int)TransactionFilter::Date::Last6Months);
0050     insertItem(i18n("Last 11 months"), (int)TransactionFilter::Date::Last11Months);
0051     insertItem(i18n("Last 12 months"), (int)TransactionFilter::Date::Last12Months);
0052     insertItem(i18n("Next 7 days"), (int)TransactionFilter::Date::Next7Days);
0053     insertItem(i18n("Next 30 days"), (int)TransactionFilter::Date::Next30Days);
0054     insertItem(i18n("Next 3 months"), (int)TransactionFilter::Date::Next3Months);
0055     insertItem(i18n("Next quarter"), (int)TransactionFilter::Date::NextQuarter);
0056     insertItem(i18n("Next 6 months"), (int)TransactionFilter::Date::Next6Months);
0057     insertItem(i18n("Next 12 months"), (int)TransactionFilter::Date::Next12Months);
0058     insertItem(i18n("Next 18 months"), (int)TransactionFilter::Date::Next18Months);
0059     insertItem(i18n("Last 3 months to next 3 months"), (int)TransactionFilter::Date::Last3ToNext3Months);
0060     insertItem(i18n("User defined"), (int)TransactionFilter::Date::UserDefined);
0061 }
0062 
0063 KMyMoneyPeriodCombo::~KMyMoneyPeriodCombo()
0064 {
0065 }
0066 
0067 void KMyMoneyPeriodCombo::setCurrentItem(TransactionFilter::Date id)
0068 {
0069     if (id >= TransactionFilter::Date::LastDateItem)
0070         id = TransactionFilter::Date::UserDefined;
0071 
0072     KMyMoneyGeneralCombo::setCurrentItem((int)id);
0073 }
0074 
0075 TransactionFilter::Date KMyMoneyPeriodCombo::currentItem() const
0076 {
0077     return static_cast<TransactionFilter::Date>(KMyMoneyGeneralCombo::currentItem());
0078 }
0079 
0080 QDate KMyMoneyPeriodCombo::start(TransactionFilter::Date id)
0081 {
0082     QDate start, end;
0083     MyMoneyTransactionFilter::translateDateRange(id, start, end);
0084     return start;
0085 }
0086 
0087 QDate KMyMoneyPeriodCombo::end(TransactionFilter::Date id)
0088 {
0089     QDate start, end;
0090     MyMoneyTransactionFilter::translateDateRange(id, start, end);
0091     return end;
0092 }
0093 
0094 #if 0
0095 void KMyMoneyPeriodCombo::dates(QDate& start, QDate& end, MyMoneyTransactionFilter::dateOptionE id)
0096 {
0097 }
0098 #endif