From 1152cfee1f05af1c9e6af04500d9a7b80ce62def Mon Sep 17 00:00:00 2001 From: ykeara Date: Thu, 9 Oct 2025 18:45:53 -0500 Subject: [PATCH] compiling and various updates --- .gitignore | 3 +- CMakeLists.txt | 547 ++++++++++-------- CMakeSettings.json | 33 ++ src/alarm_clock/vr_alarm.cpp | 2 +- src/main.cpp | 18 +- src/overlaycontroller.cpp | 19 +- src/res/qml/RootPage.qml | 33 +- src/res/qml/chaperone_page/ChaperonePage.qml | 4 +- .../chaperonetype/ChaperoneTypeGroupBox.qml | 13 +- src/res/qml/common/MyComboBox.qml | 5 +- src/res/qml/common/MyPushButton.qml | 5 +- src/res/qml/common/MyPushButton2.qml | 5 +- src/res/qml/common/MyRadioButton.qml | 5 +- src/res/qml/common/MyResources.qml | 3 + src/res/qml/common/MySlider.qml | 2 +- src/res/qml/common/MyStackViewPage.qml | 7 +- src/res/qml/common/MyToggleButton.qml | 7 +- src/res/qml/common/mainwidget.qml | 6 +- src/res/qml/steamvr_page/SteamVRPage.qml | 5 +- src/res/resources.qrc | 75 +++ src/tabcontrollers/AudioTabController.cpp | 6 +- src/tabcontrollers/ChaperoneTabController.cpp | 14 +- src/tabcontrollers/RotationTabController.cpp | 4 +- src/tabcontrollers/UtilitiesTabController.cpp | 14 +- src/tabcontrollers/VideoTabController.cpp | 4 +- 25 files changed, 542 insertions(+), 297 deletions(-) create mode 100644 CMakeSettings.json diff --git a/.gitignore b/.gitignore index 2c6370b..7b3b410 100644 --- a/.gitignore +++ b/.gitignore @@ -15,4 +15,5 @@ installer/*.exe build_scripts/win/__pycache__ build_scripts/win/current_build.bat AdvancedSettings_resource.rc -.qtc_clangd/ \ No newline at end of file +.qtc_clangd/ +out/ diff --git a/CMakeLists.txt b/CMakeLists.txt index abd3c83..9893508 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -4,20 +4,35 @@ project(AdvancedSettings VERSION 5.7.4 LANGUAGES CXX) set(CMAKE_EXPORT_COMPILE_COMMANDS ON) set(CMAKE_INCLUDE_CURRENT_DIR ON) set(CMAKE_CXX_STANDARD 20) -set(CMAKE_CXX_STANDARD_REQUIRED ON) +#set(CMAKE_CXX_STANDARD_REQUIRED ON) +set(CMAKE_VS_INCLUDE_INSTALL_TO_DEFAULT_BUILD 1) -find_package(QT NAMES Qt6 REQUIRED COMPONENTS Core) -find_package(Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS Gui Multimedia Qml Quick WebSockets Widgets QuickControls2 QuickDialogs2 Svg) -find_package(Qt${QT_VERSION_MAJOR} OPTIONAL_COMPONENTS DBus) -qt_standard_project_setup() -if(QT_KNOWN_POLICY_QTP0001) - qt_policy(SET QTP0001 NEW) -endif() +#find_package(QT NAMES Qt6 REQUIRED COMPONENTS Core) +#find_package(Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS Gui Multimedia Qml Quick WebSockets Widgets QuickControls2 QuickDialogs2 Svg) +#find_package(Qt${QT_VERSION_MAJOR} OPTIONAL_COMPONENTS DBus) +find_package(Qt6 REQUIRED COMPONENTS Gui Multimedia Qml Quick WebSockets Widgets QuickControls2 QuickDialogs2 Svg Qml Core5Compat) +find_package(Vulkan REQUIRED) + +qt_standard_project_setup(REQUIRES 6.8) + +#qt_standard_project_setup should cover these +#include(GNUInstallDirs) +#set(CMAKE_AUTOMOC ON) +#set(CMAKE_AUTOUIC ON) + +qt6_policy(SET QTP0001 NEW) +qt6_policy(SET QTP0004 NEW) + + +list(APPEND QML_IMPORT_PATH "${CMAKE_CURRENT_SOURCE_DIR}/src/res/qml") +message(STATUS "QML_IMPORT_PATH ${QML_IMPORT_PATH}") + # ability to just put .qrc files into the source list -set(CMAKE_AUTORCC ON) +#set(CMAKE_AUTORCC ON) + set(SRCS src/alarm_clock/vr_alarm.cpp @@ -95,7 +110,7 @@ set(HEADERS src/quaternion/quaternion.h ) -set(QML_FILES +set(QML_FILERC src/res/qml/utilities_page/keyboard_utils/KeyboardGroupBox.qml src/res/qml/utilities_page/media_keys/MediaControllerKeys.qml src/res/qml/utilities_page/media_keys/MediaButton.qml @@ -171,22 +186,80 @@ set(QML_FILES src/res/qml/StatisticsPage.qml ) -set(RESOURCES src/res/resources.qrc) +set(ResourcesRC + src/res/img/alarm/alarm_activated.png + src/res/img/audio/media_keys/outline_play_pause_white_24dp.svg + src/res/img/audio/media_keys/outline_skip_next_white_24dp.svg + src/res/img/audio/media_keys/outline_skip_previous_white_24dp.svg + src/res/img/audio/media_keys/outline_stop_white_24dp.svg + src/res/img/audio/microphone/mic_off.svg + src/res/img/audio/microphone/mic_on.svg + src/res/img/audio/microphone/ptm_notification.png + src/res/img/audio/microphone/ptt_notification.png + src/res/img/audio/microphone/ptt_notification.svg + src/res/img/audio/speaker/speaker_off.svg + src/res/img/audio/speaker/speaker_on.svg + src/res/img/battery/battery_0.png + src/res/img/battery/battery_1.png + src/res/img/battery/battery_2.png + src/res/img/battery/battery_3.png + src/res/img/battery/battery_4.png + src/res/img/battery/battery_5.png + src/res/img/chaperone/centermark.png + src/res/img/chaperone/centermarkl1.png + src/res/img/chaperone/centermarkl2.png + src/res/img/chaperone/centermarkl3.png + src/res/img/chaperone/centermarkr1.png + src/res/img/chaperone/centermarkr2.png + src/res/img/chaperone/centermarkr3.png + src/res/img/common/backarrow.svg + src/res/img/common/check.svg + src/res/img/icons/advicon256px.ico + src/res/img/icons/thumbicon.png + src/res/img/main_menu_icons/audio_tab_icon.svg + src/res/img/main_menu_icons/bindings_tab_icon.svg + src/res/img/main_menu_icons/chaperone_tab_icon.svg + src/res/img/main_menu_icons/motion_tab_icon.svg + src/res/img/main_menu_icons/offsets_tab_icon.svg + src/res/img/main_menu_icons/rotation_tab_icon.svg + src/res/img/main_menu_icons/settings_tab_icon.svg + src/res/img/main_menu_icons/space_fix_tab_icon.svg + src/res/img/main_menu_icons/statistics_tab_icon.svg + src/res/img/main_menu_icons/steamvr_tab_icon.svg + src/res/img/main_menu_icons/utilities_tab_icon.svg + src/res/img/main_menu_icons/video_tab_icon.svg + src/res/img/rotation/autoturn.png + src/res/img/rotation/noautoturn.png + src/res/img/rotation/noautoturn.svg + src/res/img/video/color.png + src/res/img/video/dimmer.png + src/res/sounds/alarm01.wav + src/res/sounds/click.wav + src/res/sounds/focus.wav +) -# make alias path relative to src/res/qml -foreach(qml_file ${QML_FILES}) - cmake_path(RELATIVE_PATH qml_file BASE_DIRECTORY src/res/qml OUTPUT_VARIABLE qml_alias) - set_source_files_properties(${qml_file} PROPERTIES QT_RESOURCE_ALIAS ${qml_alias}) -endforeach() +#set_source_files_properties(src/res/qml/common/MyResources.qml PROPERTIES QT_QML_SINGLETON_TYPE TRUE) +#qt_add_executable(AdvancedSettings WIN32 MACOSX_BUNDLE ${SRCS} ${HEADERS}) +qt_add_executable(AdvancedSettings + ${SRCS} + ${HEADERS} +) +#src/res/resources.qrc -set_source_files_properties(src/res/qml/common/MyResources.qml PROPERTIES QT_QML_SINGLETON_TYPE TRUE) - -qt_add_executable(AdvancedSettings WIN32 MACOSX_BUNDLE ${SRCS} ${RESOURCES} ${HEADERS}) +qt_add_qml_module(AdvancedSettings + URI AdvancedSettings + QML_FILES + ${QML_FILERC} + RESOURCES + ${ResourcesRC} + VERSION ${PROJECT_VERSION} +) target_include_directories(AdvancedSettings PUBLIC - src third-party/nlohmann - third-party/openvr/headers) + third-party/openvr/headers + ${Vulkan_INCLUDE_DIR} +) # Avoid collision between executable name and QML module directory (QTBUG-98568). if(NOT WIN32 AND NOT APPLE) @@ -197,21 +270,27 @@ target_compile_definitions(AdvancedSettings PRIVATE APPLICATION_VERSION=\"${PROJECT_VERSION}\" ) -find_library(OPENVR_LIBRARIES - NAMES - openvr_api - PATHS - ${CMAKE_CURRENT_SOURCE_DIR}/third-party/openvr/bin - ${CMAKE_CURRENT_SOURCE_DIR}/third-party/openvr/lib - PATH_SUFFIXES - linux64 - win64 - NO_DEFAULT_PATH - NO_CMAKE_FIND_ROOT_PATH) +#find_library(OPENVR_LIBRARIES +# NAMES +# openvr_api +# PATHS +# ${CMAKE_CURRENT_SOURCE_DIR}/third-party/openvr/bin +# ${CMAKE_CURRENT_SOURCE_DIR}/third-party/openvr/lib +# PATH_SUFFIXES +# linux64 +# win64 +# NO_DEFAULT_PATH +# NO_CMAKE_FIND_ROOT_PATH) + +if (WIN32) + target_link_directories(AdvancedSettings PRIVATE + ${CMAKE_SOURCE_DIR}/third-party/openvr/lib/win64 + ) +endif () target_link_libraries(AdvancedSettings PRIVATE - Qt::Core Qt::Gui + Qt6::Core5Compat # For QRhi Qt::GuiPrivate Qt::Multimedia @@ -222,227 +301,243 @@ target_link_libraries(AdvancedSettings PRIVATE Qt::QuickControls2 Qt::QuickDialogs2 Qt::Svg - ${OPENVR_LIBRARIES} + Qt::Qml + openvr_api + +) +#${OPENVR_LIBRARIES} + +#qt6_add_resources(RESOURCES src/res/resources.qrc) +#target_sources(AdvancedSettings PRIVATE ${RESOURCES}) + +#qt_add_qml_module(AdvancedSettings +# URI AdvancedSettings +# VERSION ${PROJECT_VERSION} +# QML_FILES ${QML_FILES} +#) + +set(COPY_DEST_DIR "${CMAKE_CURRENT_BINARY_DIR}/$") +set_target_properties(AdvancedSettings PROPERTIES + RUNTIME_OUTPUT_DIRECTORY "${COPY_DEST_DIR}" ) -qt_add_qml_module(AdvancedSettings - URI AdvancedSettings - VERSION ${PROJECT_VERSION} - QML_FILES ${QML_FILES} +# resCopy +add_custom_command(TARGET AdvancedSettings POST_BUILD + COMMAND ${CMAKE_COMMAND} -E copy_directory + "${CMAKE_SOURCE_DIR}/src/res" "${COPY_DEST_DIR}/res" ) +# readmeCopy +add_custom_command(TARGET AdvancedSettings POST_BUILD + COMMAND ${CMAKE_COMMAND} -E copy + "${CMAKE_SOURCE_DIR}/Readme.md" "${COPY_DEST_DIR}/Readme.md" +) -if(GCC) - target_compile_options(AdvancedSettings - -Wcast-align - -Wconversion - -Wdouble-promotion - -Wduplicated-branches - -Wduplicated-cond - -Wextra - -Wformat=2 - -Wlogical-op - -Wno-sign-conversion - -Wnon-virtual-dtor - -Wnull-dereference - -Wold-style-cast - -Woverloaded-virtual - -Wpedantic - -Wrestrict - -Wshadow - -Wunused - -Wzero-as-null-pointer-constant - -flto +# licenseCopy +add_custom_command(TARGET AdvancedSettings POST_BUILD + COMMAND ${CMAKE_COMMAND} -E copy_if_different + "${CMAKE_SOURCE_DIR}/LICENSE" "${COPY_DEST_DIR}/LICENSE" + COMMAND ${CMAKE_COMMAND} -E copy_if_different + "${CMAKE_SOURCE_DIR}/third-party/openvr/LICENSE-VALVE" "${COPY_DEST_DIR}/LICENSE-VALVE" + #COMMAND ${CMAKE_COMMAND} -E copy_if_different + #"${CMAKE_SOURCE_DIR}/third-party/magic_enum/LICENSE" "${COPY_DEST_DIR}/LICENSE-MAGIC-ENUM" +) + +# packageFoldersCopy +add_custom_command(TARGET AdvancedSettings POST_BUILD + COMMAND ${CMAKE_COMMAND} -E copy_directory + "${CMAKE_SOURCE_DIR}/src/package_files/default_action_manifests" + "${COPY_DEST_DIR}/default_action_manifests" +) + +# packageFilesCopy +add_custom_command(TARGET AdvancedSettings POST_BUILD + COMMAND ${CMAKE_COMMAND} -E copy_if_different + "${CMAKE_SOURCE_DIR}/src/package_files/action_manifest.json" "${COPY_DEST_DIR}/action_manifest.json" + COMMAND ${CMAKE_COMMAND} -E copy_if_different + "${CMAKE_SOURCE_DIR}/src/package_files/manifest.vrmanifest" "${COPY_DEST_DIR}/manifest.vrmanifest" +) +if (WIN32) + add_custom_command(TARGET AdvancedSettings POST_BUILD + COMMAND ${CMAKE_COMMAND} -E copy_if_different + "${CMAKE_SOURCE_DIR}/src/package_files/qt.conf" "${COPY_DEST_DIR}/qt.conf" + COMMAND ${CMAKE_COMMAND} -E copy_if_different + "${CMAKE_SOURCE_DIR}/src/package_files/restartvrserver.bat" "${COPY_DEST_DIR}/restartvrserver.bat" + COMMAND ${CMAKE_COMMAND} -E copy_if_different + "${CMAKE_SOURCE_DIR}/src/package_files/startdesktopmode.bat" "${COPY_DEST_DIR}/startdesktopmode.bat" ) +endif () - if(warnings_as_errors) - target_compile_options(AdvancedSettings - -Werror - ) - endif() -endif() - -if(CMAKE_CXX_COMPILER_ID STREQUAL "Clang") - target_compile_options(AdvancedSettings - --system-header-prefix=qt - --system-header-prefix=third-party - -Wcast-align - -Wconversion - -Wdouble-promotion - -Wextra - -Wextra-semi - -Wformat=2 - -Wmissing-variable-declarations - -Wmost - -Wno-sign-conversion - -Wnon-virtual-dtor - -Wold-style-cast - -Woverloaded-virtual - -Wpedantic - -Wshadow - -Wunused - -Wzero-as-null-pointer-constant - -flto +# openvrApiCopy +if (WIN32) + add_custom_command(TARGET AdvancedSettings POST_BUILD + COMMAND ${CMAKE_COMMAND} -E copy_if_different + "${CMAKE_SOURCE_DIR}/third-party/openvr/bin/win64/openvr_api.dll" "${COPY_DEST_DIR}/openvr_api.dll" ) - if(warnings_as_errors) - target_compile_options(AdvancedSettings - -Werror - ) - endif() -endif() - -if(debugSymbolsAndLogs) - target_compile_definitions(AdvancedSettings PRIVATE - ENABLE_DEBUG_LOGGING +else () + add_custom_command(TARGET AdvancedSettings POST_BUILD + COMMAND ${CMAKE_COMMAND} -E copy_if_different + "${CMAKE_SOURCE_DIR}/third-party/openvr/lib/linux64/libopenvr_api.so" "${COPY_DEST_DIR}/libopenvr_api.so" ) -endif() +endif () -if(${CMAKE_SYSTEM_NAME} STREQUAL "Windows") - cmake_path(GET QT_DIR PARENT_PATH QT_ROOT) - cmake_path(GET QT_ROOT PARENT_PATH QT_ROOT) - cmake_path(GET QT_ROOT PARENT_PATH QT_ROOT) +# opensslCopy +if (WIN32) + add_custom_command(TARGET AdvancedSettings POST_BUILD + COMMAND ${CMAKE_COMMAND} -E copy_if_different + "${CMAKE_SOURCE_DIR}/third-party/openssl/libcrypto-1_1-x64.dll" "${COPY_DEST_DIR}/libcrypto-1_1-x64.dll" + COMMAND ${CMAKE_COMMAND} -E copy_if_different + "${CMAKE_SOURCE_DIR}/third-party/openssl/libssl-1_1-x64.dll" "${COPY_DEST_DIR}/libssl-1_1-x64.dll" + COMMAND ${CMAKE_COMMAND} -E copy_if_different + "${CMAKE_SOURCE_DIR}/third-party/openssl/LICENSE-OPENSSL" "${COPY_DEST_DIR}/LICENSE-OPENSSL" + ) +endif () - cmake_path(NATIVE_PATH QT_ROOT NORMALIZE NATIVE_QT_ROOT) - cmake_path(NATIVE_PATH QT_DIR NORMALIZE NATIVE_QT_DIR) - cmake_path(NATIVE_PATH PROJECT_SOURCE_DIR NORMALIZE NATIVE_PROJECT_SOURCE_DIR) +target_include_directories(AdvancedSettings PRIVATE + third-party/openvr/headers + third-party/policyconfig +) - # Needs to be executed: Set-ExecutionPolicy -ExecutionPolicy Unrestricted -Scope Process - configure_file(build_scripts/win/env.ps1.in env.ps1) - configure_file(build_scripts/win/env.sh.in env.sh @ONLY) - - # Adds default qt plugins path - configure_file(build_scripts/win/qt.conf.in qt.conf ESCAPE_QUOTES) - - target_sources(AdvancedSettings PUBLIC - src/keyboard_input/input_sender_win.cpp - src/media_keys/media_keys_win.cpp - src/tabcontrollers/audiomanager/AudioManagerWindows.cpp +if (WIN32) + target_sources(AdvancedSettings PRIVATE + src/keyboard_input/input_sender_win.cpp + src/media_keys/media_keys_win.cpp + src/tabcontrollers/audiomanager/AudioManagerWindows.cpp + src/tabcontrollers/audiomanager/AudioManagerWindows.h ) target_link_libraries(AdvancedSettings PRIVATE - ole32 - user32 + ole32 + user32 ) - target_include_directories(AdvancedSettings PUBLIC third-party/policyconfig) - target_compile_definitions(AdvancedSettings PRIVATE - _SILENCE_CXX17_CODECVT_HEADER_DEPRECATION_WARNING + if (MSVC) + target_compile_definitions(AdvancedSettings PRIVATE + _SILENCE_CXX17_CODECVT_HEADER_DEPRECATION_WARNING ) - if(MSVC) - target_compile_options(AdvancedSettings PUBLIC - /Gw - /W4 - /permissive- - /w14254 - /w14263 - /w14265 - /w14287 - /w14296 - /w14311 - /w14545 - /w14546 - /w14547 - /w14549 - /w14555 - /w14640 - /w14826 - /w14905 - /w14906 - /w14928 - /wd4127 - /we4289 + target_compile_options(AdvancedSettings PRIVATE + /GL /Gw /W4 /permissive- /w14254 /w14263 /w14265 /w14287 /w14296 /w14311 + /w14545 /w14546 /w14547 /w14549 /w14555 /w14640 /w14826 /w14905 /w14906 + /w14928 /wd4127 /we4289 /Zc:__cplusplus ) + if (warnings_as_errors) + target_compile_options(AdvancedSettings PRIVATE /WX) + endif () + endif () +elseif (UNIX) + if (NOT APPLE AND NOT noX11) + target_sources(AdvancedSettings PRIVATE + src/keyboard_input/input_sender_X11.cpp + ) + find_package(X11 REQUIRED) + target_link_libraries(AdvancedSettings PRIVATE ${X11_LIBRARIES}) + elseif (NOT APPLE AND noX11) + target_sources(AdvancedSettings PRIVATE + src/keyboard_input/input_sender_dummy.cpp + ) + endif () - if(warnings_as_errors) - target_compile_options(AdvancedSettings - /WX - ) - endif() - elseif(win32-clang-msvc) - target_compile_options(AdvancedSettings - -Wcast-align - -Wdouble-promotion - -Wextra - -Wformat=2 - -Wmissing-variable-declarations - -Wmost - -Wnon-virtual-dtor - -Wold-style-cast - -Woverloaded-virtual - -Wshadow - -Wunused - -flto - /Gw - /W4 - /imsvc /imsvc /imsvc - /w14254 - /w14263 - /w14265 - /w14287 - /w14296 - /w14311 - /w14545 - /w14546 - /w14547 - /w14549 - /w14555 - /w14640 - /w14826 - /w14905 - /w14906 - /w14928 - /wd4127 - /we4289 + if (NOT APPLE AND NOT noDBUS) + target_sources(AdvancedSettings PRIVATE + src/media_keys/media_keys_dbus.cpp ) - endif() + find_package(Qt6 OPTIONAL_COMPONENTS DBus) + target_link_libraries(AdvancedSettings PRIVATE Qt6::DBus) + elseif (NOT APPLE AND noDBUS) + target_sources(AdvancedSettings PRIVATE + src/media_keys/media_keys_dummy.cpp + ) + endif () -elseif(UNIX AND NOT MACOS) - if(noX11) - target_sources(AdvancedSettings PUBLIC - src/keyboard_input/input_sender_dummy.cpp + if (NOT APPLE AND NOT noPulse) + target_sources(AdvancedSettings PRIVATE + src/tabcontrollers/audiomanager/AudioManagerPulse.cpp + src/tabcontrollers/audiomanager/AudioManagerPulse.h + src/tabcontrollers/audiomanager/AudioManagerPulse_internal.h ) - else() - target_sources(AdvancedSettings PUBLIC - src/keyboard_input/input_sender_X11.cpp + target_link_libraries(AdvancedSettings PRIVATE pulse) + elseif (NOT APPLE AND noPulse) + target_sources(AdvancedSettings PRIVATE + src/tabcontrollers/audiomanager/AudioManagerDummy.cpp + src/tabcontrollers/audiomanager/AudioManagerDummy.h ) + endif () - target_link_libraries(AdvancedSettings PRIVATE - Xtst - X11 + if (APPLE) + target_sources(AdvancedSettings PRIVATE + src/keyboard_input/input_sender_dummy.cpp + src/media_keys/media_keys_dummy.cpp + src/tabcontrollers/audiomanager/AudioManagerDummy.cpp + src/tabcontrollers/audiomanager/AudioManagerDummy.h ) - endif() + endif () - if(noDBUS) - target_sources(AdvancedSettings PUBLIC - src/media_keys/media_keys_dummy.cpp - ) - else() - target_sources(AdvancedSettings PUBLIC - src/media_keys/media_keys_dbus.cpp + if (CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang") + target_compile_options(AdvancedSettings PRIVATE + -Wcast-align + -Wconversion + -Wdouble-promotion + -Wduplicated-branches + -Wduplicated-cond + -Wextra + -Wformat=2 + -Wlogical-op + -Wno-sign-conversion + -Wnon-virtual-dtor + -Wnull-dereference + -Wold-style-cast + -Woverloaded-virtual + -Wpedantic + -Wrestrict + -Wshadow + -Wunused + -Wzero-as-null-pointer-constant + #-flto ) + if (warnings_as_errors) + target_compile_options(AdvancedSettings PRIVATE -Werror) + endif () + endif () +endif () - target_link_libraries(AdvancedSettings PRIVATE - Qt::DBus - ) - endif() +if (debugSymbolsAndLogs) + target_compile_definitions(AdvancedSettings PRIVATE ENABLE_DEBUG_LOGGING) +endif () - if(noPulse) - target_sources(AdvancedSettings PUBLIC - src/tabcontrollers/audiomanager/AudioManagerDummy.cpp - ) - else() - target_sources(AdvancedSettings PUBLIC - src/tabcontrollers/audiomanager/AudioManagerPulse.cpp - ) +install(TARGETS AdvancedSettings + BUNDLE DESTINATION . + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} +) - target_link_libraries(AdvancedSettings PRIVATE - pulse - ) - endif() -elseif(MACOS) - target_sources(AdvancedSettings PUBLIC - src/keyboard_input/input_sender_dummy.cpp - src/media_keys/media_keys_dummy.cpp - src/tabcontrollers/audiomanager/AudioManagerDummy.cpp - ) -endif() +#qt_generate_deploy_qml_app_script( +# TARGET AdvancedSettings +# OUTPUT_SCRIPT deploy_script +#) +#install(SCRIPT ${deploy_script}) +if (WIN32) +qt_generate_deploy_qml_app_script( + TARGET AdvancedSettings + OUTPUT_SCRIPT deploy_script + MACOS_BUNDLE_POST_BUILD + NO_UNSUPPORTED_PLATFORM_ERROR + DEPLOY_USER_QML_MODULES_ON_UNSUPPORTED_PLATFORM +) +install(SCRIPT ${deploy_script}) +message(STATUS "Deploy Script ${deploy_script}") +install(SCRIPT ${deploy_script}) + +# message(STATUS "Path to qml: ${CMAKE_SOURCE_DIR}/src/res/qml") +#This should be re-dundant but for some reason Visual Studio really wants this + #set(WINDEPLOYQT_BUILD_TARGET "$<$:--debug>$<$>:--release>") + #add_custom_command(TARGET AdvancedSettings POST_BUILD + # COMMAND "${Qt6_DIR}/../../../bin/windeployqt6.exe" + # --dir "${COPY_DEST_DIR}/qtdata" + # --libdir "${COPY_DEST_DIR}" + # --plugindir "${COPY_DEST_DIR}/qtdata/plugins" + # --no-system-d3d-compiler + # --no-opengl-sw + # ${WINDEPLOYQT_BUILD_TARGET} + # --qmldir "${CMAKE_SOURCE_DIR}/src/res/qml" + # "${COPY_DEST_DIR}/AdvancedSettings.exe" + #) +endif () diff --git a/CMakeSettings.json b/CMakeSettings.json new file mode 100644 index 0000000..15d5ab0 --- /dev/null +++ b/CMakeSettings.json @@ -0,0 +1,33 @@ +{ + "configurations": [ + { + "name": "x64-Debug", + "generator": "Ninja", + "configurationType": "Debug", + "inheritEnvironments": [ "msvc_x64_x64" ], + "buildRoot": "${projectDir}\\out\\build\\${name}", + "installRoot": "${projectDir}\\out\\install\\${name}", + "cmakeCommandArgs": "", + "buildCommandArgs": "", + "ctestCommandArgs": "", + "variables": [ + { + "name": "CMAKE_INSTALL_PREFIX", + "value": "D:/Code/ovras/OpenVR-AdvancedSettings/out/build/x64-Debug/Debug", + "type": "PATH" + } + ] + }, + { + "name": "x64-Release", + "generator": "Ninja", + "configurationType": "RelWithDebInfo", + "buildRoot": "${projectDir}\\out\\build\\${name}", + "installRoot": "${projectDir}\\out\\install\\${name}", + "cmakeCommandArgs": "", + "buildCommandArgs": "", + "ctestCommandArgs": "", + "inheritEnvironments": [ "msvc_x64_x64" ] + } + ] +} \ No newline at end of file diff --git a/src/alarm_clock/vr_alarm.cpp b/src/alarm_clock/vr_alarm.cpp index 3573a53..694150e 100644 --- a/src/alarm_clock/vr_alarm.cpp +++ b/src/alarm_clock/vr_alarm.cpp @@ -25,7 +25,7 @@ VrAlarm::VrAlarm() ovr_overlay_wrapper::hideOverlay( m_alarmOverlayHandle ); // Only need to set it once, no need to keep it in memory - QImage alarmIcon( QString( ":/alarm/alarm_activated.png" ) ); + QImage alarmIcon( ":qt/qml/AdvancedSettings/src/res/img/alarm/alarm_activated.png" ); ovr_overlay_wrapper::setOverlayFromQImage( m_alarmOverlayHandle, alarmIcon ); diff --git a/src/main.cpp b/src/main.cpp index fa5d6f0..09417a5 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -46,20 +46,25 @@ int main( int argc, char* argv[] ) openvr_init::initializeOpenVR( openvr_init::OpenVrInitializationType::Overlay ); - try { QQmlEngine qmlEngine; + // Just error checking to ensure QRC works properly + //qDebug() << "list of qmldirs"; + //QDirIterator it( ":", QDirIterator::Subdirectories ); + //while ( it.hasNext() ) + //{ + // qDebug() << it.next(); + //} + std::unique_ptr controller( new advsettings::OverlayController( commandLineArgs.desktopMode, commandLineArgs.forceNoSound, qmlEngine ) ); - - const auto url - = QUrl( "qrc:/qt/qml/AdvancedSettings/common/mainwidget.qml" ); - - QQmlComponent component( &qmlEngine, url ); + //const auto url + // = QUrl( ":/qt/qml/AdvancedSettings/src/res/qml/common/mainwidget.qml" ); + QQmlComponent component( &qmlEngine, ":/qt/qml/AdvancedSettings/src/res/qml/common/mainwidget.qml" ); auto errors = component.errors(); for ( auto& e : errors ) { @@ -98,6 +103,7 @@ int main( int argc, char* argv[] ) || settings::getSetting( settings::BoolSetting::APPLICATION_desktopModeToggle ) ) { + qDebug() << "Desktop MODE!"; auto m_pWindow = new QQuickWindow(); qobject_cast( quickObj ) ->setParentItem( m_pWindow->contentItem() ); diff --git a/src/overlaycontroller.cpp b/src/overlaycontroller.cpp index d57d4a4..cd2ab31 100644 --- a/src/overlaycontroller.cpp +++ b/src/overlaycontroller.cpp @@ -77,13 +77,13 @@ OverlayController::OverlayController( bool desktopMode, qInfo() << "VR Runtime Path: " << m_runtimePathUrl.toLocalFile(); const double initVol = soundVolume(); - m_activationSoundEffect.setSource( QUrl( "qrc:/sounds/click.wav" ) ); + m_activationSoundEffect.setSource( QUrl( ":/qt/qml/AdvancedSettings/src/res/sounds/click.wav" ) ); m_activationSoundEffect.setVolume( initVol ); - m_focusChangedSoundEffect.setSource( QUrl( "qrc:/sounds/focus.wav" ) ); + m_focusChangedSoundEffect.setSource( QUrl( ":/qt/qml/AdvancedSettings/src/res/sounds/focus.wav" ) ); m_focusChangedSoundEffect.setVolume( initVol ); - m_alarm01SoundEffect.setSource( QUrl( "qrc:/sounds/alarm01.wav" ) ); + m_alarm01SoundEffect.setSource( QUrl( ":/qt/qml/AdvancedSettings/src/res/sounds/alarm01.wav" ) ); m_alarm01SoundEffect.setVolume( 1.0 ); // If we have desktop mode flag ignore waht toggle says otherwise we use @@ -362,6 +362,7 @@ void OverlayController::SetWidget( QQuickItem* quickItem, { if ( !m_desktopMode ) { + qDebug() << "not desktop mode"; vr::VROverlayError overlayError = vr::VROverlay()->CreateDashboardOverlay( key.c_str(), @@ -390,7 +391,7 @@ void OverlayController::SetWidget( QQuickItem* quickItem, true ); { - QImage thumbiconImg( QString( ":/icons/thumbicon.png" ) ); + QImage thumbiconImg( ":qt/qml/AdvancedSettings/src/res/img/icons/thumbicon.png"); ovr_overlay_wrapper::setOverlayFromQImage( m_ulOverlayThumbnailHandle, thumbiconImg ); } @@ -422,7 +423,6 @@ void OverlayController::SetWidget( QQuickItem* quickItem, if ( !m_renderControl.initialize() ) throw std::runtime_error( "could not initialize m_renderControl" ); - QRhi* rhi = this->rhi(); qInfo() << "Started with" << rhi->backendName(); @@ -533,6 +533,15 @@ void OverlayController::SetOverlayFromQRhiTexture( QRhiTexture& tex ) vrTex.eColorSpace = vr::ColorSpace_Auto; } break; + case QRhi::D3D11: + { + qInfo() << "YEPPPERS HERE WE GO!"; + vrTex.handle = reinterpret_cast( tex.nativeTexture().object ); + vrTex.eType = vr::TextureType_DirectX; + vrTex.eColorSpace = vr::ColorSpace_Auto; + + } + break; #if QT_CONFIG( vulkan ) case QRhi::Vulkan: { diff --git a/src/res/qml/RootPage.qml b/src/res/qml/RootPage.qml index 2d062c5..f76943e 100644 --- a/src/res/qml/RootPage.qml +++ b/src/res/qml/RootPage.qml @@ -1,7 +1,7 @@ -import QtQuick 2.7 -import QtQuick.Controls 2.0 -import QtQuick.Layouts 1.3 -import ovras.advsettings 1.0 +import QtQuick +import QtQuick.Controls +import QtQuick.Layouts +import ovras.advsettings import "." // QTBUG-34418, singletons require explicit import to load qmldir file import "common" import "utilities_page" @@ -33,7 +33,7 @@ MyStackViewPage { text: " SteamVR" Layout.fillWidth: true onClicked: { - MyResources.playFocusChangedSound() + OverlayController.playFocusChangedSound() mainView.push(steamVRPage) } } @@ -45,7 +45,7 @@ MyStackViewPage { text: " Chaperone" Layout.fillWidth: true onClicked: { - MyResources.playFocusChangedSound() + OverlayController.playFocusChangedSound() mainView.push(chaperonePage) } } @@ -57,7 +57,7 @@ MyStackViewPage { text: " Offsets" Layout.fillWidth: true onClicked: { - MyResources.playFocusChangedSound() + OverlayController.playFocusChangedSound() mainView.push(playspacePage) } } @@ -69,7 +69,7 @@ MyStackViewPage { text: " Motion" Layout.fillWidth: true onClicked: { - MyResources.playFocusChangedSound() + OverlayController.playFocusChangedSound() mainView.push(motionPage) } } @@ -80,7 +80,7 @@ MyStackViewPage { text: " Rotation" Layout.fillWidth: true onClicked: { - MyResources.playFocusChangedSound() + OverlayController.playFocusChangedSound() mainView.push(rotationPage) } } @@ -92,7 +92,7 @@ MyStackViewPage { text: " Space Fix" Layout.fillWidth: true onClicked: { - MyResources.playFocusChangedSound() + OverlayController.playFocusChangedSound() mainView.push(fixFloorPage) } } @@ -104,7 +104,7 @@ MyStackViewPage { text: " Audio" Layout.fillWidth: true onClicked: { - MyResources.playFocusChangedSound() + OverlayController.playFocusChangedSound() mainView.push(audioPage) } } @@ -116,7 +116,7 @@ MyStackViewPage { text: " Video" Layout.fillWidth: true onClicked: { - MyResources.playFocusChangedSound() + OverlayController.playFocusChangedSound() mainView.push(videoPage) } } @@ -128,7 +128,7 @@ MyStackViewPage { text: " Utilities" Layout.fillWidth: true onClicked: { - MyResources.playFocusChangedSound() + OverlayController.playFocusChangedSound() mainView.push(utilitiesPage) } } @@ -141,7 +141,7 @@ MyStackViewPage { text: " Statistics" Layout.fillWidth: true onClicked: { - MyResources.playFocusChangedSound() + OverlayController.playFocusChangedSound() mainView.push(statisticsPage) } } @@ -169,7 +169,7 @@ MyStackViewPage { text: " Settings" Layout.fillWidth: true onClicked: { - MyResources.playFocusChangedSound() + OverlayController.playFocusChangedSound() mainView.push(settingsPage) } } @@ -470,9 +470,8 @@ MyStackViewPage { summaryMicMuteToggle.checked = AudioTabController.micMuted summaryPttToggle.checked = AudioTabController.pttEnabled } - Connections { - target: OverlayController + target: OverlayController function onNewVersionDetectedChanged() { if (OverlayController.newVersionDetected) { diff --git a/src/res/qml/chaperone_page/ChaperonePage.qml b/src/res/qml/chaperone_page/ChaperonePage.qml index 895a9e2..c4a34db 100644 --- a/src/res/qml/chaperone_page/ChaperonePage.qml +++ b/src/res/qml/chaperone_page/ChaperonePage.qml @@ -494,7 +494,7 @@ MyStackViewPage { text: "Proximity Warning Settings" Layout.preferredWidth: 350 onClicked: { - MyResources.playFocusChangedSound() + OverlayController.playFocusChangedSound() mainView.push(chaperoneWarningsPage) } } @@ -506,7 +506,7 @@ MyStackViewPage { Layout.preferredWidth: 400 onClicked: { - MyResources.playFocusChangedSound() + OverlayController.playFocusChangedSound() mainView.push(chaperoneAdditionalPage) } } diff --git a/src/res/qml/chaperone_page/chaperone_additional/chaperonetype/ChaperoneTypeGroupBox.qml b/src/res/qml/chaperone_page/chaperone_additional/chaperonetype/ChaperoneTypeGroupBox.qml index 19740e3..b4ca202 100644 --- a/src/res/qml/chaperone_page/chaperone_additional/chaperonetype/ChaperoneTypeGroupBox.qml +++ b/src/res/qml/chaperone_page/chaperone_additional/chaperonetype/ChaperoneTypeGroupBox.qml @@ -40,7 +40,7 @@ GroupBox { Layout.preferredWidth: 200 onCheckedChanged: { if(checked){ - MyResources.playActivationSound() + OverlayController.playActivationSound() ChaperoneTabController.setCollisionBoundStyle(0) } } @@ -52,7 +52,7 @@ GroupBox { Layout.preferredWidth: 200 onCheckedChanged: { if(checked){ - MyResources.playActivationSound() + OverlayController.playActivationSound() ChaperoneTabController.setCollisionBoundStyle(1) } } @@ -64,7 +64,7 @@ GroupBox { Layout.preferredWidth: 200 onCheckedChanged: { if(checked){ - MyResources.playActivationSound() + OverlayController.playActivationSound() ChaperoneTabController.setCollisionBoundStyle(2) } } @@ -76,7 +76,7 @@ GroupBox { Layout.preferredWidth: 200 onCheckedChanged: { if(checked){ - MyResources.playActivationSound() + OverlayController.playActivationSound() ChaperoneTabController.setCollisionBoundStyle(3) } } @@ -88,7 +88,7 @@ GroupBox { Layout.preferredWidth: 200 onCheckedChanged: { if(checked){ - MyResources.playActivationSound() + OverlayController.playActivationSound() ChaperoneTabController.setCollisionBoundStyle(4) } } @@ -124,4 +124,7 @@ GroupBox { } } + Connections { + target: OverlayController + } } diff --git a/src/res/qml/common/MyComboBox.qml b/src/res/qml/common/MyComboBox.qml index 8727801..eb589e2 100644 --- a/src/res/qml/common/MyComboBox.qml +++ b/src/res/qml/common/MyComboBox.qml @@ -63,11 +63,14 @@ ComboBox { onActivated: { if (activeFocus) { - MyResources.playActivationSound() + OverlayController.playActivationSound() } } Component.onCompleted: { popup.background.color = "#2a2e35" } + Connections { + target: OverlayController + } } diff --git a/src/res/qml/common/MyPushButton.qml b/src/res/qml/common/MyPushButton.qml index c884ead..31e4a8e 100644 --- a/src/res/qml/common/MyPushButton.qml +++ b/src/res/qml/common/MyPushButton.qml @@ -35,7 +35,10 @@ Button { onClicked: { if (activationSoundEnabled) { - MyResources.playActivationSound() + OverlayController.playActivationSound() } } + Connections { + target: OverlayController + } } diff --git a/src/res/qml/common/MyPushButton2.qml b/src/res/qml/common/MyPushButton2.qml index 70bb01a..b1e9f6e 100644 --- a/src/res/qml/common/MyPushButton2.qml +++ b/src/res/qml/common/MyPushButton2.qml @@ -24,6 +24,9 @@ Button { } onClicked: { - MyResources.playActivationSound() + OverlayController.playActivationSound() + } + Connections { + target: OverlayController } } diff --git a/src/res/qml/common/MyRadioButton.qml b/src/res/qml/common/MyRadioButton.qml index b14e3a0..8f721c8 100644 --- a/src/res/qml/common/MyRadioButton.qml +++ b/src/res/qml/common/MyRadioButton.qml @@ -19,6 +19,9 @@ RadioButton { } onClicked: { - MyResources.playActivationSound() + OverlayController.playActivationSound() + } + Connections { + target: OverlayController } } diff --git a/src/res/qml/common/MyResources.qml b/src/res/qml/common/MyResources.qml index a0e31d3..1203893 100644 --- a/src/res/qml/common/MyResources.qml +++ b/src/res/qml/common/MyResources.qml @@ -10,4 +10,7 @@ QtObject { function playFocusChangedSound() { OverlayController.playFocusChangedSound() } + Connections { + target: OverlayController + } } diff --git a/src/res/qml/common/MySlider.qml b/src/res/qml/common/MySlider.qml index 30ab694..0d6e8e0 100644 --- a/src/res/qml/common/MySlider.qml +++ b/src/res/qml/common/MySlider.qml @@ -48,7 +48,7 @@ Slider { onValueChanged: { if (activeFocus) { - //MyResources.playActivationSound() + //OverlayController.playActivationSound() } } } diff --git a/src/res/qml/common/MyStackViewPage.qml b/src/res/qml/common/MyStackViewPage.qml index 0a2c6a5..2a28a3f 100644 --- a/src/res/qml/common/MyStackViewPage.qml +++ b/src/res/qml/common/MyStackViewPage.qml @@ -2,7 +2,7 @@ import QtQuick 2.7 import QtQuick.Controls 2.0 import QtQuick.Layouts 1.2 import "." // QTBUG-34418, singletons require explicit import to load qmldir file -// Needed for MyResources in the default folder. +// Needed for OverlayController in the default folder. import ".." Rectangle { @@ -45,7 +45,7 @@ Rectangle { } } onClicked: { - MyResources.playFocusChangedSound() + OverlayController.playFocusChangedSound() stackView.pop() } } @@ -90,4 +90,7 @@ Rectangle { content.Layout.rightMargin = 40 content.Layout.bottomMargin = 40 } + Connections { + target: OverlayController + } } diff --git a/src/res/qml/common/MyToggleButton.qml b/src/res/qml/common/MyToggleButton.qml index 9c492da..9584072 100644 --- a/src/res/qml/common/MyToggleButton.qml +++ b/src/res/qml/common/MyToggleButton.qml @@ -1,7 +1,7 @@ import QtQuick 2.7 import QtQuick.Controls 2.0 import "." // QTBUG-34418, singletons require explicit import to load qmldir file -// Needed for MyResources in the default folder. +// Needed for OverlayControllers in the default folder. import ".." CheckBox { @@ -60,6 +60,9 @@ CheckBox { } onClicked: { - MyResources.playActivationSound() + OverlayController.playActivationSound() + } + Connections { + target: OverlayController } } diff --git a/src/res/qml/common/mainwidget.qml b/src/res/qml/common/mainwidget.qml index 676eccf..bab8361 100644 --- a/src/res/qml/common/mainwidget.qml +++ b/src/res/qml/common/mainwidget.qml @@ -1,6 +1,6 @@ -import QtQuick 2.7 -import QtQuick.Controls 2.0 -import QtQuick.Layouts 1.0 +import QtQuick +import QtQuick.Controls +import QtQuick.Layouts import ".." import "../utilities_page" import "../audio_page" diff --git a/src/res/qml/steamvr_page/SteamVRPage.qml b/src/res/qml/steamvr_page/SteamVRPage.qml index 4b85286..8672aed 100644 --- a/src/res/qml/steamvr_page/SteamVRPage.qml +++ b/src/res/qml/steamvr_page/SteamVRPage.qml @@ -32,7 +32,7 @@ MyStackViewPage { Layout.preferredWidth: 350 onClicked: { - MyResources.playFocusChangedSound() + OverlayController.playFocusChangedSound() mainView.push(steamVRTXRXPage) SteamVRTabController.updateRXTXList() } @@ -50,4 +50,7 @@ MyStackViewPage { } } } + Connections { + target: OverlayController + } } diff --git a/src/res/resources.qrc b/src/res/resources.qrc index ff43e76..41e48c1 100644 --- a/src/res/resources.qrc +++ b/src/res/resources.qrc @@ -1,4 +1,79 @@ + + qml/ChaperoneWarningsPage.qml + qml/FixFloorPage.qml + qml/PlayspacePage.qml + qml/RootPage.qml + qml/SettingsPage.qml + qml/StatisticsPage.qml + qml/audio_page/AudioPage.qml + qml/audio_page/device_selector/AudioDeviceSelector.qml + qml/audio_page/device_selector/MicDeviceSelector.qml + qml/audio_page/device_selector/MicVolumeSlider.qml + qml/audio_page/device_selector/MirrorDeviceSelector.qml + qml/audio_page/device_selector/MirrorVolumeSlider.qml + qml/audio_page/dialog_boxes/AudioDeleteProfileDialog.qml + qml/audio_page/dialog_boxes/AudioMessageDialog.qml + qml/audio_page/dialog_boxes/AudioNewProfileDialog.qml + qml/audio_page/profiles/ProfileButtons.qml + qml/audio_page/proximity/ProximityToggle.qml + qml/audio_page/push_to_talk/PttButtons.qml + qml/chaperone_page/ChaperonePage.qml + qml/chaperone_page/change_orientation/ChangeOrientationGroupBox.qml + qml/chaperone_page/chaperone_additional/ChaperoneAdditionalPage.qml + qml/chaperone_page/chaperone_additional/chaperoneboundscolor/ChaperoneBoundsColorGroupBox.qml + qml/chaperone_page/chaperone_additional/chaperonemisc/ChaperoneMiscGroupBox.qml + qml/chaperone_page/chaperone_additional/chaperonetype/ChaperoneTypeGroupBox.qml + qml/common/FullWidthSliderBox.qml + qml/common/HourComboBox.qml + qml/common/LineSeparator.qml + qml/common/mainwidget.qml + qml/common/MinuteSecondComboBox.qml + qml/common/MyComboBox.qml + qml/common/MyDialogOkCancelPopup.qml + qml/common/MyDialogOkPopup.qml + qml/common/MyPushButton.qml + qml/common/MyPushButton2.qml + qml/common/MyRadioButton.qml + qml/common/MyResources.qml + qml/common/MySlider.qml + qml/common/MyStackViewPage.qml + qml/common/MyText.qml + qml/common/MyTextField.qml + qml/common/MyToggleButton.qml + qml/common/TimeAssembly.qml + qml/motion_page/MotionPage.qml + qml/motion_page/gravity/GravityGroupBox.qml + qml/motion_page/height_toggle/HeightToggleGroupBox.qml + qml/motion_page/space_drag/SpaceDragGroupBox.qml + qml/rotation_page/RotationPage.qml + qml/rotation_page/redirected/AutoTurnGroupBox.qml + qml/rotation_page/redirected/RedirectedGroupBox.qml + qml/rotation_page/snap_turn/SnapTurnGroupBox.qml + qml/rotation_page/space_turn/SpaceTurnGroupBox.qml + qml/rotation_page/view_ratchet/ViewRatchetGroupBox.qml + qml/steamvr_page/SteamVRPage.qml + qml/steamvr_page/camera/CameraGroupBox.qml + qml/steamvr_page/steamvrbind/SteamVRBindGroupBox.qml + qml/steamvr_page/steamvrmisc/SteamVRMiscGroupBox.qml + qml/steamvr_page/steamvr_additional/SteamVRTXRXPage.qml + qml/utilities_page/UtilitiesPage.qml + qml/utilities_page/alarm_clock/AlarmGroupBox.qml + qml/utilities_page/keyboard_utils/KeyboardGroupBox.qml + qml/utilities_page/media_keys/MediaButton.qml + qml/utilities_page/media_keys/MediaControllerKeys.qml + qml/utilities_page/misc/MiscBox.qml + qml/video_page/VideoPage.qml + qml/video_page/brightness/BrightnessGroupBox.qml + qml/video_page/color/ColorGroupBox.qml + qml/video_page/dialogboxes/VideoDeleteProfileDialog.qml + qml/video_page/dialogboxes/VideoMessageDialog.qml + qml/video_page/dialogboxes/VideoNewProfileDialog.qml + qml/video_page/miscvid/VideoMiscGroupBox.qml + qml/video_page/overlaycolorbright/OverlayMethodGroupBox.qml + qml/video_page/profiles/VideoProfileGroupBox.qml + qml/video_page/supersampling/SuperSamplingGroupBox.qml + img/common/backarrow.svg img/common/check.svg diff --git a/src/tabcontrollers/AudioTabController.cpp b/src/tabcontrollers/AudioTabController.cpp index 898f537..a84fcd0 100644 --- a/src/tabcontrollers/AudioTabController.cpp +++ b/src/tabcontrollers/AudioTabController.cpp @@ -7,7 +7,7 @@ #include "../settings/settings.h" #include "../settings/settings_object.h" #include "../utils/update_rate.h" -#include "openvr/ovr_overlay_wrapper.h" +#include "../openvr/ovr_overlay_wrapper.h" #ifdef _WIN32 # include "audiomanager/AudioManagerWindows.h" #elif __linux__ @@ -89,9 +89,9 @@ void AudioTabController::initStage2( OverlayController* var_parent ) } m_pushToTalkValues.pushToTalkImg.reset( - new QImage( QString( ":/microphone/ptt_notification.png" ) ) ); + new QImage( ":qt/qml/AdvancedSettings/src/res/img/microphone/ptt_notification.png" ) ); m_pushToTalkValues.pushToMuteImg.reset( - new QImage( QString( ":/microphone/ptm_notification.png" ) ) ); + new QImage( ":qt/qml/AdvancedSettings/src/res/img/microphone/ptm_notification.png" ) ); auto* pushToImg = m_pushToTalkValues.pushToTalkImg.get(); if ( settings::getSetting( settings::BoolSetting::AUDIO_micReversePtt ) ) diff --git a/src/tabcontrollers/ChaperoneTabController.cpp b/src/tabcontrollers/ChaperoneTabController.cpp index 64f2841..e30e0b8 100644 --- a/src/tabcontrollers/ChaperoneTabController.cpp +++ b/src/tabcontrollers/ChaperoneTabController.cpp @@ -1620,19 +1620,19 @@ void ChaperoneTabController::initCenterMarkerOverlay() if ( overlayError == ovr_overlay_wrapper::OverlayError::NoError ) { m_floorMarkers[-3] = std::unique_ptr( - new QImage( QString( ":/chaperone/centermarkl3.png" ) ) ); + new QImage( ":qt/qml/AdvancedSettings/src/res/img/chaperone/centermarkl3.png" ) ); m_floorMarkers[-2] = std::unique_ptr( - new QImage( QString( ":/chaperone/centermarkl2.png" ) ) ); + new QImage( ":qt/qml/AdvancedSettings/src/res/img/chaperone/centermarkl2.png" ) ); m_floorMarkers[-1] = std::unique_ptr( - new QImage( QString( ":/chaperone/centermarkl1.png" ) ) ); + new QImage( ":qt/qml/AdvancedSettings/src/res/img/chaperone/centermarkl1.png" ) ); m_floorMarkers[0] = std::unique_ptr( - new QImage( QString( ":/chaperone/centermark.png" ) ) ); + new QImage( ":qt/qml/AdvancedSettings/src/res/img/chaperone/centermark.png" ) ); m_floorMarkers[1] = std::unique_ptr( - new QImage( QString( ":/chaperone/centermarkr1.png" ) ) ); + new QImage( ":qt/qml/AdvancedSettings/src/res/img/chaperone/centermarkr1.png" ) ); m_floorMarkers[2] = std::unique_ptr( - new QImage( QString( ":/chaperone/centermarkr2.png" ) ) ); + new QImage( ":qt/qml/AdvancedSettings/src/res/img/chaperone/centermarkr2.png" ) ); m_floorMarkers[3] = std::unique_ptr( - new QImage( QString( ":/chaperone/centermarkr3.png" ) ) ); + new QImage( ":qt/qml/AdvancedSettings/src/res/img/chaperone/centermarkr3.png" ) ); ovr_overlay_wrapper::setOverlayFromQImage( m_chaperoneFloorOverlayHandle, *m_floorMarkers[0], "" ); ovr_overlay_wrapper::setOverlayWidthInMeters( diff --git a/src/tabcontrollers/RotationTabController.cpp b/src/tabcontrollers/RotationTabController.cpp index 8e31aa5..e093cdc 100644 --- a/src/tabcontrollers/RotationTabController.cpp +++ b/src/tabcontrollers/RotationTabController.cpp @@ -40,9 +40,9 @@ void RotationTabController::initStage2( OverlayController* var_parent ) return; } m_autoturnValues.autoturnImg.reset( - new QImage( QString( ":/rotation/autoturn.png" ) ) ); + new QImage( ":qt/qml/AdvancedSettings/src/res/img/rotation/autoturn.png" ) ); m_autoturnValues.noautoturnImg.reset( - new QImage( QString( ":/rotation/noautoturn.png" ) ) ); + new QImage( ":qt/qml/AdvancedSettings/src/res/img/rotation/noautoturn.png" ) ); ovr_overlay_wrapper::setOverlayFromQImage( m_autoturnValues.overlayHandle, *m_autoturnValues.autoturnImg ); diff --git a/src/tabcontrollers/UtilitiesTabController.cpp b/src/tabcontrollers/UtilitiesTabController.cpp index 46310ec..2e8adba 100644 --- a/src/tabcontrollers/UtilitiesTabController.cpp +++ b/src/tabcontrollers/UtilitiesTabController.cpp @@ -7,7 +7,7 @@ #include "../keyboard_input/input_sender.h" #include "../settings/settings.h" #include "../utils/update_rate.h" -#include "openvr/ovr_overlay_wrapper.h" +#include "../openvr/ovr_overlay_wrapper.h" #include #include #include @@ -260,17 +260,17 @@ vr::VROverlayHandle_t UtilitiesTabController::createBatteryOverlay( if ( overlayError == vr::VROverlayError_None ) { m_batteryImgs[0] = std::unique_ptr( - new QImage( QString( ":/battery/battery_0.png" ) ) ); + new QImage( ":qt/qml/AdvancedSettings/src/res/img/battery/battery_0.png" ) ); m_batteryImgs[1] = std::unique_ptr( - new QImage( QString( ":/battery/battery_1.png" ) ) ); + new QImage( ":qt/qml/AdvancedSettings/src/res/img/battery/battery_1.png" ) ); m_batteryImgs[2] = std::unique_ptr( - new QImage( QString( ":/battery/battery_2.png" ) ) ); + new QImage( ":qt/qml/AdvancedSettings/src/res/img/battery/battery_2.png" ) ); m_batteryImgs[3] = std::unique_ptr( - new QImage( QString( ":/battery/battery_3.png" ) ) ); + new QImage( ":qt/qml/AdvancedSettings/src/res/img/battery/battery_3.png" ) ); m_batteryImgs[4] = std::unique_ptr( - new QImage( QString( ":/battery/battery_4.png" ) ) ); + new QImage( ":qt/qml/AdvancedSettings/src/res/img/battery/battery_4.png" ) ); m_batteryImgs[5] = std::unique_ptr( - new QImage( QString( ":/battery/battery_5.png" ) ) ); + new QImage( ":qt/qml/AdvancedSettings/src/res/img/battery/battery_5.png" ) ); ovr_overlay_wrapper::setOverlayFromQImage( handle, *m_batteryImgs[0] ); vr::VROverlay()->SetOverlayWidthInMeters( handle, 0.045f ); vr::HmdMatrix34_t notificationTransform; diff --git a/src/tabcontrollers/VideoTabController.cpp b/src/tabcontrollers/VideoTabController.cpp index 8a6165d..aebd15a 100644 --- a/src/tabcontrollers/VideoTabController.cpp +++ b/src/tabcontrollers/VideoTabController.cpp @@ -52,7 +52,7 @@ void VideoTabController::initBrightnessOverlay() notifKey.c_str(), notifKey.c_str(), &m_brightnessOverlayHandle ); if ( overlayError == vr::VROverlayError_None ) { - QImage notifIcon( QString( ":/video/dimmer.png" ) ); + QImage notifIcon( ":qt/qml/AdvancedSettings/src/res/img/video/dimmer.png" ); ovr_overlay_wrapper::setOverlayFromQImage( m_brightnessOverlayHandle, notifIcon ); vr::VROverlay()->SetOverlayWidthInMeters( m_brightnessOverlayHandle, @@ -86,7 +86,7 @@ void VideoTabController::initColorOverlay() notifKey.c_str(), notifKey.c_str(), &m_colorOverlayHandle ); if ( overlayError == vr::VROverlayError_None ) { - QImage notifIcon( QString( ":/video/color.png" ) ); + QImage notifIcon(":qt/qml/AdvancedSettings/src/res/img/video/color.png"); ovr_overlay_wrapper::setOverlayFromQImage( m_colorOverlayHandle, notifIcon ); vr::VROverlay()->SetOverlayWidthInMeters( m_colorOverlayHandle,