diff --git a/src/snapshotpreview.cpp b/src/snapshotpreview.cpp index e5b5039..676378d 100644 --- a/src/snapshotpreview.cpp +++ b/src/snapshotpreview.cpp @@ -76,6 +76,7 @@ void SnapshotPreview::init() m_progressDialog = 0; m_screenSaved = false; m_pixmapSet = false; + m_clipboard = QApplication::clipboard(); ui = new Ui::SnapshotPreview; ui->setupUi(this); @@ -90,6 +91,7 @@ void SnapshotPreview::init() ui->cancelBtn->setIcon(QIcon::fromTheme("dialog-cancel")); ui->saveBtn->setIcon(QIcon::fromTheme("document-save-as")); + ui->copyBtn->setIcon(QIcon::fromTheme("edit-copy")); ui->uploadBtn->setIcon(QIcon::fromTheme("upload")); m_toolkit = new KaptionGraphicsToolkit(ui->propertyToolbar, this); @@ -111,6 +113,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()), @@ -298,6 +302,13 @@ void SnapshotPreview::slotUpload() } } +void SnapshotPreview::slotCopy() +{ + QPixmap p = getFinalPixmap(); + m_clipboard->setPixmap(p); + m_screenSaved = true; +} + void SnapshotPreview::slotPrintUploadInfo(KJob *job, const QString &plain) { Q_UNUSED(job) diff --git a/src/snapshotpreview.h b/src/snapshotpreview.h index 0808637..524ad98 100644 --- a/src/snapshotpreview.h +++ b/src/snapshotpreview.h @@ -5,6 +5,7 @@ #include #include #include +#include namespace Ui { class SnapshotPreview; @@ -51,6 +52,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 4e78400..637657b 100644 --- a/src/snapshotpreview.ui +++ b/src/snapshotpreview.ui @@ -264,6 +264,13 @@ + + + + Copy + + +