16 #include "../QtPlayer.h"
18 #include <QMessageBox>
19 #include <QFileDialog>
25 #include <QCloseEvent>
26 #include <QApplication>
30 , vbox(new QVBoxLayout(this))
31 , menu(new QMenuBar(this))
33 , player(new
openshot::QtPlayer(video->GetRenderer()))
35 setWindowTitle(
"OpenShot Player");
37 menu->setNativeMenuBar(
false);
39 QAction *action = NULL;
40 action = menu->addAction(
"Choose File");
41 connect(action, SIGNAL(triggered(
bool)),
this, SLOT(open(
bool)));
43 vbox->addWidget(menu, 0);
44 vbox->addWidget(video, 1);
51 setFocusPolicy(Qt::StrongFocus);
62 QWidget *pWin = QApplication::activeWindow();
70 if (event->key() == Qt::Key_Space || event->key() == Qt::Key_K) {
81 if (player->
Speed() == 0)
91 else if (event->key() == Qt::Key_J) {
92 if (player->
Speed() - 1 != 0)
100 else if (event->key() == Qt::Key_L) {
101 if (player->
Speed() + 1 != 0)
110 else if (event->key() == Qt::Key_Left) {
111 if (player->
Speed() != 0)
115 else if (event->key() == Qt::Key_Right) {
116 if (player->
Speed() != 0)
120 else if (event->key() == Qt::Key_Escape) {
121 QWidget *pWin = QApplication::activeWindow();
126 QApplication::quit();
130 QWidget::keyPressEvent(event);
133 void PlayerDemo::open(
bool checked)
136 const QString filename = QFileDialog::getOpenFileName(
this,
"Open Video File");
137 if (filename.isEmpty())
return;
140 QString project_json =
"";
141 if (filename.endsWith(
".osp")) {
142 QFile file(filename);
143 if (!file.open(QIODevice::ReadOnly | QIODevice::Text))
145 while (!file.atEnd()) {
146 QByteArray line = file.readLine();
147 project_json += line;
154 player->
SetSource(filename.toStdString());