-
Notifications
You must be signed in to change notification settings - Fork 0
/
subtitlesdownloader.cpp
33 lines (27 loc) · 1.23 KB
/
subtitlesdownloader.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#include "subtitlesdownloader.h"
#include "xmltosrtconverter.h"
SubtitlesDownloader::SubtitlesDownloader(const Subtitle & subtitle,const QString & out_file_name,QObject *parent) : DownloaderInterface(out_file_name,parent) {
m_subtitle = subtitle;
is_downloading = false;
}
void SubtitlesDownloader::terminate() {}
void SubtitlesDownloader::emit_progress(qreal bytes_downloaded,int percents) {
emit progress(bytes_downloaded,0,percents,0);
}
void SubtitlesDownloader::emit_finished(const QString & err) {
is_downloading = false;
emit finished(err);
}
void SubtitlesDownloader::start() {
is_downloading = true;
QMetaObject::invokeMethod(this,"emit_progress",Qt::QueuedConnection,Q_ARG(qreal,0),Q_ARG(int,0));
if (!XmlToSrtConverter::writeToSrtFile(m_subtitle.data(),outputFileName())) {
QMetaObject::invokeMethod(this,"emit_finished",Qt::QueuedConnection,Q_ARG(QString,tr("Netwotk failure!!!")));
return;
}
QMetaObject::invokeMethod(this,"emit_progress",Qt::QueuedConnection,Q_ARG(qreal,m_subtitle.data().count()),Q_ARG(int,100));
QMetaObject::invokeMethod(this,"emit_finished",Qt::QueuedConnection,Q_ARG(QString,""));
}
bool SubtitlesDownloader::isDownloading() const {
return is_downloading;
}