From 74bedb625a469146c41430993034e5e73de1d227 Mon Sep 17 00:00:00 2001 From: tytan652 Date: Wed, 2 Aug 2023 10:19:50 +0200 Subject: [PATCH 01/15] Add shared folder in gitignore and format scripts --- .gitignore | 1 + build-aux/.run-format.zsh | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 0443d1740aeccb..0748807f414e04 100644 --- a/.gitignore +++ b/.gitignore @@ -9,6 +9,7 @@ !/docs !/libobs* !/plugins +!/shared !/test !/UI !.cirrus.xml diff --git a/build-aux/.run-format.zsh b/build-aux/.run-format.zsh index e34e11e3768923..4a0fc21732ddfa 100755 --- a/build-aux/.run-format.zsh +++ b/build-aux/.run-format.zsh @@ -54,7 +54,7 @@ invoke_formatter() { exit 2 fi - if (( ! #source_files )) source_files=((libobs|libobs-*|UI|plugins|deps)/**/*.(c|cpp|h|hpp|m|mm)(.N)) + if (( ! #source_files )) source_files=((libobs|libobs-*|UI|plugins|deps|shared)/**/*.(c|cpp|h|hpp|m|mm)(.N)) source_files=(${source_files:#*/(obs-websocket/deps|decklink/*/decklink-sdk|mac-syphon/syphon-framework|obs-outputs/ftl-sdk|win-dshow/libdshowcapture)/*}) @@ -75,7 +75,7 @@ invoke_formatter() { exit 2 } - if (( ! #source_files )) source_files=((libobs|libobs-*|UI|plugins|deps|cmake)/**/(CMakeLists.txt|*.cmake)(.N)) + if (( ! #source_files )) source_files=((libobs|libobs-*|UI|plugins|deps|shared|cmake)/**/(CMakeLists.txt|*.cmake)(.N)) source_files=(${source_files:#*/(obs-outputs/ftl-sdk|jansson|decklink/*/decklink-sdk|obs-websocket|obs-browser|win-dshow/libdshowcapture)/*}) From 8e3e5348abee37d19f3d030850edff8a6a1b8191 Mon Sep 17 00:00:00 2001 From: tytan652 Date: Wed, 2 Aug 2023 10:47:45 +0200 Subject: [PATCH 02/15] deps,shared,plugins: Move file-updater to shared folder --- deps/CMakeLists.txt | 1 - plugins/rtmp-services/CMakeLists.txt | 2 +- plugins/rtmp-services/cmake/legacy.cmake | 4 ++++ plugins/win-capture/CMakeLists.txt | 2 +- plugins/win-capture/cmake/legacy.cmake | 4 ++++ {deps => shared}/file-updater/CMakeLists.txt | 0 {deps => shared}/file-updater/file-updater/file-updater.c | 0 {deps => shared}/file-updater/file-updater/file-updater.h | 0 8 files changed, 10 insertions(+), 3 deletions(-) rename {deps => shared}/file-updater/CMakeLists.txt (100%) rename {deps => shared}/file-updater/file-updater/file-updater.c (100%) rename {deps => shared}/file-updater/file-updater/file-updater.h (100%) diff --git a/deps/CMakeLists.txt b/deps/CMakeLists.txt index f046aba690e224..7f065ec0268762 100644 --- a/deps/CMakeLists.txt +++ b/deps/CMakeLists.txt @@ -4,7 +4,6 @@ if(OS_WINDOWS) endif() add_subdirectory(blake2) -add_subdirectory(file-updater) add_subdirectory(glad) add_subdirectory(happy-eyeballs) add_subdirectory(libcaption) diff --git a/plugins/rtmp-services/CMakeLists.txt b/plugins/rtmp-services/CMakeLists.txt index f2cf7555d258ee..9a1c993a981ebd 100644 --- a/plugins/rtmp-services/CMakeLists.txt +++ b/plugins/rtmp-services/CMakeLists.txt @@ -10,7 +10,7 @@ set(RTMP_SERVICES_URL mark_as_advanced(RTMP_SERVICES_URL) if(NOT TARGET OBS::file-updater) - add_subdirectory("${CMAKE_SOURCE_DIR}/deps/file-updater" "${CMAKE_BINARY_DIR}/deps/file-updater") + add_subdirectory("${CMAKE_SOURCE_DIR}/shared/file-updater" "${CMAKE_BINARY_DIR}/shared/file-updater") endif() find_package(jansson REQUIRED) diff --git a/plugins/rtmp-services/cmake/legacy.cmake b/plugins/rtmp-services/cmake/legacy.cmake index 1215746fc7985c..88362cd75f5faa 100644 --- a/plugins/rtmp-services/cmake/legacy.cmake +++ b/plugins/rtmp-services/cmake/legacy.cmake @@ -13,6 +13,10 @@ add_library(OBS::rtmp-services ALIAS rtmp-services) find_package(Jansson 2.5 REQUIRED) +if(NOT TARGET OBS::file-updater) + add_subdirectory("${CMAKE_SOURCE_DIR}/shared/file-updater" "${CMAKE_BINARY_DIR}/shared/file-updater") +endif() + target_sources( rtmp-services PRIVATE service-specific/twitch.c diff --git a/plugins/win-capture/CMakeLists.txt b/plugins/win-capture/CMakeLists.txt index ae8bffaff50786..5b9bbeeabea005 100644 --- a/plugins/win-capture/CMakeLists.txt +++ b/plugins/win-capture/CMakeLists.txt @@ -31,7 +31,7 @@ if(NOT TARGET OBS::ipc-util) endif() if(NOT TARGET OBS::file-updater) - add_subdirectory("${CMAKE_SOURCE_DIR}/deps/file-updater" "${CMAKE_BINARY_DIR}/deps/file-updater") + add_subdirectory("${CMAKE_SOURCE_DIR}/shared/file-updater" "${CMAKE_BINARY_DIR}/shared/file-updater") endif() find_package(jansson REQUIRED) diff --git a/plugins/win-capture/cmake/legacy.cmake b/plugins/win-capture/cmake/legacy.cmake index 1b488a55b5afa3..26930754fabc9a 100644 --- a/plugins/win-capture/cmake/legacy.cmake +++ b/plugins/win-capture/cmake/legacy.cmake @@ -13,6 +13,10 @@ add_library(OBS::capture ALIAS win-capture) find_package(Jansson 2.5 REQUIRED) +if(NOT TARGET OBS::file-updater) + add_subdirectory("${CMAKE_SOURCE_DIR}/shared/file-updater" "${CMAKE_BINARY_DIR}/shared/file-updater") +endif() + configure_file(${CMAKE_CURRENT_SOURCE_DIR}/compat-config.h.in ${CMAKE_BINARY_DIR}/config/compat-config.h) target_sources( diff --git a/deps/file-updater/CMakeLists.txt b/shared/file-updater/CMakeLists.txt similarity index 100% rename from deps/file-updater/CMakeLists.txt rename to shared/file-updater/CMakeLists.txt diff --git a/deps/file-updater/file-updater/file-updater.c b/shared/file-updater/file-updater/file-updater.c similarity index 100% rename from deps/file-updater/file-updater/file-updater.c rename to shared/file-updater/file-updater/file-updater.c diff --git a/deps/file-updater/file-updater/file-updater.h b/shared/file-updater/file-updater/file-updater.h similarity index 100% rename from deps/file-updater/file-updater/file-updater.h rename to shared/file-updater/file-updater/file-updater.h From 2bd4a96521d61502cb8d2efdd19e0c7509313126 Mon Sep 17 00:00:00 2001 From: tytan652 Date: Wed, 2 Aug 2023 10:59:54 +0200 Subject: [PATCH 03/15] deps,shared,obs-outputs: Move happy-eyeballs to shared folder --- deps/CMakeLists.txt | 1 - plugins/obs-outputs/CMakeLists.txt | 2 +- plugins/obs-outputs/cmake/legacy.cmake | 4 ++++ {deps => shared}/happy-eyeballs/CMakeLists.txt | 0 {deps => shared}/happy-eyeballs/happy-eyeballs.c | 0 {deps => shared}/happy-eyeballs/happy-eyeballs.h | 0 6 files changed, 5 insertions(+), 2 deletions(-) rename {deps => shared}/happy-eyeballs/CMakeLists.txt (100%) rename {deps => shared}/happy-eyeballs/happy-eyeballs.c (100%) rename {deps => shared}/happy-eyeballs/happy-eyeballs.h (100%) diff --git a/deps/CMakeLists.txt b/deps/CMakeLists.txt index 7f065ec0268762..635b6a8471f668 100644 --- a/deps/CMakeLists.txt +++ b/deps/CMakeLists.txt @@ -5,7 +5,6 @@ endif() add_subdirectory(blake2) add_subdirectory(glad) -add_subdirectory(happy-eyeballs) add_subdirectory(libcaption) add_subdirectory(media-playback) add_subdirectory(obs-scripting) diff --git a/plugins/obs-outputs/CMakeLists.txt b/plugins/obs-outputs/CMakeLists.txt index 576911a0c399c7..d0b7c4ba36b3c5 100644 --- a/plugins/obs-outputs/CMakeLists.txt +++ b/plugins/obs-outputs/CMakeLists.txt @@ -6,7 +6,7 @@ find_package(MbedTLS REQUIRED) find_package(ZLIB REQUIRED) if(NOT TARGET happy-eyeballs) - add_subdirectory("${CMAKE_SOURCE_DIR}/deps/happy-eyeballs" "${CMAKE_BINARY_DIR}/deps/happy-eyeballs") + add_subdirectory("${CMAKE_SOURCE_DIR}/shared/happy-eyeballs" "${CMAKE_BINARY_DIR}/shared/happy-eyeballs") endif() add_library(obs-outputs MODULE) diff --git a/plugins/obs-outputs/cmake/legacy.cmake b/plugins/obs-outputs/cmake/legacy.cmake index 12b474a1e412f9..e8f14b1a3c2515 100644 --- a/plugins/obs-outputs/cmake/legacy.cmake +++ b/plugins/obs-outputs/cmake/legacy.cmake @@ -13,6 +13,10 @@ mark_as_advanced(ENABLE_STATIC_MBEDTLS) add_library(obs-outputs MODULE) add_library(OBS::outputs ALIAS obs-outputs) +if(NOT TARGET happy-eyeballs) + add_subdirectory("${CMAKE_SOURCE_DIR}/shared/happy-eyeballs" "${CMAKE_BINARY_DIR}/shared/happy-eyeballs") +endif() + target_sources( obs-outputs PRIVATE obs-outputs.c diff --git a/deps/happy-eyeballs/CMakeLists.txt b/shared/happy-eyeballs/CMakeLists.txt similarity index 100% rename from deps/happy-eyeballs/CMakeLists.txt rename to shared/happy-eyeballs/CMakeLists.txt diff --git a/deps/happy-eyeballs/happy-eyeballs.c b/shared/happy-eyeballs/happy-eyeballs.c similarity index 100% rename from deps/happy-eyeballs/happy-eyeballs.c rename to shared/happy-eyeballs/happy-eyeballs.c diff --git a/deps/happy-eyeballs/happy-eyeballs.h b/shared/happy-eyeballs/happy-eyeballs.h similarity index 100% rename from deps/happy-eyeballs/happy-eyeballs.h rename to shared/happy-eyeballs/happy-eyeballs.h From 591ac29702483f494093ddd0ec31e8458164a3a5 Mon Sep 17 00:00:00 2001 From: tytan652 Date: Wed, 2 Aug 2023 10:53:00 +0200 Subject: [PATCH 04/15] deps,shared,win-capture: Move ipc-util to shared folder --- deps/CMakeLists.txt | 1 - plugins/win-capture/CMakeLists.txt | 2 +- plugins/win-capture/cmake/legacy.cmake | 4 ++++ plugins/win-capture/graphics-hook/CMakeLists.txt | 2 +- plugins/win-capture/graphics-hook/cmake/legacy.cmake | 4 ++++ {deps => shared}/ipc-util/CMakeLists.txt | 0 {deps => shared}/ipc-util/ipc-util/pipe-posix.c | 0 {deps => shared}/ipc-util/ipc-util/pipe-posix.h | 0 {deps => shared}/ipc-util/ipc-util/pipe-windows.c | 0 {deps => shared}/ipc-util/ipc-util/pipe-windows.h | 0 {deps => shared}/ipc-util/ipc-util/pipe.h | 0 11 files changed, 10 insertions(+), 3 deletions(-) rename {deps => shared}/ipc-util/CMakeLists.txt (100%) rename {deps => shared}/ipc-util/ipc-util/pipe-posix.c (100%) rename {deps => shared}/ipc-util/ipc-util/pipe-posix.h (100%) rename {deps => shared}/ipc-util/ipc-util/pipe-windows.c (100%) rename {deps => shared}/ipc-util/ipc-util/pipe-windows.h (100%) rename {deps => shared}/ipc-util/ipc-util/pipe.h (100%) diff --git a/deps/CMakeLists.txt b/deps/CMakeLists.txt index 635b6a8471f668..d6f79c090e06f8 100644 --- a/deps/CMakeLists.txt +++ b/deps/CMakeLists.txt @@ -1,5 +1,4 @@ if(OS_WINDOWS) - add_subdirectory(ipc-util) add_subdirectory(w32-pthreads) endif() diff --git a/plugins/win-capture/CMakeLists.txt b/plugins/win-capture/CMakeLists.txt index 5b9bbeeabea005..c7026bf2c7aa7d 100644 --- a/plugins/win-capture/CMakeLists.txt +++ b/plugins/win-capture/CMakeLists.txt @@ -27,7 +27,7 @@ mark_as_advanced(COMPAT_URL) # cmake-format: on if(NOT TARGET OBS::ipc-util) - add_subdirectory("${CMAKE_SOURCE_DIR}/deps/ipc-util" "${CMAKE_BINARY_DIR}/deps/ipc-util") + add_subdirectory("${CMAKE_SOURCE_DIR}/shared/ipc-util" "${CMAKE_BINARY_DIR}/shared/ipc-util") endif() if(NOT TARGET OBS::file-updater) diff --git a/plugins/win-capture/cmake/legacy.cmake b/plugins/win-capture/cmake/legacy.cmake index 26930754fabc9a..7c529a678a2103 100644 --- a/plugins/win-capture/cmake/legacy.cmake +++ b/plugins/win-capture/cmake/legacy.cmake @@ -13,6 +13,10 @@ add_library(OBS::capture ALIAS win-capture) find_package(Jansson 2.5 REQUIRED) +if(NOT TARGET OBS::ipc-util) + add_subdirectory("${CMAKE_SOURCE_DIR}/shared/ipc-util" "${CMAKE_BINARY_DIR}/shared/ipc-util") +endif() + if(NOT TARGET OBS::file-updater) add_subdirectory("${CMAKE_SOURCE_DIR}/shared/file-updater" "${CMAKE_BINARY_DIR}/shared/file-updater") endif() diff --git a/plugins/win-capture/graphics-hook/CMakeLists.txt b/plugins/win-capture/graphics-hook/CMakeLists.txt index 91378ba9cbe68f..e5ad38324bb9ad 100644 --- a/plugins/win-capture/graphics-hook/CMakeLists.txt +++ b/plugins/win-capture/graphics-hook/CMakeLists.txt @@ -4,7 +4,7 @@ find_package(Detours REQUIRED) find_package(Vulkan REQUIRED) if(NOT TARGET OBS::ipc-util) - add_subdirectory("${CMAKE_SOURCE_DIR}/deps/ipc-util" "${CMAKE_BINARY_DIR}/deps/ipc-util") + add_subdirectory("${CMAKE_SOURCE_DIR}/shared/ipc-util" "${CMAKE_BINARY_DIR}/shared/ipc-util") endif() if(NOT TARGET OBS::obfuscate) diff --git a/plugins/win-capture/graphics-hook/cmake/legacy.cmake b/plugins/win-capture/graphics-hook/cmake/legacy.cmake index bcf2623b0944e0..e23a364efb3eb6 100644 --- a/plugins/win-capture/graphics-hook/cmake/legacy.cmake +++ b/plugins/win-capture/graphics-hook/cmake/legacy.cmake @@ -6,6 +6,10 @@ find_package(Vulkan REQUIRED) add_library(graphics-hook MODULE) add_library(OBS::graphics-hook ALIAS graphics-hook) +if(NOT TARGET OBS::ipc-util) + add_subdirectory("${CMAKE_SOURCE_DIR}/shared/ipc-util" "${CMAKE_BINARY_DIR}/shared/ipc-util") +endif() + target_sources( graphics-hook PRIVATE graphics-hook.c diff --git a/deps/ipc-util/CMakeLists.txt b/shared/ipc-util/CMakeLists.txt similarity index 100% rename from deps/ipc-util/CMakeLists.txt rename to shared/ipc-util/CMakeLists.txt diff --git a/deps/ipc-util/ipc-util/pipe-posix.c b/shared/ipc-util/ipc-util/pipe-posix.c similarity index 100% rename from deps/ipc-util/ipc-util/pipe-posix.c rename to shared/ipc-util/ipc-util/pipe-posix.c diff --git a/deps/ipc-util/ipc-util/pipe-posix.h b/shared/ipc-util/ipc-util/pipe-posix.h similarity index 100% rename from deps/ipc-util/ipc-util/pipe-posix.h rename to shared/ipc-util/ipc-util/pipe-posix.h diff --git a/deps/ipc-util/ipc-util/pipe-windows.c b/shared/ipc-util/ipc-util/pipe-windows.c similarity index 100% rename from deps/ipc-util/ipc-util/pipe-windows.c rename to shared/ipc-util/ipc-util/pipe-windows.c diff --git a/deps/ipc-util/ipc-util/pipe-windows.h b/shared/ipc-util/ipc-util/pipe-windows.h similarity index 100% rename from deps/ipc-util/ipc-util/pipe-windows.h rename to shared/ipc-util/ipc-util/pipe-windows.h diff --git a/deps/ipc-util/ipc-util/pipe.h b/shared/ipc-util/ipc-util/pipe.h similarity index 100% rename from deps/ipc-util/ipc-util/pipe.h rename to shared/ipc-util/ipc-util/pipe.h From 3fde69a68c7c68e9898a31936f24f6a3d3fa204d Mon Sep 17 00:00:00 2001 From: tytan652 Date: Wed, 2 Aug 2023 10:35:26 +0200 Subject: [PATCH 05/15] deps,shared,obs-ffmpeg: Move media-playback to shared folder --- deps/CMakeLists.txt | 1 - plugins/obs-ffmpeg/cmake/dependencies.cmake | 2 +- plugins/obs-ffmpeg/cmake/legacy.cmake | 4 ++++ {deps => shared}/media-playback/CMakeLists.txt | 0 {deps => shared}/media-playback/LICENSE.media-playback | 0 {deps => shared}/media-playback/media-playback/cache.c | 0 {deps => shared}/media-playback/media-playback/cache.h | 0 .../media-playback/media-playback/closest-format.h | 0 {deps => shared}/media-playback/media-playback/decode.c | 0 {deps => shared}/media-playback/media-playback/decode.h | 0 .../media-playback/media-playback/media-playback.c | 0 .../media-playback/media-playback/media-playback.h | 0 {deps => shared}/media-playback/media-playback/media.c | 0 {deps => shared}/media-playback/media-playback/media.h | 0 14 files changed, 5 insertions(+), 2 deletions(-) rename {deps => shared}/media-playback/CMakeLists.txt (100%) rename {deps => shared}/media-playback/LICENSE.media-playback (100%) rename {deps => shared}/media-playback/media-playback/cache.c (100%) rename {deps => shared}/media-playback/media-playback/cache.h (100%) rename {deps => shared}/media-playback/media-playback/closest-format.h (100%) rename {deps => shared}/media-playback/media-playback/decode.c (100%) rename {deps => shared}/media-playback/media-playback/decode.h (100%) rename {deps => shared}/media-playback/media-playback/media-playback.c (100%) rename {deps => shared}/media-playback/media-playback/media-playback.h (100%) rename {deps => shared}/media-playback/media-playback/media.c (100%) rename {deps => shared}/media-playback/media-playback/media.h (100%) diff --git a/deps/CMakeLists.txt b/deps/CMakeLists.txt index d6f79c090e06f8..bdb8592540eaea 100644 --- a/deps/CMakeLists.txt +++ b/deps/CMakeLists.txt @@ -5,6 +5,5 @@ endif() add_subdirectory(blake2) add_subdirectory(glad) add_subdirectory(libcaption) -add_subdirectory(media-playback) add_subdirectory(obs-scripting) add_subdirectory(opts-parser) diff --git a/plugins/obs-ffmpeg/cmake/dependencies.cmake b/plugins/obs-ffmpeg/cmake/dependencies.cmake index 087e8c2569b93c..502e46cb749587 100644 --- a/plugins/obs-ffmpeg/cmake/dependencies.cmake +++ b/plugins/obs-ffmpeg/cmake/dependencies.cmake @@ -17,7 +17,7 @@ find_package( # cmake-format: on if(NOT TARGET OBS::media-playback) - add_subdirectory("${CMAKE_SOURCE_DIR}/deps/media-playback" "${CMAKE_BINARY_DIR}/deps/media-playback") + add_subdirectory("${CMAKE_SOURCE_DIR}/shared/media-playback" "${CMAKE_BINARY_DIR}/shared/media-playback") endif() if(NOT TARGET OBS::opts-parser) diff --git a/plugins/obs-ffmpeg/cmake/legacy.cmake b/plugins/obs-ffmpeg/cmake/legacy.cmake index 558a34df62656e..d8a108b029bcc6 100644 --- a/plugins/obs-ffmpeg/cmake/legacy.cmake +++ b/plugins/obs-ffmpeg/cmake/legacy.cmake @@ -17,6 +17,10 @@ find_package( add_library(obs-ffmpeg MODULE) add_library(OBS::ffmpeg ALIAS obs-ffmpeg) +if(NOT TARGET OBS::media-playback) + add_subdirectory("${CMAKE_SOURCE_DIR}/shared/media-playback" "${CMAKE_BINARY_DIR}/shared/media-playback") +endif() + add_subdirectory(ffmpeg-mux) if(ENABLE_NEW_MPEGTS_OUTPUT) find_package(Librist QUIET) diff --git a/deps/media-playback/CMakeLists.txt b/shared/media-playback/CMakeLists.txt similarity index 100% rename from deps/media-playback/CMakeLists.txt rename to shared/media-playback/CMakeLists.txt diff --git a/deps/media-playback/LICENSE.media-playback b/shared/media-playback/LICENSE.media-playback similarity index 100% rename from deps/media-playback/LICENSE.media-playback rename to shared/media-playback/LICENSE.media-playback diff --git a/deps/media-playback/media-playback/cache.c b/shared/media-playback/media-playback/cache.c similarity index 100% rename from deps/media-playback/media-playback/cache.c rename to shared/media-playback/media-playback/cache.c diff --git a/deps/media-playback/media-playback/cache.h b/shared/media-playback/media-playback/cache.h similarity index 100% rename from deps/media-playback/media-playback/cache.h rename to shared/media-playback/media-playback/cache.h diff --git a/deps/media-playback/media-playback/closest-format.h b/shared/media-playback/media-playback/closest-format.h similarity index 100% rename from deps/media-playback/media-playback/closest-format.h rename to shared/media-playback/media-playback/closest-format.h diff --git a/deps/media-playback/media-playback/decode.c b/shared/media-playback/media-playback/decode.c similarity index 100% rename from deps/media-playback/media-playback/decode.c rename to shared/media-playback/media-playback/decode.c diff --git a/deps/media-playback/media-playback/decode.h b/shared/media-playback/media-playback/decode.h similarity index 100% rename from deps/media-playback/media-playback/decode.h rename to shared/media-playback/media-playback/decode.h diff --git a/deps/media-playback/media-playback/media-playback.c b/shared/media-playback/media-playback/media-playback.c similarity index 100% rename from deps/media-playback/media-playback/media-playback.c rename to shared/media-playback/media-playback/media-playback.c diff --git a/deps/media-playback/media-playback/media-playback.h b/shared/media-playback/media-playback/media-playback.h similarity index 100% rename from deps/media-playback/media-playback/media-playback.h rename to shared/media-playback/media-playback/media-playback.h diff --git a/deps/media-playback/media-playback/media.c b/shared/media-playback/media-playback/media.c similarity index 100% rename from deps/media-playback/media-playback/media.c rename to shared/media-playback/media-playback/media.c diff --git a/deps/media-playback/media-playback/media.h b/shared/media-playback/media-playback/media.h similarity index 100% rename from deps/media-playback/media-playback/media.h rename to shared/media-playback/media-playback/media.h From 445bcd147f5bcb60845716e3b3b7d6c9d8eb730a Mon Sep 17 00:00:00 2001 From: tytan652 Date: Wed, 2 Aug 2023 11:07:51 +0200 Subject: [PATCH 06/15] deps,shared,frontend-tools: Move obs-scripting to shared folder --- UI/frontend-plugins/frontend-tools/CMakeLists.txt | 2 +- UI/frontend-plugins/frontend-tools/cmake/legacy.cmake | 2 ++ deps/CMakeLists.txt | 1 - {deps => shared}/obs-scripting/CMakeLists.txt | 0 {deps => shared}/obs-scripting/cmake/cstrcache.cmake | 0 {deps => shared}/obs-scripting/cmake/legacy.cmake | 3 +++ {deps => shared}/obs-scripting/cmake/lua.cmake | 0 {deps => shared}/obs-scripting/cmake/python.cmake | 0 {deps => shared}/obs-scripting/cmake/windows/obs-module.rc.in | 0 {deps => shared}/obs-scripting/cstrcache.cpp | 0 {deps => shared}/obs-scripting/cstrcache.h | 0 {deps => shared}/obs-scripting/obs-scripting-callback.h | 0 {deps => shared}/obs-scripting/obs-scripting-config.h.in | 0 {deps => shared}/obs-scripting/obs-scripting-internal.h | 0 {deps => shared}/obs-scripting/obs-scripting-logging.c | 0 {deps => shared}/obs-scripting/obs-scripting-lua-frontend.c | 0 {deps => shared}/obs-scripting/obs-scripting-lua-source.c | 0 {deps => shared}/obs-scripting/obs-scripting-lua.c | 0 {deps => shared}/obs-scripting/obs-scripting-lua.h | 0 {deps => shared}/obs-scripting/obs-scripting-python-frontend.c | 0 {deps => shared}/obs-scripting/obs-scripting-python-import.c | 0 {deps => shared}/obs-scripting/obs-scripting-python-import.h | 0 {deps => shared}/obs-scripting/obs-scripting-python.c | 0 {deps => shared}/obs-scripting/obs-scripting-python.h | 0 {deps => shared}/obs-scripting/obs-scripting.c | 0 {deps => shared}/obs-scripting/obs-scripting.h | 0 {deps => shared}/obs-scripting/obslua/CMakeLists.txt | 0 {deps => shared}/obs-scripting/obslua/cmake/legacy.cmake | 0 {deps => shared}/obs-scripting/obslua/obslua.i | 0 {deps => shared}/obs-scripting/obspython/CMakeLists.txt | 0 {deps => shared}/obs-scripting/obspython/cmake/legacy.cmake | 0 {deps => shared}/obs-scripting/obspython/obspython.i | 0 32 files changed, 6 insertions(+), 2 deletions(-) rename {deps => shared}/obs-scripting/CMakeLists.txt (100%) rename {deps => shared}/obs-scripting/cmake/cstrcache.cmake (100%) rename {deps => shared}/obs-scripting/cmake/legacy.cmake (97%) rename {deps => shared}/obs-scripting/cmake/lua.cmake (100%) rename {deps => shared}/obs-scripting/cmake/python.cmake (100%) rename {deps => shared}/obs-scripting/cmake/windows/obs-module.rc.in (100%) rename {deps => shared}/obs-scripting/cstrcache.cpp (100%) rename {deps => shared}/obs-scripting/cstrcache.h (100%) rename {deps => shared}/obs-scripting/obs-scripting-callback.h (100%) rename {deps => shared}/obs-scripting/obs-scripting-config.h.in (100%) rename {deps => shared}/obs-scripting/obs-scripting-internal.h (100%) rename {deps => shared}/obs-scripting/obs-scripting-logging.c (100%) rename {deps => shared}/obs-scripting/obs-scripting-lua-frontend.c (100%) rename {deps => shared}/obs-scripting/obs-scripting-lua-source.c (100%) rename {deps => shared}/obs-scripting/obs-scripting-lua.c (100%) rename {deps => shared}/obs-scripting/obs-scripting-lua.h (100%) rename {deps => shared}/obs-scripting/obs-scripting-python-frontend.c (100%) rename {deps => shared}/obs-scripting/obs-scripting-python-import.c (100%) rename {deps => shared}/obs-scripting/obs-scripting-python-import.h (100%) rename {deps => shared}/obs-scripting/obs-scripting-python.c (100%) rename {deps => shared}/obs-scripting/obs-scripting-python.h (100%) rename {deps => shared}/obs-scripting/obs-scripting.c (100%) rename {deps => shared}/obs-scripting/obs-scripting.h (100%) rename {deps => shared}/obs-scripting/obslua/CMakeLists.txt (100%) rename {deps => shared}/obs-scripting/obslua/cmake/legacy.cmake (100%) rename {deps => shared}/obs-scripting/obslua/obslua.i (100%) rename {deps => shared}/obs-scripting/obspython/CMakeLists.txt (100%) rename {deps => shared}/obs-scripting/obspython/cmake/legacy.cmake (100%) rename {deps => shared}/obs-scripting/obspython/obspython.i (100%) diff --git a/UI/frontend-plugins/frontend-tools/CMakeLists.txt b/UI/frontend-plugins/frontend-tools/CMakeLists.txt index bdc6582ec73ebe..7db278041441da 100644 --- a/UI/frontend-plugins/frontend-tools/CMakeLists.txt +++ b/UI/frontend-plugins/frontend-tools/CMakeLists.txt @@ -51,7 +51,7 @@ target_link_libraries( $<$:X11::X11> $<$:Qt::GuiPrivate>) -add_subdirectory("${CMAKE_SOURCE_DIR}/deps/obs-scripting" "${CMAKE_BINARY_DIR}/deps/obs-scripting") +add_subdirectory("${CMAKE_SOURCE_DIR}/shared/obs-scripting" "${CMAKE_BINARY_DIR}/shared/obs-scripting") if(ENABLE_SCRIPTING AND TARGET OBS::scripting) target_sources(frontend-tools PRIVATE scripts.cpp scripts.hpp) diff --git a/UI/frontend-plugins/frontend-tools/cmake/legacy.cmake b/UI/frontend-plugins/frontend-tools/cmake/legacy.cmake index 0524ca042ec845..9ded76029b76ca 100644 --- a/UI/frontend-plugins/frontend-tools/cmake/legacy.cmake +++ b/UI/frontend-plugins/frontend-tools/cmake/legacy.cmake @@ -53,6 +53,8 @@ if(OS_POSIX AND NOT OS_MACOS) target_link_libraries(frontend-tools PRIVATE Qt::GuiPrivate) endif() +add_subdirectory("${CMAKE_SOURCE_DIR}/shared/obs-scripting" "${CMAKE_BINARY_DIR}/shared/obs-scripting") + if(ENABLE_SCRIPTING AND TARGET OBS::scripting) target_compile_definitions(frontend-tools PRIVATE ENABLE_SCRIPTING) diff --git a/deps/CMakeLists.txt b/deps/CMakeLists.txt index bdb8592540eaea..1e5196ccc3d6d5 100644 --- a/deps/CMakeLists.txt +++ b/deps/CMakeLists.txt @@ -5,5 +5,4 @@ endif() add_subdirectory(blake2) add_subdirectory(glad) add_subdirectory(libcaption) -add_subdirectory(obs-scripting) add_subdirectory(opts-parser) diff --git a/deps/obs-scripting/CMakeLists.txt b/shared/obs-scripting/CMakeLists.txt similarity index 100% rename from deps/obs-scripting/CMakeLists.txt rename to shared/obs-scripting/CMakeLists.txt diff --git a/deps/obs-scripting/cmake/cstrcache.cmake b/shared/obs-scripting/cmake/cstrcache.cmake similarity index 100% rename from deps/obs-scripting/cmake/cstrcache.cmake rename to shared/obs-scripting/cmake/cstrcache.cmake diff --git a/deps/obs-scripting/cmake/legacy.cmake b/shared/obs-scripting/cmake/legacy.cmake similarity index 97% rename from deps/obs-scripting/cmake/legacy.cmake rename to shared/obs-scripting/cmake/legacy.cmake index bf4d9a4ef78e38..75a7d72aa3e7ac 100644 --- a/deps/obs-scripting/cmake/legacy.cmake +++ b/shared/obs-scripting/cmake/legacy.cmake @@ -176,3 +176,6 @@ target_compile_definitions(obs-scripting PRIVATE SCRIPT_DIR="${OBS_SCRIPT_PLUGIN $<$:ENABLE_UI>) setup_binary_target(obs-scripting) + +# Dirty workaround: CMake 2.0 seems to fail without this file +file(TOUCH "${CMAKE_BINARY_DIR}/shared/cmake_install.cmake") diff --git a/deps/obs-scripting/cmake/lua.cmake b/shared/obs-scripting/cmake/lua.cmake similarity index 100% rename from deps/obs-scripting/cmake/lua.cmake rename to shared/obs-scripting/cmake/lua.cmake diff --git a/deps/obs-scripting/cmake/python.cmake b/shared/obs-scripting/cmake/python.cmake similarity index 100% rename from deps/obs-scripting/cmake/python.cmake rename to shared/obs-scripting/cmake/python.cmake diff --git a/deps/obs-scripting/cmake/windows/obs-module.rc.in b/shared/obs-scripting/cmake/windows/obs-module.rc.in similarity index 100% rename from deps/obs-scripting/cmake/windows/obs-module.rc.in rename to shared/obs-scripting/cmake/windows/obs-module.rc.in diff --git a/deps/obs-scripting/cstrcache.cpp b/shared/obs-scripting/cstrcache.cpp similarity index 100% rename from deps/obs-scripting/cstrcache.cpp rename to shared/obs-scripting/cstrcache.cpp diff --git a/deps/obs-scripting/cstrcache.h b/shared/obs-scripting/cstrcache.h similarity index 100% rename from deps/obs-scripting/cstrcache.h rename to shared/obs-scripting/cstrcache.h diff --git a/deps/obs-scripting/obs-scripting-callback.h b/shared/obs-scripting/obs-scripting-callback.h similarity index 100% rename from deps/obs-scripting/obs-scripting-callback.h rename to shared/obs-scripting/obs-scripting-callback.h diff --git a/deps/obs-scripting/obs-scripting-config.h.in b/shared/obs-scripting/obs-scripting-config.h.in similarity index 100% rename from deps/obs-scripting/obs-scripting-config.h.in rename to shared/obs-scripting/obs-scripting-config.h.in diff --git a/deps/obs-scripting/obs-scripting-internal.h b/shared/obs-scripting/obs-scripting-internal.h similarity index 100% rename from deps/obs-scripting/obs-scripting-internal.h rename to shared/obs-scripting/obs-scripting-internal.h diff --git a/deps/obs-scripting/obs-scripting-logging.c b/shared/obs-scripting/obs-scripting-logging.c similarity index 100% rename from deps/obs-scripting/obs-scripting-logging.c rename to shared/obs-scripting/obs-scripting-logging.c diff --git a/deps/obs-scripting/obs-scripting-lua-frontend.c b/shared/obs-scripting/obs-scripting-lua-frontend.c similarity index 100% rename from deps/obs-scripting/obs-scripting-lua-frontend.c rename to shared/obs-scripting/obs-scripting-lua-frontend.c diff --git a/deps/obs-scripting/obs-scripting-lua-source.c b/shared/obs-scripting/obs-scripting-lua-source.c similarity index 100% rename from deps/obs-scripting/obs-scripting-lua-source.c rename to shared/obs-scripting/obs-scripting-lua-source.c diff --git a/deps/obs-scripting/obs-scripting-lua.c b/shared/obs-scripting/obs-scripting-lua.c similarity index 100% rename from deps/obs-scripting/obs-scripting-lua.c rename to shared/obs-scripting/obs-scripting-lua.c diff --git a/deps/obs-scripting/obs-scripting-lua.h b/shared/obs-scripting/obs-scripting-lua.h similarity index 100% rename from deps/obs-scripting/obs-scripting-lua.h rename to shared/obs-scripting/obs-scripting-lua.h diff --git a/deps/obs-scripting/obs-scripting-python-frontend.c b/shared/obs-scripting/obs-scripting-python-frontend.c similarity index 100% rename from deps/obs-scripting/obs-scripting-python-frontend.c rename to shared/obs-scripting/obs-scripting-python-frontend.c diff --git a/deps/obs-scripting/obs-scripting-python-import.c b/shared/obs-scripting/obs-scripting-python-import.c similarity index 100% rename from deps/obs-scripting/obs-scripting-python-import.c rename to shared/obs-scripting/obs-scripting-python-import.c diff --git a/deps/obs-scripting/obs-scripting-python-import.h b/shared/obs-scripting/obs-scripting-python-import.h similarity index 100% rename from deps/obs-scripting/obs-scripting-python-import.h rename to shared/obs-scripting/obs-scripting-python-import.h diff --git a/deps/obs-scripting/obs-scripting-python.c b/shared/obs-scripting/obs-scripting-python.c similarity index 100% rename from deps/obs-scripting/obs-scripting-python.c rename to shared/obs-scripting/obs-scripting-python.c diff --git a/deps/obs-scripting/obs-scripting-python.h b/shared/obs-scripting/obs-scripting-python.h similarity index 100% rename from deps/obs-scripting/obs-scripting-python.h rename to shared/obs-scripting/obs-scripting-python.h diff --git a/deps/obs-scripting/obs-scripting.c b/shared/obs-scripting/obs-scripting.c similarity index 100% rename from deps/obs-scripting/obs-scripting.c rename to shared/obs-scripting/obs-scripting.c diff --git a/deps/obs-scripting/obs-scripting.h b/shared/obs-scripting/obs-scripting.h similarity index 100% rename from deps/obs-scripting/obs-scripting.h rename to shared/obs-scripting/obs-scripting.h diff --git a/deps/obs-scripting/obslua/CMakeLists.txt b/shared/obs-scripting/obslua/CMakeLists.txt similarity index 100% rename from deps/obs-scripting/obslua/CMakeLists.txt rename to shared/obs-scripting/obslua/CMakeLists.txt diff --git a/deps/obs-scripting/obslua/cmake/legacy.cmake b/shared/obs-scripting/obslua/cmake/legacy.cmake similarity index 100% rename from deps/obs-scripting/obslua/cmake/legacy.cmake rename to shared/obs-scripting/obslua/cmake/legacy.cmake diff --git a/deps/obs-scripting/obslua/obslua.i b/shared/obs-scripting/obslua/obslua.i similarity index 100% rename from deps/obs-scripting/obslua/obslua.i rename to shared/obs-scripting/obslua/obslua.i diff --git a/deps/obs-scripting/obspython/CMakeLists.txt b/shared/obs-scripting/obspython/CMakeLists.txt similarity index 100% rename from deps/obs-scripting/obspython/CMakeLists.txt rename to shared/obs-scripting/obspython/CMakeLists.txt diff --git a/deps/obs-scripting/obspython/cmake/legacy.cmake b/shared/obs-scripting/obspython/cmake/legacy.cmake similarity index 100% rename from deps/obs-scripting/obspython/cmake/legacy.cmake rename to shared/obs-scripting/obspython/cmake/legacy.cmake diff --git a/deps/obs-scripting/obspython/obspython.i b/shared/obs-scripting/obspython/obspython.i similarity index 100% rename from deps/obs-scripting/obspython/obspython.i rename to shared/obs-scripting/obspython/obspython.i From a0e1fd661f24391b4698a5f80868701eb1069cbc Mon Sep 17 00:00:00 2001 From: tytan652 Date: Wed, 2 Aug 2023 10:39:15 +0200 Subject: [PATCH 07/15] deps,shared,plugins: Move opts-parser to shared folder --- deps/CMakeLists.txt | 1 - plugins/obs-ffmpeg/cmake/dependencies.cmake | 2 +- plugins/obs-ffmpeg/cmake/legacy.cmake | 4 ++++ plugins/obs-outputs/CMakeLists.txt | 4 ++++ plugins/obs-outputs/cmake/legacy.cmake | 4 ++++ plugins/obs-x264/CMakeLists.txt | 2 +- plugins/obs-x264/cmake/legacy.cmake | 4 ++++ {deps => shared}/opts-parser/CMakeLists.txt | 0 {deps => shared}/opts-parser/opts-parser.c | 0 {deps => shared}/opts-parser/opts-parser.h | 0 10 files changed, 18 insertions(+), 3 deletions(-) rename {deps => shared}/opts-parser/CMakeLists.txt (100%) rename {deps => shared}/opts-parser/opts-parser.c (100%) rename {deps => shared}/opts-parser/opts-parser.h (100%) diff --git a/deps/CMakeLists.txt b/deps/CMakeLists.txt index 1e5196ccc3d6d5..b99cb2cd2635e0 100644 --- a/deps/CMakeLists.txt +++ b/deps/CMakeLists.txt @@ -5,4 +5,3 @@ endif() add_subdirectory(blake2) add_subdirectory(glad) add_subdirectory(libcaption) -add_subdirectory(opts-parser) diff --git a/plugins/obs-ffmpeg/cmake/dependencies.cmake b/plugins/obs-ffmpeg/cmake/dependencies.cmake index 502e46cb749587..6e809bbc273960 100644 --- a/plugins/obs-ffmpeg/cmake/dependencies.cmake +++ b/plugins/obs-ffmpeg/cmake/dependencies.cmake @@ -21,7 +21,7 @@ if(NOT TARGET OBS::media-playback) endif() if(NOT TARGET OBS::opts-parser) - add_subdirectory("${CMAKE_SOURCE_DIR}/deps/opts-parser" "${CMAKE_BINARY_DIR}/deps/opts-parser") + add_subdirectory("${CMAKE_SOURCE_DIR}/shared/opts-parser" "${CMAKE_BINARY_DIR}/shared/opts-parser") endif() if(OS_WINDOWS) diff --git a/plugins/obs-ffmpeg/cmake/legacy.cmake b/plugins/obs-ffmpeg/cmake/legacy.cmake index d8a108b029bcc6..04866b90ab0b92 100644 --- a/plugins/obs-ffmpeg/cmake/legacy.cmake +++ b/plugins/obs-ffmpeg/cmake/legacy.cmake @@ -21,6 +21,10 @@ if(NOT TARGET OBS::media-playback) add_subdirectory("${CMAKE_SOURCE_DIR}/shared/media-playback" "${CMAKE_BINARY_DIR}/shared/media-playback") endif() +if(NOT TARGET OBS::opts-parser) + add_subdirectory("${CMAKE_SOURCE_DIR}/shared/opts-parser" "${CMAKE_BINARY_DIR}/shared/opts-parser") +endif() + add_subdirectory(ffmpeg-mux) if(ENABLE_NEW_MPEGTS_OUTPUT) find_package(Librist QUIET) diff --git a/plugins/obs-outputs/CMakeLists.txt b/plugins/obs-outputs/CMakeLists.txt index d0b7c4ba36b3c5..1e0a2fe41a6c9d 100644 --- a/plugins/obs-outputs/CMakeLists.txt +++ b/plugins/obs-outputs/CMakeLists.txt @@ -9,6 +9,10 @@ if(NOT TARGET happy-eyeballs) add_subdirectory("${CMAKE_SOURCE_DIR}/shared/happy-eyeballs" "${CMAKE_BINARY_DIR}/shared/happy-eyeballs") endif() +if(NOT TARGET OBS::opts-parser) + add_subdirectory("${CMAKE_SOURCE_DIR}/shared/opts-parser" "${CMAKE_BINARY_DIR}/shared/opts-parser") +endif() + add_library(obs-outputs MODULE) add_library(OBS::outputs ALIAS obs-outputs) diff --git a/plugins/obs-outputs/cmake/legacy.cmake b/plugins/obs-outputs/cmake/legacy.cmake index e8f14b1a3c2515..bc2607ec1ce8d6 100644 --- a/plugins/obs-outputs/cmake/legacy.cmake +++ b/plugins/obs-outputs/cmake/legacy.cmake @@ -17,6 +17,10 @@ if(NOT TARGET happy-eyeballs) add_subdirectory("${CMAKE_SOURCE_DIR}/shared/happy-eyeballs" "${CMAKE_BINARY_DIR}/shared/happy-eyeballs") endif() +if(NOT TARGET OBS::opts-parser) + add_subdirectory("${CMAKE_SOURCE_DIR}/shared/opts-parser" "${CMAKE_BINARY_DIR}/shared/opts-parser") +endif() + target_sources( obs-outputs PRIVATE obs-outputs.c diff --git a/plugins/obs-x264/CMakeLists.txt b/plugins/obs-x264/CMakeLists.txt index 196c5ab7ae5396..557d9655da1747 100644 --- a/plugins/obs-x264/CMakeLists.txt +++ b/plugins/obs-x264/CMakeLists.txt @@ -5,7 +5,7 @@ legacy_check() find_package(Libx264 REQUIRED) if(NOT TARGET OBS::opts-parser) - add_subdirectory("${CMAKE_SOURCE_DIR}/deps/opts-parser" "${CMAKE_BINARY_DIR}/deps/opts-parser") + add_subdirectory("${CMAKE_SOURCE_DIR}/shared/opts-parser" "${CMAKE_BINARY_DIR}/shared/opts-parser") endif() add_library(obs-x264 MODULE) diff --git a/plugins/obs-x264/cmake/legacy.cmake b/plugins/obs-x264/cmake/legacy.cmake index a7049c1d848e79..c9d0fa21317c24 100644 --- a/plugins/obs-x264/cmake/legacy.cmake +++ b/plugins/obs-x264/cmake/legacy.cmake @@ -6,6 +6,10 @@ add_library(obs-x264 MODULE) add_library(OBS::x264 ALIAS obs-x264) add_executable(obs-x264-test) +if(NOT TARGET OBS::opts-parser) + add_subdirectory("${CMAKE_SOURCE_DIR}/shared/opts-parser" "${CMAKE_BINARY_DIR}/shared/opts-parser") +endif() + target_sources(obs-x264-test PRIVATE obs-x264-test.c) target_link_libraries(obs-x264-test PRIVATE OBS::opts-parser) diff --git a/deps/opts-parser/CMakeLists.txt b/shared/opts-parser/CMakeLists.txt similarity index 100% rename from deps/opts-parser/CMakeLists.txt rename to shared/opts-parser/CMakeLists.txt diff --git a/deps/opts-parser/opts-parser.c b/shared/opts-parser/opts-parser.c similarity index 100% rename from deps/opts-parser/opts-parser.c rename to shared/opts-parser/opts-parser.c diff --git a/deps/opts-parser/opts-parser.h b/shared/opts-parser/opts-parser.h similarity index 100% rename from deps/opts-parser/opts-parser.h rename to shared/opts-parser/opts-parser.h From 21fd22a630adcb61c845faeec333cfacb75b01d6 Mon Sep 17 00:00:00 2001 From: tytan652 Date: Tue, 18 Jul 2023 21:15:15 +0200 Subject: [PATCH 08/15] UI: Move QTToGSWindow outside of Qt wrappers --- UI/qt-display.cpp | 40 ++++++++++++++++++++++++++++++++++++++++ UI/qt-wrappers.cpp | 40 ---------------------------------------- UI/qt-wrappers.hpp | 3 --- 3 files changed, 40 insertions(+), 43 deletions(-) diff --git a/UI/qt-display.cpp b/UI/qt-display.cpp index 7444c6cb58868c..81652988b6d186 100644 --- a/UI/qt-display.cpp +++ b/UI/qt-display.cpp @@ -13,6 +13,14 @@ #include #endif +#if !defined(_WIN32) && !defined(__APPLE__) +#include +#endif + +#ifdef ENABLE_WAYLAND +#include +#endif + class SurfaceEventFilter : public QObject { OBSQTDisplay *display; @@ -62,6 +70,38 @@ static inline QColor rgba_to_color(uint32_t rgba) (rgba >> 16) & 0xFF, (rgba >> 24) & 0xFF); } +static bool QTToGSWindow(QWindow *window, gs_window &gswindow) +{ + bool success = true; + +#ifdef _WIN32 + gswindow.hwnd = (HWND)window->winId(); +#elif __APPLE__ + gswindow.view = (id)window->winId(); +#else + switch (obs_get_nix_platform()) { + case OBS_NIX_PLATFORM_X11_EGL: + gswindow.id = window->winId(); + gswindow.display = obs_get_nix_platform_display(); + break; +#ifdef ENABLE_WAYLAND + case OBS_NIX_PLATFORM_WAYLAND: { + QPlatformNativeInterface *native = + QGuiApplication::platformNativeInterface(); + gswindow.display = + native->nativeResourceForWindow("surface", window); + success = gswindow.display != nullptr; + break; + } +#endif + default: + success = false; + break; + } +#endif + return success; +} + OBSQTDisplay::OBSQTDisplay(QWidget *parent, Qt::WindowFlags flags) : QWidget(parent, flags) { diff --git a/UI/qt-wrappers.cpp b/UI/qt-wrappers.cpp index c91fab5fa6ebbf..3eaac324f69d10 100644 --- a/UI/qt-wrappers.cpp +++ b/UI/qt-wrappers.cpp @@ -32,14 +32,6 @@ #include #include -#if !defined(_WIN32) && !defined(__APPLE__) -#include -#endif - -#ifdef ENABLE_WAYLAND -#include -#endif - static inline void OBSErrorBoxva(QWidget *parent, const char *msg, va_list args) { char full_message[8192]; @@ -120,38 +112,6 @@ void OBSMessageBox::critical(QWidget *parent, const QString &title, mb.exec(); } -bool QTToGSWindow(QWindow *window, gs_window &gswindow) -{ - bool success = true; - -#ifdef _WIN32 - gswindow.hwnd = (HWND)window->winId(); -#elif __APPLE__ - gswindow.view = (id)window->winId(); -#else - switch (obs_get_nix_platform()) { - case OBS_NIX_PLATFORM_X11_EGL: - gswindow.id = window->winId(); - gswindow.display = obs_get_nix_platform_display(); - break; -#ifdef ENABLE_WAYLAND - case OBS_NIX_PLATFORM_WAYLAND: { - QPlatformNativeInterface *native = - QGuiApplication::platformNativeInterface(); - gswindow.display = - native->nativeResourceForWindow("surface", window); - success = gswindow.display != nullptr; - break; - } -#endif - default: - success = false; - break; - } -#endif - return success; -} - uint32_t TranslateQtKeyboardEventModifiers(Qt::KeyboardModifiers mods) { int obsModifiers = INTERACT_NONE; diff --git a/UI/qt-wrappers.hpp b/UI/qt-wrappers.hpp index 4a45ebfc99de0e..7ad47de27e1bc6 100644 --- a/UI/qt-wrappers.hpp +++ b/UI/qt-wrappers.hpp @@ -37,7 +37,6 @@ class QComboBox; class QWidget; class QLayout; class QString; -struct gs_window; class QLabel; class QToolBar; @@ -60,8 +59,6 @@ class OBSMessageBox { void OBSErrorBox(QWidget *parent, const char *msg, ...); -bool QTToGSWindow(QWindow *window, gs_window &gswindow); - uint32_t TranslateQtKeyboardEventModifiers(Qt::KeyboardModifiers mods); QDataStream & From 09af69d2b0824d4665e0f7bf2c2a8c3f8b4b8dab Mon Sep 17 00:00:00 2001 From: tytan652 Date: Wed, 17 Jan 2024 08:24:40 +0100 Subject: [PATCH 09/15] UI,shared: Move Qt Wrappers to its own directory --- UI/adv-audio-control.cpp | 2 +- UI/api-interface.cpp | 2 +- UI/auth-listener.cpp | 2 +- UI/auth-youtube.cpp | 2 +- UI/cmake/legacy.cmake | 17 +++++++++++++---- UI/cmake/ui-elements.cmake | 2 -- UI/cmake/ui-qt.cmake | 6 +++++- UI/context-bar-controls.cpp | 2 +- .../aja-output-ui/CMakeLists.txt | 5 +++++ .../aja-output-ui/cmake/legacy.cmake | 8 +++++--- .../decklink-output-ui/CMakeLists.txt | 5 +++++ .../decklink-output-ui/cmake/legacy.cmake | 8 +++++--- .../frontend-tools/CMakeLists.txt | 5 +++++ .../frontend-tools/cmake/legacy.cmake | 8 +++++--- UI/frontend-plugins/frontend-tools/scripts.cpp | 2 +- UI/hotkey-edit.cpp | 2 +- UI/log-viewer.cpp | 2 +- UI/media-controls.hpp | 2 +- UI/obs-app.cpp | 2 +- UI/platform-windows.cpp | 2 +- UI/properties-view.cpp | 2 +- UI/qt-display.cpp | 2 +- UI/remote-text.cpp | 2 +- UI/source-tree.cpp | 2 +- UI/update/mac-update.cpp | 2 +- UI/update/win-update.cpp | 2 +- UI/visibility-item-widget.cpp | 3 ++- UI/volume-control.cpp | 3 ++- UI/window-basic-about.cpp | 2 +- UI/window-basic-adv-audio.cpp | 2 +- UI/window-basic-auto-config-test.cpp | 2 +- UI/window-basic-auto-config.cpp | 2 +- UI/window-basic-filters.cpp | 2 +- UI/window-basic-interaction.cpp | 2 +- UI/window-basic-main-browser.cpp | 2 +- UI/window-basic-main-dropfiles.cpp | 2 +- UI/window-basic-main-outputs.cpp | 2 +- UI/window-basic-main-profiles.cpp | 2 +- UI/window-basic-main-scene-collections.cpp | 2 +- UI/window-basic-main-screenshot.cpp | 3 ++- UI/window-basic-main-transitions.cpp | 2 +- UI/window-basic-main.cpp | 2 +- UI/window-basic-properties.cpp | 2 +- UI/window-basic-settings-a11y.cpp | 2 +- UI/window-basic-settings-stream.cpp | 2 +- UI/window-basic-settings.cpp | 2 +- UI/window-basic-source-select.cpp | 2 +- UI/window-basic-stats.cpp | 2 +- UI/window-basic-vcam-config.cpp | 2 +- UI/window-extra-browsers.cpp | 2 +- UI/window-importer.cpp | 2 +- UI/window-missing-files.cpp | 2 +- UI/window-namedialog.cpp | 2 +- UI/window-projector.cpp | 2 +- UI/window-remux.cpp | 2 +- UI/window-youtube-actions.cpp | 2 +- UI/youtube-api-wrappers.cpp | 2 +- shared/qt/wrappers/CMakeLists.txt | 11 +++++++++++ {UI => shared/qt/wrappers}/qt-wrappers.cpp | 11 +++++------ {UI => shared/qt/wrappers}/qt-wrappers.hpp | 3 ++- 60 files changed, 117 insertions(+), 71 deletions(-) create mode 100644 shared/qt/wrappers/CMakeLists.txt rename {UI => shared/qt/wrappers}/qt-wrappers.cpp (97%) rename {UI => shared/qt/wrappers}/qt-wrappers.hpp (98%) diff --git a/UI/adv-audio-control.cpp b/UI/adv-audio-control.cpp index 277ac24d44d11c..161534766c9dc7 100644 --- a/UI/adv-audio-control.cpp +++ b/UI/adv-audio-control.cpp @@ -5,7 +5,7 @@ #include #include #include -#include "qt-wrappers.hpp" +#include #include "obs-app.hpp" #include "adv-audio-control.hpp" #include "window-basic-main.hpp" diff --git a/UI/api-interface.cpp b/UI/api-interface.cpp index 12f03604963ec0..691f507c424933 100644 --- a/UI/api-interface.cpp +++ b/UI/api-interface.cpp @@ -1,6 +1,6 @@ #include +#include #include "obs-app.hpp" -#include "qt-wrappers.hpp" #include "window-basic-main.hpp" #include "window-basic-main-outputs.hpp" diff --git a/UI/auth-listener.cpp b/UI/auth-listener.cpp index 12a7d72fef4118..b6c7a9e0473004 100644 --- a/UI/auth-listener.cpp +++ b/UI/auth-listener.cpp @@ -4,9 +4,9 @@ #include #include #include +#include #include "obs-app.hpp" -#include "qt-wrappers.hpp" #define LOGO_URL "https://obsproject.com/assets/images/new_icon_small-r.png" diff --git a/UI/auth-youtube.cpp b/UI/auth-youtube.cpp index cd07c74cc79759..d3902da5599e8c 100644 --- a/UI/auth-youtube.cpp +++ b/UI/auth-youtube.cpp @@ -8,6 +8,7 @@ #include #include #include +#include #ifdef WIN32 #include @@ -18,7 +19,6 @@ #include "auth-listener.hpp" #include "obs-app.hpp" -#include "qt-wrappers.hpp" #include "ui-config.h" #include "youtube-api-wrappers.hpp" #include "window-basic-main.hpp" diff --git a/UI/cmake/legacy.cmake b/UI/cmake/legacy.cmake index 487c2a5c0996c4..1c82457e4aac31 100644 --- a/UI/cmake/legacy.cmake +++ b/UI/cmake/legacy.cmake @@ -71,6 +71,10 @@ find_package(CURL REQUIRED) add_subdirectory(frontend-plugins) add_executable(obs) +if(NOT TARGET OBS::qt-wrappers) + add_subdirectory("${CMAKE_SOURCE_DIR}/shared/qt/wrappers" "${CMAKE_BINARY_DIR}/shared/qt/wrappers") +endif() + find_qt(COMPONENTS Widgets Network Svg Xml COMPONENTS_LINUX Gui DBus) target_link_libraries(obs PRIVATE Qt::Widgets Qt::Svg Qt::Xml Qt::Network) @@ -147,8 +151,6 @@ target_sources( platform.hpp qt-display.cpp qt-display.hpp - qt-wrappers.cpp - qt-wrappers.hpp ui-validation.cpp ui-validation.hpp multiview.cpp @@ -304,8 +306,15 @@ target_compile_features(obs PRIVATE cxx_std_17) target_include_directories(obs PRIVATE ${CMAKE_SOURCE_DIR}/deps/json11) -target_link_libraries(obs PRIVATE CURL::libcurl FFmpeg::avcodec FFmpeg::avutil FFmpeg::avformat OBS::libobs - OBS::frontend-api) +target_link_libraries( + obs + PRIVATE CURL::libcurl + FFmpeg::avcodec + FFmpeg::avutil + FFmpeg::avformat + OBS::libobs + OBS::frontend-api + OBS::qt-wrappers) set_target_properties(obs PROPERTIES FOLDER "frontend") diff --git a/UI/cmake/ui-elements.cmake b/UI/cmake/ui-elements.cmake index d3f6f44ec29aac..fccdf42a0ddf50 100644 --- a/UI/cmake/ui-elements.cmake +++ b/UI/cmake/ui-elements.cmake @@ -14,8 +14,6 @@ target_sources( properties-view.cpp properties-view.hpp properties-view.moc.hpp - qt-wrappers.cpp - qt-wrappers.hpp slider-ignorewheel.cpp slider-ignorewheel.hpp spinbox-ignorewheel.cpp diff --git a/UI/cmake/ui-qt.cmake b/UI/cmake/ui-qt.cmake index 6148fda8854924..d34de0ad9f7f4f 100644 --- a/UI/cmake/ui-qt.cmake +++ b/UI/cmake/ui-qt.cmake @@ -8,7 +8,11 @@ if(OS_LINUX find_package(Qt6 REQUIRED Gui DBus) endif() -target_link_libraries(obs-studio PRIVATE Qt::Widgets Qt::Svg Qt::Xml Qt::Network) +if(NOT TARGET OBS::qt-wrappers) + add_subdirectory("${CMAKE_SOURCE_DIR}/shared/qt/wrappers" "${CMAKE_BINARY_DIR}/shared/qt/wrappers") +endif() + +target_link_libraries(obs-studio PRIVATE Qt::Widgets Qt::Svg Qt::Xml Qt::Network OBS::qt-wrappers) set_target_properties( obs-studio diff --git a/UI/context-bar-controls.cpp b/UI/context-bar-controls.cpp index 3eef5188c279c6..cb4b2f8fc58812 100644 --- a/UI/context-bar-controls.cpp +++ b/UI/context-bar-controls.cpp @@ -1,8 +1,8 @@ #include "window-basic-main.hpp" #include "context-bar-controls.hpp" -#include "qt-wrappers.hpp" #include "obs-app.hpp" +#include #include #include #include diff --git a/UI/frontend-plugins/aja-output-ui/CMakeLists.txt b/UI/frontend-plugins/aja-output-ui/CMakeLists.txt index 56c4be21e49d37..9c7e8c9e656799 100644 --- a/UI/frontend-plugins/aja-output-ui/CMakeLists.txt +++ b/UI/frontend-plugins/aja-output-ui/CMakeLists.txt @@ -23,6 +23,10 @@ if(NOT TARGET OBS::aja-support) add_subdirectory("${CMAKE_SOURCE_DIR}/plugins/aja" "${CMAKE_BINARY_DIR}/plugins/aja") endif() +if(NOT TARGET OBS::qt-wrappers) + add_subdirectory("${CMAKE_SOURCE_DIR}/shared/qt/wrappers" "${CMAKE_BINARY_DIR}/shared/qt/wrappers") +endif() + add_library(aja-output-ui MODULE) add_library(OBS::aja-output-ui ALIAS aja-output-ui) @@ -40,6 +44,7 @@ target_link_libraries( PRIVATE OBS::libobs OBS::aja-support OBS::frontend-api + OBS::qt-wrappers OBS::ui-support Qt::Widgets AJA::LibAJANTV2 diff --git a/UI/frontend-plugins/aja-output-ui/cmake/legacy.cmake b/UI/frontend-plugins/aja-output-ui/cmake/legacy.cmake index 3e0a465895b204..7346834880d0b6 100644 --- a/UI/frontend-plugins/aja-output-ui/cmake/legacy.cmake +++ b/UI/frontend-plugins/aja-output-ui/cmake/legacy.cmake @@ -9,6 +9,10 @@ find_package(LibAJANTV2 REQUIRED) add_library(aja-output-ui MODULE) add_library(OBS::aja-output-ui ALIAS aja-output-ui) +if(NOT TARGET OBS::qt-wrappers) + add_subdirectory("${CMAKE_SOURCE_DIR}/shared/qt/wrappers" "${CMAKE_BINARY_DIR}/shared/qt/wrappers") +endif() + find_qt(COMPONENTS Widgets COMPONENTS_LINUX Gui) set_target_properties( @@ -53,8 +57,6 @@ target_sources( ${CMAKE_SOURCE_DIR}/UI/properties-view.hpp ${CMAKE_SOURCE_DIR}/UI/properties-view.cpp ${CMAKE_SOURCE_DIR}/UI/properties-view.moc.hpp - ${CMAKE_SOURCE_DIR}/UI/qt-wrappers.cpp - ${CMAKE_SOURCE_DIR}/UI/qt-wrappers.hpp ${CMAKE_SOURCE_DIR}/UI/spinbox-ignorewheel.cpp ${CMAKE_SOURCE_DIR}/UI/spinbox-ignorewheel.hpp ${CMAKE_SOURCE_DIR}/UI/slider-ignorewheel.cpp @@ -62,7 +64,7 @@ target_sources( ${CMAKE_SOURCE_DIR}/UI/vertical-scroll-area.cpp ${CMAKE_SOURCE_DIR}/UI/vertical-scroll-area.hpp) -target_link_libraries(aja-output-ui PRIVATE OBS::libobs OBS::frontend-api Qt::Widgets AJA::LibAJANTV2) +target_link_libraries(aja-output-ui PRIVATE OBS::libobs OBS::frontend-api OBS::qt-wrappers Qt::Widgets AJA::LibAJANTV2) if(OS_MACOS) find_library(IOKIT_FRAMEWORK Iokit) diff --git a/UI/frontend-plugins/decklink-output-ui/CMakeLists.txt b/UI/frontend-plugins/decklink-output-ui/CMakeLists.txt index 96e5ba2812fb24..7bdd668ec33d72 100644 --- a/UI/frontend-plugins/decklink-output-ui/CMakeLists.txt +++ b/UI/frontend-plugins/decklink-output-ui/CMakeLists.txt @@ -20,6 +20,10 @@ endif() add_library(decklink-output-ui MODULE) add_library(OBS::decklink-output-ui ALIAS decklink-output-ui) +if(NOT TARGET OBS::qt-wrappers) + add_subdirectory("${CMAKE_SOURCE_DIR}/shared/qt/wrappers" "${CMAKE_BINARY_DIR}/shared/qt/wrappers") +endif() + target_sources(decklink-output-ui PRIVATE forms/output.ui) target_sources(decklink-output-ui PRIVATE DecklinkOutputUI.cpp DecklinkOutputUI.h decklink-ui-main.cpp @@ -31,6 +35,7 @@ target_link_libraries( decklink-output-ui PRIVATE OBS::libobs OBS::frontend-api + OBS::qt-wrappers OBS::ui-support Qt::Widgets "$<$:$>" diff --git a/UI/frontend-plugins/decklink-output-ui/cmake/legacy.cmake b/UI/frontend-plugins/decklink-output-ui/cmake/legacy.cmake index 40de2d1eb04294..709c047887eca1 100644 --- a/UI/frontend-plugins/decklink-output-ui/cmake/legacy.cmake +++ b/UI/frontend-plugins/decklink-output-ui/cmake/legacy.cmake @@ -7,6 +7,10 @@ endif() add_library(decklink-output-ui MODULE) add_library(OBS::decklink-output-ui ALIAS decklink-output-ui) +if(NOT TARGET OBS::qt-wrappers) + add_subdirectory("${CMAKE_SOURCE_DIR}/shared/qt/wrappers" "${CMAKE_BINARY_DIR}/shared/qt/wrappers") +endif() + find_qt(COMPONENTS Widgets COMPONENTS_LINUX Gui) set_target_properties( @@ -35,8 +39,6 @@ target_sources( ${CMAKE_SOURCE_DIR}/UI/properties-view.hpp ${CMAKE_SOURCE_DIR}/UI/properties-view.cpp ${CMAKE_SOURCE_DIR}/UI/properties-view.moc.hpp - ${CMAKE_SOURCE_DIR}/UI/qt-wrappers.hpp - ${CMAKE_SOURCE_DIR}/UI/qt-wrappers.cpp ${CMAKE_SOURCE_DIR}/UI/spinbox-ignorewheel.cpp ${CMAKE_SOURCE_DIR}/UI/spinbox-ignorewheel.hpp ${CMAKE_SOURCE_DIR}/UI/slider-ignorewheel.cpp @@ -44,7 +46,7 @@ target_sources( ${CMAKE_SOURCE_DIR}/UI/vertical-scroll-area.hpp ${CMAKE_SOURCE_DIR}/UI/vertical-scroll-area.cpp) -target_link_libraries(decklink-output-ui PRIVATE OBS::libobs OBS::frontend-api Qt::Widgets) +target_link_libraries(decklink-output-ui PRIVATE OBS::libobs OBS::frontend-api OBS::qt-wrappers Qt::Widgets) target_compile_features(decklink-output-ui PRIVATE cxx_std_17) diff --git a/UI/frontend-plugins/frontend-tools/CMakeLists.txt b/UI/frontend-plugins/frontend-tools/CMakeLists.txt index 7db278041441da..53786eca24a1ee 100644 --- a/UI/frontend-plugins/frontend-tools/CMakeLists.txt +++ b/UI/frontend-plugins/frontend-tools/CMakeLists.txt @@ -14,6 +14,10 @@ endif() add_library(frontend-tools MODULE) add_library(OBS::frontend-tools ALIAS frontend-tools) +if(NOT TARGET OBS::qt-wrappers) + add_subdirectory("${CMAKE_SOURCE_DIR}/shared/qt/wrappers" "${CMAKE_BINARY_DIR}/shared/qt/wrappers") +endif() + target_sources( frontend-tools PRIVATE # cmake-format: sortable @@ -45,6 +49,7 @@ target_link_libraries( frontend-tools PRIVATE OBS::frontend-api OBS::libobs + OBS::qt-wrappers OBS::ui-support Qt::Widgets "$<$:$>" diff --git a/UI/frontend-plugins/frontend-tools/cmake/legacy.cmake b/UI/frontend-plugins/frontend-tools/cmake/legacy.cmake index 9ded76029b76ca..8eb109023cddfd 100644 --- a/UI/frontend-plugins/frontend-tools/cmake/legacy.cmake +++ b/UI/frontend-plugins/frontend-tools/cmake/legacy.cmake @@ -3,6 +3,10 @@ project(frontend-tools) add_library(frontend-tools MODULE) add_library(OBS::frontend-tools ALIAS frontend-tools) +if(NOT TARGET OBS::qt-wrappers) + add_subdirectory("${CMAKE_SOURCE_DIR}/shared/qt/wrappers" "${CMAKE_BINARY_DIR}/shared/qt/wrappers") +endif() + find_qt(COMPONENTS Widgets COMPONENTS_LINUX Gui) set_target_properties( @@ -34,8 +38,6 @@ target_sources( ${CMAKE_SOURCE_DIR}/UI/properties-view.cpp ${CMAKE_SOURCE_DIR}/UI/properties-view.hpp ${CMAKE_SOURCE_DIR}/UI/properties-view.moc.hpp - ${CMAKE_SOURCE_DIR}/UI/qt-wrappers.cpp - ${CMAKE_SOURCE_DIR}/UI/qt-wrappers.hpp ${CMAKE_SOURCE_DIR}/UI/spinbox-ignorewheel.cpp ${CMAKE_SOURCE_DIR}/UI/spinbox-ignorewheel.hpp ${CMAKE_SOURCE_DIR}/UI/slider-ignorewheel.cpp @@ -47,7 +49,7 @@ target_sources( target_compile_features(frontend-tools PRIVATE cxx_std_17) -target_link_libraries(frontend-tools PRIVATE OBS::frontend-api OBS::libobs Qt::Widgets) +target_link_libraries(frontend-tools PRIVATE OBS::frontend-api OBS::qt-wrappers OBS::libobs Qt::Widgets) if(OS_POSIX AND NOT OS_MACOS) target_link_libraries(frontend-tools PRIVATE Qt::GuiPrivate) diff --git a/UI/frontend-plugins/frontend-tools/scripts.cpp b/UI/frontend-plugins/frontend-tools/scripts.cpp index 3295de7b7750bc..924efdc520c718 100644 --- a/UI/frontend-plugins/frontend-tools/scripts.cpp +++ b/UI/frontend-plugins/frontend-tools/scripts.cpp @@ -1,7 +1,6 @@ #include "obs-module.h" #include "scripts.hpp" #include "../../properties-view.hpp" -#include "../../qt-wrappers.hpp" #include "../../plain-text-edit.hpp" #include @@ -18,6 +17,7 @@ #include #include #include +#include #include #include diff --git a/UI/hotkey-edit.cpp b/UI/hotkey-edit.cpp index bcd049428dcb96..ebc40361b36b58 100644 --- a/UI/hotkey-edit.cpp +++ b/UI/hotkey-edit.cpp @@ -22,9 +22,9 @@ #include #include #include +#include #include "obs-app.hpp" -#include "qt-wrappers.hpp" void OBSHotkeyEdit::keyPressEvent(QKeyEvent *event) { diff --git a/UI/log-viewer.cpp b/UI/log-viewer.cpp index f02bcd1a54ab4f..dedc04f492126f 100644 --- a/UI/log-viewer.cpp +++ b/UI/log-viewer.cpp @@ -8,9 +8,9 @@ #include #include #include +#include #include "log-viewer.hpp" -#include "qt-wrappers.hpp" OBSLogViewer::OBSLogViewer(QWidget *parent) : QDialog(parent), diff --git a/UI/media-controls.hpp b/UI/media-controls.hpp index 652ddadc4ff270..6a5ec5953c46a5 100644 --- a/UI/media-controls.hpp +++ b/UI/media-controls.hpp @@ -4,7 +4,7 @@ #include #include #include -#include "qt-wrappers.hpp" +#include class Ui_MediaControls; diff --git a/UI/obs-app.cpp b/UI/obs-app.cpp index 9a7e9fd1063bd2..d2337dae0bc411 100644 --- a/UI/obs-app.cpp +++ b/UI/obs-app.cpp @@ -30,6 +30,7 @@ #include #include #include +#include #include #include @@ -38,7 +39,6 @@ #include #include -#include "qt-wrappers.hpp" #include "obs-app.hpp" #include "obs-proxy-style.hpp" #include "log-viewer.hpp" diff --git a/UI/platform-windows.cpp b/UI/platform-windows.cpp index 303d918a9becdf..229045a64330cc 100644 --- a/UI/platform-windows.cpp +++ b/UI/platform-windows.cpp @@ -19,9 +19,9 @@ #include #include "obs-config.h" #include "obs-app.hpp" -#include "qt-wrappers.hpp" #include "platform.hpp" +#include #include #include diff --git a/UI/properties-view.cpp b/UI/properties-view.cpp index 69f176b1474d10..bd0288b171d983 100644 --- a/UI/properties-view.cpp +++ b/UI/properties-view.cpp @@ -27,12 +27,12 @@ #include "double-slider.hpp" #include "slider-ignorewheel.hpp" #include "spinbox-ignorewheel.hpp" -#include "qt-wrappers.hpp" #include "properties-view.hpp" #include "properties-view.moc.hpp" #include "plain-text-edit.hpp" #include "obs-app.hpp" +#include #include #include #include diff --git a/UI/qt-display.cpp b/UI/qt-display.cpp index 81652988b6d186..136fbc8f32b65f 100644 --- a/UI/qt-display.cpp +++ b/UI/qt-display.cpp @@ -1,11 +1,11 @@ #include "qt-display.hpp" -#include "qt-wrappers.hpp" #include "display-helpers.hpp" #include #include #include #include +#include #include #ifdef _WIN32 diff --git a/UI/remote-text.cpp b/UI/remote-text.cpp index 4a372e156ba765..a5c6dd013d2d0e 100644 --- a/UI/remote-text.cpp +++ b/UI/remote-text.cpp @@ -16,8 +16,8 @@ ******************************************************************************/ #include +#include #include "obs-app.hpp" -#include "qt-wrappers.hpp" #include "remote-text.hpp" using namespace std; diff --git a/UI/source-tree.cpp b/UI/source-tree.cpp index 947b217ce04f66..340d6e3b5f90ab 100644 --- a/UI/source-tree.cpp +++ b/UI/source-tree.cpp @@ -1,10 +1,10 @@ #include "window-basic-main.hpp" #include "obs-app.hpp" #include "source-tree.hpp" -#include "qt-wrappers.hpp" #include "platform.hpp" #include "source-label.hpp" +#include #include #include diff --git a/UI/update/mac-update.cpp b/UI/update/mac-update.cpp index 469b01e92ab2fc..c6b35b0e08277a 100644 --- a/UI/update/mac-update.cpp +++ b/UI/update/mac-update.cpp @@ -1,11 +1,11 @@ #include "update-helpers.hpp" #include "shared-update.hpp" -#include "qt-wrappers.hpp" #include "mac-update.hpp" #include "obs-app.hpp" #include +#include #include /* ------------------------------------------------------------------------ */ diff --git a/UI/update/win-update.cpp b/UI/update/win-update.cpp index 5b21d34d843e0c..a0263ad829c3bf 100644 --- a/UI/update/win-update.cpp +++ b/UI/update/win-update.cpp @@ -3,10 +3,10 @@ #include "shared-update.hpp" #include "update-window.hpp" #include "remote-text.hpp" -#include "qt-wrappers.hpp" #include "win-update.hpp" #include "obs-app.hpp" +#include #include #include diff --git a/UI/visibility-item-widget.cpp b/UI/visibility-item-widget.cpp index 23571e9f6c3589..c310007ed9936b 100644 --- a/UI/visibility-item-widget.cpp +++ b/UI/visibility-item-widget.cpp @@ -1,7 +1,8 @@ #include "visibility-item-widget.hpp" -#include "qt-wrappers.hpp" #include "obs-app.hpp" #include "source-label.hpp" + +#include #include #include #include diff --git a/UI/volume-control.cpp b/UI/volume-control.cpp index ab9b7f095fda4c..b629d8e670d540 100644 --- a/UI/volume-control.cpp +++ b/UI/volume-control.cpp @@ -1,10 +1,11 @@ #include "window-basic-main.hpp" #include "volume-control.hpp" -#include "qt-wrappers.hpp" #include "obs-app.hpp" #include "mute-checkbox.hpp" #include "absolute-slider.hpp" #include "source-label.hpp" + +#include #include #include #include diff --git a/UI/window-basic-about.cpp b/UI/window-basic-about.cpp index 10751bb1af21ba..d5bdc3eed178fb 100644 --- a/UI/window-basic-about.cpp +++ b/UI/window-basic-about.cpp @@ -1,7 +1,7 @@ #include "window-basic-about.hpp" #include "window-basic-main.hpp" -#include "qt-wrappers.hpp" #include "remote-text.hpp" +#include #include #include #include diff --git a/UI/window-basic-adv-audio.cpp b/UI/window-basic-adv-audio.cpp index b2ef201dc7d515..9d80e29ff54188 100644 --- a/UI/window-basic-adv-audio.cpp +++ b/UI/window-basic-adv-audio.cpp @@ -3,7 +3,7 @@ #include "item-widget-helpers.hpp" #include "adv-audio-control.hpp" #include "obs-app.hpp" -#include "qt-wrappers.hpp" +#include #include "ui_OBSAdvAudio.h" diff --git a/UI/window-basic-auto-config-test.cpp b/UI/window-basic-auto-config-test.cpp index 90487578305234..117a8bc6d51d93 100644 --- a/UI/window-basic-auto-config-test.cpp +++ b/UI/window-basic-auto-config-test.cpp @@ -8,10 +8,10 @@ #include #include #include +#include #include "window-basic-auto-config.hpp" #include "window-basic-main.hpp" -#include "qt-wrappers.hpp" #include "obs-app.hpp" #include "ui_AutoConfigTestPage.h" diff --git a/UI/window-basic-auto-config.cpp b/UI/window-basic-auto-config.cpp index 243dce9720f3f1..555304daed7300 100644 --- a/UI/window-basic-auto-config.cpp +++ b/UI/window-basic-auto-config.cpp @@ -2,12 +2,12 @@ #include #include +#include #include #include "window-basic-auto-config.hpp" #include "window-basic-main.hpp" -#include "qt-wrappers.hpp" #include "obs-app.hpp" #include "url-push-button.hpp" diff --git a/UI/window-basic-filters.cpp b/UI/window-basic-filters.cpp index fcab696d61b108..4d0bf5ea8177d4 100644 --- a/UI/window-basic-filters.cpp +++ b/UI/window-basic-filters.cpp @@ -20,12 +20,12 @@ #include "window-basic-main.hpp" #include "window-basic-filters.hpp" #include "display-helpers.hpp" -#include "qt-wrappers.hpp" #include "visibility-item-widget.hpp" #include "item-widget-helpers.hpp" #include "obs-app.hpp" #include "undo-stack-obs.hpp" +#include #include #include #include diff --git a/UI/window-basic-interaction.cpp b/UI/window-basic-interaction.cpp index 777da93655b45c..2507d7cc41fba3 100644 --- a/UI/window-basic-interaction.cpp +++ b/UI/window-basic-interaction.cpp @@ -18,9 +18,9 @@ #include "obs-app.hpp" #include "window-basic-interaction.hpp" #include "window-basic-main.hpp" -#include "qt-wrappers.hpp" #include "display-helpers.hpp" +#include #include #include #include diff --git a/UI/window-basic-main-browser.cpp b/UI/window-basic-main-browser.cpp index ec99f141e4987b..24be69fe7713e2 100644 --- a/UI/window-basic-main-browser.cpp +++ b/UI/window-basic-main-browser.cpp @@ -18,8 +18,8 @@ #include #include #include +#include #include "window-basic-main.hpp" -#include "qt-wrappers.hpp" #include diff --git a/UI/window-basic-main-dropfiles.cpp b/UI/window-basic-main-dropfiles.cpp index f8d119b33b11b5..880ae3014055cd 100644 --- a/UI/window-basic-main-dropfiles.cpp +++ b/UI/window-basic-main-dropfiles.cpp @@ -9,9 +9,9 @@ #include #endif #include +#include #include "window-basic-main.hpp" -#include "qt-wrappers.hpp" using namespace std; diff --git a/UI/window-basic-main-outputs.cpp b/UI/window-basic-main-outputs.cpp index 9e644e90acb8df..d77d31a6924943 100644 --- a/UI/window-basic-main-outputs.cpp +++ b/UI/window-basic-main-outputs.cpp @@ -3,7 +3,7 @@ #include #include #include -#include "qt-wrappers.hpp" +#include #include "audio-encoders.hpp" #include "multitrack-video-error.hpp" #include "window-basic-main.hpp" diff --git a/UI/window-basic-main-profiles.cpp b/UI/window-basic-main-profiles.cpp index f9d3f4ea1efcb6..08b869aebe5e73 100644 --- a/UI/window-basic-main-profiles.cpp +++ b/UI/window-basic-main-profiles.cpp @@ -21,10 +21,10 @@ #include #include #include +#include #include "window-basic-main.hpp" #include "window-basic-auto-config.hpp" #include "window-namedialog.hpp" -#include "qt-wrappers.hpp" extern void DestroyPanelCookieManager(); extern void DuplicateCurrentCookieProfile(ConfigFile &config); diff --git a/UI/window-basic-main-scene-collections.cpp b/UI/window-basic-main-scene-collections.cpp index 0fe0867ed45137..26b5506ae4ee59 100644 --- a/UI/window-basic-main-scene-collections.cpp +++ b/UI/window-basic-main-scene-collections.cpp @@ -21,11 +21,11 @@ #include #include #include +#include #include "item-widget-helpers.hpp" #include "window-basic-main.hpp" #include "window-importer.hpp" #include "window-namedialog.hpp" -#include "qt-wrappers.hpp" using namespace std; diff --git a/UI/window-basic-main-screenshot.cpp b/UI/window-basic-main-screenshot.cpp index 4a1c208560b784..ba9c4d2bcf430a 100644 --- a/UI/window-basic-main-screenshot.cpp +++ b/UI/window-basic-main-screenshot.cpp @@ -17,7 +17,8 @@ #include "window-basic-main.hpp" #include "screenshot-obj.hpp" -#include "qt-wrappers.hpp" + +#include #ifdef _WIN32 #include diff --git a/UI/window-basic-main-transitions.cpp b/UI/window-basic-main-transitions.cpp index 2894c6387b6903..304da0d592baa2 100644 --- a/UI/window-basic-main-transitions.cpp +++ b/UI/window-basic-main-transitions.cpp @@ -20,6 +20,7 @@ #include #include #include +#include #include "window-basic-main.hpp" #include "window-basic-main-outputs.hpp" #include "window-basic-vcam-config.hpp" @@ -27,7 +28,6 @@ #include "window-namedialog.hpp" #include "menu-button.hpp" #include "slider-ignorewheel.hpp" -#include "qt-wrappers.hpp" #include "obs-hotkey.h" diff --git a/UI/window-basic-main.cpp b/UI/window-basic-main.cpp index 20e2d01a7b26f0..39d04c6d0c8c08 100644 --- a/UI/window-basic-main.cpp +++ b/UI/window-basic-main.cpp @@ -36,6 +36,7 @@ #include #include #include +#include #include #include @@ -67,7 +68,6 @@ #include "window-youtube-actions.hpp" #include "youtube-api-wrappers.hpp" #endif -#include "qt-wrappers.hpp" #include "context-bar-controls.hpp" #include "obs-proxy-style.hpp" #include "display-helpers.hpp" diff --git a/UI/window-basic-properties.cpp b/UI/window-basic-properties.cpp index a10475f23c004f..51a88d481b958b 100644 --- a/UI/window-basic-properties.cpp +++ b/UI/window-basic-properties.cpp @@ -18,10 +18,10 @@ #include "obs-app.hpp" #include "window-basic-properties.hpp" #include "window-basic-main.hpp" -#include "qt-wrappers.hpp" #include "display-helpers.hpp" #include "properties-view.hpp" +#include #include #include #include diff --git a/UI/window-basic-settings-a11y.cpp b/UI/window-basic-settings-a11y.cpp index ac9de41dab93d0..899541d5c75759 100644 --- a/UI/window-basic-settings-a11y.cpp +++ b/UI/window-basic-settings-a11y.cpp @@ -2,7 +2,7 @@ #include "window-basic-main.hpp" #include "obs-frontend-api.h" #include "obs-app.hpp" -#include "qt-wrappers.hpp" +#include #include enum ColorPreset { diff --git a/UI/window-basic-settings-stream.cpp b/UI/window-basic-settings-stream.cpp index 881e1d54247f53..907a53222e2e08 100644 --- a/UI/window-basic-settings-stream.cpp +++ b/UI/window-basic-settings-stream.cpp @@ -1,12 +1,12 @@ #include #include #include +#include #include "window-basic-settings.hpp" #include "obs-frontend-api.h" #include "obs-app.hpp" #include "window-basic-main.hpp" -#include "qt-wrappers.hpp" #include "url-push-button.hpp" #ifdef BROWSER_AVAILABLE diff --git a/UI/window-basic-settings.cpp b/UI/window-basic-settings.cpp index dfcd2dd653ca91..1f5812b42cf5db 100644 --- a/UI/window-basic-settings.cpp +++ b/UI/window-basic-settings.cpp @@ -35,6 +35,7 @@ #include #include #include +#include #include "audio-encoders.hpp" #include "hotkey-edit.hpp" @@ -42,7 +43,6 @@ #include "obs-app.hpp" #include "platform.hpp" #include "properties-view.hpp" -#include "qt-wrappers.hpp" #include "window-basic-main.hpp" #include "window-basic-settings.hpp" #include "window-basic-main-outputs.hpp" diff --git a/UI/window-basic-source-select.cpp b/UI/window-basic-source-select.cpp index a500e3a72144e1..b494e5d282ef37 100644 --- a/UI/window-basic-source-select.cpp +++ b/UI/window-basic-source-select.cpp @@ -16,9 +16,9 @@ ******************************************************************************/ #include +#include #include "window-basic-main.hpp" #include "window-basic-source-select.hpp" -#include "qt-wrappers.hpp" #include "obs-app.hpp" struct AddSourceData { diff --git a/UI/window-basic-stats.cpp b/UI/window-basic-stats.cpp index d403e717900a57..95ea092ff2ad0a 100644 --- a/UI/window-basic-stats.cpp +++ b/UI/window-basic-stats.cpp @@ -4,8 +4,8 @@ #include "window-basic-main.hpp" #include "platform.hpp" #include "obs-app.hpp" -#include "qt-wrappers.hpp" +#include #include #include #include diff --git a/UI/window-basic-vcam-config.cpp b/UI/window-basic-vcam-config.cpp index 9cb5d15ebfdf9a..e8249967d282d0 100644 --- a/UI/window-basic-vcam-config.cpp +++ b/UI/window-basic-vcam-config.cpp @@ -1,7 +1,7 @@ #include "window-basic-vcam-config.hpp" #include "window-basic-main.hpp" -#include "qt-wrappers.hpp" +#include #include #include diff --git a/UI/window-extra-browsers.cpp b/UI/window-extra-browsers.cpp index 5ee8c686c73edd..ecfe0766fe895f 100644 --- a/UI/window-extra-browsers.cpp +++ b/UI/window-extra-browsers.cpp @@ -1,8 +1,8 @@ #include "window-extra-browsers.hpp" #include "window-dock-browser.hpp" #include "window-basic-main.hpp" -#include "qt-wrappers.hpp" +#include #include #include #include diff --git a/UI/window-importer.cpp b/UI/window-importer.cpp index ff1d0789fb801d..c5aa05c9f6e838 100644 --- a/UI/window-importer.cpp +++ b/UI/window-importer.cpp @@ -26,8 +26,8 @@ #include #include #include +#include -#include "qt-wrappers.hpp" #include "importers/importers.hpp" extern bool SceneCollectionExists(const char *findName); diff --git a/UI/window-missing-files.cpp b/UI/window-missing-files.cpp index 449e8614dd6bce..01eb2977eb2460 100644 --- a/UI/window-missing-files.cpp +++ b/UI/window-missing-files.cpp @@ -24,7 +24,7 @@ #include #include -#include "qt-wrappers.hpp" +#include enum MissingFilesColumn { Source, diff --git a/UI/window-namedialog.cpp b/UI/window-namedialog.cpp index c25cae214807de..86e54aefeed7f6 100644 --- a/UI/window-namedialog.cpp +++ b/UI/window-namedialog.cpp @@ -16,9 +16,9 @@ ******************************************************************************/ #include "window-namedialog.hpp" -#include "qt-wrappers.hpp" #include "obs-app.hpp" +#include #include NameDialog::NameDialog(QWidget *parent) : QDialog(parent) diff --git a/UI/window-projector.cpp b/UI/window-projector.cpp index e61f231825254d..d5322f54790829 100644 --- a/UI/window-projector.cpp +++ b/UI/window-projector.cpp @@ -3,10 +3,10 @@ #include #include #include +#include #include "obs-app.hpp" #include "window-basic-main.hpp" #include "display-helpers.hpp" -#include "qt-wrappers.hpp" #include "platform.hpp" #include "multiview.hpp" diff --git a/UI/window-remux.cpp b/UI/window-remux.cpp index 62ded65ac04608..410ab83d9090d0 100644 --- a/UI/window-remux.cpp +++ b/UI/window-remux.cpp @@ -31,8 +31,8 @@ #include #include #include +#include -#include "qt-wrappers.hpp" #include "window-basic-main.hpp" #include diff --git a/UI/window-youtube-actions.cpp b/UI/window-youtube-actions.cpp index 52d905f911f122..a76ce498926fde 100644 --- a/UI/window-youtube-actions.cpp +++ b/UI/window-youtube-actions.cpp @@ -2,9 +2,9 @@ #include "window-youtube-actions.hpp" #include "obs-app.hpp" -#include "qt-wrappers.hpp" #include "youtube-api-wrappers.hpp" +#include #include #include #include diff --git a/UI/youtube-api-wrappers.cpp b/UI/youtube-api-wrappers.cpp index 2582d5ab30276f..83e6a48996b265 100644 --- a/UI/youtube-api-wrappers.cpp +++ b/UI/youtube-api-wrappers.cpp @@ -6,11 +6,11 @@ #include #include +#include #include "auth-youtube.hpp" #include "obs-app.hpp" #include "window-basic-main.hpp" -#include "qt-wrappers.hpp" #include "remote-text.hpp" #include "ui-config.h" #include "obf.h" diff --git a/shared/qt/wrappers/CMakeLists.txt b/shared/qt/wrappers/CMakeLists.txt new file mode 100644 index 00000000000000..e634e6f6112f20 --- /dev/null +++ b/shared/qt/wrappers/CMakeLists.txt @@ -0,0 +1,11 @@ +cmake_minimum_required(VERSION 3.22...3.25) + +find_package(Qt6 REQUIRED Core Widgets) + +add_library(qt-wrappers INTERFACE) +add_library(OBS::qt-wrappers ALIAS qt-wrappers) + +target_sources(qt-wrappers INTERFACE qt-wrappers.cpp qt-wrappers.hpp) +target_include_directories(qt-wrappers INTERFACE "${CMAKE_CURRENT_SOURCE_DIR}") + +target_link_libraries(qt-wrappers INTERFACE Qt::Core Qt::Widgets OBS::libobs) diff --git a/UI/qt-wrappers.cpp b/shared/qt/wrappers/qt-wrappers.cpp similarity index 97% rename from UI/qt-wrappers.cpp rename to shared/qt/wrappers/qt-wrappers.cpp index 3eaac324f69d10..7e016b0d784d7c 100644 --- a/UI/qt-wrappers.cpp +++ b/shared/qt/wrappers/qt-wrappers.cpp @@ -16,7 +16,6 @@ ******************************************************************************/ #include "qt-wrappers.hpp" -#include "obs-app.hpp" #include #include @@ -60,12 +59,12 @@ OBSMessageBox::question(QWidget *parent, const QString &title, if (buttons & QMessageBox::Ok) { QPushButton *button = mb.addButton(QMessageBox::Ok); - button->setText(QTStr("OK")); + button->setText(tr("OK")); } #define add_button(x) \ if (buttons & QMessageBox::x) { \ QPushButton *button = mb.addButton(QMessageBox::x); \ - button->setText(QTStr(#x)); \ + button->setText(tr(#x)); \ } add_button(Open); add_button(Save); @@ -88,7 +87,7 @@ void OBSMessageBox::information(QWidget *parent, const QString &title, { QMessageBox mb(QMessageBox::Information, title, text, QMessageBox::NoButton, parent); - mb.addButton(QTStr("OK"), QMessageBox::AcceptRole); + mb.addButton(tr("OK"), QMessageBox::AcceptRole); mb.exec(); } @@ -99,7 +98,7 @@ void OBSMessageBox::warning(QWidget *parent, const QString &title, parent); if (enableRichText) mb.setTextFormat(Qt::RichText); - mb.addButton(QTStr("OK"), QMessageBox::AcceptRole); + mb.addButton(tr("OK"), QMessageBox::AcceptRole); mb.exec(); } @@ -108,7 +107,7 @@ void OBSMessageBox::critical(QWidget *parent, const QString &title, { QMessageBox mb(QMessageBox::Critical, title, text, QMessageBox::NoButton, parent); - mb.addButton(QTStr("OK"), QMessageBox::AcceptRole); + mb.addButton(tr("OK"), QMessageBox::AcceptRole); mb.exec(); } diff --git a/UI/qt-wrappers.hpp b/shared/qt/wrappers/qt-wrappers.hpp similarity index 98% rename from UI/qt-wrappers.hpp rename to shared/qt/wrappers/qt-wrappers.hpp index 7ad47de27e1bc6..b3223abb952433 100644 --- a/UI/qt-wrappers.hpp +++ b/shared/qt/wrappers/qt-wrappers.hpp @@ -40,7 +40,8 @@ class QString; class QLabel; class QToolBar; -class OBSMessageBox { +class OBSMessageBox : QObject { + Q_OBJECT public: static QMessageBox::StandardButton question(QWidget *parent, const QString &title, const QString &text, From f854091a917344f7f49bf0af8f0e019db3fb5f2d Mon Sep 17 00:00:00 2001 From: tytan652 Date: Wed, 17 Jan 2024 08:25:36 +0100 Subject: [PATCH 10/15] UI,shared: Move OBSPlainTextEdit to its own directory --- UI/cmake/legacy.cmake | 9 ++++++--- UI/cmake/ui-elements.cmake | 8 ++++++-- UI/frontend-plugins/aja-output-ui/CMakeLists.txt | 5 +++++ UI/frontend-plugins/aja-output-ui/cmake/legacy.cmake | 9 ++++++--- UI/frontend-plugins/decklink-output-ui/CMakeLists.txt | 5 +++++ .../decklink-output-ui/cmake/legacy.cmake | 9 ++++++--- UI/frontend-plugins/frontend-tools/CMakeLists.txt | 5 +++++ UI/frontend-plugins/frontend-tools/cmake/legacy.cmake | 11 +++++++---- UI/frontend-plugins/frontend-tools/scripts.cpp | 2 +- UI/properties-view.cpp | 2 +- shared/qt/plain-text-edit/CMakeLists.txt | 11 +++++++++++ {UI => shared/qt/plain-text-edit}/plain-text-edit.cpp | 2 +- {UI => shared/qt/plain-text-edit}/plain-text-edit.hpp | 0 13 files changed, 60 insertions(+), 18 deletions(-) create mode 100644 shared/qt/plain-text-edit/CMakeLists.txt rename {UI => shared/qt/plain-text-edit}/plain-text-edit.cpp (93%) rename {UI => shared/qt/plain-text-edit}/plain-text-edit.hpp (100%) diff --git a/UI/cmake/legacy.cmake b/UI/cmake/legacy.cmake index 1c82457e4aac31..f385dd2d51fcd8 100644 --- a/UI/cmake/legacy.cmake +++ b/UI/cmake/legacy.cmake @@ -71,6 +71,10 @@ find_package(CURL REQUIRED) add_subdirectory(frontend-plugins) add_executable(obs) +if(NOT TARGET OBS::qt-plain-text-edit) + add_subdirectory("${CMAKE_SOURCE_DIR}/shared/qt/plain-text-edit" "${CMAKE_BINARY_DIR}/shared/qt/plain-text-edit") +endif() + if(NOT TARGET OBS::qt-wrappers) add_subdirectory("${CMAKE_SOURCE_DIR}/shared/qt/wrappers" "${CMAKE_BINARY_DIR}/shared/qt/wrappers") endif() @@ -195,8 +199,6 @@ target_sources( menu-button.hpp mute-checkbox.hpp noncheckable-button.hpp - plain-text-edit.cpp - plain-text-edit.hpp properties-view.cpp properties-view.hpp properties-view.moc.hpp @@ -314,7 +316,8 @@ target_link_libraries( FFmpeg::avformat OBS::libobs OBS::frontend-api - OBS::qt-wrappers) + OBS::qt-wrappers + OBS::qt-plain-text-edit) set_target_properties(obs PROPERTIES FOLDER "frontend") diff --git a/UI/cmake/ui-elements.cmake b/UI/cmake/ui-elements.cmake index fccdf42a0ddf50..8d0ed150a17f9d 100644 --- a/UI/cmake/ui-elements.cmake +++ b/UI/cmake/ui-elements.cmake @@ -9,8 +9,6 @@ target_sources( double-slider.hpp horizontal-scroll-area.cpp horizontal-scroll-area.hpp - plain-text-edit.cpp - plain-text-edit.hpp properties-view.cpp properties-view.hpp properties-view.moc.hpp @@ -26,6 +24,12 @@ target_compile_options(obs-ui-support INTERFACE $<$:-Wno-erro target_link_libraries(obs-studio PRIVATE OBS::ui-support) +if(NOT TARGET OBS::qt-plain-text-edit) + add_subdirectory("${CMAKE_SOURCE_DIR}/shared/qt/plain-text-edit" "${CMAKE_BINARY_DIR}/shared/qt/plain-text-edit") +endif() + +target_link_libraries(obs-studio PRIVATE OBS::qt-plain-text-edit) + target_sources( obs-studio PRIVATE # cmake-format: sortable diff --git a/UI/frontend-plugins/aja-output-ui/CMakeLists.txt b/UI/frontend-plugins/aja-output-ui/CMakeLists.txt index 9c7e8c9e656799..fb55d672f41d1e 100644 --- a/UI/frontend-plugins/aja-output-ui/CMakeLists.txt +++ b/UI/frontend-plugins/aja-output-ui/CMakeLists.txt @@ -23,6 +23,10 @@ if(NOT TARGET OBS::aja-support) add_subdirectory("${CMAKE_SOURCE_DIR}/plugins/aja" "${CMAKE_BINARY_DIR}/plugins/aja") endif() +if(NOT TARGET OBS::qt-plain-text-edit) + add_subdirectory("${CMAKE_SOURCE_DIR}/shared/qt/plain-text-edit" "${CMAKE_BINARY_DIR}/shared/qt/plain-text-edit") +endif() + if(NOT TARGET OBS::qt-wrappers) add_subdirectory("${CMAKE_SOURCE_DIR}/shared/qt/wrappers" "${CMAKE_BINARY_DIR}/shared/qt/wrappers") endif() @@ -44,6 +48,7 @@ target_link_libraries( PRIVATE OBS::libobs OBS::aja-support OBS::frontend-api + OBS::qt-plain-text-edit OBS::qt-wrappers OBS::ui-support Qt::Widgets diff --git a/UI/frontend-plugins/aja-output-ui/cmake/legacy.cmake b/UI/frontend-plugins/aja-output-ui/cmake/legacy.cmake index 7346834880d0b6..3988b52409f6cf 100644 --- a/UI/frontend-plugins/aja-output-ui/cmake/legacy.cmake +++ b/UI/frontend-plugins/aja-output-ui/cmake/legacy.cmake @@ -9,6 +9,10 @@ find_package(LibAJANTV2 REQUIRED) add_library(aja-output-ui MODULE) add_library(OBS::aja-output-ui ALIAS aja-output-ui) +if(NOT TARGET OBS::qt-plain-text-edit) + add_subdirectory("${CMAKE_SOURCE_DIR}/shared/qt/plain-text-edit" "${CMAKE_BINARY_DIR}/shared/qt/plain-text-edit") +endif() + if(NOT TARGET OBS::qt-wrappers) add_subdirectory("${CMAKE_SOURCE_DIR}/shared/qt/wrappers" "${CMAKE_BINARY_DIR}/shared/qt/wrappers") endif() @@ -52,8 +56,6 @@ target_sources( ${CMAKE_SOURCE_DIR}/plugins/aja/aja-widget-io.hpp ${CMAKE_SOURCE_DIR}/UI/double-slider.cpp ${CMAKE_SOURCE_DIR}/UI/double-slider.hpp - ${CMAKE_SOURCE_DIR}/UI/plain-text-edit.hpp - ${CMAKE_SOURCE_DIR}/UI/plain-text-edit.cpp ${CMAKE_SOURCE_DIR}/UI/properties-view.hpp ${CMAKE_SOURCE_DIR}/UI/properties-view.cpp ${CMAKE_SOURCE_DIR}/UI/properties-view.moc.hpp @@ -64,7 +66,8 @@ target_sources( ${CMAKE_SOURCE_DIR}/UI/vertical-scroll-area.cpp ${CMAKE_SOURCE_DIR}/UI/vertical-scroll-area.hpp) -target_link_libraries(aja-output-ui PRIVATE OBS::libobs OBS::frontend-api OBS::qt-wrappers Qt::Widgets AJA::LibAJANTV2) +target_link_libraries(aja-output-ui PRIVATE OBS::libobs OBS::frontend-api OBS::qt-wrappers OBS::qt-plain-text-edit + Qt::Widgets AJA::LibAJANTV2) if(OS_MACOS) find_library(IOKIT_FRAMEWORK Iokit) diff --git a/UI/frontend-plugins/decklink-output-ui/CMakeLists.txt b/UI/frontend-plugins/decklink-output-ui/CMakeLists.txt index 7bdd668ec33d72..4bbbf0a43e1689 100644 --- a/UI/frontend-plugins/decklink-output-ui/CMakeLists.txt +++ b/UI/frontend-plugins/decklink-output-ui/CMakeLists.txt @@ -20,6 +20,10 @@ endif() add_library(decklink-output-ui MODULE) add_library(OBS::decklink-output-ui ALIAS decklink-output-ui) +if(NOT TARGET OBS::qt-plain-text-edit) + add_subdirectory("${CMAKE_SOURCE_DIR}/shared/qt/plain-text-edit" "${CMAKE_BINARY_DIR}/shared/qt/plain-text-edit") +endif() + if(NOT TARGET OBS::qt-wrappers) add_subdirectory("${CMAKE_SOURCE_DIR}/shared/qt/wrappers" "${CMAKE_BINARY_DIR}/shared/qt/wrappers") endif() @@ -35,6 +39,7 @@ target_link_libraries( decklink-output-ui PRIVATE OBS::libobs OBS::frontend-api + OBS::qt-plain-text-edit OBS::qt-wrappers OBS::ui-support Qt::Widgets diff --git a/UI/frontend-plugins/decklink-output-ui/cmake/legacy.cmake b/UI/frontend-plugins/decklink-output-ui/cmake/legacy.cmake index 709c047887eca1..43c4010d36cdfd 100644 --- a/UI/frontend-plugins/decklink-output-ui/cmake/legacy.cmake +++ b/UI/frontend-plugins/decklink-output-ui/cmake/legacy.cmake @@ -7,6 +7,10 @@ endif() add_library(decklink-output-ui MODULE) add_library(OBS::decklink-output-ui ALIAS decklink-output-ui) +if(NOT TARGET OBS::qt-plain-text-edit) + add_subdirectory("${CMAKE_SOURCE_DIR}/shared/qt/plain-text-edit" "${CMAKE_BINARY_DIR}/shared/qt/plain-text-edit") +endif() + if(NOT TARGET OBS::qt-wrappers) add_subdirectory("${CMAKE_SOURCE_DIR}/shared/qt/wrappers" "${CMAKE_BINARY_DIR}/shared/qt/wrappers") endif() @@ -34,8 +38,6 @@ target_sources( decklink-ui-main.h ${CMAKE_SOURCE_DIR}/UI/double-slider.cpp ${CMAKE_SOURCE_DIR}/UI/double-slider.hpp - ${CMAKE_SOURCE_DIR}/UI/plain-text-edit.hpp - ${CMAKE_SOURCE_DIR}/UI/plain-text-edit.cpp ${CMAKE_SOURCE_DIR}/UI/properties-view.hpp ${CMAKE_SOURCE_DIR}/UI/properties-view.cpp ${CMAKE_SOURCE_DIR}/UI/properties-view.moc.hpp @@ -46,7 +48,8 @@ target_sources( ${CMAKE_SOURCE_DIR}/UI/vertical-scroll-area.hpp ${CMAKE_SOURCE_DIR}/UI/vertical-scroll-area.cpp) -target_link_libraries(decklink-output-ui PRIVATE OBS::libobs OBS::frontend-api OBS::qt-wrappers Qt::Widgets) +target_link_libraries(decklink-output-ui PRIVATE OBS::libobs OBS::frontend-api OBS::qt-wrappers OBS::qt-plain-text-edit + Qt::Widgets) target_compile_features(decklink-output-ui PRIVATE cxx_std_17) diff --git a/UI/frontend-plugins/frontend-tools/CMakeLists.txt b/UI/frontend-plugins/frontend-tools/CMakeLists.txt index 53786eca24a1ee..1f69293be671db 100644 --- a/UI/frontend-plugins/frontend-tools/CMakeLists.txt +++ b/UI/frontend-plugins/frontend-tools/CMakeLists.txt @@ -14,6 +14,10 @@ endif() add_library(frontend-tools MODULE) add_library(OBS::frontend-tools ALIAS frontend-tools) +if(NOT TARGET OBS::qt-plain-text-edit) + add_subdirectory("${CMAKE_SOURCE_DIR}/shared/qt/plain-text-edit" "${CMAKE_BINARY_DIR}/shared/qt/plain-text-edit") +endif() + if(NOT TARGET OBS::qt-wrappers) add_subdirectory("${CMAKE_SOURCE_DIR}/shared/qt/wrappers" "${CMAKE_BINARY_DIR}/shared/qt/wrappers") endif() @@ -49,6 +53,7 @@ target_link_libraries( frontend-tools PRIVATE OBS::frontend-api OBS::libobs + OBS::qt-plain-text-edit OBS::qt-wrappers OBS::ui-support Qt::Widgets diff --git a/UI/frontend-plugins/frontend-tools/cmake/legacy.cmake b/UI/frontend-plugins/frontend-tools/cmake/legacy.cmake index 8eb109023cddfd..74bbc88c372d21 100644 --- a/UI/frontend-plugins/frontend-tools/cmake/legacy.cmake +++ b/UI/frontend-plugins/frontend-tools/cmake/legacy.cmake @@ -3,6 +3,10 @@ project(frontend-tools) add_library(frontend-tools MODULE) add_library(OBS::frontend-tools ALIAS frontend-tools) +if(NOT TARGET OBS::qt-plain-text-edit) + add_subdirectory("${CMAKE_SOURCE_DIR}/shared/qt/plain-text-edit" "${CMAKE_BINARY_DIR}/shared/qt/plain-text-edit") +endif() + if(NOT TARGET OBS::qt-wrappers) add_subdirectory("${CMAKE_SOURCE_DIR}/shared/qt/wrappers" "${CMAKE_BINARY_DIR}/shared/qt/wrappers") endif() @@ -43,13 +47,12 @@ target_sources( ${CMAKE_SOURCE_DIR}/UI/slider-ignorewheel.cpp ${CMAKE_SOURCE_DIR}/UI/slider-ignorewheel.hpp ${CMAKE_SOURCE_DIR}/UI/vertical-scroll-area.hpp - ${CMAKE_SOURCE_DIR}/UI/vertical-scroll-area.cpp - ${CMAKE_SOURCE_DIR}/UI/plain-text-edit.cpp - ${CMAKE_SOURCE_DIR}/UI/plain-text-edit.hpp) + ${CMAKE_SOURCE_DIR}/UI/vertical-scroll-area.cpp) target_compile_features(frontend-tools PRIVATE cxx_std_17) -target_link_libraries(frontend-tools PRIVATE OBS::frontend-api OBS::qt-wrappers OBS::libobs Qt::Widgets) +target_link_libraries(frontend-tools PRIVATE OBS::frontend-api OBS::qt-wrappers OBS::qt-plain-text-edit OBS::libobs + Qt::Widgets) if(OS_POSIX AND NOT OS_MACOS) target_link_libraries(frontend-tools PRIVATE Qt::GuiPrivate) diff --git a/UI/frontend-plugins/frontend-tools/scripts.cpp b/UI/frontend-plugins/frontend-tools/scripts.cpp index 924efdc520c718..3407fc72580134 100644 --- a/UI/frontend-plugins/frontend-tools/scripts.cpp +++ b/UI/frontend-plugins/frontend-tools/scripts.cpp @@ -1,7 +1,6 @@ #include "obs-module.h" #include "scripts.hpp" #include "../../properties-view.hpp" -#include "../../plain-text-edit.hpp" #include #include @@ -18,6 +17,7 @@ #include #include #include +#include #include #include diff --git a/UI/properties-view.cpp b/UI/properties-view.cpp index bd0288b171d983..2a4e031f0eb90d 100644 --- a/UI/properties-view.cpp +++ b/UI/properties-view.cpp @@ -29,10 +29,10 @@ #include "spinbox-ignorewheel.hpp" #include "properties-view.hpp" #include "properties-view.moc.hpp" -#include "plain-text-edit.hpp" #include "obs-app.hpp" #include +#include #include #include #include diff --git a/shared/qt/plain-text-edit/CMakeLists.txt b/shared/qt/plain-text-edit/CMakeLists.txt new file mode 100644 index 00000000000000..0abe0b56260073 --- /dev/null +++ b/shared/qt/plain-text-edit/CMakeLists.txt @@ -0,0 +1,11 @@ +cmake_minimum_required(VERSION 3.22...3.25) + +find_package(Qt6 REQUIRED Core Widgets) + +add_library(qt-plain-text-edit INTERFACE) +add_library(OBS::qt-plain-text-edit ALIAS qt-plain-text-edit) + +target_sources(qt-plain-text-edit INTERFACE plain-text-edit.cpp plain-text-edit.hpp) +target_include_directories(qt-plain-text-edit INTERFACE "${CMAKE_CURRENT_SOURCE_DIR}") + +target_link_libraries(qt-plain-text-edit INTERFACE Qt::Core Qt::Widgets) diff --git a/UI/plain-text-edit.cpp b/shared/qt/plain-text-edit/plain-text-edit.cpp similarity index 93% rename from UI/plain-text-edit.cpp rename to shared/qt/plain-text-edit/plain-text-edit.cpp index d8f03b56131358..89e9ba8a16b8cf 100644 --- a/UI/plain-text-edit.cpp +++ b/shared/qt/plain-text-edit/plain-text-edit.cpp @@ -1,4 +1,4 @@ -#include "plain-text-edit.hpp" +#include #include OBSPlainTextEdit::OBSPlainTextEdit(QWidget *parent, bool monospace) diff --git a/UI/plain-text-edit.hpp b/shared/qt/plain-text-edit/plain-text-edit.hpp similarity index 100% rename from UI/plain-text-edit.hpp rename to shared/qt/plain-text-edit/plain-text-edit.hpp From c512cb5ce0d89fe5ac035db89a2b9b3cc619bf52 Mon Sep 17 00:00:00 2001 From: tytan652 Date: Wed, 17 Jan 2024 08:35:12 +0100 Subject: [PATCH 11/15] UI,shared: Move VScrollArea to its own directory --- UI/cmake/legacy.cmake | 10 +++++++--- UI/cmake/ui-elements.cmake | 11 ++++++---- .../aja-output-ui/CMakeLists.txt | 6 ++++++ .../aja-output-ui/cmake/legacy.cmake | 20 ++++++++++++++----- .../decklink-output-ui/CMakeLists.txt | 6 ++++++ .../decklink-output-ui/cmake/legacy.cmake | 11 ++++++---- .../frontend-tools/CMakeLists.txt | 6 ++++++ .../frontend-tools/cmake/legacy.cmake | 13 +++++++----- UI/properties-view.hpp | 2 +- shared/qt/vertical-scroll-area/CMakeLists.txt | 11 ++++++++++ .../vertical-scroll-area.cpp | 0 .../vertical-scroll-area.hpp | 0 12 files changed, 74 insertions(+), 22 deletions(-) create mode 100644 shared/qt/vertical-scroll-area/CMakeLists.txt rename {UI => shared/qt/vertical-scroll-area}/vertical-scroll-area.cpp (100%) rename {UI => shared/qt/vertical-scroll-area}/vertical-scroll-area.hpp (100%) diff --git a/UI/cmake/legacy.cmake b/UI/cmake/legacy.cmake index f385dd2d51fcd8..37c2cb1aa4143e 100644 --- a/UI/cmake/legacy.cmake +++ b/UI/cmake/legacy.cmake @@ -75,6 +75,11 @@ if(NOT TARGET OBS::qt-plain-text-edit) add_subdirectory("${CMAKE_SOURCE_DIR}/shared/qt/plain-text-edit" "${CMAKE_BINARY_DIR}/shared/qt/plain-text-edit") endif() +if(NOT TARGET OBS::qt-vertical-scroll-area) + add_subdirectory("${CMAKE_SOURCE_DIR}/shared/qt/vertical-scroll-area" + "${CMAKE_BINARY_DIR}/shared/qt/vertical-scroll-area") +endif() + if(NOT TARGET OBS::qt-wrappers) add_subdirectory("${CMAKE_SOURCE_DIR}/shared/qt/wrappers" "${CMAKE_BINARY_DIR}/shared/qt/wrappers") endif() @@ -221,8 +226,6 @@ target_sources( undo-stack-obs.hpp volume-control.cpp volume-control.hpp - vertical-scroll-area.cpp - vertical-scroll-area.hpp visibility-item-widget.cpp visibility-item-widget.hpp) @@ -317,7 +320,8 @@ target_link_libraries( OBS::libobs OBS::frontend-api OBS::qt-wrappers - OBS::qt-plain-text-edit) + OBS::qt-plain-text-edit + OBS::qt-vertical-scroll-area) set_target_properties(obs PROPERTIES FOLDER "frontend") diff --git a/UI/cmake/ui-elements.cmake b/UI/cmake/ui-elements.cmake index 8d0ed150a17f9d..e7ac5d43052891 100644 --- a/UI/cmake/ui-elements.cmake +++ b/UI/cmake/ui-elements.cmake @@ -15,9 +15,7 @@ target_sources( slider-ignorewheel.cpp slider-ignorewheel.hpp spinbox-ignorewheel.cpp - spinbox-ignorewheel.hpp - vertical-scroll-area.cpp - vertical-scroll-area.hpp) + spinbox-ignorewheel.hpp) target_include_directories(obs-ui-support INTERFACE "${CMAKE_CURRENT_SOURCE_DIR}") target_compile_options(obs-ui-support INTERFACE $<$:-Wno-error=enum-conversion>) @@ -28,7 +26,12 @@ if(NOT TARGET OBS::qt-plain-text-edit) add_subdirectory("${CMAKE_SOURCE_DIR}/shared/qt/plain-text-edit" "${CMAKE_BINARY_DIR}/shared/qt/plain-text-edit") endif() -target_link_libraries(obs-studio PRIVATE OBS::qt-plain-text-edit) +if(NOT TARGET OBS::qt-vertical-scroll-area) + add_subdirectory("${CMAKE_SOURCE_DIR}/shared/qt/vertical-scroll-area" + "${CMAKE_BINARY_DIR}/shared/qt/vertical-scroll-area") +endif() + +target_link_libraries(obs-studio PRIVATE OBS::qt-plain-text-edit OBS::qt-vertical-scroll-area) target_sources( obs-studio diff --git a/UI/frontend-plugins/aja-output-ui/CMakeLists.txt b/UI/frontend-plugins/aja-output-ui/CMakeLists.txt index fb55d672f41d1e..324f1f885e0976 100644 --- a/UI/frontend-plugins/aja-output-ui/CMakeLists.txt +++ b/UI/frontend-plugins/aja-output-ui/CMakeLists.txt @@ -27,6 +27,11 @@ if(NOT TARGET OBS::qt-plain-text-edit) add_subdirectory("${CMAKE_SOURCE_DIR}/shared/qt/plain-text-edit" "${CMAKE_BINARY_DIR}/shared/qt/plain-text-edit") endif() +if(NOT TARGET OBS::qt-vertical-scroll-area) + add_subdirectory("${CMAKE_SOURCE_DIR}/shared/qt/vertical-scroll-area" + "${CMAKE_BINARY_DIR}/shared/qt/vertical-scroll-area") +endif() + if(NOT TARGET OBS::qt-wrappers) add_subdirectory("${CMAKE_SOURCE_DIR}/shared/qt/wrappers" "${CMAKE_BINARY_DIR}/shared/qt/wrappers") endif() @@ -49,6 +54,7 @@ target_link_libraries( OBS::aja-support OBS::frontend-api OBS::qt-plain-text-edit + OBS::qt-vertical-scroll-area OBS::qt-wrappers OBS::ui-support Qt::Widgets diff --git a/UI/frontend-plugins/aja-output-ui/cmake/legacy.cmake b/UI/frontend-plugins/aja-output-ui/cmake/legacy.cmake index 3988b52409f6cf..60c4d441a901a0 100644 --- a/UI/frontend-plugins/aja-output-ui/cmake/legacy.cmake +++ b/UI/frontend-plugins/aja-output-ui/cmake/legacy.cmake @@ -13,6 +13,11 @@ if(NOT TARGET OBS::qt-plain-text-edit) add_subdirectory("${CMAKE_SOURCE_DIR}/shared/qt/plain-text-edit" "${CMAKE_BINARY_DIR}/shared/qt/plain-text-edit") endif() +if(NOT TARGET OBS::qt-vertical-scroll-area) + add_subdirectory("${CMAKE_SOURCE_DIR}/shared/qt/vertical-scroll-area" + "${CMAKE_BINARY_DIR}/shared/qt/vertical-scroll-area") +endif() + if(NOT TARGET OBS::qt-wrappers) add_subdirectory("${CMAKE_SOURCE_DIR}/shared/qt/wrappers" "${CMAKE_BINARY_DIR}/shared/qt/wrappers") endif() @@ -62,12 +67,17 @@ target_sources( ${CMAKE_SOURCE_DIR}/UI/spinbox-ignorewheel.cpp ${CMAKE_SOURCE_DIR}/UI/spinbox-ignorewheel.hpp ${CMAKE_SOURCE_DIR}/UI/slider-ignorewheel.cpp - ${CMAKE_SOURCE_DIR}/UI/slider-ignorewheel.hpp - ${CMAKE_SOURCE_DIR}/UI/vertical-scroll-area.cpp - ${CMAKE_SOURCE_DIR}/UI/vertical-scroll-area.hpp) + ${CMAKE_SOURCE_DIR}/UI/slider-ignorewheel.hpp) -target_link_libraries(aja-output-ui PRIVATE OBS::libobs OBS::frontend-api OBS::qt-wrappers OBS::qt-plain-text-edit - Qt::Widgets AJA::LibAJANTV2) +target_link_libraries( + aja-output-ui + PRIVATE OBS::libobs + OBS::frontend-api + OBS::qt-wrappers + OBS::qt-plain-text-edit + OBS::qt-vertical-scroll-area + Qt::Widgets + AJA::LibAJANTV2) if(OS_MACOS) find_library(IOKIT_FRAMEWORK Iokit) diff --git a/UI/frontend-plugins/decklink-output-ui/CMakeLists.txt b/UI/frontend-plugins/decklink-output-ui/CMakeLists.txt index 4bbbf0a43e1689..3307854d59826b 100644 --- a/UI/frontend-plugins/decklink-output-ui/CMakeLists.txt +++ b/UI/frontend-plugins/decklink-output-ui/CMakeLists.txt @@ -24,6 +24,11 @@ if(NOT TARGET OBS::qt-plain-text-edit) add_subdirectory("${CMAKE_SOURCE_DIR}/shared/qt/plain-text-edit" "${CMAKE_BINARY_DIR}/shared/qt/plain-text-edit") endif() +if(NOT TARGET OBS::qt-vertical-scroll-area) + add_subdirectory("${CMAKE_SOURCE_DIR}/shared/qt/vertical-scroll-area" + "${CMAKE_BINARY_DIR}/shared/qt/vertical-scroll-area") +endif() + if(NOT TARGET OBS::qt-wrappers) add_subdirectory("${CMAKE_SOURCE_DIR}/shared/qt/wrappers" "${CMAKE_BINARY_DIR}/shared/qt/wrappers") endif() @@ -40,6 +45,7 @@ target_link_libraries( PRIVATE OBS::libobs OBS::frontend-api OBS::qt-plain-text-edit + OBS::qt-vertical-scroll-area OBS::qt-wrappers OBS::ui-support Qt::Widgets diff --git a/UI/frontend-plugins/decklink-output-ui/cmake/legacy.cmake b/UI/frontend-plugins/decklink-output-ui/cmake/legacy.cmake index 43c4010d36cdfd..7f2cd4744afbd6 100644 --- a/UI/frontend-plugins/decklink-output-ui/cmake/legacy.cmake +++ b/UI/frontend-plugins/decklink-output-ui/cmake/legacy.cmake @@ -11,6 +11,11 @@ if(NOT TARGET OBS::qt-plain-text-edit) add_subdirectory("${CMAKE_SOURCE_DIR}/shared/qt/plain-text-edit" "${CMAKE_BINARY_DIR}/shared/qt/plain-text-edit") endif() +if(NOT TARGET OBS::qt-vertical-scroll-area) + add_subdirectory("${CMAKE_SOURCE_DIR}/shared/qt/vertical-scroll-area" + "${CMAKE_BINARY_DIR}/shared/qt/vertical-scroll-area") +endif() + if(NOT TARGET OBS::qt-wrappers) add_subdirectory("${CMAKE_SOURCE_DIR}/shared/qt/wrappers" "${CMAKE_BINARY_DIR}/shared/qt/wrappers") endif() @@ -44,12 +49,10 @@ target_sources( ${CMAKE_SOURCE_DIR}/UI/spinbox-ignorewheel.cpp ${CMAKE_SOURCE_DIR}/UI/spinbox-ignorewheel.hpp ${CMAKE_SOURCE_DIR}/UI/slider-ignorewheel.cpp - ${CMAKE_SOURCE_DIR}/UI/slider-ignorewheel.hpp - ${CMAKE_SOURCE_DIR}/UI/vertical-scroll-area.hpp - ${CMAKE_SOURCE_DIR}/UI/vertical-scroll-area.cpp) + ${CMAKE_SOURCE_DIR}/UI/slider-ignorewheel.hpp) target_link_libraries(decklink-output-ui PRIVATE OBS::libobs OBS::frontend-api OBS::qt-wrappers OBS::qt-plain-text-edit - Qt::Widgets) + OBS::qt-vertical-scroll-area Qt::Widgets) target_compile_features(decklink-output-ui PRIVATE cxx_std_17) diff --git a/UI/frontend-plugins/frontend-tools/CMakeLists.txt b/UI/frontend-plugins/frontend-tools/CMakeLists.txt index 1f69293be671db..185c1bbf8bbbe1 100644 --- a/UI/frontend-plugins/frontend-tools/CMakeLists.txt +++ b/UI/frontend-plugins/frontend-tools/CMakeLists.txt @@ -18,6 +18,11 @@ if(NOT TARGET OBS::qt-plain-text-edit) add_subdirectory("${CMAKE_SOURCE_DIR}/shared/qt/plain-text-edit" "${CMAKE_BINARY_DIR}/shared/qt/plain-text-edit") endif() +if(NOT TARGET OBS::qt-vertical-scroll-area) + add_subdirectory("${CMAKE_SOURCE_DIR}/shared/qt/vertical-scroll-area" + "${CMAKE_BINARY_DIR}/shared/qt/vertical-scroll-area") +endif() + if(NOT TARGET OBS::qt-wrappers) add_subdirectory("${CMAKE_SOURCE_DIR}/shared/qt/wrappers" "${CMAKE_BINARY_DIR}/shared/qt/wrappers") endif() @@ -54,6 +59,7 @@ target_link_libraries( PRIVATE OBS::frontend-api OBS::libobs OBS::qt-plain-text-edit + OBS::qt-vertical-scroll-area OBS::qt-wrappers OBS::ui-support Qt::Widgets diff --git a/UI/frontend-plugins/frontend-tools/cmake/legacy.cmake b/UI/frontend-plugins/frontend-tools/cmake/legacy.cmake index 74bbc88c372d21..06167de7294662 100644 --- a/UI/frontend-plugins/frontend-tools/cmake/legacy.cmake +++ b/UI/frontend-plugins/frontend-tools/cmake/legacy.cmake @@ -7,6 +7,11 @@ if(NOT TARGET OBS::qt-plain-text-edit) add_subdirectory("${CMAKE_SOURCE_DIR}/shared/qt/plain-text-edit" "${CMAKE_BINARY_DIR}/shared/qt/plain-text-edit") endif() +if(NOT TARGET OBS::qt-vertical-scroll-area) + add_subdirectory("${CMAKE_SOURCE_DIR}/shared/qt/vertical-scroll-area" + "${CMAKE_BINARY_DIR}/shared/qt/vertical-scroll-area") +endif() + if(NOT TARGET OBS::qt-wrappers) add_subdirectory("${CMAKE_SOURCE_DIR}/shared/qt/wrappers" "${CMAKE_BINARY_DIR}/shared/qt/wrappers") endif() @@ -45,14 +50,12 @@ target_sources( ${CMAKE_SOURCE_DIR}/UI/spinbox-ignorewheel.cpp ${CMAKE_SOURCE_DIR}/UI/spinbox-ignorewheel.hpp ${CMAKE_SOURCE_DIR}/UI/slider-ignorewheel.cpp - ${CMAKE_SOURCE_DIR}/UI/slider-ignorewheel.hpp - ${CMAKE_SOURCE_DIR}/UI/vertical-scroll-area.hpp - ${CMAKE_SOURCE_DIR}/UI/vertical-scroll-area.cpp) + ${CMAKE_SOURCE_DIR}/UI/slider-ignorewheel.hpp) target_compile_features(frontend-tools PRIVATE cxx_std_17) -target_link_libraries(frontend-tools PRIVATE OBS::frontend-api OBS::qt-wrappers OBS::qt-plain-text-edit OBS::libobs - Qt::Widgets) +target_link_libraries(frontend-tools PRIVATE OBS::frontend-api OBS::qt-wrappers OBS::qt-plain-text-edit + OBS::qt-vertical-scroll-area OBS::libobs Qt::Widgets) if(OS_POSIX AND NOT OS_MACOS) target_link_libraries(frontend-tools PRIVATE Qt::GuiPrivate) diff --git a/UI/properties-view.hpp b/UI/properties-view.hpp index 42d9b36b89cdb4..dcf90347b8d4c8 100644 --- a/UI/properties-view.hpp +++ b/UI/properties-view.hpp @@ -1,6 +1,6 @@ #pragma once -#include "vertical-scroll-area.hpp" +#include #include #include #include diff --git a/shared/qt/vertical-scroll-area/CMakeLists.txt b/shared/qt/vertical-scroll-area/CMakeLists.txt new file mode 100644 index 00000000000000..16d301643be5f7 --- /dev/null +++ b/shared/qt/vertical-scroll-area/CMakeLists.txt @@ -0,0 +1,11 @@ +cmake_minimum_required(VERSION 3.22...3.25) + +find_package(Qt6 REQUIRED Core Widgets) + +add_library(qt-vertical-scroll-area INTERFACE) +add_library(OBS::qt-vertical-scroll-area ALIAS qt-vertical-scroll-area) + +target_sources(qt-vertical-scroll-area INTERFACE vertical-scroll-area.cpp vertical-scroll-area.hpp) +target_include_directories(qt-vertical-scroll-area INTERFACE "${CMAKE_CURRENT_SOURCE_DIR}") + +target_link_libraries(qt-vertical-scroll-area INTERFACE Qt::Core Qt::Widgets) diff --git a/UI/vertical-scroll-area.cpp b/shared/qt/vertical-scroll-area/vertical-scroll-area.cpp similarity index 100% rename from UI/vertical-scroll-area.cpp rename to shared/qt/vertical-scroll-area/vertical-scroll-area.cpp diff --git a/UI/vertical-scroll-area.hpp b/shared/qt/vertical-scroll-area/vertical-scroll-area.hpp similarity index 100% rename from UI/vertical-scroll-area.hpp rename to shared/qt/vertical-scroll-area/vertical-scroll-area.hpp From 41ebc543032d4be7c6011f4f9aebbabba5e7738d Mon Sep 17 00:00:00 2001 From: tytan652 Date: Wed, 17 Jan 2024 08:38:17 +0100 Subject: [PATCH 12/15] UI,shared: Move SliderIgnoreScroll to its own directory --- UI/absolute-slider.hpp | 2 +- UI/cmake/legacy.cmake | 10 +++++++--- UI/cmake/ui-elements.cmake | 10 +++++++--- UI/double-slider.hpp | 2 +- .../aja-output-ui/CMakeLists.txt | 6 ++++++ .../aja-output-ui/cmake/legacy.cmake | 10 +++++++--- .../decklink-output-ui/CMakeLists.txt | 6 ++++++ .../decklink-output-ui/cmake/legacy.cmake | 20 ++++++++++++++----- .../frontend-tools/CMakeLists.txt | 6 ++++++ .../frontend-tools/cmake/legacy.cmake | 20 ++++++++++++++----- UI/obs-app.cpp | 1 + UI/properties-view.cpp | 2 +- UI/volume-control.cpp | 1 + UI/window-basic-main-transitions.cpp | 2 +- shared/qt/slider-ignorewheel/CMakeLists.txt | 11 ++++++++++ .../slider-ignorewheel.cpp | 0 .../slider-ignorewheel.hpp | 2 +- 17 files changed, 87 insertions(+), 24 deletions(-) create mode 100644 shared/qt/slider-ignorewheel/CMakeLists.txt rename {UI => shared/qt/slider-ignorewheel}/slider-ignorewheel.cpp (100%) rename {UI => shared/qt/slider-ignorewheel}/slider-ignorewheel.hpp (97%) diff --git a/UI/absolute-slider.hpp b/UI/absolute-slider.hpp index a5469932411003..67e0adb1fe04c4 100644 --- a/UI/absolute-slider.hpp +++ b/UI/absolute-slider.hpp @@ -1,7 +1,7 @@ #pragma once #include -#include "slider-ignorewheel.hpp" +#include class AbsoluteSlider : public SliderIgnoreScroll { Q_OBJECT diff --git a/UI/cmake/legacy.cmake b/UI/cmake/legacy.cmake index 37c2cb1aa4143e..25d0ab87de1899 100644 --- a/UI/cmake/legacy.cmake +++ b/UI/cmake/legacy.cmake @@ -75,6 +75,11 @@ if(NOT TARGET OBS::qt-plain-text-edit) add_subdirectory("${CMAKE_SOURCE_DIR}/shared/qt/plain-text-edit" "${CMAKE_BINARY_DIR}/shared/qt/plain-text-edit") endif() +if(NOT TARGET OBS::qt-slider-ignorewheel) + add_subdirectory("${CMAKE_SOURCE_DIR}/shared/qt/slider-ignorewheel" + "${CMAKE_BINARY_DIR}/shared/qt/slider-ignorewheel") +endif() + if(NOT TARGET OBS::qt-vertical-scroll-area) add_subdirectory("${CMAKE_SOURCE_DIR}/shared/qt/vertical-scroll-area" "${CMAKE_BINARY_DIR}/shared/qt/vertical-scroll-area") @@ -212,8 +217,6 @@ target_sources( scene-tree.cpp scene-tree.hpp screenshot-obj.hpp - slider-ignorewheel.cpp - slider-ignorewheel.hpp source-label.cpp source-label.hpp spinbox-ignorewheel.cpp @@ -321,7 +324,8 @@ target_link_libraries( OBS::frontend-api OBS::qt-wrappers OBS::qt-plain-text-edit - OBS::qt-vertical-scroll-area) + OBS::qt-vertical-scroll-area + OBS::qt-slider-ignorewheel) set_target_properties(obs PROPERTIES FOLDER "frontend") diff --git a/UI/cmake/ui-elements.cmake b/UI/cmake/ui-elements.cmake index e7ac5d43052891..65f73f41a28f07 100644 --- a/UI/cmake/ui-elements.cmake +++ b/UI/cmake/ui-elements.cmake @@ -12,8 +12,6 @@ target_sources( properties-view.cpp properties-view.hpp properties-view.moc.hpp - slider-ignorewheel.cpp - slider-ignorewheel.hpp spinbox-ignorewheel.cpp spinbox-ignorewheel.hpp) @@ -26,12 +24,18 @@ if(NOT TARGET OBS::qt-plain-text-edit) add_subdirectory("${CMAKE_SOURCE_DIR}/shared/qt/plain-text-edit" "${CMAKE_BINARY_DIR}/shared/qt/plain-text-edit") endif() +if(NOT TARGET OBS::qt-slider-ignorewheel) + add_subdirectory("${CMAKE_SOURCE_DIR}/shared/qt/slider-ignorewheel" + "${CMAKE_BINARY_DIR}/shared/qt/slider-ignorewheel") +endif() + if(NOT TARGET OBS::qt-vertical-scroll-area) add_subdirectory("${CMAKE_SOURCE_DIR}/shared/qt/vertical-scroll-area" "${CMAKE_BINARY_DIR}/shared/qt/vertical-scroll-area") endif() -target_link_libraries(obs-studio PRIVATE OBS::qt-plain-text-edit OBS::qt-vertical-scroll-area) +target_link_libraries(obs-studio PRIVATE OBS::qt-plain-text-edit OBS::qt-slider-ignorewheel + OBS::qt-vertical-scroll-area) target_sources( obs-studio diff --git a/UI/double-slider.hpp b/UI/double-slider.hpp index cf0e966cf5b7ab..8274506d02a5cd 100644 --- a/UI/double-slider.hpp +++ b/UI/double-slider.hpp @@ -1,7 +1,7 @@ #pragma once #include -#include "slider-ignorewheel.hpp" +#include class DoubleSlider : public SliderIgnoreScroll { Q_OBJECT diff --git a/UI/frontend-plugins/aja-output-ui/CMakeLists.txt b/UI/frontend-plugins/aja-output-ui/CMakeLists.txt index 324f1f885e0976..0281b54627ef18 100644 --- a/UI/frontend-plugins/aja-output-ui/CMakeLists.txt +++ b/UI/frontend-plugins/aja-output-ui/CMakeLists.txt @@ -27,6 +27,11 @@ if(NOT TARGET OBS::qt-plain-text-edit) add_subdirectory("${CMAKE_SOURCE_DIR}/shared/qt/plain-text-edit" "${CMAKE_BINARY_DIR}/shared/qt/plain-text-edit") endif() +if(NOT TARGET OBS::qt-slider-ignorewheel) + add_subdirectory("${CMAKE_SOURCE_DIR}/shared/qt/slider-ignorewheel" + "${CMAKE_BINARY_DIR}/shared/qt/slider-ignorewheel") +endif() + if(NOT TARGET OBS::qt-vertical-scroll-area) add_subdirectory("${CMAKE_SOURCE_DIR}/shared/qt/vertical-scroll-area" "${CMAKE_BINARY_DIR}/shared/qt/vertical-scroll-area") @@ -54,6 +59,7 @@ target_link_libraries( OBS::aja-support OBS::frontend-api OBS::qt-plain-text-edit + OBS::qt-slider-ignorewheel OBS::qt-vertical-scroll-area OBS::qt-wrappers OBS::ui-support diff --git a/UI/frontend-plugins/aja-output-ui/cmake/legacy.cmake b/UI/frontend-plugins/aja-output-ui/cmake/legacy.cmake index 60c4d441a901a0..617be178af1c35 100644 --- a/UI/frontend-plugins/aja-output-ui/cmake/legacy.cmake +++ b/UI/frontend-plugins/aja-output-ui/cmake/legacy.cmake @@ -13,6 +13,11 @@ if(NOT TARGET OBS::qt-plain-text-edit) add_subdirectory("${CMAKE_SOURCE_DIR}/shared/qt/plain-text-edit" "${CMAKE_BINARY_DIR}/shared/qt/plain-text-edit") endif() +if(NOT TARGET OBS::qt-slider-ignorewheel) + add_subdirectory("${CMAKE_SOURCE_DIR}/shared/qt/slider-ignorewheel" + "${CMAKE_BINARY_DIR}/shared/qt/slider-ignorewheel") +endif() + if(NOT TARGET OBS::qt-vertical-scroll-area) add_subdirectory("${CMAKE_SOURCE_DIR}/shared/qt/vertical-scroll-area" "${CMAKE_BINARY_DIR}/shared/qt/vertical-scroll-area") @@ -65,9 +70,7 @@ target_sources( ${CMAKE_SOURCE_DIR}/UI/properties-view.cpp ${CMAKE_SOURCE_DIR}/UI/properties-view.moc.hpp ${CMAKE_SOURCE_DIR}/UI/spinbox-ignorewheel.cpp - ${CMAKE_SOURCE_DIR}/UI/spinbox-ignorewheel.hpp - ${CMAKE_SOURCE_DIR}/UI/slider-ignorewheel.cpp - ${CMAKE_SOURCE_DIR}/UI/slider-ignorewheel.hpp) + ${CMAKE_SOURCE_DIR}/UI/spinbox-ignorewheel.hpp) target_link_libraries( aja-output-ui @@ -76,6 +79,7 @@ target_link_libraries( OBS::qt-wrappers OBS::qt-plain-text-edit OBS::qt-vertical-scroll-area + OBS::qt-slider-ignorewheel Qt::Widgets AJA::LibAJANTV2) diff --git a/UI/frontend-plugins/decklink-output-ui/CMakeLists.txt b/UI/frontend-plugins/decklink-output-ui/CMakeLists.txt index 3307854d59826b..f8e9a356f67f5b 100644 --- a/UI/frontend-plugins/decklink-output-ui/CMakeLists.txt +++ b/UI/frontend-plugins/decklink-output-ui/CMakeLists.txt @@ -29,6 +29,11 @@ if(NOT TARGET OBS::qt-vertical-scroll-area) "${CMAKE_BINARY_DIR}/shared/qt/vertical-scroll-area") endif() +if(NOT TARGET OBS::qt-slider-ignorewheel) + add_subdirectory("${CMAKE_SOURCE_DIR}/shared/qt/slider-ignorewheel" + "${CMAKE_BINARY_DIR}/shared/qt/slider-ignorewheel") +endif() + if(NOT TARGET OBS::qt-wrappers) add_subdirectory("${CMAKE_SOURCE_DIR}/shared/qt/wrappers" "${CMAKE_BINARY_DIR}/shared/qt/wrappers") endif() @@ -45,6 +50,7 @@ target_link_libraries( PRIVATE OBS::libobs OBS::frontend-api OBS::qt-plain-text-edit + OBS::qt-slider-ignorewheel OBS::qt-vertical-scroll-area OBS::qt-wrappers OBS::ui-support diff --git a/UI/frontend-plugins/decklink-output-ui/cmake/legacy.cmake b/UI/frontend-plugins/decklink-output-ui/cmake/legacy.cmake index 7f2cd4744afbd6..e325b55c5586d3 100644 --- a/UI/frontend-plugins/decklink-output-ui/cmake/legacy.cmake +++ b/UI/frontend-plugins/decklink-output-ui/cmake/legacy.cmake @@ -11,6 +11,11 @@ if(NOT TARGET OBS::qt-plain-text-edit) add_subdirectory("${CMAKE_SOURCE_DIR}/shared/qt/plain-text-edit" "${CMAKE_BINARY_DIR}/shared/qt/plain-text-edit") endif() +if(NOT TARGET OBS::qt-slider-ignorewheel) + add_subdirectory("${CMAKE_SOURCE_DIR}/shared/qt/slider-ignorewheel" + "${CMAKE_BINARY_DIR}/shared/qt/slider-ignorewheel") +endif() + if(NOT TARGET OBS::qt-vertical-scroll-area) add_subdirectory("${CMAKE_SOURCE_DIR}/shared/qt/vertical-scroll-area" "${CMAKE_BINARY_DIR}/shared/qt/vertical-scroll-area") @@ -47,12 +52,17 @@ target_sources( ${CMAKE_SOURCE_DIR}/UI/properties-view.cpp ${CMAKE_SOURCE_DIR}/UI/properties-view.moc.hpp ${CMAKE_SOURCE_DIR}/UI/spinbox-ignorewheel.cpp - ${CMAKE_SOURCE_DIR}/UI/spinbox-ignorewheel.hpp - ${CMAKE_SOURCE_DIR}/UI/slider-ignorewheel.cpp - ${CMAKE_SOURCE_DIR}/UI/slider-ignorewheel.hpp) + ${CMAKE_SOURCE_DIR}/UI/spinbox-ignorewheel.hpp) -target_link_libraries(decklink-output-ui PRIVATE OBS::libobs OBS::frontend-api OBS::qt-wrappers OBS::qt-plain-text-edit - OBS::qt-vertical-scroll-area Qt::Widgets) +target_link_libraries( + decklink-output-ui + PRIVATE OBS::libobs + OBS::frontend-api + OBS::qt-wrappers + OBS::qt-plain-text-edit + OBS::qt-vertical-scroll-area + OBS::qt-slider-ignorewheel + Qt::Widgets) target_compile_features(decklink-output-ui PRIVATE cxx_std_17) diff --git a/UI/frontend-plugins/frontend-tools/CMakeLists.txt b/UI/frontend-plugins/frontend-tools/CMakeLists.txt index 185c1bbf8bbbe1..7c9885472afbc1 100644 --- a/UI/frontend-plugins/frontend-tools/CMakeLists.txt +++ b/UI/frontend-plugins/frontend-tools/CMakeLists.txt @@ -23,6 +23,11 @@ if(NOT TARGET OBS::qt-vertical-scroll-area) "${CMAKE_BINARY_DIR}/shared/qt/vertical-scroll-area") endif() +if(NOT TARGET OBS::qt-slider-ignorewheel) + add_subdirectory("${CMAKE_SOURCE_DIR}/shared/qt/slider-ignorewheel" + "${CMAKE_BINARY_DIR}/shared/qt/slider-ignorewheel") +endif() + if(NOT TARGET OBS::qt-wrappers) add_subdirectory("${CMAKE_SOURCE_DIR}/shared/qt/wrappers" "${CMAKE_BINARY_DIR}/shared/qt/wrappers") endif() @@ -59,6 +64,7 @@ target_link_libraries( PRIVATE OBS::frontend-api OBS::libobs OBS::qt-plain-text-edit + OBS::qt-slider-ignorewheel OBS::qt-vertical-scroll-area OBS::qt-wrappers OBS::ui-support diff --git a/UI/frontend-plugins/frontend-tools/cmake/legacy.cmake b/UI/frontend-plugins/frontend-tools/cmake/legacy.cmake index 06167de7294662..4d5a5547ea9656 100644 --- a/UI/frontend-plugins/frontend-tools/cmake/legacy.cmake +++ b/UI/frontend-plugins/frontend-tools/cmake/legacy.cmake @@ -7,6 +7,11 @@ if(NOT TARGET OBS::qt-plain-text-edit) add_subdirectory("${CMAKE_SOURCE_DIR}/shared/qt/plain-text-edit" "${CMAKE_BINARY_DIR}/shared/qt/plain-text-edit") endif() +if(NOT TARGET OBS::qt-slider-ignorewheel) + add_subdirectory("${CMAKE_SOURCE_DIR}/shared/qt/slider-ignorewheel" + "${CMAKE_BINARY_DIR}/shared/qt/slider-ignorewheel") +endif() + if(NOT TARGET OBS::qt-vertical-scroll-area) add_subdirectory("${CMAKE_SOURCE_DIR}/shared/qt/vertical-scroll-area" "${CMAKE_BINARY_DIR}/shared/qt/vertical-scroll-area") @@ -48,14 +53,19 @@ target_sources( ${CMAKE_SOURCE_DIR}/UI/properties-view.hpp ${CMAKE_SOURCE_DIR}/UI/properties-view.moc.hpp ${CMAKE_SOURCE_DIR}/UI/spinbox-ignorewheel.cpp - ${CMAKE_SOURCE_DIR}/UI/spinbox-ignorewheel.hpp - ${CMAKE_SOURCE_DIR}/UI/slider-ignorewheel.cpp - ${CMAKE_SOURCE_DIR}/UI/slider-ignorewheel.hpp) + ${CMAKE_SOURCE_DIR}/UI/spinbox-ignorewheel.hpp) target_compile_features(frontend-tools PRIVATE cxx_std_17) -target_link_libraries(frontend-tools PRIVATE OBS::frontend-api OBS::qt-wrappers OBS::qt-plain-text-edit - OBS::qt-vertical-scroll-area OBS::libobs Qt::Widgets) +target_link_libraries( + frontend-tools + PRIVATE OBS::frontend-api + OBS::qt-wrappers + OBS::qt-plain-text-edit + OBS::qt-vertical-scroll-area + OBS::qt-slider-ignorewheel + OBS::libobs + Qt::Widgets) if(OS_POSIX AND NOT OS_MACOS) target_link_libraries(frontend-tools PRIVATE Qt::GuiPrivate) diff --git a/UI/obs-app.cpp b/UI/obs-app.cpp index d2337dae0bc411..849226f451e661 100644 --- a/UI/obs-app.cpp +++ b/UI/obs-app.cpp @@ -31,6 +31,7 @@ #include #include #include +#include #include #include diff --git a/UI/properties-view.cpp b/UI/properties-view.cpp index 2a4e031f0eb90d..67b541455bf93c 100644 --- a/UI/properties-view.cpp +++ b/UI/properties-view.cpp @@ -25,7 +25,6 @@ #include #include #include "double-slider.hpp" -#include "slider-ignorewheel.hpp" #include "spinbox-ignorewheel.hpp" #include "properties-view.hpp" #include "properties-view.moc.hpp" @@ -33,6 +32,7 @@ #include #include +#include #include #include #include diff --git a/UI/volume-control.cpp b/UI/volume-control.cpp index b629d8e670d540..6ab17110388c88 100644 --- a/UI/volume-control.cpp +++ b/UI/volume-control.cpp @@ -5,6 +5,7 @@ #include "absolute-slider.hpp" #include "source-label.hpp" +#include #include #include #include diff --git a/UI/window-basic-main-transitions.cpp b/UI/window-basic-main-transitions.cpp index 304da0d592baa2..ffb28344e39bed 100644 --- a/UI/window-basic-main-transitions.cpp +++ b/UI/window-basic-main-transitions.cpp @@ -21,13 +21,13 @@ #include #include #include +#include #include "window-basic-main.hpp" #include "window-basic-main-outputs.hpp" #include "window-basic-vcam-config.hpp" #include "display-helpers.hpp" #include "window-namedialog.hpp" #include "menu-button.hpp" -#include "slider-ignorewheel.hpp" #include "obs-hotkey.h" diff --git a/shared/qt/slider-ignorewheel/CMakeLists.txt b/shared/qt/slider-ignorewheel/CMakeLists.txt new file mode 100644 index 00000000000000..b60ae3702889f8 --- /dev/null +++ b/shared/qt/slider-ignorewheel/CMakeLists.txt @@ -0,0 +1,11 @@ +cmake_minimum_required(VERSION 3.22...3.25) + +find_package(Qt6 REQUIRED Core Widgets) + +add_library(qt-slider-ignorewheel INTERFACE) +add_library(OBS::qt-slider-ignorewheel ALIAS qt-slider-ignorewheel) + +target_sources(qt-slider-ignorewheel INTERFACE slider-ignorewheel.cpp slider-ignorewheel.hpp) +target_include_directories(qt-slider-ignorewheel INTERFACE "${CMAKE_CURRENT_SOURCE_DIR}") + +target_link_libraries(qt-slider-ignorewheel INTERFACE Qt::Core Qt::Widgets OBS::libobs) diff --git a/UI/slider-ignorewheel.cpp b/shared/qt/slider-ignorewheel/slider-ignorewheel.cpp similarity index 100% rename from UI/slider-ignorewheel.cpp rename to shared/qt/slider-ignorewheel/slider-ignorewheel.cpp diff --git a/UI/slider-ignorewheel.hpp b/shared/qt/slider-ignorewheel/slider-ignorewheel.hpp similarity index 97% rename from UI/slider-ignorewheel.hpp rename to shared/qt/slider-ignorewheel/slider-ignorewheel.hpp index 24e4056f21230b..5d8f355096cb05 100644 --- a/UI/slider-ignorewheel.hpp +++ b/shared/qt/slider-ignorewheel/slider-ignorewheel.hpp @@ -1,6 +1,6 @@ #pragma once -#include "obs.hpp" +#include #include #include #include From fc5fc0446dd0812a57fdb80af843b17e63681ded Mon Sep 17 00:00:00 2001 From: tytan652 Date: Wed, 19 Jul 2023 09:20:50 +0200 Subject: [PATCH 13/15] frontend-tools: Remove unused source files in legacy path --- UI/frontend-plugins/frontend-tools/cmake/legacy.cmake | 2 -- 1 file changed, 2 deletions(-) diff --git a/UI/frontend-plugins/frontend-tools/cmake/legacy.cmake b/UI/frontend-plugins/frontend-tools/cmake/legacy.cmake index 4d5a5547ea9656..f4001186dcdaf8 100644 --- a/UI/frontend-plugins/frontend-tools/cmake/legacy.cmake +++ b/UI/frontend-plugins/frontend-tools/cmake/legacy.cmake @@ -47,8 +47,6 @@ target_sources( output-timer.cpp ${CMAKE_SOURCE_DIR}/UI/double-slider.cpp ${CMAKE_SOURCE_DIR}/UI/double-slider.hpp - ${CMAKE_SOURCE_DIR}/UI/horizontal-scroll-area.cpp - ${CMAKE_SOURCE_DIR}/UI/horizontal-scroll-area.hpp ${CMAKE_SOURCE_DIR}/UI/properties-view.cpp ${CMAKE_SOURCE_DIR}/UI/properties-view.hpp ${CMAKE_SOURCE_DIR}/UI/properties-view.moc.hpp From 38fca814755668aefb9fab933878604f248adb0c Mon Sep 17 00:00:00 2001 From: tytan652 Date: Wed, 17 Jan 2024 08:12:20 +0100 Subject: [PATCH 14/15] UI,shared: Move OBSPropertiesView to its own directory --- UI/cmake/legacy.cmake | 14 ++-- UI/cmake/ui-elements.cmake | 21 ++--- .../aja-output-ui/AJAOutputUI.h | 2 +- .../aja-output-ui/CMakeLists.txt | 24 +----- .../aja-output-ui/cmake/legacy.cmake | 41 ++-------- .../decklink-output-ui/CMakeLists.txt | 24 +----- .../decklink-output-ui/DecklinkOutputUI.h | 2 +- .../decklink-output-ui/cmake/legacy.cmake | 45 ++--------- .../frontend-tools/CMakeLists.txt | 18 ++--- .../frontend-tools/cmake/legacy.cmake | 42 ++-------- .../frontend-tools/scripts.cpp | 2 +- UI/window-basic-filters.hpp | 3 +- UI/window-basic-interaction.hpp | 3 +- UI/window-basic-properties.cpp | 2 +- shared/properties-view/CMakeLists.txt | 51 ++++++++++++ .../properties-view}/double-slider.cpp | 0 .../properties-view}/double-slider.hpp | 0 .../properties-view}/properties-view.cpp | 79 +++++++++---------- .../properties-view}/properties-view.hpp | 0 .../properties-view}/properties-view.moc.hpp | 0 .../properties-view}/spinbox-ignorewheel.cpp | 0 .../properties-view}/spinbox-ignorewheel.hpp | 0 22 files changed, 139 insertions(+), 234 deletions(-) create mode 100644 shared/properties-view/CMakeLists.txt rename {UI => shared/properties-view}/double-slider.cpp (100%) rename {UI => shared/properties-view}/double-slider.hpp (100%) rename {UI => shared/properties-view}/properties-view.cpp (96%) rename {UI => shared/properties-view}/properties-view.hpp (100%) rename {UI => shared/properties-view}/properties-view.moc.hpp (100%) rename {UI => shared/properties-view}/spinbox-ignorewheel.cpp (100%) rename {UI => shared/properties-view}/spinbox-ignorewheel.hpp (100%) diff --git a/UI/cmake/legacy.cmake b/UI/cmake/legacy.cmake index 25d0ab87de1899..c38c11d3e784af 100644 --- a/UI/cmake/legacy.cmake +++ b/UI/cmake/legacy.cmake @@ -71,6 +71,10 @@ find_package(CURL REQUIRED) add_subdirectory(frontend-plugins) add_executable(obs) +if(NOT TARGET OBS::properties-view) + add_subdirectory("${CMAKE_SOURCE_DIR}/shared/properties-view" "${CMAKE_BINARY_DIR}/shared/properties-view") +endif() + if(NOT TARGET OBS::qt-plain-text-edit) add_subdirectory("${CMAKE_SOURCE_DIR}/shared/qt/plain-text-edit" "${CMAKE_BINARY_DIR}/shared/qt/plain-text-edit") endif() @@ -187,8 +191,6 @@ target_sources( basic-controls.cpp basic-controls.hpp clickable-label.hpp - double-slider.cpp - double-slider.hpp horizontal-scroll-area.cpp horizontal-scroll-area.hpp item-widget-helpers.cpp @@ -209,9 +211,6 @@ target_sources( menu-button.hpp mute-checkbox.hpp noncheckable-button.hpp - properties-view.cpp - properties-view.hpp - properties-view.moc.hpp remote-text.cpp remote-text.hpp scene-tree.cpp @@ -219,8 +218,6 @@ target_sources( screenshot-obj.hpp source-label.cpp source-label.hpp - spinbox-ignorewheel.cpp - spinbox-ignorewheel.hpp source-tree.cpp source-tree.hpp url-push-button.cpp @@ -325,7 +322,8 @@ target_link_libraries( OBS::qt-wrappers OBS::qt-plain-text-edit OBS::qt-vertical-scroll-area - OBS::qt-slider-ignorewheel) + OBS::qt-slider-ignorewheel + OBS::properties-view) set_target_properties(obs PROPERTIES FOLDER "frontend") diff --git a/UI/cmake/ui-elements.cmake b/UI/cmake/ui-elements.cmake index 65f73f41a28f07..7c66c6ecd056c2 100644 --- a/UI/cmake/ui-elements.cmake +++ b/UI/cmake/ui-elements.cmake @@ -1,25 +1,18 @@ add_library(obs-ui-support INTERFACE) add_library(OBS::ui-support ALIAS obs-ui-support) -target_sources( - obs-ui-support - INTERFACE # cmake-format: sortable - clickable-label.hpp - double-slider.cpp - double-slider.hpp - horizontal-scroll-area.cpp - horizontal-scroll-area.hpp - properties-view.cpp - properties-view.hpp - properties-view.moc.hpp - spinbox-ignorewheel.cpp - spinbox-ignorewheel.hpp) +target_sources(obs-ui-support INTERFACE # cmake-format: sortable + clickable-label.hpp horizontal-scroll-area.cpp horizontal-scroll-area.hpp) target_include_directories(obs-ui-support INTERFACE "${CMAKE_CURRENT_SOURCE_DIR}") target_compile_options(obs-ui-support INTERFACE $<$:-Wno-error=enum-conversion>) target_link_libraries(obs-studio PRIVATE OBS::ui-support) +if(NOT TARGET OBS::properties-view) + add_subdirectory("${CMAKE_SOURCE_DIR}/shared/properties-view" "${CMAKE_BINARY_DIR}/shared/properties-view") +endif() + if(NOT TARGET OBS::qt-plain-text-edit) add_subdirectory("${CMAKE_SOURCE_DIR}/shared/qt/plain-text-edit" "${CMAKE_BINARY_DIR}/shared/qt/plain-text-edit") endif() @@ -34,7 +27,7 @@ if(NOT TARGET OBS::qt-vertical-scroll-area) "${CMAKE_BINARY_DIR}/shared/qt/vertical-scroll-area") endif() -target_link_libraries(obs-studio PRIVATE OBS::qt-plain-text-edit OBS::qt-slider-ignorewheel +target_link_libraries(obs-studio PRIVATE OBS::properties-view OBS::qt-plain-text-edit OBS::qt-slider-ignorewheel OBS::qt-vertical-scroll-area) target_sources( diff --git a/UI/frontend-plugins/aja-output-ui/AJAOutputUI.h b/UI/frontend-plugins/aja-output-ui/AJAOutputUI.h index dfeb2b09fc77f7..0bf91314866fd9 100644 --- a/UI/frontend-plugins/aja-output-ui/AJAOutputUI.h +++ b/UI/frontend-plugins/aja-output-ui/AJAOutputUI.h @@ -1,9 +1,9 @@ #pragma once #include +#include #include "ui_output.h" -#include "../../UI/properties-view.hpp" namespace aja { class CardManager; diff --git a/UI/frontend-plugins/aja-output-ui/CMakeLists.txt b/UI/frontend-plugins/aja-output-ui/CMakeLists.txt index 0281b54627ef18..2be9f389379bff 100644 --- a/UI/frontend-plugins/aja-output-ui/CMakeLists.txt +++ b/UI/frontend-plugins/aja-output-ui/CMakeLists.txt @@ -23,22 +23,8 @@ if(NOT TARGET OBS::aja-support) add_subdirectory("${CMAKE_SOURCE_DIR}/plugins/aja" "${CMAKE_BINARY_DIR}/plugins/aja") endif() -if(NOT TARGET OBS::qt-plain-text-edit) - add_subdirectory("${CMAKE_SOURCE_DIR}/shared/qt/plain-text-edit" "${CMAKE_BINARY_DIR}/shared/qt/plain-text-edit") -endif() - -if(NOT TARGET OBS::qt-slider-ignorewheel) - add_subdirectory("${CMAKE_SOURCE_DIR}/shared/qt/slider-ignorewheel" - "${CMAKE_BINARY_DIR}/shared/qt/slider-ignorewheel") -endif() - -if(NOT TARGET OBS::qt-vertical-scroll-area) - add_subdirectory("${CMAKE_SOURCE_DIR}/shared/qt/vertical-scroll-area" - "${CMAKE_BINARY_DIR}/shared/qt/vertical-scroll-area") -endif() - -if(NOT TARGET OBS::qt-wrappers) - add_subdirectory("${CMAKE_SOURCE_DIR}/shared/qt/wrappers" "${CMAKE_BINARY_DIR}/shared/qt/wrappers") +if(NOT TARGET OBS::properties-view) + add_subdirectory("${CMAKE_SOURCE_DIR}/shared/properties-view" "${CMAKE_BINARY_DIR}/shared/properties-view") endif() add_library(aja-output-ui MODULE) @@ -58,11 +44,7 @@ target_link_libraries( PRIVATE OBS::libobs OBS::aja-support OBS::frontend-api - OBS::qt-plain-text-edit - OBS::qt-slider-ignorewheel - OBS::qt-vertical-scroll-area - OBS::qt-wrappers - OBS::ui-support + OBS::properties-view Qt::Widgets AJA::LibAJANTV2 $<$:X11::X11> diff --git a/UI/frontend-plugins/aja-output-ui/cmake/legacy.cmake b/UI/frontend-plugins/aja-output-ui/cmake/legacy.cmake index 617be178af1c35..df7e2b2adc41cd 100644 --- a/UI/frontend-plugins/aja-output-ui/cmake/legacy.cmake +++ b/UI/frontend-plugins/aja-output-ui/cmake/legacy.cmake @@ -9,22 +9,8 @@ find_package(LibAJANTV2 REQUIRED) add_library(aja-output-ui MODULE) add_library(OBS::aja-output-ui ALIAS aja-output-ui) -if(NOT TARGET OBS::qt-plain-text-edit) - add_subdirectory("${CMAKE_SOURCE_DIR}/shared/qt/plain-text-edit" "${CMAKE_BINARY_DIR}/shared/qt/plain-text-edit") -endif() - -if(NOT TARGET OBS::qt-slider-ignorewheel) - add_subdirectory("${CMAKE_SOURCE_DIR}/shared/qt/slider-ignorewheel" - "${CMAKE_BINARY_DIR}/shared/qt/slider-ignorewheel") -endif() - -if(NOT TARGET OBS::qt-vertical-scroll-area) - add_subdirectory("${CMAKE_SOURCE_DIR}/shared/qt/vertical-scroll-area" - "${CMAKE_BINARY_DIR}/shared/qt/vertical-scroll-area") -endif() - -if(NOT TARGET OBS::qt-wrappers) - add_subdirectory("${CMAKE_SOURCE_DIR}/shared/qt/wrappers" "${CMAKE_BINARY_DIR}/shared/qt/wrappers") +if(NOT TARGET OBS::properties-view) + add_subdirectory("${CMAKE_SOURCE_DIR}/shared/properties-view" "${CMAKE_BINARY_DIR}/shared/properties-view") endif() find_qt(COMPONENTS Widgets COMPONENTS_LINUX Gui) @@ -63,25 +49,10 @@ target_sources( ${CMAKE_SOURCE_DIR}/plugins/aja/aja-vpid-data.cpp ${CMAKE_SOURCE_DIR}/plugins/aja/aja-vpid-data.hpp ${CMAKE_SOURCE_DIR}/plugins/aja/aja-widget-io.cpp - ${CMAKE_SOURCE_DIR}/plugins/aja/aja-widget-io.hpp - ${CMAKE_SOURCE_DIR}/UI/double-slider.cpp - ${CMAKE_SOURCE_DIR}/UI/double-slider.hpp - ${CMAKE_SOURCE_DIR}/UI/properties-view.hpp - ${CMAKE_SOURCE_DIR}/UI/properties-view.cpp - ${CMAKE_SOURCE_DIR}/UI/properties-view.moc.hpp - ${CMAKE_SOURCE_DIR}/UI/spinbox-ignorewheel.cpp - ${CMAKE_SOURCE_DIR}/UI/spinbox-ignorewheel.hpp) - -target_link_libraries( - aja-output-ui - PRIVATE OBS::libobs - OBS::frontend-api - OBS::qt-wrappers - OBS::qt-plain-text-edit - OBS::qt-vertical-scroll-area - OBS::qt-slider-ignorewheel - Qt::Widgets - AJA::LibAJANTV2) + ${CMAKE_SOURCE_DIR}/plugins/aja/aja-widget-io.hpp) + +target_link_libraries(aja-output-ui PRIVATE OBS::libobs OBS::frontend-api OBS::properties-view Qt::Widgets + AJA::LibAJANTV2) if(OS_MACOS) find_library(IOKIT_FRAMEWORK Iokit) diff --git a/UI/frontend-plugins/decklink-output-ui/CMakeLists.txt b/UI/frontend-plugins/decklink-output-ui/CMakeLists.txt index f8e9a356f67f5b..db08c2aa5972fc 100644 --- a/UI/frontend-plugins/decklink-output-ui/CMakeLists.txt +++ b/UI/frontend-plugins/decklink-output-ui/CMakeLists.txt @@ -20,22 +20,8 @@ endif() add_library(decklink-output-ui MODULE) add_library(OBS::decklink-output-ui ALIAS decklink-output-ui) -if(NOT TARGET OBS::qt-plain-text-edit) - add_subdirectory("${CMAKE_SOURCE_DIR}/shared/qt/plain-text-edit" "${CMAKE_BINARY_DIR}/shared/qt/plain-text-edit") -endif() - -if(NOT TARGET OBS::qt-vertical-scroll-area) - add_subdirectory("${CMAKE_SOURCE_DIR}/shared/qt/vertical-scroll-area" - "${CMAKE_BINARY_DIR}/shared/qt/vertical-scroll-area") -endif() - -if(NOT TARGET OBS::qt-slider-ignorewheel) - add_subdirectory("${CMAKE_SOURCE_DIR}/shared/qt/slider-ignorewheel" - "${CMAKE_BINARY_DIR}/shared/qt/slider-ignorewheel") -endif() - -if(NOT TARGET OBS::qt-wrappers) - add_subdirectory("${CMAKE_SOURCE_DIR}/shared/qt/wrappers" "${CMAKE_BINARY_DIR}/shared/qt/wrappers") +if(NOT TARGET OBS::properties-view) + add_subdirectory("${CMAKE_SOURCE_DIR}/shared/properties-view" "${CMAKE_BINARY_DIR}/shared/properties-view") endif() target_sources(decklink-output-ui PRIVATE forms/output.ui) @@ -49,11 +35,7 @@ target_link_libraries( decklink-output-ui PRIVATE OBS::libobs OBS::frontend-api - OBS::qt-plain-text-edit - OBS::qt-slider-ignorewheel - OBS::qt-vertical-scroll-area - OBS::qt-wrappers - OBS::ui-support + OBS::properties-view Qt::Widgets "$<$:$>" $<$:X11::X11> diff --git a/UI/frontend-plugins/decklink-output-ui/DecklinkOutputUI.h b/UI/frontend-plugins/decklink-output-ui/DecklinkOutputUI.h index f550a4635cfdc3..12ba60530334a4 100644 --- a/UI/frontend-plugins/decklink-output-ui/DecklinkOutputUI.h +++ b/UI/frontend-plugins/decklink-output-ui/DecklinkOutputUI.h @@ -1,9 +1,9 @@ #pragma once #include +#include #include "ui_output.h" -#include "../../UI/properties-view.hpp" class DecklinkOutputUI : public QDialog { Q_OBJECT diff --git a/UI/frontend-plugins/decklink-output-ui/cmake/legacy.cmake b/UI/frontend-plugins/decklink-output-ui/cmake/legacy.cmake index e325b55c5586d3..45c9cc2bce165c 100644 --- a/UI/frontend-plugins/decklink-output-ui/cmake/legacy.cmake +++ b/UI/frontend-plugins/decklink-output-ui/cmake/legacy.cmake @@ -7,22 +7,8 @@ endif() add_library(decklink-output-ui MODULE) add_library(OBS::decklink-output-ui ALIAS decklink-output-ui) -if(NOT TARGET OBS::qt-plain-text-edit) - add_subdirectory("${CMAKE_SOURCE_DIR}/shared/qt/plain-text-edit" "${CMAKE_BINARY_DIR}/shared/qt/plain-text-edit") -endif() - -if(NOT TARGET OBS::qt-slider-ignorewheel) - add_subdirectory("${CMAKE_SOURCE_DIR}/shared/qt/slider-ignorewheel" - "${CMAKE_BINARY_DIR}/shared/qt/slider-ignorewheel") -endif() - -if(NOT TARGET OBS::qt-vertical-scroll-area) - add_subdirectory("${CMAKE_SOURCE_DIR}/shared/qt/vertical-scroll-area" - "${CMAKE_BINARY_DIR}/shared/qt/vertical-scroll-area") -endif() - -if(NOT TARGET OBS::qt-wrappers) - add_subdirectory("${CMAKE_SOURCE_DIR}/shared/qt/wrappers" "${CMAKE_BINARY_DIR}/shared/qt/wrappers") +if(NOT TARGET OBS::properties-view) + add_subdirectory("${CMAKE_SOURCE_DIR}/shared/properties-view" "${CMAKE_BINARY_DIR}/shared/properties-view") endif() find_qt(COMPONENTS Widgets COMPONENTS_LINUX Gui) @@ -40,29 +26,10 @@ endif() target_sources(decklink-output-ui PRIVATE forms/output.ui) -target_sources( - decklink-output-ui - PRIVATE DecklinkOutputUI.cpp - DecklinkOutputUI.h - decklink-ui-main.cpp - decklink-ui-main.h - ${CMAKE_SOURCE_DIR}/UI/double-slider.cpp - ${CMAKE_SOURCE_DIR}/UI/double-slider.hpp - ${CMAKE_SOURCE_DIR}/UI/properties-view.hpp - ${CMAKE_SOURCE_DIR}/UI/properties-view.cpp - ${CMAKE_SOURCE_DIR}/UI/properties-view.moc.hpp - ${CMAKE_SOURCE_DIR}/UI/spinbox-ignorewheel.cpp - ${CMAKE_SOURCE_DIR}/UI/spinbox-ignorewheel.hpp) - -target_link_libraries( - decklink-output-ui - PRIVATE OBS::libobs - OBS::frontend-api - OBS::qt-wrappers - OBS::qt-plain-text-edit - OBS::qt-vertical-scroll-area - OBS::qt-slider-ignorewheel - Qt::Widgets) +target_sources(decklink-output-ui PRIVATE DecklinkOutputUI.cpp DecklinkOutputUI.h decklink-ui-main.cpp + decklink-ui-main.h) + +target_link_libraries(decklink-output-ui PRIVATE OBS::libobs OBS::frontend-api OBS::properties-view Qt::Widgets) target_compile_features(decklink-output-ui PRIVATE cxx_std_17) diff --git a/UI/frontend-plugins/frontend-tools/CMakeLists.txt b/UI/frontend-plugins/frontend-tools/CMakeLists.txt index 7c9885472afbc1..6b88874f1075c4 100644 --- a/UI/frontend-plugins/frontend-tools/CMakeLists.txt +++ b/UI/frontend-plugins/frontend-tools/CMakeLists.txt @@ -14,18 +14,12 @@ endif() add_library(frontend-tools MODULE) add_library(OBS::frontend-tools ALIAS frontend-tools) -if(NOT TARGET OBS::qt-plain-text-edit) - add_subdirectory("${CMAKE_SOURCE_DIR}/shared/qt/plain-text-edit" "${CMAKE_BINARY_DIR}/shared/qt/plain-text-edit") -endif() - -if(NOT TARGET OBS::qt-vertical-scroll-area) - add_subdirectory("${CMAKE_SOURCE_DIR}/shared/qt/vertical-scroll-area" - "${CMAKE_BINARY_DIR}/shared/qt/vertical-scroll-area") +if(NOT TARGET OBS::properties-view) + add_subdirectory("${CMAKE_SOURCE_DIR}/shared/properties-view" "${CMAKE_BINARY_DIR}/shared/properties-view") endif() -if(NOT TARGET OBS::qt-slider-ignorewheel) - add_subdirectory("${CMAKE_SOURCE_DIR}/shared/qt/slider-ignorewheel" - "${CMAKE_BINARY_DIR}/shared/qt/slider-ignorewheel") +if(NOT TARGET OBS::qt-plain-text-edit) + add_subdirectory("${CMAKE_SOURCE_DIR}/shared/qt/plain-text-edit" "${CMAKE_BINARY_DIR}/shared/qt/plain-text-edit") endif() if(NOT TARGET OBS::qt-wrappers) @@ -63,11 +57,9 @@ target_link_libraries( frontend-tools PRIVATE OBS::frontend-api OBS::libobs + OBS::properties-view OBS::qt-plain-text-edit - OBS::qt-slider-ignorewheel - OBS::qt-vertical-scroll-area OBS::qt-wrappers - OBS::ui-support Qt::Widgets "$<$:$>" $<$:X11::X11> diff --git a/UI/frontend-plugins/frontend-tools/cmake/legacy.cmake b/UI/frontend-plugins/frontend-tools/cmake/legacy.cmake index f4001186dcdaf8..cbfbaa5e0df3a9 100644 --- a/UI/frontend-plugins/frontend-tools/cmake/legacy.cmake +++ b/UI/frontend-plugins/frontend-tools/cmake/legacy.cmake @@ -3,18 +3,12 @@ project(frontend-tools) add_library(frontend-tools MODULE) add_library(OBS::frontend-tools ALIAS frontend-tools) -if(NOT TARGET OBS::qt-plain-text-edit) - add_subdirectory("${CMAKE_SOURCE_DIR}/shared/qt/plain-text-edit" "${CMAKE_BINARY_DIR}/shared/qt/plain-text-edit") -endif() - -if(NOT TARGET OBS::qt-slider-ignorewheel) - add_subdirectory("${CMAKE_SOURCE_DIR}/shared/qt/slider-ignorewheel" - "${CMAKE_BINARY_DIR}/shared/qt/slider-ignorewheel") +if(NOT TARGET OBS::properties-view) + add_subdirectory("${CMAKE_SOURCE_DIR}/shared/properties-view" "${CMAKE_BINARY_DIR}/shared/properties-view") endif() -if(NOT TARGET OBS::qt-vertical-scroll-area) - add_subdirectory("${CMAKE_SOURCE_DIR}/shared/qt/vertical-scroll-area" - "${CMAKE_BINARY_DIR}/shared/qt/vertical-scroll-area") +if(NOT TARGET OBS::qt-plain-text-edit) + add_subdirectory("${CMAKE_SOURCE_DIR}/shared/qt/plain-text-edit" "${CMAKE_BINARY_DIR}/shared/qt/plain-text-edit") endif() if(NOT TARGET OBS::qt-wrappers) @@ -37,33 +31,13 @@ endif() target_sources(frontend-tools PRIVATE forms/auto-scene-switcher.ui forms/captions.ui forms/output-timer.ui forms/scripts.ui) -target_sources( - frontend-tools - PRIVATE frontend-tools.c - auto-scene-switcher.hpp - auto-scene-switcher.cpp - output-timer.hpp - tool-helpers.hpp - output-timer.cpp - ${CMAKE_SOURCE_DIR}/UI/double-slider.cpp - ${CMAKE_SOURCE_DIR}/UI/double-slider.hpp - ${CMAKE_SOURCE_DIR}/UI/properties-view.cpp - ${CMAKE_SOURCE_DIR}/UI/properties-view.hpp - ${CMAKE_SOURCE_DIR}/UI/properties-view.moc.hpp - ${CMAKE_SOURCE_DIR}/UI/spinbox-ignorewheel.cpp - ${CMAKE_SOURCE_DIR}/UI/spinbox-ignorewheel.hpp) +target_sources(frontend-tools PRIVATE frontend-tools.c auto-scene-switcher.hpp auto-scene-switcher.cpp output-timer.hpp + tool-helpers.hpp output-timer.cpp) target_compile_features(frontend-tools PRIVATE cxx_std_17) -target_link_libraries( - frontend-tools - PRIVATE OBS::frontend-api - OBS::qt-wrappers - OBS::qt-plain-text-edit - OBS::qt-vertical-scroll-area - OBS::qt-slider-ignorewheel - OBS::libobs - Qt::Widgets) +target_link_libraries(frontend-tools PRIVATE OBS::frontend-api OBS::qt-wrappers OBS::qt-plain-text-edit + OBS::properties-view OBS::libobs Qt::Widgets) if(OS_POSIX AND NOT OS_MACOS) target_link_libraries(frontend-tools PRIVATE Qt::GuiPrivate) diff --git a/UI/frontend-plugins/frontend-tools/scripts.cpp b/UI/frontend-plugins/frontend-tools/scripts.cpp index 3407fc72580134..2906f7e7a50d55 100644 --- a/UI/frontend-plugins/frontend-tools/scripts.cpp +++ b/UI/frontend-plugins/frontend-tools/scripts.cpp @@ -1,6 +1,5 @@ #include "obs-module.h" #include "scripts.hpp" -#include "../../properties-view.hpp" #include #include @@ -18,6 +17,7 @@ #include #include #include +#include #include #include diff --git a/UI/window-basic-filters.hpp b/UI/window-basic-filters.hpp index 1d170582a4cfbc..9d9d9999b90bc1 100644 --- a/UI/window-basic-filters.hpp +++ b/UI/window-basic-filters.hpp @@ -21,8 +21,7 @@ #include #include #include - -#include "properties-view.hpp" +#include class OBSBasic; class QMenu; diff --git a/UI/window-basic-interaction.hpp b/UI/window-basic-interaction.hpp index 029a5fe08e508f..df6a2b7d2bb6eb 100644 --- a/UI/window-basic-interaction.hpp +++ b/UI/window-basic-interaction.hpp @@ -22,8 +22,7 @@ #include #include - -#include "properties-view.hpp" +#include class OBSBasic; diff --git a/UI/window-basic-properties.cpp b/UI/window-basic-properties.cpp index 51a88d481b958b..722812265b170e 100644 --- a/UI/window-basic-properties.cpp +++ b/UI/window-basic-properties.cpp @@ -19,9 +19,9 @@ #include "window-basic-properties.hpp" #include "window-basic-main.hpp" #include "display-helpers.hpp" -#include "properties-view.hpp" #include +#include #include #include #include diff --git a/shared/properties-view/CMakeLists.txt b/shared/properties-view/CMakeLists.txt new file mode 100644 index 00000000000000..b66393fcf53f7a --- /dev/null +++ b/shared/properties-view/CMakeLists.txt @@ -0,0 +1,51 @@ +cmake_minimum_required(VERSION 3.22...3.25) + +find_package(Qt6 REQUIRED Core Widgets) + +if(NOT TARGET OBS::qt-wrappers) + add_subdirectory("${CMAKE_SOURCE_DIR}/shared/qt/wrappers" "${CMAKE_BINARY_DIR}/shared/qt/wrappers") +endif() + +if(NOT TARGET OBS::qt-plain-text-edit) + add_subdirectory("${CMAKE_SOURCE_DIR}/shared/qt/plain-text-edit" "${CMAKE_BINARY_DIR}/shared/qt/plain-text-edit") +endif() + +if(NOT TARGET OBS::qt-vertical-scroll-area) + add_subdirectory("${CMAKE_SOURCE_DIR}/shared/qt/vertical-scroll-area" + "${CMAKE_BINARY_DIR}/shared/qt/vertical-scroll-area") +endif() + +if(NOT TARGET OBS::qt-slider-ignorewheel) + add_subdirectory("${CMAKE_SOURCE_DIR}/shared/qt/slider-ignorewheel" + "${CMAKE_BINARY_DIR}/shared/qt/slider-ignorewheel") +endif() + +add_library(properties-view INTERFACE) +add_library(OBS::properties-view ALIAS properties-view) + +target_sources( + properties-view + INTERFACE # cmake-format: sortable + double-slider.cpp + double-slider.hpp + properties-view.cpp + properties-view.hpp + properties-view.moc.hpp + spinbox-ignorewheel.cpp + spinbox-ignorewheel.hpp) +target_include_directories(properties-view INTERFACE "${CMAKE_CURRENT_SOURCE_DIR}") + +if(OS_LINUX AND Qt6_VERSION VERSION_LESS 6.3) + target_compile_options(properties-view INTERFACE -Wno-error=enum-conversion) +endif() + +target_link_libraries( + properties-view + INTERFACE OBS::frontend-api + OBS::libobs + OBS::qt-wrappers + OBS::qt-plain-text-edit + OBS::qt-vertical-scroll-area + OBS::qt-slider-ignorewheel + Qt::Core + Qt::Widgets) diff --git a/UI/double-slider.cpp b/shared/properties-view/double-slider.cpp similarity index 100% rename from UI/double-slider.cpp rename to shared/properties-view/double-slider.cpp diff --git a/UI/double-slider.hpp b/shared/properties-view/double-slider.hpp similarity index 100% rename from UI/double-slider.hpp rename to shared/properties-view/double-slider.hpp diff --git a/UI/properties-view.cpp b/shared/properties-view/properties-view.cpp similarity index 96% rename from UI/properties-view.cpp rename to shared/properties-view/properties-view.cpp index 67b541455bf93c..ad861ea7ee52d3 100644 --- a/UI/properties-view.cpp +++ b/shared/properties-view/properties-view.cpp @@ -28,7 +28,6 @@ #include "spinbox-ignorewheel.hpp" #include "properties-view.hpp" #include "properties-view.moc.hpp" -#include "obs-app.hpp" #include #include @@ -39,6 +38,7 @@ #include #include #include +#include using namespace std; @@ -106,7 +106,7 @@ void OBSPropertiesView::ReloadProperties() RefreshProperties(); } -#define NO_PROPERTIES_STRING QTStr("Basic.PropertiesWindow.NoProperties") +#define NO_PROPERTIES_STRING QObject::tr("Basic.PropertiesWindow.NoProperties") void OBSPropertiesView::RefreshProperties() { @@ -306,7 +306,7 @@ QWidget *OBSPropertiesView::AddText(obs_property_t *prop, QFormLayout *layout, QLineEdit *edit = new QLineEdit(); QPushButton *show = new QPushButton(); - show->setText(QTStr("Show")); + show->setText(tr("Show")); show->setCheckable(true); edit->setText(QT_UTF8(val)); edit->setEchoMode(QLineEdit::Password); @@ -318,7 +318,7 @@ QWidget *OBSPropertiesView::AddText(obs_property_t *prop, QFormLayout *layout, connect(show, &QAbstractButton::toggled, info, &WidgetInfo::TogglePasswordText); connect(show, &QAbstractButton::toggled, [=](bool hide) { - show->setText(hide ? QTStr("Hide") : QTStr("Show")); + show->setText(hide ? tr("Hide") : tr("Show")); }); children.emplace_back(info); @@ -345,7 +345,7 @@ QWidget *OBSPropertiesView::AddText(obs_property_t *prop, QFormLayout *layout, label = new QLabel(desc); if (long_desc != NULL && !info_label->text().isEmpty()) { - QString file = !App()->IsThemeDark() + QString file = !obs_frontend_is_theme_dark() ? ":/res/images/help.svg" : ":/res/images/help_light.svg"; QString lStr = "%1