diff options
author | Arno <am@disconnect.de> | 2013-09-14 08:05:57 +0200 |
---|---|---|
committer | Arno <am@disconnect.de> | 2013-09-14 08:05:57 +0200 |
commit | 361a5c3fbd2a693440491e3720e77a6245ac48d6 (patch) | |
tree | ef5f97327442c4a217154361f687c38a63c1033d | |
parent | 19a7e82de5decb45caf07acc0d1161b1f05cb15b (diff) | |
download | SheMov-361a5c3fbd2a693440491e3720e77a6245ac48d6.tar.gz SheMov-361a5c3fbd2a693440491e3720e77a6245ac48d6.tar.bz2 SheMov-361a5c3fbd2a693440491e3720e77a6245ac48d6.zip |
Add preview to FilesystemWidget
-rw-r--r-- | filesystemwidget.cpp | 19 | ||||
-rw-r--r-- | filesystemwidget.h | 1 | ||||
-rw-r--r-- | shemov.cpp | 3 | ||||
-rw-r--r-- | shemov.h | 1 |
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); @@ -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 @@ -105,6 +105,7 @@ class SheMov : public QMainWindow { QAction *mNewMovieWizardA; QAction *mMoveToArchiveA; QAction *mFSViewPropertiesA; + QAction *mFSPreviewA; //Filesystem View Actions QActionGroup *mOpenWithGroupFS; |