File indexing completed on 2024-05-12 16:43:42
0001 /* 0002 SPDX-FileCopyrightText: 2007 Thomas Baumgart <ipwizard@users.sourceforge.net> 0003 SPDX-FileCopyrightText: 2017, 2018 Łukasz Wojniłowicz <lukasz.wojnilowicz@gmail.com> 0004 SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 0007 #ifndef KACCOUNTSVIEW_H 0008 #define KACCOUNTSVIEW_H 0009 0010 // ---------------------------------------------------------------------------- 0011 // QT Includes 0012 0013 // ---------------------------------------------------------------------------- 0014 // KDE Includes 0015 0016 // ---------------------------------------------------------------------------- 0017 // Project Includes 0018 0019 #include "kmymoneyaccountsviewbase.h" 0020 0021 class MyMoneyMoney; 0022 class MyMoneyAccount; 0023 class MyMoneyObject; 0024 0025 namespace eMenu { 0026 enum class Action; 0027 } 0028 namespace KMyMoneyPlugin { 0029 class OnlinePlugin; 0030 } 0031 0032 template <class Key, class Value> class QMap; 0033 0034 /** 0035 * This class implements the accounts hierarchical and iconic 'view'. 0036 */ 0037 0038 class KAccountsViewPrivate; 0039 class KAccountsView : public KMyMoneyAccountsViewBase 0040 { 0041 Q_OBJECT 0042 0043 public: 0044 explicit KAccountsView(QWidget *parent = nullptr); 0045 ~KAccountsView(); 0046 0047 void executeCustomAction(eView::Action action) override; 0048 void refresh(); 0049 void updateActions(const MyMoneyObject &obj); 0050 0051 public Q_SLOTS: 0052 void slotNetWorthChanged(const MyMoneyMoney &); 0053 void slotShowAccountMenu(const MyMoneyAccount& acc); 0054 0055 void slotSelectByObject(const MyMoneyObject& obj, eView::Intent intent) override; 0056 void slotSelectByVariant(const QVariantList& variant, eView::Intent intent) override; 0057 0058 protected: 0059 void showEvent(QShowEvent * event) override; 0060 0061 private: 0062 Q_DECLARE_PRIVATE(KAccountsView) 0063 0064 private Q_SLOTS: 0065 void slotUnusedIncomeExpenseAccountHidden(); 0066 void slotNewAccount(); 0067 void slotEditAccount(); 0068 void slotDeleteAccount(); 0069 void slotCloseAccount(); 0070 void slotReopenAccount(); 0071 void slotChartAccountBalance(); 0072 void slotNewCategory(); 0073 void slotNewPayee(const QString& nameBase, QString& id); 0074 void slotAccountMapOnline(); 0075 void slotAccountUnmapOnline(); 0076 void slotAccountUpdateOnline(); 0077 void slotAccountUpdateOnlineAll(); 0078 }; 0079 0080 #endif