File indexing completed on 2024-05-19 05:06:51
0001 /* 0002 SPDX-FileCopyrightText: 2004-2017 Thomas Baumgart <tbaumgart@kde.org> 0003 SPDX-FileCopyrightText: 2004 Kevin Tambascio <ktambascio@users.sourceforge.net> 0004 SPDX-FileCopyrightText: 2004-2006 Ace Jones <acejones@users.sourceforge.net> 0005 SPDX-FileCopyrightText: 2017-2018 Łukasz Wojniłowicz <lukasz.wojnilowicz@gmail.com> 0006 SPDX-License-Identifier: GPL-2.0-or-later 0007 */ 0008 0009 #ifndef KEQUITYPRICEUPDATEDLG_H 0010 #define KEQUITYPRICEUPDATEDLG_H 0011 0012 #include "kmm_extended_dialogs_export.h" 0013 0014 // ---------------------------------------------------------------------------- 0015 // QT Includes 0016 0017 #include <QDialog> 0018 0019 // ---------------------------------------------------------------------------- 0020 // KDE Includes 0021 0022 // ---------------------------------------------------------------------------- 0023 // Project Includes 0024 0025 class MyMoneySecurity; 0026 class MyMoneyStatement; 0027 class MyMoneyPrice; 0028 0029 typedef QPair<QString, QString> MyMoneySecurityPair; 0030 typedef QMap<QDate, MyMoneyPrice> MyMoneyPriceEntries; 0031 typedef QMap<MyMoneySecurityPair, MyMoneyPriceEntries> MyMoneyPriceList; 0032 0033 /** 0034 * @author Kevin Tambascio & Ace Jones 0035 */ 0036 0037 class KEquityPriceUpdateDlgPrivate; 0038 class KMM_EXTENDED_DIALOGS_EXPORT KEquityPriceUpdateDlg : public QDialog 0039 { 0040 Q_OBJECT 0041 Q_DISABLE_COPY(KEquityPriceUpdateDlg) 0042 0043 public: 0044 explicit KEquityPriceUpdateDlg(QWidget *parent, const QString& securityId = QString()); 0045 ~KEquityPriceUpdateDlg(); 0046 void storePrices(); 0047 MyMoneyPrice price(const QString& id) const; 0048 0049 protected Q_SLOTS: 0050 void slotConfigureClicked(); 0051 void slotUpdateSelectedClicked(); 0052 void slotUpdateAllClicked(); 0053 void slotUpdateSelection(); 0054 void slotDateChanged(); 0055 0056 void logStatusMessage(const QString&); 0057 void logErrorMessage(const QString&); 0058 void slotReceivedCSVQuote(const QString& _kmmID, const QString& _webID, MyMoneyStatement& st); 0059 void slotReceivedQuote(const QString& _kmmID, const QString& _webID, const QDate&, const double&); 0060 void slotQuoteFailed(const QString& _kmmID, const QString& _webID); 0061 0062 protected: 0063 void addInvestment(const MyMoneySecurity& inv); 0064 void finishUpdate(); 0065 0066 private: 0067 KEquityPriceUpdateDlgPrivate * const d_ptr; 0068 Q_DECLARE_PRIVATE(KEquityPriceUpdateDlg) 0069 0070 }; 0071 0072 #endif // KEQUITYPRICEUPDATEDLG_H