diff --git a/gui/page/spkpagedownloads.cpp b/gui/page/spkpagedownloads.cpp index c8c7bd5..cd8009a 100644 --- a/gui/page/spkpagedownloads.cpp +++ b/gui/page/spkpagedownloads.cpp @@ -27,3 +27,11 @@ void SpkUi::SpkPageDownloads::DownloadProgress(qint64 downloadedBytes, qint64 to { // TODO } + +void SpkUi::SpkPageDownloads::AddDownloadTask(QString name, QString pkgName, QString path) +{ +} + +void SpkUi::SpkPageDownloads::DownloadStopped(SpkDownloadMgr::TaskResult status, int id) +{ +} diff --git a/inc/page/spkpagedownloads.h b/inc/page/spkpagedownloads.h new file mode 100644 index 0000000..11008c8 --- /dev/null +++ b/inc/page/spkpagedownloads.h @@ -0,0 +1,39 @@ +#ifndef SPKPAGEDOWNLOADS_H +#define SPKPAGEDOWNLOADS_H + +#include "spkdownload.h" +#include "spkdownloadentry.h" +#include "page/spkpagebase.h" + +namespace SpkUi +{ + class SpkPageDownloads : public SpkPageBase + { + Q_OBJECT + public: + SpkPageDownloads(QWidget *parent = nullptr); + ~SpkPageDownloads(); + + public slots: + void AddDownloadTask(QString name, QString pkgName, QString path); + + private: + // Logic + SpkDownloadMgr *mDownloadMgr; + QMap mEntries; + uint mNextDownloadId; + QQueue> mWaitingDownloads; + enum { Idle, Waiting, Downloading } mCurrentStatus; + + // UI + QVBoxLayout *mLayEntries, *mMainLay; + QWidget *mScrollWidget; + QScrollArea *mScrollArea; + + private slots: + void DownloadProgress(qint64 downloadedBytes, qint64 totalBytes, int id); + void DownloadStopped(SpkDownloadMgr::TaskResult status, int id); + }; +} + +#endif // SPKPAGEDOWNLOADS_H