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 }