diff --git a/UI/cmake/legacy.cmake b/UI/cmake/legacy.cmake index d587f725aa66c9..d05231c4cb4f92 100644 --- a/UI/cmake/legacy.cmake +++ b/UI/cmake/legacy.cmake @@ -91,6 +91,10 @@ if(NOT TARGET OBS::qt-slider-ignorewheel) "${CMAKE_BINARY_DIR}/shared/qt/slider-ignorewheel") endif() +if(NOT TARGET OBS::properties-view) + add_subdirectory("${CMAKE_SOURCE_DIR}/shared/properties-view" "${CMAKE_BINARY_DIR}/shared/properties-view") +endif() + target_link_libraries(obs PRIVATE Qt::Widgets Qt::Svg Qt::Xml Qt::Network) set_target_properties( @@ -180,8 +184,6 @@ target_sources( audio-encoders.hpp balance-slider.hpp clickable-label.hpp - double-slider.cpp - double-slider.hpp horizontal-scroll-area.cpp horizontal-scroll-area.hpp item-widget-helpers.cpp @@ -206,9 +208,6 @@ target_sources( menu-button.cpp menu-button.hpp mute-checkbox.hpp - properties-view.cpp - properties-view.hpp - properties-view.moc.hpp record-button.cpp record-button.hpp remote-text.cpp @@ -220,8 +219,6 @@ target_sources( slider-absoluteset-style.hpp source-label.cpp source-label.hpp - spinbox-ignorewheel.cpp - spinbox-ignorewheel.hpp source-tree.cpp source-tree.hpp url-push-button.cpp @@ -312,7 +309,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 cb6fcf01c9744c..86f39d0356db5b 100644 --- a/UI/cmake/ui-elements.cmake +++ b/UI/cmake/ui-elements.cmake @@ -12,8 +12,12 @@ if(NOT TARGET OBS::qt-slider-ignorewheel) "${CMAKE_BINARY_DIR}/shared/qt/slider-ignorewheel") endif() +if(NOT TARGET OBS::properties-view) + add_subdirectory("${CMAKE_SOURCE_DIR}/shared/properties-view" "${CMAKE_BINARY_DIR}/shared/properties-view") +endif() + target_link_libraries(obs-studio PRIVATE OBS::qt-plain-text-edit OBS::qt-vertical-scroll-area - OBS::qt-slider-ignorewheel) + OBS::qt-slider-ignorewheel OBS::properties-view) target_sources( obs-studio @@ -26,8 +30,6 @@ target_sources( clickable-label.hpp context-bar-controls.cpp context-bar-controls.hpp - double-slider.cpp - double-slider.hpp expand-checkbox.hpp focus-list.cpp focus-list.hpp @@ -50,9 +52,6 @@ target_sources( menu-button.cpp menu-button.hpp mute-checkbox.hpp - properties-view.cpp - properties-view.hpp - properties-view.moc.hpp record-button.cpp record-button.hpp remote-text.cpp @@ -66,8 +65,6 @@ target_sources( source-label.hpp source-tree.cpp source-tree.hpp - spinbox-ignorewheel.cpp - spinbox-ignorewheel.hpp undo-stack-obs.cpp undo-stack-obs.hpp url-push-button.cpp 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 b00258303fc3db..9818937eb8206a 100644 --- a/UI/frontend-plugins/aja-output-ui/CMakeLists.txt +++ b/UI/frontend-plugins/aja-output-ui/CMakeLists.txt @@ -13,22 +13,8 @@ find_qt(COMPONENTS Widgets COMPONENTS_LINUX Gui) 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() - -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") +if(NOT TARGET OBS::properties-view) + add_subdirectory("${CMAKE_SOURCE_DIR}/shared/properties-view" "${CMAKE_BINARY_DIR}/shared/properties-view") endif() target_sources( @@ -52,27 +38,12 @@ 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") + "${CMAKE_SOURCE_DIR}/plugins/aja/aja-widget-io.hpp") target_sources(aja-output-ui PRIVATE forms/output.ui) -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) +target_link_libraries(aja-output-ui PRIVATE OBS::libobs OBS::frontend-api OBS::properties-view Qt::Widgets + AJA::LibAJANTV2) if(OS_WINDOWS) configure_file(cmake/windows/obs-module.rc.in aja-output-ui.rc) diff --git a/UI/frontend-plugins/aja-output-ui/cmake/legacy.cmake b/UI/frontend-plugins/aja-output-ui/cmake/legacy.cmake index d3b16fd34782ee..4a6d24e60b6e8b 100644 --- a/UI/frontend-plugins/aja-output-ui/cmake/legacy.cmake +++ b/UI/frontend-plugins/aja-output-ui/cmake/legacy.cmake @@ -11,22 +11,8 @@ add_library(OBS::aja-output-ui ALIAS aja-output-ui) find_qt(COMPONENTS Widgets COMPONENTS_LINUX Gui) -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") +if(NOT TARGET OBS::properties-view) + add_subdirectory("${CMAKE_SOURCE_DIR}/shared/properties-view" "${CMAKE_BINARY_DIR}/shared/properties-view") endif() set_target_properties( @@ -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 239f0d62afc598..6cfc780fa6d05c 100644 --- a/UI/frontend-plugins/decklink-output-ui/CMakeLists.txt +++ b/UI/frontend-plugins/decklink-output-ui/CMakeLists.txt @@ -12,49 +12,16 @@ find_qt(COMPONENTS Widgets COMPONENTS_LINUX Gui) 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() - -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") +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) -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_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::qt-wrappers - OBS::qt-plain-text-edit - OBS::qt-vertical-scroll-area - OBS::qt-slider-ignorewheel - Qt::Widgets) +target_link_libraries(decklink-output-ui PRIVATE OBS::libobs OBS::frontend-api OBS::properties-view Qt::Widgets) if(OS_WINDOWS) configure_file(cmake/windows/obs-module.rc.in decklink-output-ui.rc) 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 aca0bfe5cf0c9d..c6f4ea457f2a25 100644 --- a/UI/frontend-plugins/decklink-output-ui/cmake/legacy.cmake +++ b/UI/frontend-plugins/decklink-output-ui/cmake/legacy.cmake @@ -9,22 +9,8 @@ add_library(OBS::decklink-output-ui ALIAS decklink-output-ui) find_qt(COMPONENTS Widgets COMPONENTS_LINUX Gui) -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") +if(NOT TARGET OBS::properties-view) + add_subdirectory("${CMAKE_SOURCE_DIR}/shared/properties-view" "${CMAKE_BINARY_DIR}/shared/properties-view") endif() set_target_properties( @@ -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 530a4a19bb3e9e..75a3ab05a8d593 100644 --- a/UI/frontend-plugins/frontend-tools/CMakeLists.txt +++ b/UI/frontend-plugins/frontend-tools/CMakeLists.txt @@ -15,31 +15,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() -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") -endif() - -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_sources(frontend-tools PRIVATE forms/auto-scene-switcher.ui forms/captions.ui forms/output-timer.ui forms/scripts.ui) @@ -50,8 +31,7 @@ target_link_libraries( OBS::libobs OBS::qt-wrappers OBS::qt-plain-text-edit - OBS::qt-vertical-scroll-area - OBS::qt-slider-ignorewheel + OBS::properties-view Qt::Widgets $<$:Qt::GuiPrivate>) diff --git a/UI/frontend-plugins/frontend-tools/cmake/legacy.cmake b/UI/frontend-plugins/frontend-tools/cmake/legacy.cmake index 462bbb0baa4aaa..723c721e6b3b71 100644 --- a/UI/frontend-plugins/frontend-tools/cmake/legacy.cmake +++ b/UI/frontend-plugins/frontend-tools/cmake/legacy.cmake @@ -13,14 +13,8 @@ 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") +if(NOT TARGET OBS::properties-view) + add_subdirectory("${CMAKE_SOURCE_DIR}/shared/properties-view" "${CMAKE_BINARY_DIR}/shared/properties-view") endif() set_target_properties( @@ -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 884d82ed72bfac..25787c8abd62e8 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..7f579eb7aba470 --- /dev/null +++ b/shared/properties-view/CMakeLists.txt @@ -0,0 +1,46 @@ +cmake_minimum_required(VERSION 3.16...3.25) + +find_qt(COMPONENTS 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}") + +target_link_libraries( + properties-view + INTERFACE 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 207a2bc5dd1b19..660c9d01d3c338 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 @@ -40,6 +39,16 @@ #include #include +#ifdef INSIDE_UI +#include "obs-app.hpp" + +#define IS_THEME_DARK App()->IsThemeDark() +#else +#include + +#define IS_THEME_DARK obs_frontend_is_theme_dark() +#endif + using namespace std; static inline QColor color_from_int(long long val) @@ -106,7 +115,7 @@ void OBSPropertiesView::ReloadProperties() RefreshProperties(); } -#define NO_PROPERTIES_STRING QTStr("Basic.PropertiesWindow.NoProperties") +#define NO_PROPERTIES_STRING tr("Basic.PropertiesWindow.NoProperties") void OBSPropertiesView::RefreshProperties() { @@ -292,7 +301,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); @@ -304,7 +313,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); @@ -331,7 +340,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 = !IS_THEME_DARK ? ":/res/images/help.svg" : ":/res/images/help_light.svg"; QString lStr = "%1