File indexing completed on 2024-05-12 16:42:06
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 // ---------------------------------------------------------------------------- 0013 // QT Includes 0014 0015 #include <QDialog> 0016 0017 // ---------------------------------------------------------------------------- 0018 // KDE Includes 0019 0020 // ---------------------------------------------------------------------------- 0021 // Project Includes 0022 0023 class MyMoneySecurity; 0024 class MyMoneyStatement; 0025 class MyMoneyPrice; 0026 0027 typedef QPair<QString, QString> MyMoneySecurityPair; 0028 typedef QMap<QDate, MyMoneyPrice> MyMoneyPriceEntries; 0029 typedef QMap<MyMoneySecurityPair, MyMoneyPriceEntries> MyMoneyPriceList; 0030 0031 /** 0032 * @author Kevin Tambascio & Ace Jones 0033 */ 0034 0035 class KEquityPriceUpdateDlgPrivate; 0036 class KEquityPriceUpdateDlg : public QDialog 0037 { 0038 Q_OBJECT 0039 Q_DISABLE_COPY(KEquityPriceUpdateDlg) 0040 0041 public: 0042 explicit KEquityPriceUpdateDlg(QWidget *parent, const QString& securityId = QString()); 0043 ~KEquityPriceUpdateDlg(); 0044 void storePrices(); 0045 MyMoneyPrice price(const QString& id) const; 0046 0047 protected Q_SLOTS: 0048 void slotConfigureClicked(); 0049 void slotUpdateSelectedClicked(); 0050 void slotUpdateAllClicked(); 0051 void slotUpdateSelection(); 0052 void slotDateChanged(); 0053 0054 void logStatusMessage(const QString&); 0055 void logErrorMessage(const QString&); 0056 void slotReceivedCSVQuote(const QString& _kmmID, const QString& _webID, MyMoneyStatement& st); 0057 void slotReceivedQuote(const QString& _kmmID, const QString& _webID, const QDate&, const double&); 0058 void slotQuoteFailed(const QString& _kmmID, const QString& _webID); 0059 0060 protected: 0061 void addInvestment(const MyMoneySecurity& inv); 0062 void finishUpdate(); 0063 0064 private: 0065 KEquityPriceUpdateDlgPrivate * const d_ptr; 0066 Q_DECLARE_PRIVATE(KEquityPriceUpdateDlg) 0067 0068 }; 0069 0070 #endif // KEQUITYPRICEUPDATEDLG_H