aboutsummaryrefslogtreecommitdiff
path: root/src-qt5/desktop-utils/lumina-fileinfo/MainUI.cpp
diff options
context:
space:
mode:
authorZackaryWelch <welch.zackary@gmail.com>2017-10-03 15:24:26 -0400
committerZackaryWelch <welch.zackary@gmail.com>2017-10-03 15:24:26 -0400
commit711b219a001d0c4fdd61367903696fa1c6ff1a3d (patch)
tree2682e737fb6e90adcb0f9e465d3cfe2ad2b51c09 /src-qt5/desktop-utils/lumina-fileinfo/MainUI.cpp
parentAdjust the border on the simple scrollbar style, and update the pkg-plist. (diff)
downloadlumina-711b219a001d0c4fdd61367903696fa1c6ff1a3d.tar.gz
lumina-711b219a001d0c4fdd61367903696fa1c6ff1a3d.tar.bz2
lumina-711b219a001d0c4fdd61367903696fa1c6ff1a3d.zip
Added experimental video thumbnails in lumina-fm and fileinfo
Diffstat (limited to 'src-qt5/desktop-utils/lumina-fileinfo/MainUI.cpp')
-rw-r--r--src-qt5/desktop-utils/lumina-fileinfo/MainUI.cpp25
1 files changed, 23 insertions, 2 deletions
diff --git a/src-qt5/desktop-utils/lumina-fileinfo/MainUI.cpp b/src-qt5/desktop-utils/lumina-fileinfo/MainUI.cpp
index d82f09ce..4d695ab4 100644
--- a/src-qt5/desktop-utils/lumina-fileinfo/MainUI.cpp
+++ b/src-qt5/desktop-utils/lumina-fileinfo/MainUI.cpp
@@ -8,6 +8,7 @@
#include "MainUI.h"
#include "ui_MainUI.h"
+#include <QVideoFrame>
#include <QFileDialog>
#include <QMessageBox>
@@ -22,12 +23,17 @@ MainUI::MainUI() : QDialog(), ui(new Ui::MainUI){
terminate_thread = false;
UpdateIcons(); //Set all the icons in the dialog
SetupConnections();
+ player = new QMediaPlayer(0, QMediaPlayer::VideoSurface);
+ surface = new LVideoSurface();
+ player->setVideoOutput(surface);
INFO = 0;
}
MainUI::~MainUI(){
terminate_thread = true;
this->close();
+ delete surface;
+ delete player;
}
//=============
@@ -86,7 +92,15 @@ void MainUI::LoadFile(QString path, QString type){
ui->label_file_icon->setPixmap( pix.scaledToHeight(64) );
ui->label_file_size->setText( ui->label_file_size->text()+" ("+QString::number(pix.width())+" x "+QString::number(pix.height())+" px)" );
//qDebug() << " - done with image";
- }else{
+ }/*else if(INFO->isVideo()){
+ player->setMedia(QUrl("file://"+INFO->absoluteFilePath()));
+ player->play();
+ player->setPosition(player->duration() / 2);
+ connect(surface, SIGNAL(frameReceived(QImage)), this, SLOT(stopVideo(QImage)));
+ //Pixmap set when video is loaded in stopVideo
+ //ui->label_file_icon->setPixmap( QPixmap::fromImage(surface->frameImage()).scaledToHeight(64) );
+ //ui->label_file_size->setText( ui->label_file_size->text()+" ("+QString::number(pix.width())+" x "+QString::number(pix.height())+" px)" );
+ }*/else{
ui->label_file_icon->setPixmap( LXDG::findIcon( INFO->iconfile(), "unknown").pixmap(QSize(64,64)) );
}
//Now verify the tab is available in the widget
@@ -103,7 +117,7 @@ void MainUI::LoadFile(QString path, QString type){
}
//Now load the special XDG desktop info
qDebug() << "Check XDG Info:" << type;
- //qDebug() << INFO->isDesktopFile() << type;
+ qDebug() << INFO->isDesktopFile() << type;
if(INFO->isDesktopFile() || !type.isEmpty()){
if(INFO->XDG()->type == XDGDesktop::APP){
@@ -296,6 +310,13 @@ void MainUI::getXdgCommand(QString prev){
xdgvaluechanged();
}
+/*void MainUI::stopVideo(QImage img) {
+ static bool flag = true;
+ if(flag) { player->setPosition(player->duration() / 2); flag = false;}
+ player->pause();
+ ui->label_file_icon->setPixmap( QPixmap::fromImage( img.scaledToHeight(64) ));
+}*/
+
void MainUI::on_tool_xdg_getDir_clicked(){
//Find a directory
QString dir = ui->line_xdg_wdir->text();
bgstack15