diff --git a/src/tabcontrollers/UtilitiesTabController.cpp b/src/tabcontrollers/UtilitiesTabController.cpp index 9d9b305..e8ff748 100644 --- a/src/tabcontrollers/UtilitiesTabController.cpp +++ b/src/tabcontrollers/UtilitiesTabController.cpp @@ -31,34 +31,8 @@ void UtilitiesTabController::initStage1() m_alarmEnabled = qAlarmEnabled.toBool(); m_alarmIsModal = qAlarmIsModal.toBool(); m_alarmTime = QTime( qAlarmHour.toInt(), qAlarmMinute.toInt() ); - vr::VROverlayHandle_t pOverlayHandle; - auto error = vr::VROverlay()->FindOverlay( steamDesktopOverlaykey, - &pOverlayHandle ); - if ( error != vr::VROverlayError_None ) - { - m_steamDesktopOverlayAvailable = false; - LOG( INFO ) << "Could not find overlay \"" << steamDesktopOverlaykey - << "\": " - << vr::VROverlay()->GetOverlayErrorNameFromEnum( error ); - } - else - { - m_steamDesktopOverlayAvailable = true; - float width; - error = vr::VROverlay()->GetOverlayWidthInMeters( pOverlayHandle, - &width ); - if ( error != vr::VROverlayError_None ) - { - LOG( ERROR ) << "Could not read overlay width of \"" - << steamDesktopOverlaykey << "\": " - << vr::VROverlay()->GetOverlayErrorNameFromEnum( - error ); - } - else - { - m_steamDesktopOverlayWidth = width; - } - } + + setUpDesktopOverlay(); } void UtilitiesTabController::initStage2( OverlayController* var_parent, @@ -570,6 +544,34 @@ void UtilitiesTabController::eventLoopTick() } } +void UtilitiesTabController::setUpDesktopOverlay() +{ + vr::VROverlayHandle_t pOverlayHandle = 0; + auto error = vr::VROverlay()->FindOverlay( steamDesktopOverlaykey, + &pOverlayHandle ); + if ( error != vr::VROverlayError_None ) + { + m_steamDesktopOverlayAvailable = false; + LOG( INFO ) << "Could not find overlay \"" << steamDesktopOverlaykey + << "\": " + << vr::VROverlay()->GetOverlayErrorNameFromEnum( error ); + return; + } + m_steamDesktopOverlayAvailable = true; + + float width; + error = vr::VROverlay()->GetOverlayWidthInMeters( pOverlayHandle, &width ); + if ( error != vr::VROverlayError_None ) + { + LOG( ERROR ) << "Could not read overlay width of \"" + << steamDesktopOverlaykey << "\": " + << vr::VROverlay()->GetOverlayErrorNameFromEnum( error ); + return; + } + + m_steamDesktopOverlayWidth = width; +} + bool UtilitiesTabController::steamDesktopOverlayAvailable() const { return m_steamDesktopOverlayAvailable; diff --git a/src/tabcontrollers/UtilitiesTabController.h b/src/tabcontrollers/UtilitiesTabController.h index 10dc7ff..1f5d790 100644 --- a/src/tabcontrollers/UtilitiesTabController.h +++ b/src/tabcontrollers/UtilitiesTabController.h @@ -33,6 +33,8 @@ class UtilitiesTabController : public QObject setSteamDesktopOverlayWidth NOTIFY steamDesktopOverlayWidthChanged ) private: + void setUpDesktopOverlay(); + OverlayController* m_parent; QQuickWindow* m_widget;