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

0001 /*
0002     SPDX-FileCopyrightText: 2006 Thomas Baumagrt <ipwizard@users.sourceforge.net>
0003     SPDX-FileCopyrightText: 2017 Łukasz Wojniłowicz <lukasz.wojnilowicz@gmail.com>
0004     SPDX-License-Identifier: GPL-2.0-or-later
0005 */
0006 
0007 #include "kmymoneywizardpage.h"
0008 #include "kmymoneywizardpage_p.h"
0009 #include "kmymoneywizard_p.h"
0010 
0011 // ----------------------------------------------------------------------------
0012 // QT Includes
0013 
0014 #include <QPushButton>
0015 
0016 // ----------------------------------------------------------------------------
0017 // KDE Includes
0018 
0019 #include <KLocalizedString>
0020 
0021 // ----------------------------------------------------------------------------
0022 // Project Includes
0023 
0024 #include "kguiutils.h"
0025 #include "kmymoneywizard.h"
0026 
0027 KMyMoneyWizardPage::KMyMoneyWizardPage(uint step, QWidget* widget) :
0028     d_ptr(new KMyMoneyWizardPagePrivate(widget))
0029 {
0030     Q_D(KMyMoneyWizardPage);
0031     d->m_step = step;
0032     d->m_widget = widget;
0033     d->m_mandatoryGroup = new KMandatoryFieldGroup(widget);
0034     QObject::connect(d->m_mandatoryGroup, static_cast<void (KMandatoryFieldGroup::*)()>(&KMandatoryFieldGroup::stateChanged), object(), &KMyMoneyWizardPagePrivate::completeStateChanged);
0035     widget->hide();
0036 }
0037 
0038 KMyMoneyWizardPage::KMyMoneyWizardPage(KMyMoneyWizardPagePrivate &dd, uint step, QWidget *widget) :
0039     d_ptr(&dd)
0040 {
0041     Q_D(KMyMoneyWizardPage);
0042     d->m_step = step;
0043     d->m_widget = widget;
0044     d->m_mandatoryGroup = new KMandatoryFieldGroup(widget);
0045     QObject::connect(d->m_mandatoryGroup, static_cast<void (KMandatoryFieldGroup::*)()>(&KMandatoryFieldGroup::stateChanged), object(), &KMyMoneyWizardPagePrivate::completeStateChanged);
0046     widget->hide();
0047 }
0048 
0049 KMyMoneyWizardPage::~KMyMoneyWizardPage()
0050 {
0051     Q_D(KMyMoneyWizardPage);
0052     delete d;
0053 }
0054 
0055 const KMyMoneyWizardPagePrivate* KMyMoneyWizardPage::object() const
0056 {
0057     Q_D(const KMyMoneyWizardPage);
0058     return d;
0059 }
0060 
0061 QWidget* KMyMoneyWizardPage::initialFocusWidget() const
0062 {
0063     return nullptr;
0064 }
0065 
0066 void KMyMoneyWizardPage::completeStateChanged()
0067 {
0068     Q_D(KMyMoneyWizardPage);
0069     d->emitCompleteStateChanged();
0070 }
0071 
0072 void KMyMoneyWizardPage::resetPage()
0073 {
0074 }
0075 
0076 void KMyMoneyWizardPage::enterPage()
0077 {
0078 }
0079 
0080 void KMyMoneyWizardPage::leavePage()
0081 {
0082 }
0083 
0084 KMyMoneyWizardPage* KMyMoneyWizardPage::nextPage() const
0085 {
0086     return 0;
0087 }
0088 
0089 bool KMyMoneyWizardPage::isLastPage() const
0090 {
0091     return nextPage() == 0;
0092 }
0093 
0094 bool KMyMoneyWizardPage::isComplete() const
0095 {
0096     Q_D(const KMyMoneyWizardPage);
0097     if (!isLastPage())
0098         wizard()->d_func()->m_nextButton->setToolTip(i18n("Continue with next page"));
0099     else
0100         wizard()->d_func()->m_finishButton->setToolTip(i18n("Finish wizard"));
0101     return d->m_mandatoryGroup->isEnabled();
0102 }
0103 
0104 unsigned int KMyMoneyWizardPage::step() const
0105 {
0106     Q_D(const KMyMoneyWizardPage);
0107     return d->m_step;
0108 }
0109 
0110 QWidget* KMyMoneyWizardPage::widget() const
0111 {
0112     Q_D(const KMyMoneyWizardPage);
0113     return d->m_widget;
0114 }
0115 
0116 QString KMyMoneyWizardPage::helpContext() const
0117 {
0118     return QString();
0119 }