UI,shared: Move OBSPropertiesView to its own directory

This commit is contained in:
tytan652 2024-01-17 08:12:20 +01:00
parent 1f477724ef
commit 3572842641
22 changed files with 137 additions and 232 deletions

View file

@ -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")

View file

@ -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(

View file

@ -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;

View file

@ -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>

View file

@ -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)
${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
AJA::LibAJANTV2)
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)

View file

@ -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>

View file

@ -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

View file

@ -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)

View file

@ -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>

View file

@ -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)

View file

@ -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>

View file

@ -21,8 +21,7 @@
#include <QDialogButtonBox>
#include <memory>
#include <obs.hpp>
#include "properties-view.hpp"
#include <properties-view.hpp>
class OBSBasic;
class QMenu;

View file

@ -22,8 +22,7 @@
#include <functional>
#include <obs.hpp>
#include "properties-view.hpp"
#include <properties-view.hpp>
class OBSBasic;

View file

@ -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>

View 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)

View file

@ -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)