diff options
author | Arno <arno@disconnect.de> | 2016-12-02 13:04:39 +0100 |
---|---|---|
committer | Arno <arno@disconnect.de> | 2016-12-02 13:04:39 +0100 |
commit | 5aaf46c785f4663dadf3e7a2b2222721b73eb8bc (patch) | |
tree | 17e6f63d785dbf88c873e169cccb61f65d070e3d | |
parent | e0b8c355e5f05398174abd8e70f0694f07a9821c (diff) | |
download | ShemovCleaner-5aaf46c785f4663dadf3e7a2b2222721b73eb8bc.tar.gz ShemovCleaner-5aaf46c785f4663dadf3e7a2b2222721b73eb8bc.tar.bz2 ShemovCleaner-5aaf46c785f4663dadf3e7a2b2222721b73eb8bc.zip |
Indicate copy status of file
Add a new column to FileWidget to indicate the copy status: Use the
gender sign for male (blue) to indicate that the file was found and the
sign for female (red) that it was not.
-rw-r--r-- | filewidget.cpp | 21 | ||||
-rw-r--r-- | filewidget.h | 4 |
2 files changed, 22 insertions, 3 deletions
diff --git a/filewidget.cpp b/filewidget.cpp index aabd2d3..7e99cd3 100644 --- a/filewidget.cpp +++ b/filewidget.cpp @@ -209,11 +209,23 @@ void FileWidget::selectDir(){ } void FileWidget::gatherData(){ + QSettings s; + QStringList copyDirs = s.value("copydirs").toStringList(); + QStringList copyDirFiles; + foreach(auto d, copyDirs){ + QDir copyDir(d); + foreach(auto cfi, copyDir.entryInfoList()){ + if(cfi.isFile()){ + copyDirFiles << cfi.fileName(); + } + } + } + QDir d(mDir->text()); QFileInfoList fl = d.entryInfoList(QStringList() << "*", QDir::Files | QDir::Dirs | QDir::NoDot, QDir::Name | QDir::DirsFirst); mModel->clear(); QStandardItem *root = mModel->invisibleRootItem(); - mModel->setHorizontalHeaderLabels(QStringList() << QChar(0x26A7) << tr("Name") << tr("MIME") << tr("Duration") << tr("Size") << tr("MD5")); + mModel->setHorizontalHeaderLabels(QStringList() << QChar(0x26A7) << tr("Name") << QChar(0x26A5) << tr("MIME") << tr("Duration") << tr("Size") << tr("MD5")); QBrush redBrush(Qt::red); QBrush greenBrush(Qt::darkGreen); QBrush blueBrush(Qt::darkBlue); @@ -294,6 +306,13 @@ void FileWidget::gatherData(){ QLocale l; QString size = QString("%1").arg(l.toString(sizemb)); fData[SizeColumn]->setText(size); + if(copyDirFiles.contains(fi.fileName())){ + fData[CopiedColumn]->setText(QChar(0x2642)); + fData[CopiedColumn]->setForeground(blueBrush); + }else{ + fData[CopiedColumn]->setText(QChar(0x2640)); + fData[CopiedColumn]->setForeground(redBrush); + } } fData[DurationColumn]->setText(duration); fData[DurationColumn]->setData(seconds, SecondsRole); diff --git a/filewidget.h b/filewidget.h index 4dd53f6..504ea37 100644 --- a/filewidget.h +++ b/filewidget.h @@ -26,8 +26,8 @@ class FileWidget : public QWidget { public: enum FileAttrs { NotPresent = 0, Present = 1, NoVideo = 2, ParentDir = 3, Directory = 4, Origin = 5 }; enum CustomRoles { AttrsRole = Qt::UserRole + 1, FullPathRole = Qt::UserRole + 2, DurationRole = Qt::UserRole + 3, MD5SumRole = Qt::UserRole + 4, SecondsRole = Qt::UserRole + 5 }; - enum { ColumnCount = 6 }; - enum Columns { IconColumn = 0, NameColumn = 1, MimeColumn = 2, DurationColumn = 3, SizeColumn = 4, Md5Column = 5 }; + enum { ColumnCount = 7 }; + enum Columns { IconColumn = 0, NameColumn = 1, CopiedColumn = 2, MimeColumn = 3, DurationColumn = 4, SizeColumn = 5, Md5Column = 6 }; enum FileAction { Copy, Cut, Paste }; explicit FileWidget(QWidget *parent = 0); QTreeView *fileView() { return mFileView; } |