blob: c93864b37e90938ba2b2ec8b56f3c0ed7488ff9b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
|
/***************************************************************************
konlinebankingsetupwizard.h
-------------------
begin : Sat Jan 7 2006
copyright : (C) 2006 by Ace Jones
email : acejones@users.sourceforge.net
***************************************************************************/
/***************************************************************************
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
***************************************************************************/
#ifndef KONLINEBANKINGSETUPWIZARD_H
#define KONLINEBANKINGSETUPWIZARD_H
// ----------------------------------------------------------------------------
// Library Includes
#include <libofx/libofx.h>
// ----------------------------------------------------------------------------
// QT Includes
#include <tqwidget.h>
#include <tqvaluelist.h>
#include <tqlistview.h>
// ----------------------------------------------------------------------------
// KDE Includes
// ----------------------------------------------------------------------------
// Project Includes
#include "konlinebankingsetupdecl.h"
#include <kmymoney/mymoneykeyvaluecontainer.h>
class OfxAppVersion;
class OfxHeaderVersion;
/**
* @author Ace Jones
*/
/**
* This class implementes a wizard for setting up an existing account
* with online banking.
*
* The user is asked to choose his bank from the supported bank, and
* his account.
*
* Currently works only with OFX Direct Connect, but I imagined that
* other protocols could be included here. To accomodate this, we'd
* add another page at the start of the wizard to ask which protocol
* they wanted.
*
*/
class KOnlineBankingSetupWizard : public KOnlineBankingSetupDecl
{
Q_OBJECT
public:
class ListViewItem: public MyMoneyKeyValueContainer, public TQListViewItem
{
public:
ListViewItem( TQListView* parent, const MyMoneyKeyValueContainer& kvps );
virtual void x(void);
};
KOnlineBankingSetupWizard(TQWidget *parent=0, const char *name=0);
~KOnlineBankingSetupWizard();
bool chosenSettings( MyMoneyKeyValueContainer& settings );
bool isInit(void) const { return m_fInit; }
public slots:
void next();
protected:
bool finishAccountPage(void);
bool finishLoginPage(void);
bool finishFiPage(void);
bool post(const char* request, const char* url,const char* filename);
static int ofxAccountCallback(struct OfxAccountData data, void * pv);
static int ofxStatusCallback(struct OfxStatusData data, void * pv);
private:
/// \internal d-pointer class.
class Private;
/// \internal d-pointer instance.
Private* const d;
TQValueList<OfxFiServiceInfo> m_bankInfo;
TQValueList<OfxFiServiceInfo>::const_iterator m_it_info;
bool m_fDone;
bool m_fInit;
OfxAppVersion* m_appId;
OfxHeaderVersion* m_headerVersion;
};
#endif
|