Fix a few paste upload bugs

Fixes https://www.pivotaltracker.com/story/show/66994990
This commit is contained in:
Jan Dalheimer 2014-03-07 16:15:38 +01:00
parent 737169d1d3
commit 0cc682c629
2 changed files with 6 additions and 7 deletions

View File

@ -25,7 +25,7 @@ void PasteUpload::executeTask()
m_reply = std::shared_ptr<QNetworkReply>(rep); m_reply = std::shared_ptr<QNetworkReply>(rep);
connect(rep, &QNetworkReply::downloadProgress, [&](qint64 value, qint64 max) connect(rep, &QNetworkReply::downloadProgress, [&](qint64 value, qint64 max)
{ setProgress(value / max * 100); }); { setProgress(value / qMax((qint64)1, max) * 100); });
connect(rep, SIGNAL(error(QNetworkReply::NetworkError)), this, connect(rep, SIGNAL(error(QNetworkReply::NetworkError)), this,
SLOT(downloadError(QNetworkReply::NetworkError))); SLOT(downloadError(QNetworkReply::NetworkError)));
connect(rep, SIGNAL(finished()), this, SLOT(downloadFinished())); connect(rep, SIGNAL(finished()), this, SLOT(downloadFinished()));
@ -52,10 +52,9 @@ void PasteUpload::downloadFinished()
emitFailed(jsonError.errorString()); emitFailed(jsonError.errorString());
return; return;
} }
QString error; if (!parseResult(doc))
if (!parseResult(doc, &error))
{ {
emitFailed(error); emitFailed(tr("paste.ee returned an error. Please consult the logs for more information"));
return; return;
} }
} }
@ -69,13 +68,13 @@ void PasteUpload::downloadFinished()
emitSucceeded(); emitSucceeded();
} }
bool PasteUpload::parseResult(QJsonDocument doc, QString *parseError) bool PasteUpload::parseResult(QJsonDocument doc)
{ {
auto object = doc.object(); auto object = doc.object();
auto status = object.value("status").toString("error"); auto status = object.value("status").toString("error");
if (status == "error") if (status == "error")
{ {
parseError = new QString(object.value("error").toString()); QLOG_ERROR() << "paste.ee reported error:" << QString(object.value("error").toString());
return false; return false;
} }
// FIXME: not the place for GUI things. // FIXME: not the place for GUI things.

View File

@ -14,7 +14,7 @@ protected:
virtual void executeTask(); virtual void executeTask();
private: private:
bool parseResult(QJsonDocument doc, QString *parseError); bool parseResult(QJsonDocument doc);
QString m_text; QString m_text;
QString m_error; QString m_error;
QWidget *m_window; QWidget *m_window;