Files
OpenVR-AdvancedSettings-frame/src/tabcontrollers/UtilitiesTabController.h
T
RTUnrealandykeara 383f153c54 draft: upgrade codebase to qt6 and cmake (#657)
* update qt6 upgrade progress

* add flawed addition for QRenderTarget and link needed libs

* update to better logging format

* move many assets and qml files into qrc

* get rid of deprecation messages

* remove additional deprecation notices

* make Qt6 finally render on desktop with some progress on vr

* initialize QRhi with QQuickRenderControl

* use default values to stop SegFaults

* fix compilation on windows

* add windows files for aiding in running exe

* fix formatting of testing qt.conf

* first attempt on using textures instead of files in AudioTabController

* Fix public/private access issue

* use getter instead of directly accessing class members

* use QImage as a base to set overlay textures

* use native  logging

* add more QImage Overlays

* implement faulty vulkan implementation

---------

Co-authored-by: ykeara <ykeara1@gmail.com>
2024-05-01 15:19:36 -05:00

96 lines
2.9 KiB
C++

#pragma once
#include <QObject>
#include <QTime>
#include <QImage>
#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 vrcDebug READ vrcDebug WRITE setVrcDebug NOTIFY vrcDebugChanged )
Q_PROPERTY( bool trackerOvlEnabled READ trackerOvlEnabled WRITE
setTrackerOvlEnabled NOTIFY trackerOvlEnabledChanged )
private:
OverlayController* m_parent;
unsigned settingsUpdateCounter = 0;
std::array<std::unique_ptr<QImage>, 6> m_batteryImgs;
vr::VROverlayHandle_t m_batteryOverlayHandles[vr::k_unMaxTrackedDeviceCount]
= { 0 };
int m_batteryState[vr::k_unMaxTrackedDeviceCount];
bool m_batteryVisible[vr::k_unMaxTrackedDeviceCount];
void handleTrackerBatOvl();
vr::VROverlayHandle_t createBatteryOverlay( vr::TrackedDeviceIndex_t index,
unsigned style = 0 );
void destroyBatteryOverlays();
public:
void initStage2( OverlayController* var_parent );
void eventLoopTick();
bool vrcDebug() const;
bool trackerOvlEnabled() 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 setVrcDebug( bool value, bool notify = true );
void setTrackerOvlEnabled( bool value, bool notify = true );
signals:
void vrcDebugChanged( bool value );
void trackerOvlEnabledChanged( bool value );
};
} // namespace advsettings