summaryrefslogtreecommitdiffstats
path: root/archivebrowser.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'archivebrowser.cpp')
-rw-r--r--archivebrowser.cpp21
1 files changed, 20 insertions, 1 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();