From 0bc77b2fd086fbd8bd0a52b6b4de8ddb03c00ba5 Mon Sep 17 00:00:00 2001 From: Vasily Date: Sat, 11 Jan 2020 22:46:14 +0100 Subject: [PATCH] Completely remove features related to Desktop Overlay As of SteamVR 1.10.1 the overlay width feature has been implemented by Valve in the standard settings. OpenVR features related to overlay translation have been removed and the main reason for including them (multi monitor setups) have been solved by Valve giving each screen an individual overlay. --- build_scripts/qt/resources.pri | 4 +- build_scripts/qt/sources.pri | 2 - src/openvr/overlay_utils.cpp | 69 ------------------- src/openvr/overlay_utils.h | 28 -------- src/overlaycontroller.cpp | 12 ---- src/overlaycontroller.h | 2 - src/res/qml/common/mainwidget.qml | 1 - .../DesktopOverlayPage.qml | 40 ----------- .../desktop_size/SteamDesktopGroupBox.qml | 23 ------- src/res/qml/steamvr_page/SteamVRPage.qml | 4 -- src/settings/internal/settings_controller.h | 4 -- src/settings/settings.h | 2 - 12 files changed, 1 insertion(+), 190 deletions(-) delete mode 100644 src/openvr/overlay_utils.cpp delete mode 100644 src/openvr/overlay_utils.h delete mode 100644 src/res/qml/desktop_overlay_page/DesktopOverlayPage.qml delete mode 100644 src/res/qml/desktop_overlay_page/desktop_size/SteamDesktopGroupBox.qml diff --git a/build_scripts/qt/resources.pri b/build_scripts/qt/resources.pri index 2e30d58..0357034 100644 --- a/build_scripts/qt/resources.pri +++ b/build_scripts/qt/resources.pri @@ -35,7 +35,6 @@ DISTFILES += \ src/res/qml/utilities_page/* \ src/res/qml/utilities_page/media_keys/* \ src/res/qml/utilities_page/keyboard_utils/* \ - src/res/qml/desktop_overlay_page/desktop_size/* \ src/res/qml/utilities_page/alarm_clock/* \ src/res/qml/audio_page/dialog_boxes/* \ src/res/qml/audio_page/device_selector/* \ @@ -50,7 +49,6 @@ DISTFILES += \ src/res/qml/video_page/profiles/* \ src/res/qml/video_page/dialogboxes/* \ src/res/qml/video_page/overlaycolorbright/* \ - src/res/qml/common/* \ - src/res/qml/desktop_overlay_page/* \ + src/res/qml/common/* win32:RC_ICONS += src/res/img/icons/advicon256px.ico diff --git a/build_scripts/qt/sources.pri b/build_scripts/qt/sources.pri index ff2cd93..cc484b6 100644 --- a/build_scripts/qt/sources.pri +++ b/build_scripts/qt/sources.pri @@ -16,7 +16,6 @@ SOURCES += src/main.cpp\ src/utils/setup.cpp \ src/utils/paths.cpp \ src/utils/FrameRateUtils.cpp \ - src/openvr/overlay_utils.cpp \ src/keyboard_input/keyboard_input.cpp \ src/keyboard_input/input_parser.cpp \ src/settings/settings.cpp \ @@ -50,7 +49,6 @@ HEADERS += src/overlaycontroller.h \ src/utils/setup.h \ src/utils/paths.h \ src/utils/FrameRateUtils.h \ - src/openvr/overlay_utils.h \ src/keyboard_input/input_parser.h \ src/keyboard_input/input_sender.h \ src/settings/settings.h \ diff --git a/src/openvr/overlay_utils.cpp b/src/openvr/overlay_utils.cpp deleted file mode 100644 index 3e713cc..0000000 --- a/src/openvr/overlay_utils.cpp +++ /dev/null @@ -1,69 +0,0 @@ -#include "overlay_utils.h" -#include "../overlaycontroller.h" -#include "../settings/settings.h" - -namespace overlay -{ -namespace strings -{ - constexpr auto overlaykey = "valve.steam.desktop"; -} // namespace strings - -vr::VROverlayHandle_t getOverlayHandle() -{ - vr::VROverlayHandle_t pOverlayHandle; - vr::VROverlay()->FindOverlay( strings::overlaykey, &pOverlayHandle ); - return pOverlayHandle; -} - -void setDesktopOverlayWidth( double width ) -{ - const auto overlayHandle = getOverlayHandle(); - auto error = vr::VROverlay()->SetOverlayWidthInMeters( - overlayHandle, static_cast( width ) ); - if ( error != vr::VROverlayError_None ) - { - LOG( ERROR ) << "Could not modify overlay width of \"" - << strings::overlaykey << "\": " - << vr::VROverlay()->GetOverlayErrorNameFromEnum( error ); - } -} - -void DesktopOverlay::update() -{ - setDesktopOverlayWidth( getCurrentWidth() ); -} - -bool DesktopOverlay::isAvailable() const -{ - vr::VROverlayHandle_t pOverlayHandle = 0; - auto error - = vr::VROverlay()->FindOverlay( strings::overlaykey, &pOverlayHandle ); - if ( error != vr::VROverlayError_None ) - { - LOG( INFO ) << "Could not find overlay \"" << strings::overlaykey - << "\": " - << vr::VROverlay()->GetOverlayErrorNameFromEnum( error ); - return false; - } - return true; -} - -void overlay::DesktopOverlay::setWidth( double width ) -{ - if ( width < 0.01 ) - { - width = 0.01; - } - - settings::setSetting( settings::DoubleSetting::UTILITY_desktopWidth, - width ); -} - -double DesktopOverlay::getCurrentWidth() const noexcept -{ - return settings::getSetting( - settings::DoubleSetting::UTILITY_desktopWidth ); -} - -} // namespace overlay diff --git a/src/openvr/overlay_utils.h b/src/openvr/overlay_utils.h deleted file mode 100644 index 59aac33..0000000 --- a/src/openvr/overlay_utils.h +++ /dev/null @@ -1,28 +0,0 @@ -#pragma once -#include -#include -#include -#include -#include -#include - -void outputMat(); -void transformMat(); - -namespace overlay -{ -class DesktopOverlay : public QObject -{ - Q_OBJECT -public: - Q_PROPERTY( double width READ getCurrentWidth WRITE setWidth ) - - Q_INVOKABLE void update(); - - bool isAvailable() const; - - void setWidth( double width ); - double getCurrentWidth() const noexcept; -}; - -} // namespace overlay diff --git a/src/overlaycontroller.cpp b/src/overlaycontroller.cpp index 1b4ba50..bb45449 100644 --- a/src/overlaycontroller.cpp +++ b/src/overlaycontroller.cpp @@ -20,7 +20,6 @@ #include #include #include "utils/Matrix.h" -#include "openvr/overlay_utils.h" #include "keyboard_input/input_sender.h" #include "settings/settings.h" @@ -284,16 +283,6 @@ OverlayController::OverlayController( bool desktopMode, QQmlEngine::setObjectOwnership( obj, QQmlEngine::CppOwnership ); return obj; } ); - qmlRegisterSingletonType( - qmlSingletonImportName, - 1, - 0, - "DesktopOverlay", - []( QQmlEngine*, QJSEngine* ) { - QObject* obj = &( objectAddress->m_desktopOverlay ); - QQmlEngine::setObjectOwnership( obj, QQmlEngine::CppOwnership ); - return obj; - } ); // Grab local version number QStringList verNumericalString @@ -1014,7 +1003,6 @@ void OverlayController::mainEventLoop() case vr::VREvent_DashboardActivated: { LOG( DEBUG ) << "Dashboard activated"; - m_desktopOverlay.update(); m_dashboardVisible = true; } break; diff --git a/src/overlaycontroller.h b/src/overlaycontroller.h index 8aa8e42..4d36ecb 100644 --- a/src/overlaycontroller.h +++ b/src/overlaycontroller.h @@ -42,7 +42,6 @@ #include "tabcontrollers/VideoTabController.h" #include "openvr/ivrinput.h" -#include "openvr/overlay_utils.h" namespace application_strings { @@ -163,7 +162,6 @@ public: // I know it's an ugly hack to make them public to enable external SettingsTabController m_settingsTabController; UtilitiesTabController m_utilitiesTabController; VideoTabController m_videoTabController; - overlay::DesktopOverlay m_desktopOverlay; private: QPoint getMousePositionForEvent( vr::VREvent_Mouse_t mouse ); diff --git a/src/res/qml/common/mainwidget.qml b/src/res/qml/common/mainwidget.qml index 7f04714..b0d647f 100644 --- a/src/res/qml/common/mainwidget.qml +++ b/src/res/qml/common/mainwidget.qml @@ -6,7 +6,6 @@ import "../utilities_page" import "../audio_page" import "../motion_page" import "../video_page" -import "../desktop_overlay_page" import "../chaperone_page" import "../steamvr_page" diff --git a/src/res/qml/desktop_overlay_page/DesktopOverlayPage.qml b/src/res/qml/desktop_overlay_page/DesktopOverlayPage.qml deleted file mode 100644 index ff84e79..0000000 --- a/src/res/qml/desktop_overlay_page/DesktopOverlayPage.qml +++ /dev/null @@ -1,40 +0,0 @@ -import QtQuick 2.7 -import QtQuick.Controls 2.0 -import QtQuick.Layouts 1.3 -import ovras.advsettings 1.0 -import "translation_left_right" -import "translation_back_forwards" -import "translation_up_down" -import "desktop_size" -import "../common" - -MyStackViewPage { - headerText: "Desktop Overlay" - - content: ColumnLayout { - spacing: 18 - - MyText { - Layout.alignment: Qt.AlignHCenter - horizontalAlignment: Text.AlignHCenter - text: "Reopen overlay to apply." - } - - SteamDesktopGroupBox { - } - - SteamDesktopTranslationUpDown { - } - - SteamDesktopTranslationBackForwards { - } - - SteamDesktopTranslationLeftRight { - } - - Item { - Layout.fillHeight: true - } - - } -} diff --git a/src/res/qml/desktop_overlay_page/desktop_size/SteamDesktopGroupBox.qml b/src/res/qml/desktop_overlay_page/desktop_size/SteamDesktopGroupBox.qml deleted file mode 100644 index 9b70774..0000000 --- a/src/res/qml/desktop_overlay_page/desktop_size/SteamDesktopGroupBox.qml +++ /dev/null @@ -1,23 +0,0 @@ -import QtQuick 2.7 -import QtQuick.Controls 2.0 -import QtQuick.Layouts 1.3 -import ovras.advsettings 1.0 -import "../../common" - -FullWidthSliderBox { - headerMessage: "Desktop Overlay Width: (refresh dashboard to apply)" - - lowerLimit: 0.0 - upperLimit: 32.0 - sliderStepSize: 0.5 - kbUID: 601 - - function onValueChanged(value) { - DesktopOverlay.width = value - sliderText = value.toFixed(2) - } - function onComponentComplete() { - sliderValue = DesktopOverlay.width - } -} - diff --git a/src/res/qml/steamvr_page/SteamVRPage.qml b/src/res/qml/steamvr_page/SteamVRPage.qml index 945821d..f20c191 100644 --- a/src/res/qml/steamvr_page/SteamVRPage.qml +++ b/src/res/qml/steamvr_page/SteamVRPage.qml @@ -5,7 +5,6 @@ import ovras.advsettings 1.0 import "../common" import "camera" import "steamvrmisc" -import "../desktop_overlay_page/desktop_size" MyStackViewPage { width: 1200 @@ -19,9 +18,6 @@ MyStackViewPage { CameraGroupBox { id: cameraGroupBox} - SteamDesktopGroupBox { - } - Item { Layout.fillHeight: true; Layout.fillWidth: true} RowLayout { diff --git a/src/settings/internal/settings_controller.h b/src/settings/internal/settings_controller.h index 05083ce..5958bb9 100644 --- a/src/settings/internal/settings_controller.h +++ b/src/settings/internal/settings_controller.h @@ -366,10 +366,6 @@ private: SettingCategory::Playspace, QtInfo{ "flingStrength" }, 1.0 }, - DoubleSettingValue{ DoubleSetting::UTILITY_desktopWidth, - SettingCategory::Utility, - QtInfo{ "desktopWidth" }, - 4.0 }, DoubleSettingValue{ DoubleSetting::VIDEO_brightnessOpacityValue, SettingCategory::Video, diff --git a/src/settings/settings.h b/src/settings/settings.h index c24ccd8..bc5fa2e 100644 --- a/src/settings/settings.h +++ b/src/settings/settings.h @@ -57,8 +57,6 @@ enum class DoubleSetting PLAYSPACE_gravityStrength, PLAYSPACE_flingStrength, - UTILITY_desktopWidth, - VIDEO_brightnessOpacityValue, VIDEO_brightnessValue, VIDEO_colorOverlayOpacity,