mirror of
https://github.com/obsproject/obs-studio.git
synced 2024-07-05 11:03:31 +00:00
UI,shared: Move OBSPropertiesView to its own directory
This commit is contained in:
parent
1f477724ef
commit
3572842641
|
@ -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
|
||||
|
@ -327,7 +324,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")
|
||||
|
||||
|
|
|
@ -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 $<$<PLATFORM_ID:Linux>:-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(
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
#pragma once
|
||||
|
||||
#include <QDialog>
|
||||
#include <properties-view.hpp>
|
||||
|
||||
#include "ui_output.h"
|
||||
#include "../../UI/properties-view.hpp"
|
||||
|
||||
namespace aja {
|
||||
class CardManager;
|
||||
|
|
|
@ -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
|
||||
$<$<PLATFORM_ID:Linux,FreeBSD,OpenBSD>:X11::X11>
|
||||
|
|
|
@ -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,24 +49,9 @@ 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_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
|
||||
target_link_libraries(aja-output-ui PRIVATE OBS::libobs OBS::frontend-api OBS::properties-view Qt::Widgets
|
||||
AJA::LibAJANTV2)
|
||||
|
||||
if(OS_MACOS)
|
||||
|
|
|
@ -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
|
||||
"$<$<PLATFORM_ID:Darwin>:$<LINK_LIBRARY:FRAMEWORK,Cocoa.framework>>"
|
||||
$<$<PLATFORM_ID:Linux,FreeBSD,OpenBSD>:X11::X11>
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
#pragma once
|
||||
|
||||
#include <QDialog>
|
||||
#include <properties-view.hpp>
|
||||
|
||||
#include "ui_output.h"
|
||||
#include "../../UI/properties-view.hpp"
|
||||
|
||||
class DecklinkOutputUI : public QDialog {
|
||||
Q_OBJECT
|
||||
|
|
|
@ -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_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)
|
||||
|
||||
target_compile_features(decklink-output-ui PRIVATE cxx_std_17)
|
||||
|
||||
|
|
|
@ -14,20 +14,14 @@ endif()
|
|||
add_library(frontend-tools MODULE)
|
||||
add_library(OBS::frontend-tools ALIAS frontend-tools)
|
||||
|
||||
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()
|
||||
|
||||
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")
|
||||
endif()
|
||||
|
@ -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
|
||||
"$<$<PLATFORM_ID:Darwin>:$<LINK_LIBRARY:FRAMEWORK,Cocoa>>"
|
||||
$<$<PLATFORM_ID:Linux,FreeBSD,OpenBSD>:X11::X11>
|
||||
|
|
|
@ -3,20 +3,14 @@ project(frontend-tools)
|
|||
add_library(frontend-tools MODULE)
|
||||
add_library(OBS::frontend-tools ALIAS frontend-tools)
|
||||
|
||||
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()
|
||||
|
||||
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")
|
||||
endif()
|
||||
|
@ -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)
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
#include "obs-module.h"
|
||||
#include "scripts.hpp"
|
||||
#include "../../properties-view.hpp"
|
||||
|
||||
#include <QFileDialog>
|
||||
#include <QHBoxLayout>
|
||||
|
@ -18,6 +17,7 @@
|
|||
#include <QDesktopServices>
|
||||
#include <qt-wrappers.hpp>
|
||||
#include <plain-text-edit.hpp>
|
||||
#include <properties-view.hpp>
|
||||
|
||||
#include <obs.hpp>
|
||||
#include <obs-module.h>
|
||||
|
|
|
@ -21,8 +21,7 @@
|
|||
#include <QDialogButtonBox>
|
||||
#include <memory>
|
||||
#include <obs.hpp>
|
||||
|
||||
#include "properties-view.hpp"
|
||||
#include <properties-view.hpp>
|
||||
|
||||
class OBSBasic;
|
||||
class QMenu;
|
||||
|
|
|
@ -22,8 +22,7 @@
|
|||
#include <functional>
|
||||
|
||||
#include <obs.hpp>
|
||||
|
||||
#include "properties-view.hpp"
|
||||
#include <properties-view.hpp>
|
||||
|
||||
class OBSBasic;
|
||||
|
||||
|
|
|
@ -19,9 +19,9 @@
|
|||
#include "window-basic-properties.hpp"
|
||||
#include "window-basic-main.hpp"
|
||||
#include "display-helpers.hpp"
|
||||
#include "properties-view.hpp"
|
||||
|
||||
#include <qt-wrappers.hpp>
|
||||
#include <properties-view.hpp>
|
||||
#include <QCloseEvent>
|
||||
#include <QScreen>
|
||||
#include <QWindow>
|
||||
|
|
51
shared/properties-view/CMakeLists.txt
Normal file
51
shared/properties-view/CMakeLists.txt
Normal file
|
@ -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)
|
|
@ -28,7 +28,6 @@
|
|||
#include "spinbox-ignorewheel.hpp"
|
||||
#include "properties-view.hpp"
|
||||
#include "properties-view.moc.hpp"
|
||||
#include "obs-app.hpp"
|
||||
|
||||
#include <qt-wrappers.hpp>
|
||||
#include <plain-text-edit.hpp>
|
||||
|
@ -39,6 +38,7 @@
|
|||
#include <obs.h>
|
||||
#include <qtimer.h>
|
||||
#include <string>
|
||||
#include <obs-frontend-api.h>
|
||||
|
||||
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 = "<html>%1 <img src='%2' style=' \
|
||||
|
@ -391,7 +391,7 @@ void OBSPropertiesView::AddPath(obs_property_t *prop, QFormLayout *layout,
|
|||
const char *val = obs_data_get_string(settings, name);
|
||||
QLayout *subLayout = new QHBoxLayout();
|
||||
QLineEdit *edit = new QLineEdit();
|
||||
QPushButton *button = new QPushButton(QTStr("Browse"));
|
||||
QPushButton *button = new QPushButton(tr("Browse"));
|
||||
|
||||
if (!obs_property_enabled(prop)) {
|
||||
edit->setEnabled(false);
|
||||
|
@ -682,8 +682,8 @@ QWidget *OBSPropertiesView::AddList(obs_property_t *prop, bool &warning)
|
|||
if (id != -1 && id != idx) {
|
||||
QString actual = combo->itemText(id);
|
||||
QString selected = combo->itemText(idx);
|
||||
QString combined = QTStr(
|
||||
"Basic.PropertiesWindow.AutoSelectFormat");
|
||||
QString combined =
|
||||
tr("Basic.PropertiesWindow.AutoSelectFormat");
|
||||
combo->setItemText(idx,
|
||||
combined.arg(selected).arg(actual));
|
||||
}
|
||||
|
@ -797,7 +797,7 @@ void OBSPropertiesView::AddColorInternal(obs_property_t *prop,
|
|||
}
|
||||
|
||||
button->setProperty("themeID", "settingsButtons");
|
||||
button->setText(QTStr("Basic.PropertiesWindow.SelectColor"));
|
||||
button->setText(tr("Basic.PropertiesWindow.SelectColor"));
|
||||
button->setToolTip(QT_UTF8(obs_property_long_description(prop)));
|
||||
|
||||
if (supportAlpha) {
|
||||
|
@ -899,7 +899,7 @@ void OBSPropertiesView::AddFont(obs_property_t *prop, QFormLayout *layout,
|
|||
MakeQFont(font_obj, font, true);
|
||||
|
||||
button->setProperty("themeID", "settingsButtons");
|
||||
button->setText(QTStr("Basic.PropertiesWindow.SelectFont"));
|
||||
button->setText(tr("Basic.PropertiesWindow.SelectFont"));
|
||||
button->setToolTip(QT_UTF8(obs_property_long_description(prop)));
|
||||
|
||||
fontLabel->setFrameStyle(QFrame::Sunken | QFrame::Panel);
|
||||
|
@ -1165,7 +1165,7 @@ static QWidget *CreateRationalFPS(OBSFrameRatePropertyWidget *fpsProps,
|
|||
layout->setContentsMargins(0, 0, 0, 0);
|
||||
layout->setSpacing(4);
|
||||
|
||||
auto str = QTStr("Basic.PropertiesView.FPS.ValidFPSRanges");
|
||||
auto str = QObject::tr("Basic.PropertiesView.FPS.ValidFPSRanges");
|
||||
auto rlabel = new QLabel{str};
|
||||
|
||||
auto combo = fpsProps->fpsRange = new QComboBox();
|
||||
|
@ -1200,8 +1200,9 @@ static QWidget *CreateRationalFPS(OBSFrameRatePropertyWidget *fpsProps,
|
|||
den_edit->setValue(current_fps->denominator);
|
||||
}
|
||||
|
||||
layout->addRow(QTStr("Basic.Settings.Video.Numerator"), num_edit);
|
||||
layout->addRow(QTStr("Basic.Settings.Video.Denominator"), den_edit);
|
||||
layout->addRow(QObject::tr("Basic.Settings.Video.Numerator"), num_edit);
|
||||
layout->addRow(QObject::tr("Basic.Settings.Video.Denominator"),
|
||||
den_edit);
|
||||
|
||||
widget->setLayout(layout);
|
||||
|
||||
|
@ -1220,9 +1221,9 @@ CreateFrameRateWidget(obs_property_t *prop, bool &warning, const char *option,
|
|||
swap(widget->fps_ranges, fps_ranges);
|
||||
|
||||
auto combo = widget->modeSelect = new QComboBox();
|
||||
combo->addItem(QTStr("Basic.PropertiesView.FPS.Simple"),
|
||||
combo->addItem(QObject::tr("Basic.PropertiesView.FPS.Simple"),
|
||||
QVariant::fromValue(frame_rate_tag::simple()));
|
||||
combo->addItem(QTStr("Basic.PropertiesView.FPS.Rational"),
|
||||
combo->addItem(QObject::tr("Basic.PropertiesView.FPS.Rational"),
|
||||
QVariant::fromValue(frame_rate_tag::rational()));
|
||||
|
||||
combo->setToolTip(QT_UTF8(obs_property_long_description(prop)));
|
||||
|
@ -1616,7 +1617,7 @@ void OBSPropertiesView::AddProperty(obs_property_t *property,
|
|||
widget->setEnabled(false);
|
||||
|
||||
if (obs_property_long_description(property)) {
|
||||
QString file = !App()->IsThemeDark()
|
||||
QString file = !obs_frontend_is_theme_dark()
|
||||
? ":/res/images/help.svg"
|
||||
: ":/res/images/help_light.svg";
|
||||
if (label) {
|
||||
|
@ -1970,13 +1971,13 @@ bool WidgetInfo::FontChanged(const char *setting)
|
|||
QFont initial;
|
||||
font = QFontDialog::getFont(
|
||||
&success, initial, view,
|
||||
QTStr("Basic.PropertiesWindow.SelectFont.WindowTitle"),
|
||||
tr("Basic.PropertiesWindow.SelectFont.WindowTitle"),
|
||||
options);
|
||||
} else {
|
||||
MakeQFont(font_obj, font);
|
||||
font = QFontDialog::getFont(
|
||||
&success, font, view,
|
||||
QTStr("Basic.PropertiesWindow.SelectFont.WindowTitle"),
|
||||
tr("Basic.PropertiesWindow.SelectFont.WindowTitle"),
|
||||
options);
|
||||
}
|
||||
|
||||
|
@ -2042,15 +2043,14 @@ void WidgetInfo::ButtonClicked()
|
|||
QUrl url(savedUrl, QUrl::StrictMode);
|
||||
if (url.isValid() && (url.scheme().compare("http") == 0 ||
|
||||
url.scheme().compare("https") == 0)) {
|
||||
QString msg(
|
||||
QTStr("Basic.PropertiesView.UrlButton.Text"));
|
||||
QString msg(tr("Basic.PropertiesView.UrlButton.Text"));
|
||||
msg += "\n\n";
|
||||
msg += QString(QTStr("Basic.PropertiesView.UrlButton.Text.Url"))
|
||||
msg += QString(tr("Basic.PropertiesView.UrlButton.Text.Url"))
|
||||
.arg(savedUrl);
|
||||
|
||||
QMessageBox::StandardButton button = OBSMessageBox::question(
|
||||
view->window(),
|
||||
QTStr("Basic.PropertiesView.UrlButton.OpenUrl"),
|
||||
tr("Basic.PropertiesView.UrlButton.OpenUrl"),
|
||||
msg, QMessageBox::Yes | QMessageBox::No,
|
||||
QMessageBox::No);
|
||||
|
||||
|
@ -2188,8 +2188,7 @@ class EditableItemDialog : public QDialog {
|
|||
if (curPath.isEmpty())
|
||||
curPath = default_path;
|
||||
|
||||
QString path = OpenFile(App()->GetMainWindow(), QTStr("Browse"),
|
||||
curPath, filter);
|
||||
QString path = OpenFile(this, tr("Browse"), curPath, filter);
|
||||
if (path.isEmpty())
|
||||
return;
|
||||
|
||||
|
@ -2214,7 +2213,7 @@ public:
|
|||
|
||||
if (browse) {
|
||||
QPushButton *browseButton =
|
||||
new QPushButton(QTStr("Browse"));
|
||||
new QPushButton(tr("Browse"));
|
||||
browseButton->setProperty("themeID", "settingsButtons");
|
||||
topLayout->addWidget(browseButton);
|
||||
topLayout->setAlignment(browseButton, Qt::AlignVCenter);
|
||||
|
@ -2259,18 +2258,17 @@ void WidgetInfo::EditListAdd()
|
|||
|
||||
QAction *action;
|
||||
|
||||
action = new QAction(QTStr("Basic.PropertiesWindow.AddFiles"), this);
|
||||
action = new QAction(tr("Basic.PropertiesWindow.AddFiles"), this);
|
||||
connect(action, &QAction::triggered, this,
|
||||
&WidgetInfo::EditListAddFiles);
|
||||
popup.addAction(action);
|
||||
|
||||
action = new QAction(QTStr("Basic.PropertiesWindow.AddDir"), this);
|
||||
action = new QAction(tr("Basic.PropertiesWindow.AddDir"), this);
|
||||
connect(action, &QAction::triggered, this, &WidgetInfo::EditListAddDir);
|
||||
popup.addAction(action);
|
||||
|
||||
if (type == OBS_EDITABLE_LIST_TYPE_FILES_AND_URLS) {
|
||||
action = new QAction(QTStr("Basic.PropertiesWindow.AddURL"),
|
||||
this);
|
||||
action = new QAction(tr("Basic.PropertiesWindow.AddURL"), this);
|
||||
connect(action, &QAction::triggered, this,
|
||||
&WidgetInfo::EditListAddText);
|
||||
popup.addAction(action);
|
||||
|
@ -2285,7 +2283,7 @@ void WidgetInfo::EditListAddText()
|
|||
const char *desc = obs_property_description(property);
|
||||
|
||||
EditableItemDialog dialog(widget->window(), QString(), false);
|
||||
auto title = QTStr("Basic.PropertiesWindow.AddEditableListEntry")
|
||||
auto title = tr("Basic.PropertiesWindow.AddEditableListEntry")
|
||||
.arg(QT_UTF8(desc));
|
||||
dialog.setWindowTitle(title);
|
||||
if (dialog.exec() == QDialog::Rejected)
|
||||
|
@ -2307,11 +2305,11 @@ void WidgetInfo::EditListAddFiles()
|
|||
const char *default_path =
|
||||
obs_property_editable_list_default_path(property);
|
||||
|
||||
QString title = QTStr("Basic.PropertiesWindow.AddEditableListFiles")
|
||||
QString title = tr("Basic.PropertiesWindow.AddEditableListFiles")
|
||||
.arg(QT_UTF8(desc));
|
||||
|
||||
QStringList files = OpenFiles(App()->GetMainWindow(), title,
|
||||
QT_UTF8(default_path), QT_UTF8(filter));
|
||||
QStringList files =
|
||||
OpenFiles(list, title, QT_UTF8(default_path), QT_UTF8(filter));
|
||||
#ifdef __APPLE__
|
||||
// TODO: Revisit when QTBUG-42661 is fixed
|
||||
widget->window()->raise();
|
||||
|
@ -2331,11 +2329,10 @@ void WidgetInfo::EditListAddDir()
|
|||
const char *default_path =
|
||||
obs_property_editable_list_default_path(property);
|
||||
|
||||
QString title = QTStr("Basic.PropertiesWindow.AddEditableListDir")
|
||||
QString title = tr("Basic.PropertiesWindow.AddEditableListDir")
|
||||
.arg(QT_UTF8(desc));
|
||||
|
||||
QString dir = SelectDirectory(App()->GetMainWindow(), title,
|
||||
QT_UTF8(default_path));
|
||||
QString dir = SelectDirectory(list, title, QT_UTF8(default_path));
|
||||
#ifdef __APPLE__
|
||||
// TODO: Revisit when QTBUG-42661 is fixed
|
||||
widget->window()->raise();
|
||||
|
@ -2377,11 +2374,11 @@ void WidgetInfo::EditListEdit()
|
|||
QString path;
|
||||
|
||||
if (pathDir.exists())
|
||||
path = SelectDirectory(App()->GetMainWindow(),
|
||||
QTStr("Browse"), item->text());
|
||||
path = SelectDirectory(list, tr("Browse"),
|
||||
item->text());
|
||||
else
|
||||
path = OpenFile(App()->GetMainWindow(), QTStr("Browse"),
|
||||
item->text(), QT_UTF8(filter));
|
||||
path = OpenFile(list, tr("Browse"), item->text(),
|
||||
QT_UTF8(filter));
|
||||
|
||||
if (path.isEmpty())
|
||||
return;
|
||||
|
@ -2394,7 +2391,7 @@ void WidgetInfo::EditListEdit()
|
|||
EditableItemDialog dialog(widget->window(), item->text(),
|
||||
type != OBS_EDITABLE_LIST_TYPE_STRINGS,
|
||||
filter);
|
||||
auto title = QTStr("Basic.PropertiesWindow.EditEditableListEntry")
|
||||
auto title = tr("Basic.PropertiesWindow.EditEditableListEntry")
|
||||
.arg(QT_UTF8(desc));
|
||||
dialog.setWindowTitle(title);
|
||||
if (dialog.exec() == QDialog::Rejected)
|
Loading…
Reference in a new issue