blob: 9c1ab9685106b34bbb95a19f500aa8518ca4ee2c (
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
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
|
/***************************************************************************
kinstitutionssview.h
-------------------
copyright : (C) 2005 by Thomas Baumgart
email : ipwizard@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 KINSTITUTIONSVIEW_H
#define KINSTITUTIONSVIEW_H
// ----------------------------------------------------------------------------
// QT Includes
// ----------------------------------------------------------------------------
// KDE Includes
// ----------------------------------------------------------------------------
// Project Includes
#include <kmymoney/mymoneyinstitution.h>
#include <kmymoney/kmymoneyaccounttree.h>
#include <kmymoney/mymoneyutils.h>
#include "../views/kinstitutionsviewdecl.h"
/**
* @author Thomas Baumgart
*/
/**
* This class implements the institutions hierarchical 'view'.
*/
class KInstitutionsView : public KInstitutionsViewDecl
{
Q_OBJECT
TQ_OBJECT
private:
public:
KInstitutionsView(TQWidget *tqparent=0, const char *name=0);
virtual ~KInstitutionsView();
public slots:
void slotLoadAccounts(void);
/**
* Override the base class behaviour to include all updates that
* happened in the meantime.
*/
void show(void);
/**
* Override the base class behaviour to restore the tqlayout. Do not
* do this in show() because show() itself may change the tqlayout
* in undesired ways.
*/
void polish(void);
void slotReconcileAccount(const MyMoneyAccount& acc, const TQDate& reconciliationDate, const MyMoneyMoney& endingBalance);
protected:
void loadAccounts(void);
// load accounts that are kept at a specific institution
void loadSubAccounts(KMyMoneyAccountTreeItem* tqparent, const TQString& institutionId);
// load stock accounts under the investment account (tqparent)
void loadSubAccounts(KMyMoneyAccountTreeItem* tqparent);
protected slots:
void slotUpdateNetWorth(void);
private:
/**
* This method returns an icon according to the account type
* passed in the argument @p type.
*
* @param type account type as defined in MyMoneyAccount::accountTypeE
*/
const TQPixmap accountImage(const MyMoneyAccount::accountTypeE type) const;
signals:
/**
* This signal serves as proxy for KMyMoneyAccountTree::selectObject()
*/
void selectObject(const MyMoneyObject&);
/**
* This signal serves as proxy for
* KMyMoneyAccountTree::openContextMenu(const MyMoneyObject&)
*/
void openContextMenu(const MyMoneyObject& obj);
/**
* This signal will be emitted when the left mouse button is double
* clicked (actually the KDE executed setting is used) on an account
* or institution.
*/
void openObject(const MyMoneyObject& obj);
/**
* This signal is emitted, when the user selected to reparent the
* account @p acc to be a subordinate account of @p institution.
*
* @param acc const reference to account to be reparented
* @param institution const reference to new institution
*/
void reparent(const MyMoneyAccount& acc, const MyMoneyInstitution& institution);
private:
MyMoneyAccount m_reconciliationAccount;
TQMap<TQString, MyMoneyAccount> m_accountMap;
TQMap<TQString, MyMoneySecurity> m_securityMap;
TQMap<TQString, unsigned long> m_transactionCountMap;
/// set if a view needs to be reloaded during show()
bool m_needReload;
};
#endif
|