File indexing completed on 2024-05-12 05:07:58

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 "kmymoneyfrequencycombo.h"
0010 
0011 // ----------------------------------------------------------------------------
0012 // QT Includes
0013 
0014 #include <QByteArray>
0015 
0016 // ----------------------------------------------------------------------------
0017 // KDE Includes
0018 
0019 #include <KLocalizedString>
0020 
0021 // ----------------------------------------------------------------------------
0022 // Project Includes
0023 
0024 #include "mymoneyschedule.h"
0025 #include "mymoneyenums.h"
0026 
0027 using namespace eMyMoney;
0028 
0029 KMyMoneyFrequencyCombo::KMyMoneyFrequencyCombo(QWidget* parent) :
0030     KMyMoneyOccurrenceCombo(parent)
0031 {
0032     addItem(MyMoneySchedule::occurrenceToString(Schedule::Occurrence::Once), (int)Schedule::Occurrence::Once);
0033     addItem(MyMoneySchedule::occurrenceToString(Schedule::Occurrence::Daily), (int)Schedule::Occurrence::Daily);
0034     addItem(MyMoneySchedule::occurrenceToString(Schedule::Occurrence::Weekly), (int)Schedule::Occurrence::Weekly);
0035     addItem(MyMoneySchedule::occurrenceToString(Schedule::Occurrence::EveryOtherWeek), (int)Schedule::Occurrence::EveryOtherWeek);
0036     addItem(MyMoneySchedule::occurrenceToString(Schedule::Occurrence::EveryHalfMonth), (int)Schedule::Occurrence::EveryHalfMonth);
0037     addItem(MyMoneySchedule::occurrenceToString(Schedule::Occurrence::EveryThreeWeeks), (int)Schedule::Occurrence::EveryThreeWeeks);
0038     addItem(MyMoneySchedule::occurrenceToString(Schedule::Occurrence::EveryThirtyDays), (int)Schedule::Occurrence::EveryThirtyDays);
0039     addItem(MyMoneySchedule::occurrenceToString(Schedule::Occurrence::EveryFourWeeks), (int)Schedule::Occurrence::EveryFourWeeks);
0040     addItem(MyMoneySchedule::occurrenceToString(Schedule::Occurrence::Monthly), (int)Schedule::Occurrence::Monthly);
0041     addItem(MyMoneySchedule::occurrenceToString(Schedule::Occurrence::EveryEightWeeks), (int)Schedule::Occurrence::EveryEightWeeks);
0042     addItem(MyMoneySchedule::occurrenceToString(Schedule::Occurrence::EveryOtherMonth), (int)Schedule::Occurrence::EveryOtherMonth);
0043     addItem(MyMoneySchedule::occurrenceToString(Schedule::Occurrence::EveryThreeMonths), (int)Schedule::Occurrence::EveryThreeMonths);
0044     addItem(MyMoneySchedule::occurrenceToString(Schedule::Occurrence::EveryFourMonths), (int)Schedule::Occurrence::EveryFourMonths);
0045     addItem(MyMoneySchedule::occurrenceToString(Schedule::Occurrence::TwiceYearly), (int)Schedule::Occurrence::TwiceYearly);
0046     addItem(MyMoneySchedule::occurrenceToString(Schedule::Occurrence::Yearly), (int)Schedule::Occurrence::Yearly);
0047     addItem(MyMoneySchedule::occurrenceToString(Schedule::Occurrence::EveryOtherYear), (int)Schedule::Occurrence::EveryOtherYear);
0048 
0049     connect(this, static_cast<void (QComboBox::*)(int)>(&QComboBox::currentIndexChanged), this, &KMyMoneyFrequencyCombo::slotCurrentDataChanged);
0050 }
0051 
0052 KMyMoneyFrequencyCombo::~KMyMoneyFrequencyCombo()
0053 {
0054 }
0055 
0056 int KMyMoneyFrequencyCombo::daysBetweenEvents() const
0057 {
0058     return MyMoneySchedule::daysBetweenEvents(currentItem());
0059 }
0060 
0061 int KMyMoneyFrequencyCombo::eventsPerYear() const
0062 {
0063     return MyMoneySchedule::eventsPerYear(currentItem());
0064 }
0065 
0066 QVariant KMyMoneyFrequencyCombo::currentData() const
0067 {
0068     return itemData(currentIndex(), Qt::UserRole);
0069 }
0070 
0071 void KMyMoneyFrequencyCombo::setCurrentData(QVariant datavar)
0072 {
0073     setItemData(currentIndex(), datavar, Qt::UserRole);
0074 }
0075 
0076 void KMyMoneyFrequencyCombo::slotCurrentDataChanged()
0077 {
0078     Q_EMIT currentDataChanged(currentData());
0079 }