From dcbf9244f0ed147a5f3c412b9e83c581b58fa1b2 Mon Sep 17 00:00:00 2001 From: Arno Date: Sat, 15 Feb 2014 04:35:18 +0100 Subject: Act on DoubleClick in ArchiveBrowser Picture: show in PictureViewer Movie: show preview --- archivebrowser.cpp | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) (limited to 'archivebrowser.cpp') 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 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 qualities = mModel->availableQualities(); -- cgit v1.2.3-70-g09d2