Merge pull request #4394 from Janrupf/develop
GH-4299 Fix Screenshot upload
This commit is contained in:
commit
5e909a4e85
@ -98,6 +98,12 @@ void NetJob::partProgress(int index, qint64 bytesReceived, qint64 bytesTotal)
|
|||||||
|
|
||||||
void NetJob::executeTask()
|
void NetJob::executeTask()
|
||||||
{
|
{
|
||||||
|
if(!m_network) {
|
||||||
|
qCritical() << "Attempted to start NetJob" << objectName() << "without the network set!";
|
||||||
|
emitFailed(tr("Internal error: NetJob '%1' has been started without a network pointer!").arg(objectName()));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
// hack that delays early failures so they can be caught easier
|
// hack that delays early failures so they can be caught easier
|
||||||
QMetaObject::invokeMethod(this, "startMoreParts", Qt::QueuedConnection);
|
QMetaObject::invokeMethod(this, "startMoreParts", Qt::QueuedConnection);
|
||||||
}
|
}
|
||||||
|
@ -35,6 +35,11 @@ public:
|
|||||||
}
|
}
|
||||||
virtual ~NetJob();
|
virtual ~NetJob();
|
||||||
|
|
||||||
|
void setNetwork(shared_qobject_ptr<QNetworkAccessManager> network)
|
||||||
|
{
|
||||||
|
m_network = network;
|
||||||
|
}
|
||||||
|
|
||||||
bool addNetAction(NetAction::Ptr action);
|
bool addNetAction(NetAction::Ptr action);
|
||||||
|
|
||||||
NetAction::Ptr operator[](int index)
|
NetAction::Ptr operator[](int index)
|
||||||
@ -67,15 +72,6 @@ public slots:
|
|||||||
virtual bool abort() override;
|
virtual bool abort() override;
|
||||||
virtual void start(shared_qobject_ptr<QNetworkAccessManager> network) {
|
virtual void start(shared_qobject_ptr<QNetworkAccessManager> network) {
|
||||||
m_network = network;
|
m_network = network;
|
||||||
start();
|
|
||||||
}
|
|
||||||
|
|
||||||
protected slots:
|
|
||||||
void start() override {
|
|
||||||
if(!m_network) {
|
|
||||||
throw "Missing network while trying to start " + objectName();
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
Task::start();
|
Task::start();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -314,6 +314,8 @@ void ScreenshotsPage::on_actionUpload_triggered()
|
|||||||
|
|
||||||
m_uploadActive = true;
|
m_uploadActive = true;
|
||||||
ProgressDialog dialog(this);
|
ProgressDialog dialog(this);
|
||||||
|
|
||||||
|
job->setNetwork(APPLICATION->network());
|
||||||
if(dialog.execWithTask(job.get()) != QDialog::Accepted)
|
if(dialog.execWithTask(job.get()) != QDialog::Accepted)
|
||||||
{
|
{
|
||||||
CustomMessageBox::selectable(this, tr("Failed to upload screenshots!"),
|
CustomMessageBox::selectable(this, tr("Failed to upload screenshots!"),
|
||||||
@ -348,7 +350,9 @@ void ScreenshotsPage::on_actionUpload_triggered()
|
|||||||
auto albumTask = NetJob::Ptr(new NetJob("Imgur Album Creation"));
|
auto albumTask = NetJob::Ptr(new NetJob("Imgur Album Creation"));
|
||||||
auto imgurAlbum = ImgurAlbumCreation::make(uploaded);
|
auto imgurAlbum = ImgurAlbumCreation::make(uploaded);
|
||||||
albumTask->addNetAction(imgurAlbum);
|
albumTask->addNetAction(imgurAlbum);
|
||||||
|
job->setNetwork(APPLICATION->network());
|
||||||
task.addTask(job);
|
task.addTask(job);
|
||||||
|
albumTask->setNetwork(APPLICATION->network());
|
||||||
task.addTask(albumTask);
|
task.addTask(albumTask);
|
||||||
m_uploadActive = true;
|
m_uploadActive = true;
|
||||||
ProgressDialog prog(this);
|
ProgressDialog prog(this);
|
||||||
|
Loading…
Reference in New Issue
Block a user