From 1b18f70862f62f8783976407057ea5a5cf88bdac Mon Sep 17 00:00:00 2001 From: am Date: Mon, 6 Jul 2009 18:15:29 +0000 Subject: -fixed showing tree in fileview -when a movie or image is activated, it's shown in the configured viewer git-svn-id: file:///var/svn/repos2/shemov/trunk@379 f440f766-f032-0410-8965-dc7d17de2ca0 --- filesystemwidget.cpp | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'filesystemwidget.cpp') diff --git a/filesystemwidget.cpp b/filesystemwidget.cpp index 45edccb..64fc530 100644 --- a/filesystemwidget.cpp +++ b/filesystemwidget.cpp @@ -15,6 +15,7 @@ #include #include #include +#include #include #include "filesystemwidget.h" @@ -22,6 +23,7 @@ #include "fileview.h" #include "shemoviconprovider.h" #include "filesystemfileproxy.h" +#include "helper.h" FilesystemWidget::FilesystemWidget(QWidget *parent) : QWidget(parent) { mModel = new QDirModel; @@ -46,6 +48,8 @@ FilesystemWidget::FilesystemWidget(QWidget *parent) : QWidget(parent) { mFileView->setModel(mFileProxy); mFileView->setSortingEnabled(true); mFileView->sortByColumn(0, Qt::AscendingOrder); + mFileView->setItemsExpandable(false); + mFileView->setSelectionMode(QAbstractItemView::ExtendedSelection); QWidget *fileWidget = new QWidget; QHBoxLayout *directoryEdit = new QHBoxLayout; @@ -102,6 +106,7 @@ void FilesystemWidget::directoryChanged(const QModelIndex &selected, const QMode } mDirEdit->setText(mModel->filePath(real)); QModelIndex oldSelected = mDirProxy->mapToSource(deselected); + mFileView->selectionModel()->clear(); mFileView->setCurrentIndex(mFileProxy->mapFromSource(oldSelected)); mFileView->setRootIndex(mFileProxy->mapFromSource(real)); } @@ -123,6 +128,20 @@ void FilesystemWidget::fileViewActivated(const QModelIndex &idx){ mDirView->setCurrentIndex(mDirProxy->mapFromSource(real)); return; } + QString path = mModel->filePath(real); + QString mt = Helper::mimeType(path); + QSettings s; + QStringList programArgs; + QString program; + if(mt.toLower().startsWith("video")){ + program = s.value("paths/video").toString(); + programArgs = s.value("paths/videoargs").toStringList(); + } + if(mt.toLower().startsWith("image")){ + program = s.value("paths/picture").toString(); + } + programArgs << path; + QProcess::execute(program, programArgs); } void FilesystemWidget::parentDir(){ -- cgit v1.2.3-70-g09d2