From 45b1c6f2dcfa315ed6468a1078d337d9e8c98a84 Mon Sep 17 00:00:00 2001 From: ArsenArsen Date: Sat, 13 May 2017 22:39:05 +0200 Subject: [PATCH] // maybe that works --- io/ioutils.cpp | 12 ++++++++---- io/ioutils.hpp | 7 +++++-- mainwindow.cpp | 4 +++- uploaders/customuploader.cpp | 5 +++-- uploaders/default/imguruploader.cpp | 2 +- 5 files changed, 20 insertions(+), 10 deletions(-) diff --git a/io/ioutils.cpp b/io/ioutils.cpp index e1eccb9..e42000b 100644 --- a/io/ioutils.cpp +++ b/io/ioutils.cpp @@ -8,14 +8,17 @@ namespace ioutils { QNetworkAccessManager networkManager; } -void ioutils::getJson(QUrl target, QList> headers, std::function callback) { +void ioutils::getJson(QUrl target, + QList> headers, + std::function callback) { QNetworkRequest req(target); for (auto header : headers) { req.setRawHeader(header.first.toUtf8(), header.second.toUtf8()); } QNetworkReply *reply = networkManager.get(req); QObject::connect(reply, &QNetworkReply::finished, [reply, callback] { - callback(QJsonDocument::fromJson(reply->readAll()), reply); + QByteArray data = reply->readAll(); + callback(QJsonDocument::fromJson(data), data, reply); reply->deleteLater(); }); } @@ -23,14 +26,15 @@ void ioutils::getJson(QUrl target, QList> headers, std:: void ioutils::postJson(QUrl target, QList> headers, QByteArray body, - std::function callback) { + std::function callback) { QNetworkRequest req(target); for (auto header : headers) { req.setRawHeader(header.first.toUtf8(), header.second.toUtf8()); } QNetworkReply *reply = networkManager.post(req, body); QObject::connect(reply, &QNetworkReply::finished, [reply, callback] { - callback(QJsonDocument::fromJson(reply->readAll()), reply); + QByteArray data = reply->readAll(); + callback(QJsonDocument::fromJson(data), data, reply); delete reply; }); } diff --git a/io/ioutils.hpp b/io/ioutils.hpp index 2b41c1f..c2423a8 100644 --- a/io/ioutils.hpp +++ b/io/ioutils.hpp @@ -9,8 +9,11 @@ namespace ioutils { extern QNetworkAccessManager networkManager; -void getJson(QUrl target, QList> headers, std::function callback); -void postJson(QUrl target, QList> headers, QByteArray body, std::function callback); +void getJson(QUrl target, QList> headers, std::function callback); +void postJson(QUrl target, + QList> headers, + QByteArray body, + std::function callback); void getData(QUrl target, QList> headers, std::function callback); void postData(QUrl target, QList> headers, QByteArray body, std::function callback); } diff --git a/mainwindow.cpp b/mainwindow.cpp index 8aa69a0..b3f186b 100644 --- a/mainwindow.cpp +++ b/mainwindow.cpp @@ -114,7 +114,9 @@ void MainWindow::quit() { void MainWindow::toggleVisible() { this->setVisible(!this->isVisible()); if (this->isVisible()) { - this->raise(); + this->raise(); // that didn't work + this->setWindowState(Qt::WindowActive); // maybe that works + this->activateWindow(); // maybe that works } } diff --git a/uploaders/customuploader.cpp b/uploaders/customuploader.cpp index d3a2618..66eb8bc 100644 --- a/uploaders/customuploader.cpp +++ b/uploaders/customuploader.cpp @@ -284,8 +284,9 @@ void CustomUploader::doUpload(QPixmap *pixmap) { notifications::notify("KShare Custom Uploader " + name(), "Copied upload result to clipboard!"); }); } else { - ioutils::postJson(target, h, data, - [&](QJsonDocument result, QNetworkReply *) { parseResult(result, returnPathspec, name()); }); + ioutils::postJson(target, h, data, [&](QJsonDocument result, QByteArray, QNetworkReply *) { + parseResult(result, returnPathspec, name()); + }); } break; } diff --git a/uploaders/default/imguruploader.cpp b/uploaders/default/imguruploader.cpp index 2312bfa..f552b36 100644 --- a/uploaders/default/imguruploader.cpp +++ b/uploaders/default/imguruploader.cpp @@ -15,7 +15,7 @@ void ImgurUploader::doUpload(QPixmap *pixmap) { QList>() << QPair("Content-Type", "application/x-www-form-urlencoded") << QPair("Authorization", "Client-ID 8a98f183fc895da"), - byteArray, [](QJsonDocument res, QNetworkReply *) { + byteArray, [](QJsonDocument res, QByteArray, QNetworkReply *) { QString result = res.object()["data"].toObject()["link"].toString(); screenshotutil::toClipboard(result); notifications::notify("KShare imgur Uploader ",