From dadc34655c3ab961b0b0b94a10eaaba710f0b5e8 Mon Sep 17 00:00:00 2001 From: tpearson Date: Mon, 4 Jul 2011 22:38:03 +0000 Subject: Added kmymoney git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/applications/kmymoney@1239792 283d02a7-25f6-0310-bc7c-ecb5cbfe19da --- kmymoney2/widgets/kmymoneyaccountcombo.h | 112 +++++++++++++++++++++++++++++++ 1 file changed, 112 insertions(+) create mode 100644 kmymoney2/widgets/kmymoneyaccountcombo.h (limited to 'kmymoney2/widgets/kmymoneyaccountcombo.h') diff --git a/kmymoney2/widgets/kmymoneyaccountcombo.h b/kmymoney2/widgets/kmymoneyaccountcombo.h new file mode 100644 index 0000000..770d5ad --- /dev/null +++ b/kmymoney2/widgets/kmymoneyaccountcombo.h @@ -0,0 +1,112 @@ +/*************************************************************************** + kmymoneyaccountbutton - description + ------------------- + begin : Mon May 31 2004 + copyright : (C) 2000-2004 by Michael Edwardes + email : mte@users.sourceforge.net + Javier Campos Morales + Felix Rodriguez + John C + Thomas Baumgart + Kevin Tambascio +***************************************************************************/ + +/*************************************************************************** + * * + * 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 KMYMONEYACCOUNTBUTTON_H +#define KMYMONEYACCOUNTBUTTON_H + +// ---------------------------------------------------------------------------- +// QT Includes + +// ---------------------------------------------------------------------------- +// KDE Includes + +#include +#include + +// ---------------------------------------------------------------------------- +// Project Includes + +#include +class kMyMoneyAccountCompletion; + +/** + * @author Thomas Baumgart + */ +class KMyMoneyAccountCombo : public KComboBox +{ + Q_OBJECT +public: + KMyMoneyAccountCombo( QWidget* parent = 0, const char* name = 0 ); + ~KMyMoneyAccountCombo(); + + /** + * Method returns how many items are in the account selector list. + */ + int count(void) const; + + /** + * This method loads the set of accounts into the widget + * as defined by the parameter @p accountIdList. @p accountIdList is + * a QValueList of account ids. + * + * @param baseName QString which should be used as group text + * @param accountIdList QValueList of QString account ids + * which should be loaded into the widget + * @param clear if true (default) clears the widget before populating + * @return This method returns the number of accounts loaded into the list + */ + int loadList(const QString& baseName, const QValueList& accountIdList, const bool clear = true); + + QStringList accountList(const QValueList& list = QValueList()) const; + + int loadList(KMyMoneyUtils::categoryTypeE typeMask); + int loadList(const QValueList& list); + int loadList(MyMoneyAccount::accountTypeE type); + + void setSelected(const QString& id); + void setSelected(const MyMoneyAccount& acc); + + /** + * This method returns the list of selected account id's. If + * no account is selected, the list is empty. + * + * @return list of selected accounts + */ + QStringList selectedAccounts(void) const; + + virtual void keyPressEvent(QKeyEvent* e); + +public slots: + void slotButtonPressed(void); + void slotSelected(const QString&); + +protected slots: + +signals: + void accountSelected(const QString&); + + void pressed(); + void released(); + void clicked(); + +protected: + void mousePressEvent(QMouseEvent *e); + void mouseReleaseEvent(QMouseEvent *e); + + void setText(const QString& txt); + +private: + kMyMoneyAccountCompletion* m_completion; + bool m_mlbDown; +}; + +#endif -- cgit v1.2.1