mirror of
				https://github.com/saitohirga/WSJT-X.git
				synced 2025-10-31 13:10:19 -04:00 
			
		
		
		
	
		
			
				
	
	
		
			55 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			55 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| #ifndef WSJTX_FILEDOWNLOAD_H
 | |
| #define WSJTX_FILEDOWNLOAD_H
 | |
| 
 | |
| #include <QObject>
 | |
| #include <QString>
 | |
| #include <QPointer>
 | |
| #include <QtNetwork/QNetworkAccessManager>
 | |
| #include <QtNetwork/QNetworkReply>
 | |
| #include <QTemporaryFile>
 | |
| #include <QSaveFile>
 | |
| 
 | |
| class FileDownload : public QObject {
 | |
|     Q_OBJECT
 | |
| 
 | |
| public:
 | |
|     explicit FileDownload();
 | |
|     ~FileDownload();
 | |
| 
 | |
|     void configure(QNetworkAccessManager *network_manager, const QString& source_url, const QString& destination_filename, const QString& user_agent);
 | |
| 
 | |
| private:
 | |
|     QNetworkAccessManager *manager_;
 | |
|     QString source_url_;
 | |
|     QString destination_filename_;
 | |
|     QString user_agent_;
 | |
|     QPointer<QNetworkReply> reply_;
 | |
|     QNetworkRequest request_;
 | |
|     QSaveFile destfile_;
 | |
|     bool url_valid_;
 | |
|     int redirect_count_;
 | |
| signals:
 | |
|             void complete(QString filename);
 | |
|             void progress(QString filename);
 | |
|             void load_finished() const;
 | |
|             void download_error (QString const& reason) const;
 | |
|             void error(QString const& reason) const;
 | |
| 
 | |
| 
 | |
| public slots:
 | |
|     void start_download();
 | |
|     void download(QUrl url);
 | |
|     void store();
 | |
|     void abort();
 | |
|     void downloadComplete(QNetworkReply* data);
 | |
|     void downloadProgress(qint64 recieved, qint64 total);
 | |
| #if QT_VERSION >= QT_VERSION_CHECK(5, 15, 0)
 | |
|     void errorOccurred(QNetworkReply::NetworkError code);
 | |
| #else
 | |
|     void obsoleteError();
 | |
| #endif
 | |
|     void replyComplete();
 | |
| };
 | |
| 
 | |
| #endif //WSJTX_FILEDOWNLOAD_H
 |