improved desktop UI
[mardrone] / mardrone / qmlappviewer.cpp
1 #include "qmlappviewer.h"
2 #include <QDebug>
3 #include <QEvent>
4 #include <QCloseEvent>
5
6 QmlAppViewer::QmlAppViewer(QWidget *parent) :QDeclarativeView(parent),
7             m_closePressed(false)
8 {
9 }
10
11 void QmlAppViewer::closeEvent(QCloseEvent *event)
12 {
13     qDebug() << Q_FUNC_INFO << event->spontaneous();
14             if (event->spontaneous() && m_closePressed) {
15                 event->setAccepted(false);
16                 m_closePressed = false;
17                 return;
18     }
19             QDeclarativeView::closeEvent(event);
20 }
21
22 void QmlAppViewer::keyPressEvent(QKeyEvent *event)
23 {
24             qDebug() << Q_FUNC_INFO << event->key();
25             if (event->key() == Qt::Key_Close) {
26                 m_closePressed = true;
27                 qDebug() << "Qt::Key_Close";
28             }
29             QDeclarativeView::keyPressEvent(event);
30 }
31 void QmlAppViewer::keyReleaseEvent(QKeyEvent *event)
32 {
33             qDebug() << Q_FUNC_INFO << event->key();
34             if (event->key() == Qt::Key_Close) {
35                 m_closePressed = true;
36                 qDebug() << "Qt::Key_Close";
37             }
38             if (event->key() == Qt::Key_MediaPrevious  ) {
39                 emit backKey();
40                 qDebug() << "Qt::Key_MediaPrevious";
41             }
42             QDeclarativeView::keyReleaseEvent(event);
43 }