UI: Add right-click context menu to projector

For now, just has the option to close the projector window.
This commit is contained in:
jp9000 2015-04-13 14:31:36 -07:00
parent 0b56536ad2
commit 661acfe043
2 changed files with 18 additions and 0 deletions

View File

@ -1,8 +1,11 @@
#include <QAction>
#include <QMouseEvent>
#include <QMenu>
#include "window-projector.hpp"
#include "display-helpers.hpp"
#include "qt-wrappers.hpp"
#include "platform.hpp"
#include "obs-app.hpp"
OBSProjector::OBSProjector(QWidget *widget, obs_source_t *source_)
: OBSQTDisplay (widget,
@ -97,6 +100,17 @@ void OBSProjector::OBSSourceRemoved(void *data, calldata_t *params)
UNUSED_PARAMETER(params);
}
void OBSProjector::mousePressEvent(QMouseEvent *event)
{
OBSQTDisplay::mousePressEvent(event);
if (event->button() == Qt::RightButton) {
QMenu popup(this);
popup.addAction(QTStr("Close"), this, SLOT(EscapeTriggered()));
popup.exec(QCursor::pos());
}
}
void OBSProjector::EscapeTriggered()
{
deleteLater();

View File

@ -3,6 +3,8 @@
#include <obs.hpp>
#include "qt-display.hpp"
class QMouseEvent;
class OBSProjector : public OBSQTDisplay {
Q_OBJECT
@ -14,6 +16,8 @@ private:
static void OBSRender(void *data, uint32_t cx, uint32_t cy);
static void OBSSourceRemoved(void *data, calldata_t *params);
void mousePressEvent(QMouseEvent *event) override;
private slots:
void EscapeTriggered();