From dfba05ae5f825b2281a4a11a6108d5907149f05c Mon Sep 17 00:00:00 2001 From: Brad Hefta-Gaub Date: Mon, 11 Jan 2016 11:07:07 -0800 Subject: [PATCH] CR feedback --- interface/src/Application.cpp | 37 ++++++++++++++----- .../Basic2DWindowOpenGLDisplayPlugin.cpp | 1 - .../Basic2DWindowOpenGLDisplayPlugin.h | 2 - .../src/display-plugins/NullDisplayPlugin.cpp | 1 - .../src/display-plugins/NullDisplayPlugin.h | 1 + .../stereo/InterleavedStereoDisplayPlugin.cpp | 1 - .../stereo/InterleavedStereoDisplayPlugin.h | 3 +- .../stereo/SideBySideStereoDisplayPlugin.cpp | 1 - .../stereo/SideBySideStereoDisplayPlugin.h | 3 +- .../src/input-plugins/KeyboardMouseDevice.cpp | 1 - .../src/input-plugins/KeyboardMouseDevice.h | 2 - libraries/plugins/src/plugins/Plugin.h | 6 ++- plugins/hifiNeuron/src/NeuronPlugin.cpp | 1 - plugins/hifiNeuron/src/NeuronPlugin.h | 2 - plugins/hifiSdl2/src/SDL2Manager.cpp | 1 - plugins/hifiSdl2/src/SDL2Manager.h | 2 - plugins/hifiSixense/src/SixenseManager.cpp | 1 - plugins/hifiSixense/src/SixenseManager.h | 2 - .../oculus/src/OculusDebugDisplayPlugin.cpp | 2 - plugins/oculus/src/OculusDebugDisplayPlugin.h | 3 +- plugins/oculus/src/OculusDisplayPlugin.cpp | 1 - plugins/oculus/src/OculusDisplayPlugin.h | 2 - .../src/OculusLegacyDisplayPlugin.cpp | 4 +- .../src/OculusLegacyDisplayPlugin.h | 2 - plugins/openvr/src/OpenVrDisplayPlugin.cpp | 2 - plugins/openvr/src/OpenVrDisplayPlugin.h | 2 - 26 files changed, 37 insertions(+), 49 deletions(-) diff --git a/interface/src/Application.cpp b/interface/src/Application.cpp index 7be74e717e..2fdd778339 100644 --- a/interface/src/Application.cpp +++ b/interface/src/Application.cpp @@ -5062,9 +5062,23 @@ const DisplayPlugin* Application::getActiveDisplayPlugin() const { static void addDisplayPluginToMenu(DisplayPluginPointer displayPlugin, bool active = false) { auto menu = Menu::getInstance(); QString name = displayPlugin->getName(); - QString grouping = displayPlugin->getGrouping(); + auto grouping = displayPlugin->getGrouping(); + QString groupingMenu { "" }; Q_ASSERT(!menu->menuItemExists(MenuOption::OutputMenu, name)); + // assign the meny grouping based on plugin grouping + switch (grouping) { + case Plugin::ADVANCED: + groupingMenu = "Advanced"; + break; + case Plugin::DEVELOPER: + groupingMenu = "Developer"; + break; + default: + groupingMenu = "Standard"; + break; + } + static QActionGroup* displayPluginGroup = nullptr; if (!displayPluginGroup) { displayPluginGroup = new QActionGroup(menu); @@ -5074,7 +5088,8 @@ static void addDisplayPluginToMenu(DisplayPluginPointer displayPlugin, bool acti auto action = menu->addActionToQMenuAndActionHash(parent, name, 0, qApp, SLOT(updateDisplayMode()), - QAction::NoRole, UNSPECIFIED_POSITION, grouping); + QAction::NoRole, UNSPECIFIED_POSITION, groupingMenu); + action->setCheckable(true); action->setChecked(active); displayPluginGroup->addAction(action); @@ -5094,13 +5109,17 @@ void Application::updateDisplayMode() { DisplayPluginList advanced; DisplayPluginList developer; foreach(auto displayPlugin, displayPlugins) { - QString grouping = displayPlugin->getGrouping(); - if (grouping == "Advanced") { - advanced.push_back(displayPlugin); - } else if (grouping == "Developer") { - developer.push_back(displayPlugin); - } else { - standard.push_back(displayPlugin); + auto grouping = displayPlugin->getGrouping(); + switch (grouping) { + case Plugin::ADVANCED: + advanced.push_back(displayPlugin); + break; + case Plugin::DEVELOPER: + developer.push_back(displayPlugin); + break; + default: + standard.push_back(displayPlugin); + break; } } diff --git a/libraries/display-plugins/src/display-plugins/Basic2DWindowOpenGLDisplayPlugin.cpp b/libraries/display-plugins/src/display-plugins/Basic2DWindowOpenGLDisplayPlugin.cpp index 11bed0e0af..fb6e9c3b65 100644 --- a/libraries/display-plugins/src/display-plugins/Basic2DWindowOpenGLDisplayPlugin.cpp +++ b/libraries/display-plugins/src/display-plugins/Basic2DWindowOpenGLDisplayPlugin.cpp @@ -16,7 +16,6 @@ #include const QString Basic2DWindowOpenGLDisplayPlugin::NAME("Desktop"); -const QString Basic2DWindowOpenGLDisplayPlugin::GROUPING("Standard"); static const QString FULLSCREEN = "Fullscreen"; diff --git a/libraries/display-plugins/src/display-plugins/Basic2DWindowOpenGLDisplayPlugin.h b/libraries/display-plugins/src/display-plugins/Basic2DWindowOpenGLDisplayPlugin.h index 29e26c1f28..6523b58914 100644 --- a/libraries/display-plugins/src/display-plugins/Basic2DWindowOpenGLDisplayPlugin.h +++ b/libraries/display-plugins/src/display-plugins/Basic2DWindowOpenGLDisplayPlugin.h @@ -19,7 +19,6 @@ class Basic2DWindowOpenGLDisplayPlugin : public WindowOpenGLDisplayPlugin { public: virtual const QString& getName() const override { return NAME; } - virtual const QString& getGrouping() const override { return GROUPING; } virtual float getTargetFrameRate() override { return _framerateTarget ? (float) _framerateTarget : TARGET_FRAMERATE_Basic2DWindowOpenGL; } @@ -38,7 +37,6 @@ protected: private: void updateFramerate(); static const QString NAME; - static const QString GROUPING; QScreen* getFullscreenTarget(); std::vector _framerateActions; QAction* _vsyncAction { nullptr }; diff --git a/libraries/display-plugins/src/display-plugins/NullDisplayPlugin.cpp b/libraries/display-plugins/src/display-plugins/NullDisplayPlugin.cpp index 54cf13fccd..f780534bc9 100644 --- a/libraries/display-plugins/src/display-plugins/NullDisplayPlugin.cpp +++ b/libraries/display-plugins/src/display-plugins/NullDisplayPlugin.cpp @@ -13,7 +13,6 @@ #include const QString NullDisplayPlugin::NAME("NullDisplayPlugin"); -const QString NullDisplayPlugin::GROUPING("Developer"); const QString & NullDisplayPlugin::getName() const { return NAME; diff --git a/libraries/display-plugins/src/display-plugins/NullDisplayPlugin.h b/libraries/display-plugins/src/display-plugins/NullDisplayPlugin.h index d574324472..d576dbad51 100644 --- a/libraries/display-plugins/src/display-plugins/NullDisplayPlugin.h +++ b/libraries/display-plugins/src/display-plugins/NullDisplayPlugin.h @@ -14,6 +14,7 @@ public: virtual ~NullDisplayPlugin() final {} virtual const QString & getName() const override; + virtual grouping getGrouping() const override { return DEVELOPER; } void stop() override; diff --git a/libraries/display-plugins/src/display-plugins/stereo/InterleavedStereoDisplayPlugin.cpp b/libraries/display-plugins/src/display-plugins/stereo/InterleavedStereoDisplayPlugin.cpp index 7aacebbcea..40c6e6306b 100644 --- a/libraries/display-plugins/src/display-plugins/stereo/InterleavedStereoDisplayPlugin.cpp +++ b/libraries/display-plugins/src/display-plugins/stereo/InterleavedStereoDisplayPlugin.cpp @@ -45,7 +45,6 @@ void main() { )FS"; const QString InterleavedStereoDisplayPlugin::NAME("3D TV - Interleaved"); -const QString InterleavedStereoDisplayPlugin::GROUPING("Advanced"); InterleavedStereoDisplayPlugin::InterleavedStereoDisplayPlugin() { } diff --git a/libraries/display-plugins/src/display-plugins/stereo/InterleavedStereoDisplayPlugin.h b/libraries/display-plugins/src/display-plugins/stereo/InterleavedStereoDisplayPlugin.h index 33b6397788..df2a9f4800 100644 --- a/libraries/display-plugins/src/display-plugins/stereo/InterleavedStereoDisplayPlugin.h +++ b/libraries/display-plugins/src/display-plugins/stereo/InterleavedStereoDisplayPlugin.h @@ -15,7 +15,7 @@ public: InterleavedStereoDisplayPlugin(); virtual const QString& getName() const override { return NAME; } - virtual const QString& getGrouping() const override { return GROUPING; } + virtual grouping getGrouping() const override { return ADVANCED; } // initialize OpenGL context settings needed by the plugin virtual void customizeContext() override; @@ -25,5 +25,4 @@ public: private: static const QString NAME; - static const QString GROUPING; }; diff --git a/libraries/display-plugins/src/display-plugins/stereo/SideBySideStereoDisplayPlugin.cpp b/libraries/display-plugins/src/display-plugins/stereo/SideBySideStereoDisplayPlugin.cpp index d542838d2f..e8a83d2b08 100644 --- a/libraries/display-plugins/src/display-plugins/stereo/SideBySideStereoDisplayPlugin.cpp +++ b/libraries/display-plugins/src/display-plugins/stereo/SideBySideStereoDisplayPlugin.cpp @@ -10,7 +10,6 @@ #include const QString SideBySideStereoDisplayPlugin::NAME("3D TV - Side by Side Stereo"); -const QString SideBySideStereoDisplayPlugin::GROUPING("Advanced"); SideBySideStereoDisplayPlugin::SideBySideStereoDisplayPlugin() { } diff --git a/libraries/display-plugins/src/display-plugins/stereo/SideBySideStereoDisplayPlugin.h b/libraries/display-plugins/src/display-plugins/stereo/SideBySideStereoDisplayPlugin.h index daca9cd474..70f69ba4cb 100644 --- a/libraries/display-plugins/src/display-plugins/stereo/SideBySideStereoDisplayPlugin.h +++ b/libraries/display-plugins/src/display-plugins/stereo/SideBySideStereoDisplayPlugin.h @@ -16,9 +16,8 @@ class SideBySideStereoDisplayPlugin : public StereoDisplayPlugin { public: SideBySideStereoDisplayPlugin(); virtual const QString& getName() const override { return NAME; } - virtual const QString& getGrouping() const override { return GROUPING; } + virtual grouping getGrouping() const override { return ADVANCED; } virtual glm::uvec2 getRecommendedRenderSize() const override; private: static const QString NAME; - static const QString GROUPING; }; diff --git a/libraries/input-plugins/src/input-plugins/KeyboardMouseDevice.cpp b/libraries/input-plugins/src/input-plugins/KeyboardMouseDevice.cpp index 45a1adb386..1d7fbbec67 100755 --- a/libraries/input-plugins/src/input-plugins/KeyboardMouseDevice.cpp +++ b/libraries/input-plugins/src/input-plugins/KeyboardMouseDevice.cpp @@ -19,7 +19,6 @@ #include const QString KeyboardMouseDevice::NAME = "Keyboard/Mouse"; -const QString KeyboardMouseDevice::GROUPING = "Standard"; void KeyboardMouseDevice::pluginUpdate(float deltaTime, bool jointsCaptured) { _inputDevice->update(deltaTime, jointsCaptured); diff --git a/libraries/input-plugins/src/input-plugins/KeyboardMouseDevice.h b/libraries/input-plugins/src/input-plugins/KeyboardMouseDevice.h index 654041ac35..6acb2bf041 100644 --- a/libraries/input-plugins/src/input-plugins/KeyboardMouseDevice.h +++ b/libraries/input-plugins/src/input-plugins/KeyboardMouseDevice.h @@ -68,7 +68,6 @@ public: virtual bool isSupported() const override { return true; } virtual bool isJointController() const override { return false; } virtual const QString& getName() const override { return NAME; } - virtual const QString& getGrouping() const override { return GROUPING; } virtual void pluginFocusOutEvent() override { _inputDevice->focusOutEvent(); } virtual void pluginUpdate(float deltaTime, bool jointsCaptured) override; @@ -88,7 +87,6 @@ public: void wheelEvent(QWheelEvent* event); static const QString NAME; - static const QString GROUPING; protected: diff --git a/libraries/plugins/src/plugins/Plugin.h b/libraries/plugins/src/plugins/Plugin.h index 6928416f88..ee10ce331c 100644 --- a/libraries/plugins/src/plugins/Plugin.h +++ b/libraries/plugins/src/plugins/Plugin.h @@ -19,8 +19,10 @@ public: /// \return human-readable name virtual const QString& getName() const = 0; - /// \return human-readable grouping for the plugin, Standard, Advanced, or Developer - virtual const QString& getGrouping() const = 0; + typedef enum { STANDARD, ADVANCED, DEVELOPER } grouping; + + /// \return human-readable grouping for the plugin, STANDARD, ADVANCED, or DEVELOPER + virtual grouping getGrouping() const { return STANDARD; } /// \return string ID (not necessarily human-readable) virtual const QString& getID() const { assert(false); return UNKNOWN_PLUGIN_ID; } diff --git a/plugins/hifiNeuron/src/NeuronPlugin.cpp b/plugins/hifiNeuron/src/NeuronPlugin.cpp index b9372967d1..a175ce8e06 100644 --- a/plugins/hifiNeuron/src/NeuronPlugin.cpp +++ b/plugins/hifiNeuron/src/NeuronPlugin.cpp @@ -30,7 +30,6 @@ Q_LOGGING_CATEGORY(inputplugins, "hifi.inputplugins") #endif const QString NeuronPlugin::NAME = "Neuron"; -const QString NeuronPlugin::GROUPING = "Standard"; const QString NeuronPlugin::NEURON_ID_STRING = "Perception Neuron"; // indices of joints of the Neuron standard skeleton. diff --git a/plugins/hifiNeuron/src/NeuronPlugin.h b/plugins/hifiNeuron/src/NeuronPlugin.h index 85ed3a3ecd..33c6879f5b 100644 --- a/plugins/hifiNeuron/src/NeuronPlugin.h +++ b/plugins/hifiNeuron/src/NeuronPlugin.h @@ -29,7 +29,6 @@ public: virtual bool isSupported() const override; virtual bool isJointController() const override { return true; } virtual const QString& getName() const override { return NAME; } - virtual const QString& getGrouping() const override { return GROUPING; } const QString& getID() const override { return NEURON_ID_STRING; } virtual void activate() override; @@ -66,7 +65,6 @@ protected: std::shared_ptr _inputDevice { std::make_shared() }; static const QString NAME; - static const QString GROUPING; static const QString NEURON_ID_STRING; std::string _serverAddress; diff --git a/plugins/hifiSdl2/src/SDL2Manager.cpp b/plugins/hifiSdl2/src/SDL2Manager.cpp index 554a8659c0..7ca49bbd75 100644 --- a/plugins/hifiSdl2/src/SDL2Manager.cpp +++ b/plugins/hifiSdl2/src/SDL2Manager.cpp @@ -44,7 +44,6 @@ static_assert( const QString SDL2Manager::NAME = "SDL2"; -const QString SDL2Manager::GROUPING = "Standard"; #ifdef HAVE_SDL2 SDL_JoystickID SDL2Manager::getInstanceId(SDL_GameController* controller) { diff --git a/plugins/hifiSdl2/src/SDL2Manager.h b/plugins/hifiSdl2/src/SDL2Manager.h index cb4d5cb744..6506cdccb6 100644 --- a/plugins/hifiSdl2/src/SDL2Manager.h +++ b/plugins/hifiSdl2/src/SDL2Manager.h @@ -30,7 +30,6 @@ public: virtual bool isSupported() const override; virtual bool isJointController() const override { return false; } virtual const QString& getName() const override { return NAME; } - virtual const QString& getGrouping() const override { return GROUPING; } virtual void init() override; virtual void deinit() override; @@ -85,7 +84,6 @@ private: #endif bool _isInitialized; static const QString NAME; - static const QString GROUPING; }; #endif // hifi__SDL2Manager_h diff --git a/plugins/hifiSixense/src/SixenseManager.cpp b/plugins/hifiSixense/src/SixenseManager.cpp index 5ef73d3646..3377aac14c 100644 --- a/plugins/hifiSixense/src/SixenseManager.cpp +++ b/plugins/hifiSixense/src/SixenseManager.cpp @@ -56,7 +56,6 @@ bool SixenseManager::_sixenseLoaded = false; const QString SixenseManager::NAME = "Sixense"; -const QString SixenseManager::GROUPING = "Standard"; const QString SixenseManager::HYDRA_ID_STRING = "Razer Hydra"; const QString MENU_PARENT = "Developer"; diff --git a/plugins/hifiSixense/src/SixenseManager.h b/plugins/hifiSixense/src/SixenseManager.h index 4eb07c974f..bbb9774368 100644 --- a/plugins/hifiSixense/src/SixenseManager.h +++ b/plugins/hifiSixense/src/SixenseManager.h @@ -30,7 +30,6 @@ public: virtual bool isSupported() const override; virtual bool isJointController() const override { return true; } virtual const QString& getName() const override { return NAME; } - virtual const QString& getGrouping() const override { return GROUPING; } virtual const QString& getID() const override { return HYDRA_ID_STRING; } virtual void activate() override; @@ -98,7 +97,6 @@ private: std::shared_ptr _inputDevice { std::make_shared() }; static const QString NAME; - static const QString GROUPING; static const QString HYDRA_ID_STRING; static bool _sixenseLoaded; diff --git a/plugins/oculus/src/OculusDebugDisplayPlugin.cpp b/plugins/oculus/src/OculusDebugDisplayPlugin.cpp index 9ef2cda514..94a3670e4b 100644 --- a/plugins/oculus/src/OculusDebugDisplayPlugin.cpp +++ b/plugins/oculus/src/OculusDebugDisplayPlugin.cpp @@ -9,8 +9,6 @@ #include const QString OculusDebugDisplayPlugin::NAME("Oculus Rift (Simulator)"); -const QString OculusDebugDisplayPlugin::GROUPING("Developer"); - static const QString DEBUG_FLAG("HIFI_DEBUG_OCULUS"); static bool enableDebugOculus = QProcessEnvironment::systemEnvironment().contains("HIFI_DEBUG_OCULUS"); diff --git a/plugins/oculus/src/OculusDebugDisplayPlugin.h b/plugins/oculus/src/OculusDebugDisplayPlugin.h index cc0d5c2065..c62fe12c73 100644 --- a/plugins/oculus/src/OculusDebugDisplayPlugin.h +++ b/plugins/oculus/src/OculusDebugDisplayPlugin.h @@ -12,7 +12,7 @@ class OculusDebugDisplayPlugin : public OculusBaseDisplayPlugin { public: virtual const QString& getName() const override { return NAME; } - virtual const QString& getGrouping() const override { return GROUPING; } + virtual grouping getGrouping() const override { return DEVELOPER; } virtual bool isSupported() const override; protected: @@ -20,6 +20,5 @@ protected: private: static const QString NAME; - static const QString GROUPING; }; diff --git a/plugins/oculus/src/OculusDisplayPlugin.cpp b/plugins/oculus/src/OculusDisplayPlugin.cpp index 0b81f661df..3002c746a2 100644 --- a/plugins/oculus/src/OculusDisplayPlugin.cpp +++ b/plugins/oculus/src/OculusDisplayPlugin.cpp @@ -137,7 +137,6 @@ private: #endif const QString OculusDisplayPlugin::NAME("Oculus Rift"); -const QString OculusDisplayPlugin::GROUPING("Standard"); static const QString MONO_PREVIEW = "Mono Preview"; static const QString FRAMERATE = DisplayPlugin::MENU_PATH() + ">Framerate"; diff --git a/plugins/oculus/src/OculusDisplayPlugin.h b/plugins/oculus/src/OculusDisplayPlugin.h index 4633e434e1..d6ae4e6436 100644 --- a/plugins/oculus/src/OculusDisplayPlugin.h +++ b/plugins/oculus/src/OculusDisplayPlugin.h @@ -18,7 +18,6 @@ class OculusDisplayPlugin : public OculusBaseDisplayPlugin { public: virtual void activate() override; virtual const QString& getName() const override { return NAME; } - virtual const QString& getGrouping() const override { return GROUPING; } virtual void setEyeRenderPose(uint32_t frameIndex, Eye eye, const glm::mat4& pose) override final; virtual float getTargetFrameRate() override { return TARGET_RATE_Oculus; } @@ -31,7 +30,6 @@ protected: private: using EyePoses = std::pair; static const QString NAME; - static const QString GROUPING; bool _enablePreview{ false }; bool _monoPreview { true }; QMap _frameEyePoses; diff --git a/plugins/oculusLegacy/src/OculusLegacyDisplayPlugin.cpp b/plugins/oculusLegacy/src/OculusLegacyDisplayPlugin.cpp index f6e6055d84..4bded4e58f 100644 --- a/plugins/oculusLegacy/src/OculusLegacyDisplayPlugin.cpp +++ b/plugins/oculusLegacy/src/OculusLegacyDisplayPlugin.cpp @@ -26,9 +26,7 @@ using namespace oglplus; -const QString OculusLegacyDisplayPlugin::NAME("Oculus Rift (0.5) (Simulated)"); -const QString OculusLegacyDisplayPlugin::GROUPING("Standard"); - +const QString OculusLegacyDisplayPlugin::NAME("Oculus Rift (0.5) (Legacy)"); OculusLegacyDisplayPlugin::OculusLegacyDisplayPlugin() { } diff --git a/plugins/oculusLegacy/src/OculusLegacyDisplayPlugin.h b/plugins/oculusLegacy/src/OculusLegacyDisplayPlugin.h index 603bdac507..1ba288cc65 100644 --- a/plugins/oculusLegacy/src/OculusLegacyDisplayPlugin.h +++ b/plugins/oculusLegacy/src/OculusLegacyDisplayPlugin.h @@ -20,7 +20,6 @@ public: OculusLegacyDisplayPlugin(); virtual bool isSupported() const override; virtual const QString& getName() const override { return NAME; } - virtual const QString& getGrouping() const override { return GROUPING; } virtual void activate() override; virtual void deactivate() override; @@ -47,7 +46,6 @@ protected: private: static const QString NAME; - static const QString GROUPING; ovrHmd _hmd; mutable ovrTrackingState _trackingState; diff --git a/plugins/openvr/src/OpenVrDisplayPlugin.cpp b/plugins/openvr/src/OpenVrDisplayPlugin.cpp index 6860245fb0..7fb70180c4 100644 --- a/plugins/openvr/src/OpenVrDisplayPlugin.cpp +++ b/plugins/openvr/src/OpenVrDisplayPlugin.cpp @@ -28,11 +28,9 @@ Q_DECLARE_LOGGING_CATEGORY(displayplugins) Q_LOGGING_CATEGORY(displayplugins, "hifi.displayplugins") const QString OpenVrDisplayPlugin::NAME("OpenVR (Vive)"); -const QString OpenVrDisplayPlugin::GROUPING("Standard"); const QString StandingHMDSensorMode = "Standing HMD Sensor Mode"; // this probably shouldn't be hardcoded here - static vr::IVRCompositor* _compositor{ nullptr }; vr::TrackedDevicePose_t _trackedDevicePose[vr::k_unMaxTrackedDeviceCount]; mat4 _trackedDevicePoseMat4[vr::k_unMaxTrackedDeviceCount]; diff --git a/plugins/openvr/src/OpenVrDisplayPlugin.h b/plugins/openvr/src/OpenVrDisplayPlugin.h index 5983129572..e290368de0 100644 --- a/plugins/openvr/src/OpenVrDisplayPlugin.h +++ b/plugins/openvr/src/OpenVrDisplayPlugin.h @@ -19,7 +19,6 @@ class OpenVrDisplayPlugin : public WindowOpenGLDisplayPlugin { public: virtual bool isSupported() const override; virtual const QString& getName() const override { return NAME; } - virtual const QString& getGrouping() const override { return GROUPING; } virtual bool isHmd() const override { return true; } virtual float getTargetFrameRate() override { return TARGET_RATE_OpenVr; } @@ -46,6 +45,5 @@ protected: private: vr::IVRSystem* _hmd { nullptr }; static const QString NAME; - static const QString GROUPING; };