summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArno <am@disconnect.de>2014-02-15 04:35:18 +0100
committerArno <am@disconnect.de>2014-02-15 04:35:18 +0100
commitdcbf9244f0ed147a5f3c412b9e83c581b58fa1b2 (patch)
tree455561520575ed90ce175bd73beb3042bd5c3ff5
parent46807ccba3cd55302e71ee865fa87131f123ed17 (diff)
downloadSheMov-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.cpp21
-rw-r--r--archivebrowser.h3
-rw-r--r--shemov.cpp2
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();
diff --git a/shemov.cpp b/shemov.cpp
index 830932a..705cf3a 100644
--- a/shemov.cpp
+++ b/shemov.cpp
@@ -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