#ifndef DOWNLOADER_H #define DOWNLOADER_H #include #include #include class QFile; class QNetworkReply; class Settings; // Download di file (libri) con segnali di progresso. // Supporta più download concorrenti. class Downloader : public QObject { Q_OBJECT public: explicit Downloader(Settings *settings, QObject *parent = 0); Q_INVOKABLE void download(const QString &url, const QString &destPath); signals: void progress(qint64 received, qint64 total, const QString &path); void finished(const QString &path, bool ok, const QString &error); private: Settings *m_settings; QNetworkAccessManager m_nam; QHash m_files; QHash m_paths; }; #endif // DOWNLOADER_H