diff --git a/src/projectM-qt/qprojectm_mainwindow.cpp b/src/projectM-qt/qprojectm_mainwindow.cpp index 142159bb1..77371fdd7 100644 --- a/src/projectM-qt/qprojectm_mainwindow.cpp +++ b/src/projectM-qt/qprojectm_mainwindow.cpp @@ -118,6 +118,7 @@ activePresetIndex(new Nullable), playlistItemCounter(0), m_QPresetEditorDi m_QProjectMWidget->makeCurrent(); m_QProjectMWidget->setFocus(); setCentralWidget ( m_QProjectMWidget ); + m_QProjectMWidget->installEventFilter(this); m_timer->start ( 0 ); @@ -1315,3 +1316,16 @@ void QProjectM_MainWindow::handleFailedPresetSwitch(const bool isHardCut, const } +bool QProjectM_MainWindow::eventFilter(QObject *obj, QEvent *event) +{ + if (event->type() == QEvent::MouseButtonDblClick && ((QMouseEvent*)event)->button() == Qt::LeftButton) { + this->setWindowState ( this->windowState() ^ Qt::WindowFullScreen ); + return true; + } else if (event->type() == QEvent::MouseButtonPress && ((QMouseEvent*)event)->button() == Qt::RightButton) { + setMenuVisible(!_menuVisible); + refreshHeaders(); + return true; + } else { + return false; + } +} diff --git a/src/projectM-qt/qprojectm_mainwindow.hpp b/src/projectM-qt/qprojectm_mainwindow.hpp index b9b62eda9..95da85454 100644 --- a/src/projectM-qt/qprojectm_mainwindow.hpp +++ b/src/projectM-qt/qprojectm_mainwindow.hpp @@ -101,6 +101,7 @@ class QProjectM_MainWindow:public QMainWindow void keyReleaseEvent ( QKeyEvent * e ); QProjectM * qprojectM(); void refreshPlaylist(); + bool eventFilter(QObject *obj, QEvent *event); QProjectMWidget * qprojectMWidget() { return m_QProjectMWidget; }