diff options
author | Arno <am@disconnect.de> | 2014-02-15 04:35:18 +0100 |
---|---|---|
committer | Arno <am@disconnect.de> | 2014-02-15 04:35:18 +0100 |
commit | dcbf9244f0ed147a5f3c412b9e83c581b58fa1b2 (patch) | |
tree | 455561520575ed90ce175bd73beb3042bd5c3ff5 | |
parent | 46807ccba3cd55302e71ee865fa87131f123ed17 (diff) | |
download | SheMov-dcbf9244f0ed147a5f3c412b9e83c581b58fa1b2.tar.gz SheMov-dcbf9244f0ed147a5f3c412b9e83c581b58fa1b2.tar.bz2 SheMov-dcbf9244f0ed147a5f3c412b9e83c581b58fa1b2.zip |
Act on DoubleClick in ArchiveBrowser
Picture: show in PictureViewer
Movie: show preview
-rw-r--r-- | archivebrowser.cpp | 21 | ||||
-rw-r--r-- | archivebrowser.h | 3 | ||||
-rw-r--r-- | shemov.cpp | 2 |
3 files changed, 23 insertions, 3 deletions
diff --git a/archivebrowser.cpp b/archivebrowser.cpp index 006c9e7..8f715c8 100644 --- a/archivebrowser.cpp +++ b/archivebrowser.cpp @@ -21,6 +21,7 @@ #include "archivebrowsermodel.h" #include "smtreeview.h" #include "smglobals.h" +#include "pictureviewer2.h" #include "delegates.h" #include "helper.h" @@ -55,6 +56,7 @@ ArchiveBrowser::ArchiveBrowser(QWidget *parent) : QWidget(parent), mSelectedSize //connect connect(mTree->selectionModel(), SIGNAL(selectionChanged(QItemSelection,QItemSelection)), this, SLOT(browserSelectionChanged(QItemSelection,QItemSelection))); + connect(mTree, SIGNAL(doubleClicked(QModelIndex)), this, SLOT(itemDoubleClicked(QModelIndex))); connect(mModel, SIGNAL(populated()), this, SLOT(resetAll())); //make widget @@ -144,7 +146,7 @@ void ArchiveBrowser::refresh() { mModel->refresh(); } -void ArchiveBrowser::playCurrent(){ +void ArchiveBrowser::playSelected(){ QPair<QString, QStringList> pgdata = Helper::programData("movieviewer"); QModelIndexList sel = mTree->selectionModel()->selectedRows(); QStringList movieFiles; @@ -166,6 +168,23 @@ void ArchiveBrowser::playCurrent(){ QProcess::startDetached(prg, args); } +void ArchiveBrowser::itemDoubleClicked(QModelIndex cur){ + if(cur.data(ArchiveBrowserModel::NodeTypeRole).toInt() == ArchiveBrowserModel::SeriesPartNode){ + return; + } + if(cur.data(ArchiveBrowserModel::NodeTypeRole).toInt() == ArchiveBrowserModel::FileNode){ + int fileType = cur.data(ArchiveBrowserModel::FileTypeRole).toInt(); + PictureViewer2 *picView = SmGlobals::instance()->pictureViewer(); + if(fileType == 1){ //movie + QPixmap pm = Helper::preview(cur.data(ArchiveBrowserModel::FullPathRole).toString()); + picView->setPixmap(pm); + }else if(fileType == 2 || fileType == 3){ //pic + picView->setFile(cur.data(ArchiveBrowserModel::FullPathRole).toString()); + } + picView->show(); + } +} + void ArchiveBrowser::setupQualityFilter(){ mQualityFilter->clear(); QList<int> qualities = mModel->availableQualities(); diff --git a/archivebrowser.h b/archivebrowser.h index 7b8fdcd..6656622 100644 --- a/archivebrowser.h +++ b/archivebrowser.h @@ -33,7 +33,8 @@ class ArchiveBrowser : public QWidget { void writeSettings(); void moveToBurn(); void refresh(); - void playCurrent(); + void playSelected(); + void itemDoubleClicked(QModelIndex); private slots: void setupQualityFilter(); @@ -658,7 +658,7 @@ void SheMov::createActions(){ mArchiveBrowserRefreshA = new QAction(QIcon(":/refresh.png"), tr("Refresh"), this); connect(mArchiveBrowserRefreshA, SIGNAL(triggered()), mArchiveBrowser, SLOT(refresh())); mArchiveBrowserPlaySelectedA = new QAction(QIcon(":/dildo.png"), tr("Play selected..."), this); - connect(mArchiveBrowserPlaySelectedA, SIGNAL(triggered()), mArchiveBrowser, SLOT(playCurrent())); + connect(mArchiveBrowserPlaySelectedA, SIGNAL(triggered()), mArchiveBrowser, SLOT(playSelected())); // db analyzer dialogs // analyze actors |