]> git.sur5r.net Git - minitube/blobdiff - src/downloadmanager.h
Imported Upstream version 1.2
[minitube] / src / downloadmanager.h
diff --git a/src/downloadmanager.h b/src/downloadmanager.h
new file mode 100644 (file)
index 0000000..15baa7f
--- /dev/null
@@ -0,0 +1,42 @@
+#ifndef DOWNLOADMANAGER_H
+#define DOWNLOADMANAGER_H
+
+#include <QtGui>
+
+class DownloadItem;
+class DownloadModel;
+class Video;
+
+class DownloadManager : public QObject {
+
+    Q_OBJECT
+
+public:
+    static DownloadManager* instance();
+    void clear();
+    void addItem(Video *video);
+    const QList<DownloadItem*> getItems() { return items; }
+    DownloadModel* getModel() { return downloadModel; }
+    DownloadItem* itemForVideo(Video *video);
+    int activeItems();
+    QString defaultDownloadFolder();
+    QString currentDownloadFolder();
+
+signals:
+    void finished();
+    void statusMessageChanged(QString status);
+
+private slots:
+    void itemFinished();
+    void updateStatusMessage();
+    void gotStreamUrl(QUrl url);
+
+private:
+    DownloadManager(QObject *parent = 0);
+
+    QList<DownloadItem*> items;
+    DownloadModel *downloadModel;
+
+};
+
+#endif // DOWNLOADMANAGER_H