diff options
Diffstat (limited to 'filestreewidget.cpp')
-rw-r--r-- | filestreewidget.cpp | 33 |
1 files changed, 18 insertions, 15 deletions
diff --git a/filestreewidget.cpp b/filestreewidget.cpp index cb253b3..cc92a67 100644 --- a/filestreewidget.cpp +++ b/filestreewidget.cpp @@ -85,32 +85,35 @@ void FilesTreeWidget::moveToBurn(){ return; } foreach(QModelIndex i, selected){ - int type = i.data(FilesTreeModel::FileTypeRole).toInt(); - if(type == FilesTreeModel::BackCover || type == FilesTreeModel::FrontCover || type == FilesTreeModel::GeneralCover){ - continue; - } int seriesPartId = i.data(FilesTreeModel::SeriesPartIdRole).toInt(); int seriesId = mSeriesModel->seriesIdByPartId(seriesPartId); if(seriesId != -1){ QModelIndex seriesIdx = mSeriesModel->findValue(seriesId, QModelIndex(), SeriesTreeModel::SeriesId); if(seriesIdx.isValid()){ - QString seriesName = seriesIdx.data(SeriesTreeModel::NameRole).toString(); + //create target dir acc. to seriesName + QString seriesName = seriesIdx.data(SeriesTreeModel::NameRole).toString(); QString dirName = seriesName.replace(' ', "."); QDir target(burnDir); target.mkdir(dirName); - const QHash<QString, QString> files = mModel->filesBySeriesPartId(seriesPartId); + //move selected file + QString selSource = i.data(FilesTreeModel::FullPathRole).toString(); + QString selTarget = QString("%1/%2/%3").arg(burnDir).arg(dirName).arg(i.data(FilesTreeModel::FileNameRole).toString()); + QFile::rename(selSource, selTarget); + //copy covers + const QHash<QString, QString> files = mModel->filesBySeriesPartId(seriesPartId); foreach(QString name, files.keys()){ QString sourceFile = Helper::createArchivePath(name, files.value(name)); - QString targetFile = QString("%1/%2/%3").arg(burnDir).arg(dirName).arg(name); + QString targetFile = QString("%1/%2/%3").arg(burnDir).arg(dirName).arg(name); int fileType = mModel->fileType(files.value(name)); - if(fileType == -1){ - continue; - } - if(fileType == FilesTreeModel::Movie){ - QFile::rename(sourceFile, targetFile); - }else{ - QFile::copy(sourceFile, targetFile); - } + switch(fileType){ + case FilesTreeModel::FrontCover: + case FilesTreeModel::BackCover: + case FilesTreeModel::GeneralCover: + QFile::copy(sourceFile, targetFile); + break; + default: + ; + } } } } |