summaryrefslogtreecommitdiffstats
path: root/filestreewidget.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'filestreewidget.cpp')
-rw-r--r--filestreewidget.cpp19
1 files changed, 19 insertions, 0 deletions
diff --git a/filestreewidget.cpp b/filestreewidget.cpp
index d27a22e..a348ac4 100644
--- a/filestreewidget.cpp
+++ b/filestreewidget.cpp
@@ -17,6 +17,8 @@
#include <QSpinBox>
#include <QPushButton>
#include <QProcess>
+#include <QFileDialog>
+#include <QSettings>
#include <QDebug>
@@ -139,6 +141,23 @@ void FilesTreeWidget::removeFiles(){
}
}
+void FilesTreeWidget::moveToDirectory(){
+ QModelIndexList selected = mView->selectionModel()->selectedRows();
+ if(selected.isEmpty()){
+ return;
+ }
+ QSettings s;
+ QString startDir = s.value("paths/selecteddir", QDir::homePath()).toString();
+ QString dir = QFileDialog::getExistingDirectory(this, tr("Select directory"), startDir);
+ if(!dir.isEmpty()){
+ foreach(QModelIndex i, selected){
+ QString source = i.data(FilesTreeModel::FullPathRole).toString();
+ QString destination = QString("%1/%2").arg(dir).arg(i.data(FilesTreeModel::FileNameRole).toString());
+ QFile::rename(source, destination);
+ }
+ }
+}
+
void FilesTreeWidget::fileSelectionChanged(const QModelIndex &current, const QModelIndex &previous){
Q_UNUSED(previous);
int seriesPartId = current.data(FilesTreeModel::SeriesPartIdRole).toInt();