Skip to content

Commit bc17e6c

Browse files
AndreaMarangoniYuriy Puchkov
authored and
Yuriy Puchkov
committed
Added 'Save to disk' button when uploading to imgur (flameshot-org#2237)
(cherry picked from commit 00b1088)
1 parent aa987fe commit bc17e6c

File tree

2 files changed

+20
-0
lines changed

2 files changed

+20
-0
lines changed

src/tools/imgupload/storages/imguploaderbase.cpp

+18
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
#include "src/utils/confighandler.h"
77
#include "src/utils/globalvalues.h"
88
#include "src/utils/history.h"
9+
#include "src/utils/screenshotsaver.h"
910
#include "src/widgets/imagelabel.h"
1011
#include "src/widgets/loadspinner.h"
1112
#include "src/widgets/notificationwidget.h"
@@ -130,10 +131,12 @@ void ImgUploaderBase::showPostUploadDialog()
130131
m_openUrlButton = new QPushButton(tr("Open URL"));
131132
m_openDeleteUrlButton = new QPushButton(tr("Delete image"));
132133
m_toClipboardButton = new QPushButton(tr("Image to Clipboard."));
134+
m_saveToFilesystemButton = new QPushButton(tr("Save image"));
133135
m_hLayout->addWidget(m_copyUrlButton);
134136
m_hLayout->addWidget(m_openUrlButton);
135137
m_hLayout->addWidget(m_openDeleteUrlButton);
136138
m_hLayout->addWidget(m_toClipboardButton);
139+
m_hLayout->addWidget(m_saveToFilesystemButton);
137140

138141
connect(
139142
m_copyUrlButton, &QPushButton::clicked, this, &ImgUploaderBase::copyURL);
@@ -147,6 +150,11 @@ void ImgUploaderBase::showPostUploadDialog()
147150
&QPushButton::clicked,
148151
this,
149152
&ImgUploaderBase::copyImage);
153+
154+
QObject::connect(m_saveToFilesystemButton,
155+
&QPushButton::clicked,
156+
this,
157+
&ImgUploaderBase::saveScreenshotToFilesystem);
150158
}
151159

152160
void ImgUploaderBase::openURL()
@@ -176,3 +184,13 @@ void ImgUploaderBase::deleteCurrentImage()
176184
history.unpackFileName(m_currentImageName);
177185
deleteImage(unpackFileName.file, unpackFileName.token);
178186
}
187+
188+
void ImgUploaderBase::saveScreenshotToFilesystem()
189+
{
190+
if (!ScreenshotSaver().saveToFilesystemGUI(m_pixmap)) {
191+
m_notification->showMessage(
192+
tr("Unable to save the screenshot to disk."));
193+
return;
194+
}
195+
m_notification->showMessage(tr("Screenshot saved."));
196+
}

src/tools/imgupload/storages/imguploaderbase.h

+2
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@ private slots:
4848
void copyURL();
4949
void copyImage();
5050
void deleteCurrentImage();
51+
void saveScreenshotToFilesystem();
5152

5253
private:
5354
QPixmap m_pixmap;
@@ -62,6 +63,7 @@ private slots:
6263
QPushButton* m_openDeleteUrlButton;
6364
QPushButton* m_copyUrlButton;
6465
QPushButton* m_toClipboardButton;
66+
QPushButton* m_saveToFilesystemButton;
6567
QUrl m_imageURL;
6668
NotificationWidget* m_notification;
6769

0 commit comments

Comments
 (0)