Remove the Accessibility Tab completely from the app (#79)
See https://github.com/OpenVR-Advanced-Settings/OpenVR-AdvancedSettings/issues/27 The Accessibility tab was made redundant with the implementation of the new playspace/room/universe tab in https://github.com/OpenVR-Advanced-Settings/OpenVR-AdvancedSettings/issues/60 The tab inherited from the PttController class, which required changes in order to work with the new IVRInput system. See https://github.com/OpenVR-Advanced-Settings/OpenVR-AdvancedSettings/issues/51 for more about the IVRInput system. Removing the page now at an early state is going to make it easier to refactor the PttController since only one class is inheriting it, instead of two. Since the Accessibility tab is going to be removed anyway, it makes sense to remove it now.
This commit is contained in:
@@ -1,136 +0,0 @@
|
||||
#include "AccessibilityTabController.h"
|
||||
#include <QQuickWindow>
|
||||
#include "../overlaycontroller.h"
|
||||
|
||||
// application namespace
|
||||
namespace advsettings
|
||||
{
|
||||
void AccessibilityTabController::initStage1()
|
||||
{
|
||||
setTrackingUniverse( vr::VRCompositor()->GetTrackingSpace() );
|
||||
auto settings = OverlayController::appSettings();
|
||||
settings->beginGroup( getSettingsName() );
|
||||
auto value = settings->value( "heightOffset", m_heightOffset );
|
||||
settings->endGroup();
|
||||
if ( value.isValid() && !value.isNull() )
|
||||
{
|
||||
m_heightOffset = value.toFloat();
|
||||
emit heightOffsetChanged( m_heightOffset );
|
||||
}
|
||||
|
||||
reloadPttConfig();
|
||||
}
|
||||
|
||||
void AccessibilityTabController::initStage2( OverlayController* var_parent,
|
||||
QQuickWindow* var_widget )
|
||||
{
|
||||
this->parent = var_parent;
|
||||
this->widget = var_widget;
|
||||
}
|
||||
|
||||
void AccessibilityTabController::setTrackingUniverse( int value )
|
||||
{
|
||||
if ( m_trackingUniverse != value )
|
||||
{
|
||||
reset();
|
||||
m_trackingUniverse = value;
|
||||
}
|
||||
}
|
||||
|
||||
float AccessibilityTabController::heightOffset() const
|
||||
{
|
||||
return m_heightOffset;
|
||||
}
|
||||
|
||||
void AccessibilityTabController::setHeightOffset( float value, bool notify )
|
||||
{
|
||||
if ( std::abs( m_heightOffset - value ) > 0.001 )
|
||||
{
|
||||
modHeightOffset( value - m_heightOffset, notify );
|
||||
}
|
||||
}
|
||||
|
||||
void AccessibilityTabController::modHeightOffset( float value, bool notify )
|
||||
{
|
||||
parent->AddOffsetToUniverseCenter(
|
||||
( vr::TrackingUniverseOrigin ) m_trackingUniverse, 1, -value, false );
|
||||
m_heightOffset += value;
|
||||
auto settings = OverlayController::appSettings();
|
||||
settings->beginGroup( getSettingsName() );
|
||||
settings->setValue( "heightOffset", m_heightOffset );
|
||||
settings->endGroup();
|
||||
settings->sync();
|
||||
if ( notify )
|
||||
{
|
||||
emit heightOffsetChanged( m_heightOffset );
|
||||
}
|
||||
}
|
||||
|
||||
void AccessibilityTabController::onPttStart()
|
||||
{
|
||||
m_toggleHeightOffset = m_heightOffset;
|
||||
parent->AddOffsetToUniverseCenter(
|
||||
( vr::TrackingUniverseOrigin ) m_trackingUniverse,
|
||||
1,
|
||||
m_toggleHeightOffset,
|
||||
false );
|
||||
}
|
||||
|
||||
void AccessibilityTabController::onPttStop()
|
||||
{
|
||||
parent->AddOffsetToUniverseCenter(
|
||||
( vr::TrackingUniverseOrigin ) m_trackingUniverse,
|
||||
1,
|
||||
-m_toggleHeightOffset,
|
||||
false );
|
||||
}
|
||||
|
||||
void AccessibilityTabController::onPttDisabled()
|
||||
{
|
||||
if ( pttActive() )
|
||||
{
|
||||
stopPtt();
|
||||
}
|
||||
m_toggleHeightOffset = 0;
|
||||
}
|
||||
|
||||
void AccessibilityTabController::reset()
|
||||
{
|
||||
std::lock_guard<std::recursive_mutex> lock( eventLoopMutex );
|
||||
vr::VRChaperoneSetup()->RevertWorkingCopy();
|
||||
parent->AddOffsetToUniverseCenter(
|
||||
( vr::TrackingUniverseOrigin ) m_trackingUniverse,
|
||||
1,
|
||||
m_heightOffset,
|
||||
false,
|
||||
false );
|
||||
vr::VRChaperoneSetup()->CommitWorkingCopy( vr::EChaperoneConfigFile_Live );
|
||||
m_heightOffset = 0.0f;
|
||||
emit heightOffsetChanged( m_heightOffset );
|
||||
}
|
||||
|
||||
void AccessibilityTabController::eventLoopTick(
|
||||
vr::ETrackingUniverseOrigin universe )
|
||||
{
|
||||
if ( !eventLoopMutex.try_lock() )
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if ( settingsUpdateCounter >= k_accessibilitySettingsUpdateCounter )
|
||||
{
|
||||
if ( parent->isDashboardVisible() )
|
||||
{
|
||||
setTrackingUniverse( ( int ) universe );
|
||||
}
|
||||
settingsUpdateCounter = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
settingsUpdateCounter++;
|
||||
}
|
||||
checkPttStatus();
|
||||
eventLoopMutex.unlock();
|
||||
}
|
||||
|
||||
} // namespace advsettings
|
||||
@@ -1,54 +0,0 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "PttController.h"
|
||||
|
||||
class QQuickWindow;
|
||||
// application namespace
|
||||
namespace advsettings
|
||||
{
|
||||
// forward declaration
|
||||
class OverlayController;
|
||||
|
||||
class AccessibilityTabController : public PttController
|
||||
{
|
||||
Q_OBJECT
|
||||
Q_PROPERTY( float heightOffset READ heightOffset WRITE setHeightOffset
|
||||
NOTIFY heightOffsetChanged )
|
||||
|
||||
private:
|
||||
OverlayController* parent;
|
||||
QQuickWindow* widget;
|
||||
|
||||
int m_trackingUniverse = ( int ) vr::TrackingUniverseStanding;
|
||||
float m_heightOffset = 0.0f;
|
||||
float m_toggleHeightOffset = 0.0f;
|
||||
|
||||
unsigned settingsUpdateCounter = 0;
|
||||
|
||||
QString getSettingsName() override
|
||||
{
|
||||
return "accessibilitySettings";
|
||||
}
|
||||
void onPttStart() override;
|
||||
void onPttStop() override;
|
||||
void onPttDisabled() override;
|
||||
|
||||
public:
|
||||
void initStage1();
|
||||
void initStage2( OverlayController* parent, QQuickWindow* widget );
|
||||
void eventLoopTick( vr::ETrackingUniverseOrigin universe );
|
||||
|
||||
float heightOffset() const;
|
||||
|
||||
public slots:
|
||||
void setTrackingUniverse( int value );
|
||||
void setHeightOffset( float value, bool notify = true );
|
||||
void modHeightOffset( float value, bool notify = true );
|
||||
void reset();
|
||||
|
||||
signals:
|
||||
void heightOffsetChanged( float value );
|
||||
};
|
||||
|
||||
} // namespace advsettings
|
||||
Reference in New Issue
Block a user