summaryrefslogtreecommitdiffstats
path: root/filewidget.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'filewidget.cpp')
-rw-r--r--filewidget.cpp62
1 files changed, 40 insertions, 22 deletions
diff --git a/filewidget.cpp b/filewidget.cpp
index 6d67007..d1d7a6a 100644
--- a/filewidget.cpp
+++ b/filewidget.cpp
@@ -68,7 +68,7 @@ void FileWidget::setupGui(){
mFileView->setSelectionMode(QAbstractItemView::ExtendedSelection);
mModel = new QStandardItemModel;
- mProxy = new FileSorter;
+ mProxy = new VideoSorter;
mProxy->setSourceModel(mModel);
mFileView->setModel(mProxy);
readSettings();
@@ -96,7 +96,7 @@ void FileWidget::selectDir(){
void FileWidget::gatherData(){
QDir d(mDir->text());
- QFileInfoList fl = d.entryInfoList(QStringList() << "*", QDir::Files, QDir::Name);
+ 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("MD5"));
@@ -108,34 +108,52 @@ void FileWidget::gatherData(){
foreach(QFileInfo fi, fl){
QMimeType mime = db.mimeTypeForFile(fi);
- QStandardItem *i1;
- QStandardItem *i2 = new QStandardItem(fi.fileName());
- i2->setEditable(false);
- QStandardItem *i4;
+ QList<QStandardItem*> fData;
+ FileAttrs attr = NotPresent;
+ for(int i = 0; i < RowCount; ++i){
+ QStandardItem *item = new QStandardItem;
+ item->setEditable(false);
+ if(i == Md5Row){
+ item->setFont(QFont("courier new"));
+ }
+ fData << item;
+ }
+ fData[NameRow]->setText(fi.fileName());
if(mime.name().startsWith("video")){
QString md5 = Helper::md5Sum(fi.absoluteFilePath());
- i4 = new QStandardItem(md5);
- i4->setFont(QFont("courier new"));
+ fData[Md5Row]->setText(md5);
int haveFile = md5Count(md5);
if(haveFile){
- i1 = new QStandardItem(QIcon(":/huge_bra.png"), QString());
- i1->setData(Present);
- i2->setForeground(greenBrush);
+ fData[IconRow]->setIcon(QIcon(":/huge_bra.png"));
+ fData[NameRow]->setForeground(greenBrush);
+ attr = Present;
+ }else{
+ fData[IconRow]->setIcon(QIcon(":/chastity_belt.png"));
+ fData[NameRow]->setForeground(redBrush);
+ attr = NotPresent;
+ }
+ }else if(fi.isDir()){
+ if(fi.fileName() == ".."){
+ fData[IconRow]->setIcon(QIcon(":/up_dick.png"));
+ attr = ParentDir;
}else{
- i1 = new QStandardItem(QIcon(":/chastity_belt.png"), QString());
- i1->setData(NotPresent);
- i2->setForeground(redBrush);
+ fData[IconRow]->setIcon(QIcon(":/folder.png"));
+ attr = Directory;
}
+ fData[Md5Row]->setText(tr("n/a"));
}else{
- i1 = new QStandardItem(QIcon(":/gaping_ass.png"), QString());
- i1->setData(NoVideo);
- i4 = new QStandardItem(tr("n/a"));
- i4->setFont(QFont("courier new"));
+ fData[IconRow]->setIcon(QIcon(":/gaping_ass.png"));
+ fData[Md5Row]->setText(tr("n/a"));
+ attr = NoVideo;
+ }
+ fData[MimeRow]->setText(mime.name());
+ if(mime.name() == "inode/directory"){
+ fData[MimeRow]->setText("directory");
+ }
+ for(int i = 0; i < RowCount; ++i){
+ fData[i]->setData(attr);
}
- i1->setEditable(false);
- QStandardItem *i3 = new QStandardItem(mime.name());
- i3->setEditable(false);
- root->appendRow(QList<QStandardItem*>() << i1 << i2 << i3 << i4);
+ root->appendRow(fData);
}
readHeaderData();
qApp->restoreOverrideCursor();