From 0fbeba5c84e521ad657167d4e3b3d3665719592d Mon Sep 17 00:00:00 2001 From: Stanislav Yadykin Date: Thu, 15 Sep 2016 20:29:49 +0300 Subject: [PATCH 1/2] Copy to clipboard button --- src/snapshotpreview.cpp | 10 ++++++++++ src/snapshotpreview.h | 3 +++ src/snapshotpreview.ui | 7 +++++++ 3 files changed, 20 insertions(+) diff --git a/src/snapshotpreview.cpp b/src/snapshotpreview.cpp index e660489..9e66c3b 100644 --- a/src/snapshotpreview.cpp +++ b/src/snapshotpreview.cpp @@ -85,6 +85,7 @@ void SnapshotPreview::init() m_progressDialog = 0; m_screenSaved = false; m_pixmapSet = false; + m_clipboard = QApplication::clipboard(); ui = new Ui::SnapshotPreview; ui->setupUi(this); @@ -102,6 +103,7 @@ void SnapshotPreview::init() ui->formatTextBtn->setIcon(iconLoader->loadIcon("draw-text", KIconLoader::Small)); ui->cancelBtn->setIcon(iconLoader->loadIcon("dialog-cancel", KIconLoader::Small)); + ui->copyBtn->setIcon(iconLoader->loadIcon("edit-copy", KIconLoader::Small)); ui->saveBtn->setIcon(iconLoader->loadIcon("document-save-as", KIconLoader::Small)); ui->uploadBtn->setIcon(KIcon("upload")); @@ -124,6 +126,8 @@ void SnapshotPreview::init() connect(ui->cancelBtn, SIGNAL(clicked()), this, SLOT(close())); + connect(ui->copyBtn, SIGNAL(clicked()), + this, SLOT(slotCopy())); connect(ui->saveBtn, SIGNAL(clicked()), this, SLOT(slotSaveAs())); connect(ui->uploadBtn, SIGNAL(clicked()), @@ -302,6 +306,12 @@ void SnapshotPreview::slotUpload() } } +void SnapshotPreview::slotCopy() +{ + QPixmap p = getFinalPixmap(); + m_clipboard->setPixmap(p); +} + void SnapshotPreview::slotPrintUploadInfo(KJob *job, const QString &plain) { Q_UNUSED(job) diff --git a/src/snapshotpreview.h b/src/snapshotpreview.h index 671f616..e4d8b17 100644 --- a/src/snapshotpreview.h +++ b/src/snapshotpreview.h @@ -5,6 +5,7 @@ #include #include #include +#include namespace Ui { class SnapshotPreview; @@ -52,6 +53,7 @@ private Q_SLOTS: void slotUploadResult(KJob *job); void slotPrintUploadInfo(KJob *job, const QString &plain); void slotCancelUpload(); + void slotCopy(); void slotSaveAs(); private: @@ -77,6 +79,7 @@ private Q_SLOTS: QPixmap m_lastGeneratedPixmap; bool m_screenSaved; bool m_pixmapSet; + QClipboard *m_clipboard; }; #endif // SNAPSHOTPREVIEW_H diff --git a/src/snapshotpreview.ui b/src/snapshotpreview.ui index 046bfb0..b59108e 100644 --- a/src/snapshotpreview.ui +++ b/src/snapshotpreview.ui @@ -264,6 +264,13 @@ + + + + Copy + + + From 7ff961c97e5a6f623f58986373fd013a2bb46686 Mon Sep 17 00:00:00 2001 From: Stanislav Yadykin Date: Fri, 16 Sep 2016 10:55:48 +0300 Subject: [PATCH 2/2] Copy button press will omit usaved warning now --- src/snapshotpreview.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/snapshotpreview.cpp b/src/snapshotpreview.cpp index 9e66c3b..9023211 100644 --- a/src/snapshotpreview.cpp +++ b/src/snapshotpreview.cpp @@ -310,6 +310,7 @@ void SnapshotPreview::slotCopy() { QPixmap p = getFinalPixmap(); m_clipboard->setPixmap(p); + m_screenSaved = true; } void SnapshotPreview::slotPrintUploadInfo(KJob *job, const QString &plain)