From 62e8ec3fdfc47dea34dd9adb62c0307570d6a591 Mon Sep 17 00:00:00 2001 From: ZappoMan Date: Thu, 20 Aug 2015 15:09:52 -0700 Subject: [PATCH] add fullscreen menu item and rename side by side stereo plugin --- .../Basic2DWindowOpenGLDisplayPlugin.cpp | 4 ++-- .../stereo/SideBySideStereoDisplayPlugin.cpp | 24 ++++++++++++++++++- .../stereo/SideBySideStereoDisplayPlugin.h | 6 ++++- 3 files changed, 30 insertions(+), 4 deletions(-) diff --git a/libraries/display-plugins/src/display-plugins/Basic2DWindowOpenGLDisplayPlugin.cpp b/libraries/display-plugins/src/display-plugins/Basic2DWindowOpenGLDisplayPlugin.cpp index 14ba868275..018a09ff7e 100644 --- a/libraries/display-plugins/src/display-plugins/Basic2DWindowOpenGLDisplayPlugin.cpp +++ b/libraries/display-plugins/src/display-plugins/Basic2DWindowOpenGLDisplayPlugin.cpp @@ -13,8 +13,8 @@ const QString Basic2DWindowOpenGLDisplayPlugin::NAME("2D Display"); -const QString MENU_PATH = "Display"; -const QString FULLSCREEN = "Fullscreen"; +static const QString MENU_PATH = "Display"; +static const QString FULLSCREEN = "Fullscreen"; const QString& Basic2DWindowOpenGLDisplayPlugin::getName() const { return NAME; diff --git a/libraries/display-plugins/src/display-plugins/stereo/SideBySideStereoDisplayPlugin.cpp b/libraries/display-plugins/src/display-plugins/stereo/SideBySideStereoDisplayPlugin.cpp index 72ef5249a8..829385b209 100644 --- a/libraries/display-plugins/src/display-plugins/stereo/SideBySideStereoDisplayPlugin.cpp +++ b/libraries/display-plugins/src/display-plugins/stereo/SideBySideStereoDisplayPlugin.cpp @@ -10,14 +10,19 @@ #include #include +#include #include #include #include #include +#include -const QString SideBySideStereoDisplayPlugin::NAME("Debug Stereo Display"); +const QString SideBySideStereoDisplayPlugin::NAME("3D TV - Side by Side Stereo"); + +static const QString MENU_PATH = "Display"; +static const QString FULLSCREEN = "Fullscreen"; const QString & SideBySideStereoDisplayPlugin::getName() const { return NAME; @@ -26,3 +31,20 @@ const QString & SideBySideStereoDisplayPlugin::getName() const { SideBySideStereoDisplayPlugin::SideBySideStereoDisplayPlugin() { } +void SideBySideStereoDisplayPlugin::activate() { + CONTAINER->addMenu(MENU_PATH); + CONTAINER->addMenuItem(MENU_PATH, FULLSCREEN, + [this](bool clicked) { + if (clicked) { + CONTAINER->setFullscreen(getFullscreenTarget()); + } else { + CONTAINER->unsetFullscreen(); + } + }, true, false); + StereoDisplayPlugin::activate(); +} + +// FIXME target the screen the window is currently on +QScreen* SideBySideStereoDisplayPlugin::getFullscreenTarget() { + return qApp->primaryScreen(); +} diff --git a/libraries/display-plugins/src/display-plugins/stereo/SideBySideStereoDisplayPlugin.h b/libraries/display-plugins/src/display-plugins/stereo/SideBySideStereoDisplayPlugin.h index ead9ea7dc4..3a764d9f4e 100644 --- a/libraries/display-plugins/src/display-plugins/stereo/SideBySideStereoDisplayPlugin.h +++ b/libraries/display-plugins/src/display-plugins/stereo/SideBySideStereoDisplayPlugin.h @@ -9,11 +9,15 @@ #include "StereoDisplayPlugin.h" +class QScreen; + class SideBySideStereoDisplayPlugin : public StereoDisplayPlugin { Q_OBJECT public: SideBySideStereoDisplayPlugin(); - virtual const QString & getName() const override; + virtual const QString& getName() const override; + virtual void activate() override; private: + QScreen* getFullscreenTarget(); static const QString NAME; };