summaryrefslogtreecommitdiffstats
path: root/pictureviewer2.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'pictureviewer2.cpp')
-rw-r--r--pictureviewer2.cpp21
1 files changed, 21 insertions, 0 deletions
diff --git a/pictureviewer2.cpp b/pictureviewer2.cpp
index eee77af..bf2dbce 100644
--- a/pictureviewer2.cpp
+++ b/pictureviewer2.cpp
@@ -24,6 +24,9 @@
#include <QDir>
#include <QFileInfo>
#include <QFileInfoList>
+#include <QFileDialog>
+#include <QFile>
+#include <QMessageBox>
#include "pictureviewer2.h"
#include "pictureswidget.h"
@@ -197,6 +200,24 @@ void PictureViewer2::initActions(){
}
}
+void PictureViewer2::copyCurrent(){
+ QString fullPath = mFiles.at(mCurPos).at(PicFilesModel::FullPath).toString();
+ QSettings s;
+ QString lastDir = s.value("ui/pvlastdir", QDir::homePath()).toString();
+ QString destDir = QFileDialog::getExistingDirectory(this, tr("Copy picture"), lastDir);
+ if(!destDir.isEmpty()){
+ QFileInfo fi(fullPath);
+ QString copyTo = QString("%1/%2").arg(destDir).arg(fi.fileName());
+ bool success = QFile::copy(fullPath, copyTo);
+ if(!success){
+ QString msg = QString(tr("File copy %1 -> %2 failed!")).arg(fullPath).arg(copyTo);
+ QMessageBox::critical(this, tr("Error"), msg);
+ }else{
+ s.setValue("ui/pvlastdir", destDir);
+ }
+ }
+}
+
void PictureViewer2::wheelEvent(QWheelEvent *event){
int steps = event->delta() / 8 / 15;
if(steps < 0){