File indexing completed on 2024-06-16 04:47:07

0001 /*
0002     SPDX-FileCopyrightText: 2007 Thomas Baumgart <ipwizard@users.sourceforge.net>
0003     SPDX-License-Identifier: GPL-2.0-or-later
0004 */
0005 
0006 #ifndef KNEWACCOUNTWIZARD_P_H
0007 #define KNEWACCOUNTWIZARD_P_H
0008 
0009 // ----------------------------------------------------------------------------
0010 // QT Includes
0011 
0012 // ----------------------------------------------------------------------------
0013 // KDE Includes
0014 
0015 // ----------------------------------------------------------------------------
0016 // Project Includes
0017 
0018 #include "kmymoneywizard_p.h"
0019 #include "knewaccountwizard.h"
0020 #include "kaccounttypepage.h"
0021 #include "mymoneyaccountloan.h"
0022 #include "mymoneymoney.h"
0023 #include "mymoneyschedule.h"
0024 #include "mymoneysecurity.h"
0025 
0026 namespace NewAccountWizard
0027 {
0028 class AccountTypePage;
0029 class InstitutionPage;
0030 class BrokeragePage;
0031 class CreditCardSchedulePage;
0032 class GeneralLoanInfoPage;
0033 class LoanDetailsPage;
0034 class LoanPaymentPage;
0035 class LoanSchedulePage;
0036 class LoanPayoutPage;
0037 class HierarchyPage;
0038 class AccountSummaryPage;
0039 
0040 class WizardPrivate : public KMyMoneyWizardPrivate
0041 {
0042     Q_DISABLE_COPY(WizardPrivate)
0043 
0044 public:
0045     explicit WizardPrivate(Wizard *qq):
0046         KMyMoneyWizardPrivate(qq),
0047         m_institutionPage(nullptr),
0048         m_accountTypePage(nullptr),
0049         m_brokeragepage(nullptr),
0050         m_schedulePage(nullptr),
0051         m_generalLoanInfoPage(nullptr),
0052         m_loanDetailsPage(nullptr),
0053         m_loanPaymentPage(nullptr),
0054         m_loanSchedulePage(nullptr),
0055         m_loanPayoutPage(nullptr),
0056         m_hierarchyPage(nullptr),
0057         m_accountSummaryPage(nullptr)
0058     {
0059     }
0060 
0061     ~WizardPrivate()
0062     {
0063     }
0064 
0065     /**
0066     * This method returns the currently selected currency for the account
0067     */
0068     const MyMoneySecurity& currency() const
0069     {
0070         return m_accountTypePage->currency();
0071     }
0072 
0073     /**
0074     * This method returns the precision in digits for the selected currency.
0075     * @sa currency()
0076     */
0077     int precision() const
0078     {
0079         return MyMoneyMoney::denomToPrec(currency().smallestAccountFraction());
0080     }
0081 
0082     InstitutionPage* m_institutionPage;
0083     AccountTypePage* m_accountTypePage;
0084     BrokeragePage* m_brokeragepage;
0085     CreditCardSchedulePage* m_schedulePage;
0086     GeneralLoanInfoPage* m_generalLoanInfoPage;
0087     LoanDetailsPage* m_loanDetailsPage;
0088     LoanPaymentPage* m_loanPaymentPage;
0089     LoanSchedulePage* m_loanSchedulePage;
0090     LoanPayoutPage* m_loanPayoutPage;
0091     HierarchyPage* m_hierarchyPage;
0092     AccountSummaryPage* m_accountSummaryPage;
0093 
0094     MyMoneyAccountLoan m_account;
0095     MyMoneySchedule m_schedule;
0096 };
0097 } // namespace
0098 
0099 #endif