GH-719 implement paste.ee API keys
This commit is contained in:
parent
ac8ff88061
commit
ae4216de61
@ -20,6 +20,7 @@ Config::Config()
|
|||||||
GIT_COMMIT = "@MultiMC_GIT_COMMIT@";
|
GIT_COMMIT = "@MultiMC_GIT_COMMIT@";
|
||||||
VERSION_STR = "@MultiMC_VERSION_STRING@";
|
VERSION_STR = "@MultiMC_VERSION_STRING@";
|
||||||
NEWS_RSS_URL = "@MultiMC_NEWS_RSS_URL@";
|
NEWS_RSS_URL = "@MultiMC_NEWS_RSS_URL@";
|
||||||
|
PASTE_EE_KEY = "@MultiMC_PASTE_EE_API_KEY@";
|
||||||
}
|
}
|
||||||
|
|
||||||
QString Config::printableVersionString() const
|
QString Config::printableVersionString() const
|
||||||
|
@ -47,6 +47,11 @@ public:
|
|||||||
*/
|
*/
|
||||||
QString NEWS_RSS_URL;
|
QString NEWS_RSS_URL;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* API key you can get from paste.ee when you register an account
|
||||||
|
*/
|
||||||
|
QString PASTE_EE_KEY;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief Converts the Version to a string.
|
* \brief Converts the Version to a string.
|
||||||
* \return The version number in string format (major.minor.revision.build).
|
* \return The version number in string format (major.minor.revision.build).
|
||||||
|
@ -29,6 +29,9 @@ set(MultiMC_UPDATER false CACHE BOOL "Whether or not the update system is enable
|
|||||||
# Notification URL
|
# Notification URL
|
||||||
set(MultiMC_NOTIFICATION_URL "" CACHE STRING "URL for checking for notifications.")
|
set(MultiMC_NOTIFICATION_URL "" CACHE STRING "URL for checking for notifications.")
|
||||||
|
|
||||||
|
# paste.ee API key
|
||||||
|
set(MultiMC_PASTE_EE_API_KEY "" CACHE STRING "API key you can get from paste.ee when you register an account")
|
||||||
|
|
||||||
#### Check the current Git commit
|
#### Check the current Git commit
|
||||||
include(GitFunctions)
|
include(GitFunctions)
|
||||||
git_run(COMMAND rev-parse HEAD DEFAULT "Unknown" OUTPUT_VAR MultiMC_GIT_COMMIT)
|
git_run(COMMAND rev-parse HEAD DEFAULT "Unknown" OUTPUT_VAR MultiMC_GIT_COMMIT)
|
||||||
@ -199,6 +202,8 @@ SET(MULTIMC_SOURCES
|
|||||||
pages/global/MultiMCPage.h
|
pages/global/MultiMCPage.h
|
||||||
pages/global/ProxyPage.cpp
|
pages/global/ProxyPage.cpp
|
||||||
pages/global/ProxyPage.h
|
pages/global/ProxyPage.h
|
||||||
|
pages/global/PasteEEPage.cpp
|
||||||
|
pages/global/PasteEEPage.h
|
||||||
|
|
||||||
# GUI - dialogs
|
# GUI - dialogs
|
||||||
dialogs/AboutDialog.cpp
|
dialogs/AboutDialog.cpp
|
||||||
@ -289,6 +294,7 @@ SET(MULTIMC_UIS
|
|||||||
pages/global/MinecraftPage.ui
|
pages/global/MinecraftPage.ui
|
||||||
pages/global/MultiMCPage.ui
|
pages/global/MultiMCPage.ui
|
||||||
pages/global/ProxyPage.ui
|
pages/global/ProxyPage.ui
|
||||||
|
pages/global/PasteEEPage.ui
|
||||||
|
|
||||||
# Dialogs
|
# Dialogs
|
||||||
dialogs/CopyInstanceDialog.ui
|
dialogs/CopyInstanceDialog.ui
|
||||||
|
@ -11,11 +11,17 @@
|
|||||||
|
|
||||||
#include "MultiMC.h"
|
#include "MultiMC.h"
|
||||||
#include <settings/SettingsObject.h>
|
#include <settings/SettingsObject.h>
|
||||||
|
#include <BuildConfig.h>
|
||||||
|
|
||||||
void GuiUtil::uploadPaste(const QString &text, QWidget *parentWidget)
|
void GuiUtil::uploadPaste(const QString &text, QWidget *parentWidget)
|
||||||
{
|
{
|
||||||
ProgressDialog dialog(parentWidget);
|
ProgressDialog dialog(parentWidget);
|
||||||
std::unique_ptr<PasteUpload> paste(new PasteUpload(parentWidget, text));
|
auto APIKeySetting = MMC->settings()->get("PasteEEAPIKey").toString();
|
||||||
|
if(APIKeySetting == "multimc")
|
||||||
|
{
|
||||||
|
APIKeySetting = BuildConfig.PASTE_EE_KEY;
|
||||||
|
}
|
||||||
|
std::unique_ptr<PasteUpload> paste(new PasteUpload(parentWidget, text, APIKeySetting));
|
||||||
|
|
||||||
if (!paste->validateText())
|
if (!paste->validateText())
|
||||||
{
|
{
|
||||||
|
@ -7,6 +7,7 @@
|
|||||||
#include "pages/global/ProxyPage.h"
|
#include "pages/global/ProxyPage.h"
|
||||||
#include "pages/global/ExternalToolsPage.h"
|
#include "pages/global/ExternalToolsPage.h"
|
||||||
#include "pages/global/AccountListPage.h"
|
#include "pages/global/AccountListPage.h"
|
||||||
|
#include "pages/global/PasteEEPage.h"
|
||||||
|
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
#include <QDir>
|
#include <QDir>
|
||||||
@ -535,6 +536,8 @@ void MultiMC::initGlobalSettings(bool test_mode)
|
|||||||
// Jar mod nag dialog in version page
|
// Jar mod nag dialog in version page
|
||||||
m_settings->registerSetting("JarModNagSeen", false);
|
m_settings->registerSetting("JarModNagSeen", false);
|
||||||
|
|
||||||
|
// paste.ee API key
|
||||||
|
m_settings->registerSetting("PasteEEAPIKey", "multimc");
|
||||||
|
|
||||||
// Init page provider
|
// Init page provider
|
||||||
{
|
{
|
||||||
@ -545,6 +548,7 @@ void MultiMC::initGlobalSettings(bool test_mode)
|
|||||||
m_globalSettingsProvider->addPage<ProxyPage>();
|
m_globalSettingsProvider->addPage<ProxyPage>();
|
||||||
m_globalSettingsProvider->addPage<ExternalToolsPage>();
|
m_globalSettingsProvider->addPage<ExternalToolsPage>();
|
||||||
m_globalSettingsProvider->addPage<AccountListPage>();
|
m_globalSettingsProvider->addPage<AccountListPage>();
|
||||||
|
m_globalSettingsProvider->addPage<PasteEEPage>();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -121,7 +121,7 @@ void OtherLogsPage::on_btnReload_clicked()
|
|||||||
tr("The file (%1) is too big. You may want to open it in a viewer optimized "
|
tr("The file (%1) is too big. You may want to open it in a viewer optimized "
|
||||||
"for large files.").arg(file.fileName()));
|
"for large files.").arg(file.fileName()));
|
||||||
};
|
};
|
||||||
if(file.size() >= 10000000ll)
|
if(file.size() > (1024ll * 1024ll * 12ll))
|
||||||
{
|
{
|
||||||
showTooBig();
|
showTooBig();
|
||||||
return;
|
return;
|
||||||
|
88
application/pages/global/PasteEEPage.cpp
Normal file
88
application/pages/global/PasteEEPage.cpp
Normal file
@ -0,0 +1,88 @@
|
|||||||
|
/* Copyright 2013-2015 MultiMC Contributors
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "PasteEEPage.h"
|
||||||
|
#include "ui_PasteEEPage.h"
|
||||||
|
|
||||||
|
#include <QMessageBox>
|
||||||
|
#include <QFileDialog>
|
||||||
|
#include <QStandardPaths>
|
||||||
|
|
||||||
|
#include <pathutils.h>
|
||||||
|
|
||||||
|
#include "settings/SettingsObject.h"
|
||||||
|
#include "tools/BaseProfiler.h"
|
||||||
|
#include "MultiMC.h"
|
||||||
|
|
||||||
|
PasteEEPage::PasteEEPage(QWidget *parent) :
|
||||||
|
QWidget(parent),
|
||||||
|
ui(new Ui::PasteEEPage)
|
||||||
|
{
|
||||||
|
ui->setupUi(this);
|
||||||
|
ui->tabWidget->tabBar()->hide();\
|
||||||
|
connect(ui->customAPIkeyEdit, &QLineEdit::textEdited, this, &PasteEEPage::textEdited);
|
||||||
|
loadSettings();
|
||||||
|
}
|
||||||
|
|
||||||
|
PasteEEPage::~PasteEEPage()
|
||||||
|
{
|
||||||
|
delete ui;
|
||||||
|
}
|
||||||
|
|
||||||
|
void PasteEEPage::loadSettings()
|
||||||
|
{
|
||||||
|
auto s = MMC->settings();
|
||||||
|
QString keyToUse = s->get("PasteEEAPIKey").toString();
|
||||||
|
if(keyToUse == "public")
|
||||||
|
{
|
||||||
|
ui->publicButton->setChecked(true);
|
||||||
|
}
|
||||||
|
else if(keyToUse == "multimc")
|
||||||
|
{
|
||||||
|
ui->multimcButton->setChecked(true);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
ui->customButton->setChecked(true);
|
||||||
|
ui->customAPIkeyEdit->setText(keyToUse);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void PasteEEPage::applySettings()
|
||||||
|
{
|
||||||
|
auto s = MMC->settings();
|
||||||
|
|
||||||
|
QString pasteKeyToUse;
|
||||||
|
if (ui->customButton->isChecked())
|
||||||
|
pasteKeyToUse = ui->customAPIkeyEdit->text();
|
||||||
|
else if (ui->publicButton->isChecked())
|
||||||
|
pasteKeyToUse = "public";
|
||||||
|
else
|
||||||
|
{
|
||||||
|
pasteKeyToUse = "multimc";
|
||||||
|
}
|
||||||
|
s->set("PasteEEAPIKey", pasteKeyToUse);
|
||||||
|
}
|
||||||
|
|
||||||
|
bool PasteEEPage::apply()
|
||||||
|
{
|
||||||
|
applySettings();
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
void PasteEEPage::textEdited(const QString& text)
|
||||||
|
{
|
||||||
|
ui->customButton->setChecked(true);
|
||||||
|
}
|
62
application/pages/global/PasteEEPage.h
Normal file
62
application/pages/global/PasteEEPage.h
Normal file
@ -0,0 +1,62 @@
|
|||||||
|
/* Copyright 2013-2015 MultiMC Contributors
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include <QWidget>
|
||||||
|
|
||||||
|
#include "pages/BasePage.h"
|
||||||
|
#include <MultiMC.h>
|
||||||
|
|
||||||
|
namespace Ui {
|
||||||
|
class PasteEEPage;
|
||||||
|
}
|
||||||
|
|
||||||
|
class PasteEEPage : public QWidget, public BasePage
|
||||||
|
{
|
||||||
|
Q_OBJECT
|
||||||
|
|
||||||
|
public:
|
||||||
|
explicit PasteEEPage(QWidget *parent = 0);
|
||||||
|
~PasteEEPage();
|
||||||
|
|
||||||
|
QString displayName() const override
|
||||||
|
{
|
||||||
|
return tr("Log Upload");
|
||||||
|
}
|
||||||
|
QIcon icon() const override
|
||||||
|
{
|
||||||
|
return MMC->getThemedIcon("log");
|
||||||
|
}
|
||||||
|
QString id() const override
|
||||||
|
{
|
||||||
|
return "log-upload";
|
||||||
|
}
|
||||||
|
QString helpPage() const override
|
||||||
|
{
|
||||||
|
return "Log-Upload";
|
||||||
|
}
|
||||||
|
virtual bool apply() override;
|
||||||
|
|
||||||
|
private:
|
||||||
|
void loadSettings();
|
||||||
|
void applySettings();
|
||||||
|
|
||||||
|
private slots:
|
||||||
|
void textEdited(const QString &text);
|
||||||
|
|
||||||
|
private:
|
||||||
|
Ui::PasteEEPage *ui;
|
||||||
|
};
|
139
application/pages/global/PasteEEPage.ui
Normal file
139
application/pages/global/PasteEEPage.ui
Normal file
@ -0,0 +1,139 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<ui version="4.0">
|
||||||
|
<class>PasteEEPage</class>
|
||||||
|
<widget class="QWidget" name="PasteEEPage">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>0</x>
|
||||||
|
<y>0</y>
|
||||||
|
<width>491</width>
|
||||||
|
<height>474</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<property name="windowTitle">
|
||||||
|
<string>Form</string>
|
||||||
|
</property>
|
||||||
|
<layout class="QVBoxLayout" name="verticalLayout">
|
||||||
|
<property name="leftMargin">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<property name="topMargin">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<property name="rightMargin">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<property name="bottomMargin">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<item>
|
||||||
|
<widget class="QTabWidget" name="tabWidget">
|
||||||
|
<property name="currentIndex">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<widget class="QWidget" name="tab">
|
||||||
|
<attribute name="title">
|
||||||
|
<string>Tab 1</string>
|
||||||
|
</attribute>
|
||||||
|
<layout class="QVBoxLayout" name="verticalLayout_2">
|
||||||
|
<item>
|
||||||
|
<widget class="QGroupBox" name="groupBox_2">
|
||||||
|
<property name="title">
|
||||||
|
<string>paste.ee API key</string>
|
||||||
|
</property>
|
||||||
|
<layout class="QVBoxLayout" name="verticalLayout_10">
|
||||||
|
<item>
|
||||||
|
<widget class="QRadioButton" name="publicButton">
|
||||||
|
<property name="text">
|
||||||
|
<string>No key - &2MB upload limit</string>
|
||||||
|
</property>
|
||||||
|
<attribute name="buttonGroup">
|
||||||
|
<string notr="true">pasteButtonGroup</string>
|
||||||
|
</attribute>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QRadioButton" name="multimcButton">
|
||||||
|
<property name="text">
|
||||||
|
<string>MultiMC key - 12MB &upload limit</string>
|
||||||
|
</property>
|
||||||
|
<attribute name="buttonGroup">
|
||||||
|
<string notr="true">pasteButtonGroup</string>
|
||||||
|
</attribute>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QRadioButton" name="customButton">
|
||||||
|
<property name="text">
|
||||||
|
<string>&Your own key - 12MB upload limit:</string>
|
||||||
|
</property>
|
||||||
|
<attribute name="buttonGroup">
|
||||||
|
<string notr="true">pasteButtonGroup</string>
|
||||||
|
</attribute>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QLineEdit" name="customAPIkeyEdit">
|
||||||
|
<property name="echoMode">
|
||||||
|
<enum>QLineEdit::Password</enum>
|
||||||
|
</property>
|
||||||
|
<property name="placeholderText">
|
||||||
|
<string>Paste your API key here!</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="Line" name="line">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Horizontal</enum>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QLabel" name="label">
|
||||||
|
<property name="text">
|
||||||
|
<string><html><head/><body><p><a href="https://paste.ee"><span style=" text-decoration: underline; color:#2980b9;">paste.ee</span></a> is used by MultiMC for log uploads. If you have a <a href="https://paste.ee"><span style=" text-decoration: underline; color:#2980b9;">paste.ee</span></a> account, you can add your API key here and have your uploaded logs paired with your account.</p></body></html></string>
|
||||||
|
</property>
|
||||||
|
<property name="textFormat">
|
||||||
|
<enum>Qt::RichText</enum>
|
||||||
|
</property>
|
||||||
|
<property name="wordWrap">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<spacer name="verticalSpacer">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Vertical</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeHint" stdset="0">
|
||||||
|
<size>
|
||||||
|
<width>20</width>
|
||||||
|
<height>216</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</spacer>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
<tabstops>
|
||||||
|
<tabstop>tabWidget</tabstop>
|
||||||
|
<tabstop>publicButton</tabstop>
|
||||||
|
<tabstop>multimcButton</tabstop>
|
||||||
|
<tabstop>customButton</tabstop>
|
||||||
|
<tabstop>customAPIkeyEdit</tabstop>
|
||||||
|
</tabstops>
|
||||||
|
<resources/>
|
||||||
|
<connections/>
|
||||||
|
<buttongroups>
|
||||||
|
<buttongroup name="pasteButtonGroup"/>
|
||||||
|
</buttongroups>
|
||||||
|
</ui>
|
@ -4,33 +4,44 @@
|
|||||||
#include <QJsonObject>
|
#include <QJsonObject>
|
||||||
#include <QJsonDocument>
|
#include <QJsonDocument>
|
||||||
|
|
||||||
PasteUpload::PasteUpload(QWidget *window, QString text) : m_window(window)
|
PasteUpload::PasteUpload(QWidget *window, QString text, QString key) : m_window(window)
|
||||||
{
|
{
|
||||||
m_text = text.toUtf8();
|
m_key = key;
|
||||||
m_text.replace('\n', "\r\n");
|
QByteArray temp;
|
||||||
|
temp = text.toUtf8();
|
||||||
|
temp.replace('\n', "\r\n");
|
||||||
|
m_textSize = temp.size();
|
||||||
|
m_text = "key=" + m_key.toLatin1() + "&description=MultiMC5+Log+File&language=plain&format=json&expire=2592000&paste=" + temp.toPercentEncoding();
|
||||||
|
buf = new QBuffer(&m_text);
|
||||||
|
}
|
||||||
|
|
||||||
|
PasteUpload::~PasteUpload()
|
||||||
|
{
|
||||||
|
if(buf)
|
||||||
|
{
|
||||||
|
delete buf;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
bool PasteUpload::validateText()
|
bool PasteUpload::validateText()
|
||||||
{
|
{
|
||||||
return m_text.size() <= maxSize();
|
return m_textSize <= maxSize();
|
||||||
}
|
}
|
||||||
|
|
||||||
void PasteUpload::executeTask()
|
void PasteUpload::executeTask()
|
||||||
{
|
{
|
||||||
QNetworkRequest request(QUrl("http://paste.ee/api"));
|
QNetworkRequest request(QUrl("http://paste.ee/api"));
|
||||||
request.setHeader(QNetworkRequest::UserAgentHeader, "MultiMC/5.0 (Uncached)");
|
request.setHeader(QNetworkRequest::UserAgentHeader, "MultiMC/5.0 (Uncached)");
|
||||||
QByteArray content(
|
|
||||||
"key=public&description=MultiMC5+Log+File&language=plain&format=json&expire=2592000&paste=" +
|
|
||||||
m_text.toPercentEncoding());
|
|
||||||
request.setRawHeader("Content-Type", "application/x-www-form-urlencoded");
|
request.setRawHeader("Content-Type", "application/x-www-form-urlencoded");
|
||||||
request.setRawHeader("Content-Length", QByteArray::number(content.size()));
|
request.setRawHeader("Content-Length", QByteArray::number(m_text.size()));
|
||||||
|
|
||||||
auto worker = ENV.qnam();
|
auto worker = ENV.qnam();
|
||||||
QNetworkReply *rep = worker->post(request, content);
|
QNetworkReply *rep = worker->post(request, buf);
|
||||||
|
|
||||||
m_reply = std::shared_ptr<QNetworkReply>(rep);
|
m_reply = std::shared_ptr<QNetworkReply>(rep);
|
||||||
setStatus(tr("Uploading to paste.ee"));
|
setStatus(tr("Uploading to paste.ee"));
|
||||||
connect(rep, &QNetworkReply::downloadProgress, this, &Task::setProgress);
|
connect(rep, &QNetworkReply::uploadProgress, this, &Task::setProgress);
|
||||||
connect(rep, SIGNAL(error(QNetworkReply::NetworkError)), this, SLOT(downloadError(QNetworkReply::NetworkError)));
|
connect(rep, SIGNAL(error(QNetworkReply::NetworkError)), this, SLOT(downloadError(QNetworkReply::NetworkError)));
|
||||||
connect(rep, SIGNAL(finished()), this, SLOT(downloadFinished()));
|
connect(rep, SIGNAL(finished()), this, SLOT(downloadFinished()));
|
||||||
}
|
}
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
#include "tasks/Task.h"
|
#include "tasks/Task.h"
|
||||||
#include <QMessageBox>
|
#include <QMessageBox>
|
||||||
#include <QNetworkReply>
|
#include <QNetworkReply>
|
||||||
|
#include <QBuffer>
|
||||||
#include <memory>
|
#include <memory>
|
||||||
|
|
||||||
#include "multimc_logic_export.h"
|
#include "multimc_logic_export.h"
|
||||||
@ -10,8 +11,8 @@ class MULTIMC_LOGIC_EXPORT PasteUpload : public Task
|
|||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
public:
|
public:
|
||||||
PasteUpload(QWidget *window, QString text);
|
PasteUpload(QWidget *window, QString text, QString key = "public");
|
||||||
virtual ~PasteUpload(){};
|
virtual ~PasteUpload();
|
||||||
QString pasteLink()
|
QString pasteLink()
|
||||||
{
|
{
|
||||||
return m_pasteLink;
|
return m_pasteLink;
|
||||||
@ -22,8 +23,11 @@ public:
|
|||||||
}
|
}
|
||||||
uint32_t maxSize()
|
uint32_t maxSize()
|
||||||
{
|
{
|
||||||
// 2MB for paste.ee
|
// 2MB for paste.ee - public
|
||||||
return 1024*1024*2;
|
if(m_key == "public")
|
||||||
|
return 1024*1024*2;
|
||||||
|
// 12MB for paste.ee - with actual key
|
||||||
|
return 1024*1024*12;
|
||||||
}
|
}
|
||||||
bool validateText();
|
bool validateText();
|
||||||
protected:
|
protected:
|
||||||
@ -36,6 +40,9 @@ private:
|
|||||||
QWidget *m_window;
|
QWidget *m_window;
|
||||||
QString m_pasteID;
|
QString m_pasteID;
|
||||||
QString m_pasteLink;
|
QString m_pasteLink;
|
||||||
|
QString m_key;
|
||||||
|
int m_textSize = 0;
|
||||||
|
QBuffer * buf = nullptr;
|
||||||
std::shared_ptr<QNetworkReply> m_reply;
|
std::shared_ptr<QNetworkReply> m_reply;
|
||||||
public
|
public
|
||||||
slots:
|
slots:
|
||||||
|
Loading…
Reference in New Issue
Block a user