summaryrefslogtreecommitdiffstats
path: root/fswidget.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'fswidget.cpp')
-rw-r--r--fswidget.cpp37
1 files changed, 35 insertions, 2 deletions
diff --git a/fswidget.cpp b/fswidget.cpp
index fb78a1f..92be9ae 100644
--- a/fswidget.cpp
+++ b/fswidget.cpp
@@ -19,8 +19,11 @@
#include "fswidget.h"
#include "helper.h"
+#include "newmoviewizard.h"
FSWidget::FSWidget(QWidget *parent) : QWidget(parent) {
+ mMovieWizard = new NewMovieWizard(this);
+ mMovieWizard->setMinimumWidth(1024);
setPalette(qApp->palette());
setupWidget();
}
@@ -43,6 +46,10 @@ void FSWidget::setupWidget(){
connect(refreshA, &QAction::triggered, this, &FSWidget::refresh);
toolbar->addSeparator();
toolbar->addAction(refreshA);
+ QAction *archiveMovieA = new QAction(QIcon(":/huge_bra.png"), tr("Archive movies..."), this);
+ connect(archiveMovieA, &QAction::triggered, this, &FSWidget::archiveMovie);
+ connect(mMovieWizard, &NewMovieWizard::accepted, this, &FSWidget::refresh);
+ toolbar->addAction(archiveMovieA);
QIcon plusIcon = Helper::icon(QColor(255,85,255), '+');
QIcon minusIcon = Helper::icon(QColor(255,85,255), '-');
@@ -104,7 +111,7 @@ void FSWidget::setupWidget(){
mProxy->setSourceModel(mModel);
mFileView->setModel(mProxy);
- addActions(QList<QAction*>() << backA << forwardA << Helper::createSeparator(this) << refreshA);
+ addActions(QList<QAction*>() << backA << forwardA << Helper::createSeparator(this) << refreshA << archiveMovieA);
QVBoxLayout *mainLayout = new QVBoxLayout;
mainLayout->addLayout(topWL);
@@ -203,7 +210,6 @@ void FSWidget::gatherData(const QString &curDir){
QBrush blackBrush(Qt::black);
QBrush greenBrush(Qt::darkGreen);
QBrush blueBrush(Qt::darkBlue);
- QBrush currentBrush = blackBrush;
//setup database
QSqlDatabase db = QSqlDatabase::database("treedb");
@@ -219,6 +225,7 @@ void FSWidget::gatherData(const QString &curDir){
QDirIterator it(curDir, QDir::Files);
mFileView->setUpdatesEnabled(false);
while(it.hasNext()){
+ QBrush currentBrush = blackBrush;
QFileInfo fi = it.next();
++fileCount;
QMimeType mimeType = mimedb.mimeTypeForFile(fi);
@@ -272,6 +279,7 @@ void FSWidget::gatherData(const QString &curDir){
items << item;
}
items[0]->setText(fi.fileName());
+ items[0]->setData(fi.absoluteFilePath(), FullPathRole);
if(mimeName.startsWith("video")){
items[0]->setIcon(videoIcon);
}else if(mimeName.startsWith("image")){
@@ -297,6 +305,31 @@ void FSWidget::gatherData(const QString &curDir){
emit message(msg);
}
+void FSWidget::archiveMovie(){
+ QModelIndexList selected = mFileView->selectionModel()->selectedRows();
+ if(selected.isEmpty()){
+ return;
+ }
+ mMovieWizard->restart();
+ mMovieWizard->infoPage()->setCurrentDir(mDirCB->currentText());
+ for(const QModelIndex &idx : selected){
+ QString path = idx.data(FullPathRole).toString();
+ mMovieWizard->infoPage()->addFile(path);
+ mMovieWizard->infoPage()->guessOld(path);
+ }
+ QSettings s;
+ bool autoAddCovers = s.value("ui/autoaddcovers", false).toBool();
+ QString coverPath = s.value("paths/coverpath").toString();
+ if(autoAddCovers && !coverPath.isEmpty()){
+ QDir coverDir(coverPath);
+ for(const QFileInfo &fi : coverDir.entryInfoList(QDir::Files)){
+ mMovieWizard->infoPage()->addFile(fi.absoluteFilePath());
+ }
+ }
+ mMovieWizard->infoPage()->selectFirst();
+ mMovieWizard->show();
+}
+
void FSWidget::advanceDir(int by){
int dirCount = mDirCB->count();
int nextIdx = mDirCB->currentIndex() + by;