You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
kmymoney/kmymoney2/plugins/ofximport/dialogs/konlinebankingsetupwizard.h

107 lines
3.3 KiB

/***************************************************************************
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