#ifndef UPGRADEDIALOG_H #define UPGRADEDIALOG_H #include #include #include #include #include #include namespace Ui { class UpgradeDialog; } class UpgradeDialog : public QDialog { Q_OBJECT public: explicit UpgradeDialog(mega::MegaApi* megaApi, std::shared_ptr pricing, std::shared_ptr currency, QWidget* parent = nullptr); ~UpgradeDialog(); void setPricing(std::shared_ptr pricing, std::shared_ptr currency); void setTimestamp(long long finishTime); protected: void changeEvent(QEvent* event) override; private: void updatePlans(); void clearPlans(); void configureAnimation(); Ui::UpgradeDialog* mUi; std::unique_ptr mAnimation; mega::MegaApi* mMegaApi; std::shared_ptr mPricing; std::shared_ptr mCurrency; long long mFinishTime; QTimer* mTimer; private slots: void unitTimeElapsed(); }; #endif // UPGRADEDIALOG_H