#pragma once #include "net/NetAction.h" #include "Screenshot.h" #include "QObjectPtr.h" typedef shared_qobject_ptr<class ImgurAlbumCreation> ImgurAlbumCreationPtr; class ImgurAlbumCreation : public NetAction { public: explicit ImgurAlbumCreation(QList<ScreenShot::Ptr> screenshots); static ImgurAlbumCreationPtr make(QList<ScreenShot::Ptr> screenshots) { return ImgurAlbumCreationPtr(new ImgurAlbumCreation(screenshots)); } QString deleteHash() const { return m_deleteHash; } QString id() const { return m_id; } protected slots: virtual void downloadProgress(qint64 bytesReceived, qint64 bytesTotal); virtual void downloadError(QNetworkReply::NetworkError error); virtual void downloadFinished(); virtual void downloadReadyRead() { } public slots: virtual void startImpl(); private: QList<ScreenShot::Ptr> m_screenshots; QString m_deleteHash; QString m_id; };