Upload screenshot to S3 on Enter after capture
This commit is contained in:
@@ -66,6 +66,8 @@ public:
|
||||
|
||||
explicit CaptureTool(QObject *parent = nullptr) : QObject(parent){}
|
||||
|
||||
virtual void setCapture(const QPixmap &pixmap) {};
|
||||
|
||||
// Returns false when the tool is in an inconsistent state and shouldn't
|
||||
// be included in the tool undo/redo stack.
|
||||
virtual bool isValid() const = 0;
|
||||
|
||||
@@ -54,6 +54,10 @@ QWidget* ImgS3UploaderTool::widget() {
|
||||
return new ImgS3Uploader(capture, m_s3CredsUrl, m_s3XApiKey);
|
||||
}
|
||||
|
||||
void ImgS3UploaderTool::setCapture(const QPixmap &pixmap) {
|
||||
capture = pixmap;
|
||||
}
|
||||
|
||||
CaptureTool* ImgS3UploaderTool::copy(QObject *parent) {
|
||||
return new ImgS3UploaderTool(parent);
|
||||
}
|
||||
|
||||
@@ -34,6 +34,7 @@ public:
|
||||
QWidget* widget() override;
|
||||
|
||||
CaptureTool* copy(QObject *parent = nullptr) override;
|
||||
void setCapture(const QPixmap &pixmap);
|
||||
|
||||
public slots:
|
||||
void pressed(const CaptureContext &context) override;
|
||||
|
||||
@@ -33,6 +33,8 @@
|
||||
#include "src/utils/screenshotsaver.h"
|
||||
#include "src/core/controller.h"
|
||||
#include "src/widgets/capture/modificationcommand.h"
|
||||
#include "src/tools/imgs3/imgs3uploadertool.h"
|
||||
#include "src/tools/toolfactory.h"
|
||||
#include <QUndoView>
|
||||
#include <QScreen>
|
||||
#include <QGuiApplication>
|
||||
@@ -778,8 +780,11 @@ void CaptureWidget::initShortcuts() {
|
||||
new QShortcut(QKeySequence(Qt::SHIFT + Qt::Key_Down), this, SLOT(downResize()));
|
||||
new QShortcut(Qt::Key_Space, this, SLOT(togglePanel()));
|
||||
new QShortcut(Qt::Key_Escape, this, SLOT(deleteToolwidgetOrClose()));
|
||||
new QShortcut(Qt::Key_Return, this, SLOT(copyScreenshot()));
|
||||
new QShortcut(Qt::Key_Enter, this, SLOT(copyScreenshot()));
|
||||
|
||||
// new QShortcut(Qt::Key_Return, this, SLOT(copyScreenshot()));
|
||||
// new QShortcut(Qt::Key_Enter, this, SLOT(copyScreenshot()));
|
||||
new QShortcut(Qt::Key_Return, this, SLOT(uploadScreenshot()));
|
||||
new QShortcut(Qt::Key_Enter, this, SLOT(uploadScreenshot()));
|
||||
}
|
||||
|
||||
void CaptureWidget::updateSizeIndicator() {
|
||||
@@ -861,6 +866,13 @@ void CaptureWidget::childLeave() {
|
||||
update();
|
||||
}
|
||||
|
||||
void CaptureWidget::uploadScreenshot() {
|
||||
m_activeTool = new ImgS3UploaderTool();
|
||||
m_activeTool->setCapture(pixmap());
|
||||
handleButtonSignal(CaptureTool::REQ_ADD_EXTERNAL_WIDGETS);
|
||||
close();
|
||||
}
|
||||
|
||||
void CaptureWidget::copyScreenshot() {
|
||||
m_captureDone = true;
|
||||
ScreenshotSaver().saveToClipboard(pixmap());
|
||||
|
||||
@@ -74,6 +74,7 @@ private slots:
|
||||
// TODO replace with tools
|
||||
void copyScreenshot();
|
||||
void saveScreenshot();
|
||||
void uploadScreenshot();
|
||||
void undo();
|
||||
void redo();
|
||||
void togglePanel();
|
||||
|
||||
Reference in New Issue
Block a user