From deb54b8e79b455c11a411f4f5ce4401adc977968 Mon Sep 17 00:00:00 2001 From: tytan652 Date: Wed, 17 Jan 2024 08:35:12 +0100 Subject: [PATCH] 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 073964f19..e74b77f83 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) @@ -319,7 +322,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 8d0ed150a..e7ac5d430 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 fb55d672f..324f1f885 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 3988b5240..60c4d441a 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 4bbbf0a43..3307854d5 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 43c4010d3..7f2cd4744 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 1f69293be..185c1bbf8 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 74bbc88c3..06167de72 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 42d9b36b8..dcf90347b 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 000000000..16d301643 --- /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