Files
OpenVR-AdvancedSettings-frame/src/tabcontrollers/UtilitiesTabController.h
T

114 lines
3.6 KiB
C++

#pragma once
#include <QObject>
#include <QTime>
#include <openvr.h>
#include <memory>
#include "src/keyboard_input/keyboard_input.h"
#include "src/media_keys/media_keys.h"
#include "../utils/FrameRateUtils.h"
class QQuickWindow;
// application namespace
namespace advsettings
{
// forward declaration
class OverlayController;
class UtilitiesTabController : public QObject
{
Q_OBJECT
Q_PROPERTY( bool alarmEnabled READ alarmEnabled WRITE setAlarmEnabled NOTIFY
alarmEnabledChanged )
Q_PROPERTY( bool alarmIsModal READ alarmIsModal WRITE setAlarmIsModal NOTIFY
alarmIsModalChanged )
Q_PROPERTY(
bool vrcDebug READ vrcDebug WRITE setVrcDebug NOTIFY vrcDebugChanged )
Q_PROPERTY( int alarmTimeHour READ alarmTimeHour WRITE setAlarmTimeHour
NOTIFY alarmTimeHourChanged )
Q_PROPERTY( int alarmTimeMinute READ alarmTimeMinute WRITE
setAlarmTimeMinute NOTIFY alarmTimeMinuteChanged )
private:
OverlayController* m_parent;
unsigned settingsUpdateCounter = 0;
QTime m_alarmTime;
QTime m_alarmLastCheckTime;
vr::VROverlayHandle_t m_batteryOverlayHandles[vr::k_unMaxTrackedDeviceCount]
= { 0 };
int m_batteryState[vr::k_unMaxTrackedDeviceCount];
bool m_batteryVisible[vr::k_unMaxTrackedDeviceCount];
unsigned int m_k_utilitiesSettingsUpdateCounter = 19;
public:
void initStage1();
void initStage2( OverlayController* var_parent );
void eventLoopTick();
bool alarmEnabled() const;
bool alarmIsModal() const;
bool vrcDebug() const;
int alarmTimeHour() const;
int alarmTimeMinute() const;
public slots:
void sendKeyboardInput( QString input );
void sendKeyboardEnter();
void sendKeyboardAltTab();
void sendKeyboardAltEnter();
void sendKeyboardCtrlC();
void sendKeyboardCtrlV();
void sendKeyboardBackspace( const int count );
void sendKeyboardRShiftTilde1();
void sendKeyboardRShiftTilde2();
void sendKeyboardRShiftTilde3();
void sendKeyboardRShiftTilde4();
void sendKeyboardRShiftTilde5();
void sendKeyboardRShiftTilde6();
void sendKeyboardRShiftTilde7();
void sendKeyboardRShiftTilde8();
void sendKeyboardRShiftTilde9();
void sendKeyboardRShiftTilde0();
void sendKeyboardRShiftTilde1Delayed();
void sendKeyboardRShiftTilde2Delayed();
void sendKeyboardRShiftTilde3Delayed();
void sendKeyboardRShiftTilde4Delayed();
void sendKeyboardRShiftTilde5Delayed();
void sendKeyboardRShiftTilde6Delayed();
void sendKeyboardRShiftTilde7Delayed();
void sendKeyboardRShiftTilde8Delayed();
void sendKeyboardRShiftTilde9Delayed();
void sendKeyboardRShiftTilde0Delayed();
void sendMediaNextSong();
void sendMediaPreviousSong();
void sendMediaPausePlay();
void sendMediaStopSong();
Q_INVOKABLE void sendKeyboardOne();
Q_INVOKABLE void sendKeyboardTwo();
Q_INVOKABLE void sendKeyboardThree();
void setAlarmEnabled( bool enabled, bool notify = true );
void setAlarmIsModal( bool modal, bool notify = true );
void setVrcDebug( bool value, bool notify = true );
void setAlarmTimeHour( int hour, bool notify = true );
void setAlarmTimeMinute( int min, bool notify = true );
void setAlarmTimeToCurrentTime();
void modAlarmTimeHour( int value, bool notify = true );
void modAlarmTimeMinute( int value, bool notify = true );
signals:
void alarmEnabledChanged( bool enabled );
void alarmIsModalChanged( bool modal );
void vrcDebugChanged( bool value );
void alarmTimeHourChanged( int hour );
void alarmTimeMinuteChanged( int min );
};
} // namespace advsettings