diff options
Diffstat (limited to 'kmymoney2/views/kscheduledview.h')
-rw-r--r-- | kmymoney2/views/kscheduledview.h | 149 |
1 files changed, 149 insertions, 0 deletions
diff --git a/kmymoney2/views/kscheduledview.h b/kmymoney2/views/kscheduledview.h new file mode 100644 index 0000000..9eac41a --- /dev/null +++ b/kmymoney2/views/kscheduledview.h @@ -0,0 +1,149 @@ +/*************************************************************************** + kscheduledview.h - description + ------------------- + begin : Sun Jan 27 2002 + copyright : (C) 2000-2002 by Michael Edwardes + email : mte@users.sourceforge.net + Javier Campos Morales <javi_c@users.sourceforge.net> + Felix Rodriguez <frodriguez@users.sourceforge.net> + John C <thetacoturtle@users.sourceforge.net> + Thomas Baumgart <ipwizard@users.sourceforge.net> + Kevin Tambascio <ktambascio@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 KSCHEDULEDVIEW_H +#define KSCHEDULEDVIEW_H + +// ---------------------------------------------------------------------------- +// QT Includes + +#include <qwidget.h> +#include <qlistview.h> + +// ---------------------------------------------------------------------------- +// KDE Includes + +class KListViewSearchLineWidget; + +// ---------------------------------------------------------------------------- +// Project Includes + +#include "kscheduledviewdecl.h" +#include <kmymoney/mymoneyfile.h> +#include <kmymoney/mymoneyaccount.h> +#include "../widgets/kmymoneyscheduledcalendar.h" + +class KPopupMenu; + +/** + * Contains all the scheduled transactions be they bills, deposits or transfers. + * Encapsulates all the operations including adding, editing and deleting. + * Used by the KMyMoneyView class to show the view. + * + * @author Michael Edwardes 2000-2002 + * $Id: kscheduledview.h,v 1.33 2009/03/01 19:13:08 ipwizard Exp $ + * + * @short A class to encapsulate recurring transaction operations. + */ +class KScheduledView : public KScheduledViewDecl +{ + Q_OBJECT + +public: + /** + * Standard constructor for QWidgets. + */ + KScheduledView(QWidget *parent=0, const char *name=0); + + /** + * Standard destructor. + */ + ~KScheduledView(); + + /** + * Called by KMyMoneyView. + */ + void show(); + +public slots: + void slotSelectSchedule(const QString& schedule); + void slotReloadView(void); + +signals: + void scheduleSelected(const MyMoneySchedule& schedule); + void openContextMenu(void); + void skipSchedule(void); + void enterSchedule(void); + void editSchedule(void); + +protected slots: + /** + * Shows the context menu when the user right clicks or presses + * a 'windows' key when an item is selected. + * + * @param view a pointer to the view + * @param item a pointer to the current selected listview item + * @param pos The position to popup + * @return none + **/ + void slotListViewContextMenu(KListView* view, QListViewItem* item, const QPoint& pos); + + void slotListItemExecuted(QListViewItem*, const QPoint&, int); + + void slotAccountActivated(int); + + void slotListViewCollapsed(QListViewItem* item); + void slotListViewExpanded(QListViewItem* item); + + void slotBriefSkipClicked(const MyMoneySchedule& schedule, const QDate&); + void slotBriefEnterClicked(const MyMoneySchedule& schedule, const QDate&); + + void slotTimerDone(void); + + void slotSetSelectedItem(QListViewItem* item); + + void slotRearrange(void); + +private: + /// The selected schedule id in the list view. + QString m_selectedSchedule; + + /// Read config file + void readConfig(void); + + /// Write config file + void writeConfig(void); + + /** + * Refresh the view. + */ + void refresh(bool full=true, const QString& schedId = QString()); + + /** + * Loads the accounts into the combo box. + */ +// void loadAccounts(void); + + KPopupMenu *m_kaccPopup; + QStringList m_filterAccounts; + bool m_openBills; + bool m_openDeposits; + bool m_openTransfers; + bool m_openLoans; + bool m_needReload; + + /** + * Search widget for the list + */ + KListViewSearchLineWidget* m_searchWidget; +}; + +#endif |