mirror of
https://github.com/obsproject/obs-studio.git
synced 2026-09-19 09:41:32 +08:00
UI: Add preview/program labels in studio mode
This commit is contained in:
committed by
Clayton Groeneveld
parent
748067c930
commit
5a5efa0b3e
@@ -696,6 +696,7 @@ void OBSBasic::SetCurrentScene(OBSSource scene, bool force, bool direct)
|
||||
void OBSBasic::CreateProgramDisplay()
|
||||
{
|
||||
program = new OBSQTDisplay();
|
||||
|
||||
program->setContextMenuPolicy(Qt::CustomContextMenu);
|
||||
connect(program.data(), &QWidget::customContextMenuRequested,
|
||||
this, &OBSBasic::on_program_customContextMenuRequested);
|
||||
@@ -1192,6 +1193,8 @@ void OBSBasic::SetPreviewProgramMode(bool enabled)
|
||||
if (IsPreviewProgramMode() == enabled)
|
||||
return;
|
||||
|
||||
ui->previewLabel->setHidden(!enabled);
|
||||
|
||||
ui->modeSwitch->setChecked(enabled);
|
||||
os_atomic_set_bool(&previewProgramMode, enabled);
|
||||
|
||||
@@ -1230,10 +1233,28 @@ void OBSBasic::SetPreviewProgramMode(bool enabled)
|
||||
|
||||
RefreshQuickTransitions();
|
||||
|
||||
programLabel = new QLabel(QTStr("StudioMode.Program"));
|
||||
programLabel->setAlignment(Qt::AlignHCenter | Qt::AlignVCenter);
|
||||
programLabel->setProperty("themeID", "previewProgramLabels");
|
||||
|
||||
programWidget = new QWidget();
|
||||
programLayout = new QVBoxLayout();
|
||||
|
||||
programLayout->setContentsMargins(0, 0, 0, 0);
|
||||
|
||||
programLayout->addWidget(programLabel);
|
||||
programLayout->addWidget(program);
|
||||
|
||||
bool labels = config_get_bool(GetGlobalConfig(),
|
||||
"BasicWindow", "StudioModeLabels");
|
||||
|
||||
programLabel->setHidden(!labels);
|
||||
|
||||
programWidget->setLayout(programLayout);
|
||||
|
||||
ui->previewLayout->addWidget(programOptions);
|
||||
ui->previewLayout->addWidget(program);
|
||||
ui->previewLayout->addWidget(programWidget);
|
||||
ui->previewLayout->setAlignment(programOptions, Qt::AlignCenter);
|
||||
program->show();
|
||||
|
||||
if (api)
|
||||
api->on_event(OBS_FRONTEND_EVENT_STUDIO_MODE_ENABLED);
|
||||
@@ -1251,6 +1272,8 @@ void OBSBasic::SetPreviewProgramMode(bool enabled)
|
||||
|
||||
delete programOptions;
|
||||
delete program;
|
||||
delete programLabel;
|
||||
delete programWidget;
|
||||
|
||||
if (lastScene) {
|
||||
OBSSource actualLastScene = OBSGetStrongRef(lastScene);
|
||||
|
||||
Reference in New Issue
Block a user