* Crash Recovery Defaults to Off, add option to use space drag w/ uncalibrated playspace * increment version 5.3.3 * Feat/apply offsets binding (#576) * add apply offsets steamvr input * add new binding to Readme Co-authored-by: TheMrGong <gongora656@gmail.com> * increment version 5.4.0 * added LH Console Interface class, WIP TX/RX list via lh console * switch over to property based dongle information * add ovr system wrapper * add use of parameter to avoid warning as error * openXR fix, and Change Display State of Chaperone Disabled * update text * format files * clang 9.0.0 format * add documentation update * remove windows header include * remove filesystem header * fix uncal motion switching issue Co-authored-by: TheMrGong <gongora656@gmail.com>
139 lines
4.1 KiB
C++
139 lines
4.1 KiB
C++
|
|
#pragma once
|
|
|
|
#include <QObject>
|
|
#include "../utils/FrameRateUtils.h"
|
|
#include "../openvr/ovr_settings_wrapper.h"
|
|
#include "../openvr/lh_console_util.h"
|
|
#include <QStringListModel>
|
|
#include <QTableWidget>
|
|
#include "../openvr/lh_console_util.h"
|
|
#include <QDir>
|
|
#include "../openvr/ovr_system_wrapper.h"
|
|
#include <regex>
|
|
|
|
class QQuickWindow;
|
|
// application namespace
|
|
namespace advsettings
|
|
{
|
|
// forward declaration
|
|
class OverlayController;
|
|
|
|
struct DeviceInfo
|
|
{
|
|
int index = -1;
|
|
std::string conDongle = "";
|
|
std::string txName = "";
|
|
std::string deviceName = "";
|
|
std::string hand = "";
|
|
std::string dongleType = "n/a";
|
|
std::string serialNumber = "";
|
|
bool hasName = false;
|
|
};
|
|
|
|
class SteamVRTabController : public QObject
|
|
{
|
|
Q_OBJECT
|
|
Q_PROPERTY( bool systemButton READ systemButton WRITE setSystemButton NOTIFY
|
|
systemButtonChanged )
|
|
Q_PROPERTY( bool multipleDriver READ multipleDriver WRITE setMultipleDriver
|
|
NOTIFY multipleDriverChanged )
|
|
|
|
Q_PROPERTY( bool noFadeToGrid READ noFadeToGrid WRITE setNoFadeToGrid NOTIFY
|
|
noFadeToGridChanged )
|
|
|
|
Q_PROPERTY( bool performanceGraph READ performanceGraph WRITE
|
|
setPerformanceGraph NOTIFY performanceGraphChanged )
|
|
Q_PROPERTY( bool dnd READ dnd WRITE setDND NOTIFY dNDChanged )
|
|
|
|
Q_PROPERTY( bool cameraActive READ cameraActive WRITE setCameraActive NOTIFY
|
|
cameraActiveChanged )
|
|
Q_PROPERTY( bool cameraBounds READ cameraBounds WRITE setCameraBounds NOTIFY
|
|
cameraBoundsChanged )
|
|
Q_PROPERTY( bool cameraRoom READ cameraRoom WRITE setCameraRoom NOTIFY
|
|
cameraRoomChanged )
|
|
Q_PROPERTY( bool cameraDashboard READ cameraDashboard WRITE
|
|
setCameraDashboard NOTIFY cameraDashboardChanged )
|
|
|
|
private:
|
|
OverlayController* parent;
|
|
|
|
bool m_performanceGraphToggle = false;
|
|
bool m_systemButtonToggle = false;
|
|
bool m_noFadeToGridToggle = false;
|
|
bool m_multipleDriverToggle = false;
|
|
bool m_dnd = false;
|
|
|
|
bool m_cameraActive = false;
|
|
bool m_cameraBounds = false;
|
|
bool m_cameraRoom = false;
|
|
bool m_cameraDashboard = false;
|
|
bool m_pathRXTXInit = false;
|
|
int m_dongleCountCur = 0;
|
|
int m_dongleCountMax = 0;
|
|
|
|
std::vector<DeviceInfo> deviceList;
|
|
|
|
void GatherDeviceInfo( DeviceInfo& device );
|
|
void synchSteamVR();
|
|
|
|
public:
|
|
void initStage1();
|
|
void initStage2( OverlayController* parent );
|
|
|
|
void eventLoopTick();
|
|
void dashboardLoopTick();
|
|
|
|
bool performanceGraph() const;
|
|
bool noFadeToGrid() const;
|
|
bool multipleDriver() const;
|
|
bool systemButton() const;
|
|
bool dnd() const;
|
|
|
|
bool cameraActive() const;
|
|
bool cameraBounds() const;
|
|
bool cameraRoom() const;
|
|
bool cameraDashboard() const;
|
|
|
|
Q_INVOKABLE void searchRXTX();
|
|
|
|
Q_INVOKABLE void launchBindingUI();
|
|
|
|
Q_INVOKABLE unsigned getRXTXCount();
|
|
Q_INVOKABLE QString getTXList( int i );
|
|
Q_INVOKABLE QString getRXList( int i );
|
|
Q_INVOKABLE QString getDeviceName( int i );
|
|
Q_INVOKABLE QString getDongleType( int i );
|
|
Q_INVOKABLE QString getDongleUsage();
|
|
|
|
public slots:
|
|
|
|
void setPerformanceGraph( bool value, bool notify = true );
|
|
void setSystemButton( bool value, bool notify = true );
|
|
void setNoFadeToGrid( bool value, bool notify = true );
|
|
void setMultipleDriver( bool value, bool notify = true );
|
|
void setDND( bool value, bool notify = true );
|
|
|
|
void setCameraActive( bool value, bool notify = true );
|
|
void setCameraBounds( bool value, bool notify = true );
|
|
void setCameraRoom( bool value, bool notify = true );
|
|
void setCameraDashboard( bool value, bool notify = true );
|
|
|
|
void restartSteamVR();
|
|
|
|
signals:
|
|
|
|
void performanceGraphChanged( bool value );
|
|
void multipleDriverChanged( bool value );
|
|
void systemButtonChanged( bool value );
|
|
void noFadeToGridChanged( bool value );
|
|
void dNDChanged( bool value );
|
|
|
|
void cameraActiveChanged( bool value );
|
|
void cameraBoundsChanged( bool value );
|
|
void cameraRoomChanged( bool value );
|
|
void cameraDashboardChanged( bool value );
|
|
};
|
|
|
|
} // namespace advsettings
|