summaryrefslogtreecommitdiffstats
path: root/filewidget.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'filewidget.cpp')
-rw-r--r--filewidget.cpp46
1 files changed, 30 insertions, 16 deletions
diff --git a/filewidget.cpp b/filewidget.cpp
index d1d7a6a..0e3c9f1 100644
--- a/filewidget.cpp
+++ b/filewidget.cpp
@@ -66,6 +66,7 @@ void FileWidget::setupGui(){
mFileView->setSortingEnabled(true);
mFileView->setSelectionBehavior(QAbstractItemView::SelectRows);
mFileView->setSelectionMode(QAbstractItemView::ExtendedSelection);
+ connect(mFileView, SIGNAL(doubleClicked(QModelIndex)), this, SLOT(itemDoubleClicked(QModelIndex)));
mModel = new QStandardItemModel;
mProxy = new VideoSorter;
@@ -110,47 +111,47 @@ void FileWidget::gatherData(){
QMimeType mime = db.mimeTypeForFile(fi);
QList<QStandardItem*> fData;
FileAttrs attr = NotPresent;
- for(int i = 0; i < RowCount; ++i){
+ for(int i = 0; i < ColumnCount; ++i){
QStandardItem *item = new QStandardItem;
item->setEditable(false);
- if(i == Md5Row){
+ if(i == Md5Column){
item->setFont(QFont("courier new"));
}
fData << item;
}
- fData[NameRow]->setText(fi.fileName());
+ fData[NameColumn]->setText(fi.fileName());
if(mime.name().startsWith("video")){
QString md5 = Helper::md5Sum(fi.absoluteFilePath());
- fData[Md5Row]->setText(md5);
+ fData[Md5Column]->setText(md5);
int haveFile = md5Count(md5);
if(haveFile){
- fData[IconRow]->setIcon(QIcon(":/huge_bra.png"));
- fData[NameRow]->setForeground(greenBrush);
+ fData[IconColumn]->setIcon(QIcon(":/huge_bra.png"));
+ fData[NameColumn]->setForeground(greenBrush);
attr = Present;
}else{
- fData[IconRow]->setIcon(QIcon(":/chastity_belt.png"));
- fData[NameRow]->setForeground(redBrush);
+ fData[IconColumn]->setIcon(QIcon(":/chastity_belt.png"));
+ fData[NameColumn]->setForeground(redBrush);
attr = NotPresent;
}
}else if(fi.isDir()){
if(fi.fileName() == ".."){
- fData[IconRow]->setIcon(QIcon(":/up_dick.png"));
+ fData[IconColumn]->setIcon(QIcon(":/up_dick.png"));
attr = ParentDir;
}else{
- fData[IconRow]->setIcon(QIcon(":/folder.png"));
+ fData[IconColumn]->setIcon(QIcon(":/folder.png"));
attr = Directory;
}
- fData[Md5Row]->setText(tr("n/a"));
+ fData[Md5Column]->setText(tr("n/a"));
}else{
- fData[IconRow]->setIcon(QIcon(":/gaping_ass.png"));
- fData[Md5Row]->setText(tr("n/a"));
+ fData[IconColumn]->setIcon(QIcon(":/gaping_ass.png"));
+ fData[Md5Column]->setText(tr("n/a"));
attr = NoVideo;
}
- fData[MimeRow]->setText(mime.name());
+ fData[MimeColumn]->setText(mime.name());
if(mime.name() == "inode/directory"){
- fData[MimeRow]->setText("directory");
+ fData[MimeColumn]->setText("directory");
}
- for(int i = 0; i < RowCount; ++i){
+ for(int i = 0; i < ColumnCount; ++i){
fData[i]->setData(attr);
}
root->appendRow(fData);
@@ -220,3 +221,16 @@ void FileWidget::searchFile(){
}
}
}
+
+void FileWidget::itemDoubleClicked(const QModelIndex &idx){
+ if(idx.column() == NameColumn){
+ int attr = idx.data(Qt::UserRole + 1).toInt();
+ if(attr == ParentDir || attr == Directory){
+ QDir d(mDir->text());
+ d.cd(idx.data().toString());
+ QString newDir = d.absolutePath();
+ mDir->setText(QDir::toNativeSeparators(newDir));
+ gatherData();
+ }
+ }
+}