From 1e93057ceb85b6ffa28161eed601601ff6c9eb9c Mon Sep 17 00:00:00 2001 From: Alfredo Ramos Date: Sun, 6 May 2018 15:41:52 -0500 Subject: [PATCH] Add delete Imgur image button (#210) --- src/tools/imgur/imguruploader.cpp | 14 ++++++++++++++ src/tools/imgur/imguruploader.h | 3 +++ 2 files changed, 17 insertions(+) diff --git a/src/tools/imgur/imguruploader.cpp b/src/tools/imgur/imguruploader.cpp index 97364d90..2260c9de 100644 --- a/src/tools/imgur/imguruploader.cpp +++ b/src/tools/imgur/imguruploader.cpp @@ -74,6 +74,8 @@ void ImgurUploader::handleReply(QNetworkReply *reply) { QJsonObject json = response.object(); QJsonObject data = json["data"].toObject(); m_imageURL.setUrl(data["link"].toString()); + m_deleteImageURL.setUrl(QString("https://imgur.com/delete/%1").arg( + data["deletehash"].toString())); onUploadOk(); } else { m_infoLabel->setText(reply->errorString()); @@ -130,15 +132,19 @@ void ImgurUploader::onUploadOk() { m_copyUrlButton = new QPushButton(tr("Copy URL")); m_openUrlButton = new QPushButton(tr("Open URL")); + m_openDeleteUrlButton = new QPushButton(tr("Delete image")); m_toClipboardButton = new QPushButton(tr("Image to Clipboard.")); m_hLayout->addWidget(m_copyUrlButton); m_hLayout->addWidget(m_openUrlButton); + m_hLayout->addWidget(m_openDeleteUrlButton); m_hLayout->addWidget(m_toClipboardButton); connect(m_copyUrlButton, &QPushButton::clicked, this, &ImgurUploader::copyURL); connect(m_openUrlButton, &QPushButton::clicked, this, &ImgurUploader::openURL); + connect(m_openDeleteUrlButton, &QPushButton::clicked, + this, &ImgurUploader::openDeleteURL); connect(m_toClipboardButton, &QPushButton::clicked, this, &ImgurUploader::copyImage); @@ -156,6 +162,14 @@ void ImgurUploader::copyURL() { m_notification->showMessage(tr("URL copied to clipboard.")); } +void ImgurUploader::openDeleteURL() +{ + bool successful = QDesktopServices::openUrl(m_deleteImageURL); + if (!successful) { + m_notification->showMessage(tr("Unable to open the URL.")); + } +} + void ImgurUploader::copyImage() { QApplication::clipboard()->setPixmap(m_pixmap); m_notification->showMessage(tr("Screenshot copied to clipboard.")); diff --git a/src/tools/imgur/imguruploader.h b/src/tools/imgur/imguruploader.h index 19195fb4..b949289e 100644 --- a/src/tools/imgur/imguruploader.h +++ b/src/tools/imgur/imguruploader.h @@ -41,6 +41,7 @@ private slots: void openURL(); void copyURL(); + void openDeleteURL(); void copyImage(); private: @@ -54,9 +55,11 @@ private: LoadSpinner *m_spinner; // uploaded QPushButton *m_openUrlButton; + QPushButton *m_openDeleteUrlButton; QPushButton *m_copyUrlButton; QPushButton *m_toClipboardButton; QUrl m_imageURL; + QUrl m_deleteImageURL; NotificationWidget *m_notification; void upload();