From 47e37635f50c09b4f9a9ee7699e3120bab3e4088 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20Mr=C3=A1zek?= Date: Sun, 10 Apr 2016 04:29:29 +0200 Subject: NOISSUE split GUI stuff from logic library --- libraries/logic/net/PasteUpload.h | 50 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 libraries/logic/net/PasteUpload.h (limited to 'libraries/logic/net/PasteUpload.h') diff --git a/libraries/logic/net/PasteUpload.h b/libraries/logic/net/PasteUpload.h new file mode 100644 index 00000000..06e3f955 --- /dev/null +++ b/libraries/logic/net/PasteUpload.h @@ -0,0 +1,50 @@ +#pragma once +#include "tasks/Task.h" +#include +#include +#include + +#include "multimc_logic_export.h" + +class MULTIMC_LOGIC_EXPORT PasteUpload : public Task +{ + Q_OBJECT +public: + PasteUpload(QWidget *window, QString text, QString key = "public"); + virtual ~PasteUpload(); + QString pasteLink() + { + return m_pasteLink; + } + QString pasteID() + { + return m_pasteID; + } + uint32_t maxSize() + { + // 2MB for paste.ee - public + if(m_key == "public") + return 1024*1024*2; + // 12MB for paste.ee - with actual key + return 1024*1024*12; + } + bool validateText(); +protected: + virtual void executeTask(); + +private: + bool parseResult(QJsonDocument doc); + QByteArray m_text; + QString m_error; + QWidget *m_window; + QString m_pasteID; + QString m_pasteLink; + QString m_key; + int m_textSize = 0; + QBuffer * buf = nullptr; + std::shared_ptr m_reply; +public +slots: + void downloadError(QNetworkReply::NetworkError); + void downloadFinished(); +}; -- cgit v1.2.3