summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArno <am@disconnect.de>2013-09-14 08:05:57 +0200
committerArno <am@disconnect.de>2013-09-14 08:05:57 +0200
commit361a5c3fbd2a693440491e3720e77a6245ac48d6 (patch)
treeef5f97327442c4a217154361f687c38a63c1033d
parent19a7e82de5decb45caf07acc0d1161b1f05cb15b (diff)
downloadSheMov-361a5c3fbd2a693440491e3720e77a6245ac48d6.tar.gz
SheMov-361a5c3fbd2a693440491e3720e77a6245ac48d6.tar.bz2
SheMov-361a5c3fbd2a693440491e3720e77a6245ac48d6.zip
Add preview to FilesystemWidget
-rw-r--r--filesystemwidget.cpp19
-rw-r--r--filesystemwidget.h1
-rw-r--r--shemov.cpp3
-rw-r--r--shemov.h1
4 files changed, 24 insertions, 0 deletions
diff --git a/filesystemwidget.cpp b/filesystemwidget.cpp
index c2d3861..8c013ec 100644
--- a/filesystemwidget.cpp
+++ b/filesystemwidget.cpp
@@ -434,6 +434,25 @@ void FilesystemWidget::setWindowTitle(){
emit windowTitle(mWindowTitle);
}
+void FilesystemWidget::preview(){
+ QModelIndex curIdx = mFileView->selectionModel()->currentIndex();
+ QString mimeType = curIdx.data(SmDirModel::TypeRole).toString();
+ if(mimeType.startsWith("video")){
+ qApp->setOverrideCursor(Qt::BusyCursor);
+ mPicViewer->setShowMappingItem(false);
+ QPixmap pm(Helper::preview(curIdx.data(SmDirModel::FullPathRole).toString()));
+ if(!pm.isNull()){
+ mPicViewer->setPixmap(pm);
+ mPicViewer->show();
+ }
+ qApp->restoreOverrideCursor();
+ }else if(mimeType.startsWith("image")){
+ mPicViewer->setShowMappingItem(false);
+ mPicViewer->setFile(curIdx.data(SmDirModel::FullPathRole).toString());
+ mPicViewer->show();
+ }
+}
+
void FilesystemWidget::deleteRecursive(const QFileInfo &start){
if(start.isDir()){
QDir curDir = QDir(start.absoluteFilePath());;
diff --git a/filesystemwidget.h b/filesystemwidget.h
index e3a2597..751a805 100644
--- a/filesystemwidget.h
+++ b/filesystemwidget.h
@@ -59,6 +59,7 @@ class FilesystemWidget : public QWidget {
void moveToArchive();
void selectAllPV();
void setWindowTitle();
+ void preview();
private slots:
void dirExpanded(const QModelIndex &idx);
diff --git a/shemov.cpp b/shemov.cpp
index e9c8427..2b7666d 100644
--- a/shemov.cpp
+++ b/shemov.cpp
@@ -435,6 +435,8 @@ void SheMov::createActions(){
connect(mRefreshA, SIGNAL(triggered()), mFSWidget->fileModel(), SLOT(refresh()));
mFSViewPropertiesA = new QAction(tr("Properties..."), this);
connect(mFSViewPropertiesA, SIGNAL(triggered()), mFSWidget->fileView(), SLOT(properties()));
+ mFSPreviewA = new QAction(tr("Preview..."), this);
+ connect(mFSPreviewA, SIGNAL(triggered()), mFSWidget, SLOT(preview()));
//Help menu
QString aboutLabel = QString(tr("About %1...")).arg(qApp->applicationName());
@@ -759,6 +761,7 @@ void SheMov::createMenus(){
mFSWidget->fileView()->addAction(mArchiveSelectedPicsA);
mFSWidget->fileView()->addAction(mArchiveSelectedMovsA);
mFSWidget->fileView()->addAction(createSeparator());
+ mFSWidget->fileView()->addAction(mFSPreviewA);
mFSWidget->fileView()->addAction(mFSViewPropertiesA);
// Movie archive
diff --git a/shemov.h b/shemov.h
index 0b41bc0..4a6bf23 100644
--- a/shemov.h
+++ b/shemov.h
@@ -105,6 +105,7 @@ class SheMov : public QMainWindow {
QAction *mNewMovieWizardA;
QAction *mMoveToArchiveA;
QAction *mFSViewPropertiesA;
+ QAction *mFSPreviewA;
//Filesystem View Actions
QActionGroup *mOpenWithGroupFS;