File indexing completed on 2024-05-19 05:08:15
0001 /* 0002 SPDX-FileCopyrightText: 2007-2019 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 "kmymoneyviewbase.h" 0020 0021 class MyMoneyMoney; 0022 class MyMoneyAccount; 0023 class MyMoneyObject; 0024 class SelectedObjects; 0025 0026 namespace eMenu { 0027 enum class Action; 0028 } 0029 namespace KMyMoneyPlugin { 0030 class OnlinePlugin; 0031 } 0032 0033 template <class Key, class Value> class QMap; 0034 0035 /** 0036 * This class implements the accounts hierarchical and iconic 'view'. 0037 */ 0038 0039 class KAccountsViewPrivate; 0040 class KAccountsView : public KMyMoneyViewBase 0041 { 0042 Q_OBJECT 0043 0044 public: 0045 explicit KAccountsView(QWidget *parent = nullptr); 0046 ~KAccountsView(); 0047 0048 void executeCustomAction(eView::Action action) override; 0049 void refresh(); 0050 0051 public Q_SLOTS: 0052 void slotNetWorthChanged(const MyMoneyMoney &netWorth, bool isApproximate); 0053 0054 void slotSettingsChanged() override; 0055 void updateActions(const SelectedObjects& selections) override; 0056 0057 virtual void setOnlinePlugins(QMap<QString, KMyMoneyPlugin::OnlinePlugin*>* plugins) override; 0058 0059 private: 0060 Q_DECLARE_PRIVATE(KAccountsView) 0061 0062 private Q_SLOTS: 0063 void slotUnusedIncomeExpenseAccountHidden(); 0064 void slotNewAccount(); 0065 void slotEditAccount(); 0066 void slotDeleteAccount(); 0067 void slotNewCategory(); 0068 void slotNewPayee(const QString& nameBase, QString& id); 0069 void slotAccountMapOnline(); 0070 void slotAccountUnmapOnline(); 0071 void slotAccountUpdateOnline(); 0072 void slotAccountUpdateOnlineAll(); 0073 0074 Q_SIGNALS: 0075 void beginImportingStatements(); 0076 void endImportingStatements(); 0077 }; 0078 0079 #endif