diff options
author | Arno <arno@disconnect.de> | 2016-12-02 15:18:15 +0100 |
---|---|---|
committer | Arno <arno@disconnect.de> | 2016-12-02 15:18:15 +0100 |
commit | c8d8c71460c7e7d403c9dba1addc850a361d3e9c (patch) | |
tree | 7e67e1db1bcc7e50a89fb0d2ccb2512193e303de /filewidget.cpp | |
parent | fad8bc514580428a1d62368162d75abf3272d04b (diff) | |
download | ShemovCleaner-c8d8c71460c7e7d403c9dba1addc850a361d3e9c.tar.gz ShemovCleaner-c8d8c71460c7e7d403c9dba1addc850a361d3e9c.tar.bz2 ShemovCleaner-c8d8c71460c7e7d403c9dba1addc850a361d3e9c.zip |
Add Copy Files to... context menu
Does nothing yet. There's no slot for the actions.
Diffstat (limited to 'filewidget.cpp')
-rw-r--r-- | filewidget.cpp | 22 |
1 files changed, 21 insertions, 1 deletions
diff --git a/filewidget.cpp b/filewidget.cpp index 5e3a1e5..30254d4 100644 --- a/filewidget.cpp +++ b/filewidget.cpp @@ -30,6 +30,7 @@ #include <QClipboard> #include <QApplication> #include <QContextMenuEvent> +#include <QSignalMapper> #include "filewidget.h" #include "filesorter.h" @@ -39,7 +40,7 @@ #include "globals.h" #include "viewer.h" -FileWidget::FileWidget(QWidget *parent) : QWidget(parent) { +FileWidget::FileWidget(QWidget *parent) : QWidget(parent), mCopyToMenu(0), mCopyToMapper(0) { setupGui(); } @@ -118,6 +119,7 @@ void FileWidget::setupGui(){ } void FileWidget::createActions(){ + mCopyToMenu = new QMenu; mSelDirA = new QAction(QIcon(":/folder.png"), tr("Select Folder..."), this); mSelDirA->setShortcut(tr("CTRL+O")); connect(mSelDirA, SIGNAL(triggered()), this, SLOT(selectDir())); @@ -639,6 +641,24 @@ void FileWidget::keyPressEvent(QKeyEvent *e){ void FileWidget::contextMenuEvent(QContextMenuEvent *e){ QMenu contextMenu(this); + QSettings s; + mCopyToMenu->clear(); + mCopyToMenu->setTitle(tr("Copy Files to...")); + mCopyToMenu->setIcon(QIcon(":/hourglass_figure.png")); + mCopyToMapper->deleteLater(); + mCopyToMapper = new QSignalMapper; + QStringList copyToDirs = s.value("copydirs").toStringList(); + foreach(auto d, copyToDirs){ + QFileInfo di(d); + if(di.exists()){ + QAction *copyA = new QAction(di.fileName(), mCopyToMenu); + connect(copyA, SIGNAL(triggered()), mCopyToMapper, SLOT(map())); + mCopyToMapper->setMapping(copyA, di.absoluteFilePath()); + mCopyToMenu->addAction(copyA); + } + } + contextMenu.addMenu(mCopyToMenu); + contextMenu.addAction(createSeparator()); contextMenu.addActions(actions()); contextMenu.exec(e->globalPos()); } |