|
@@ -265,6 +265,7 @@ void OBSBasic::TransitionStopped()
|
|
}
|
|
}
|
|
|
|
|
|
EnableTransitionWidgets(true);
|
|
EnableTransitionWidgets(true);
|
|
|
|
+ UpdatePreviewProgramIndicators();
|
|
|
|
|
|
if (api) {
|
|
if (api) {
|
|
api->on_event(OBS_FRONTEND_EVENT_TRANSITION_STOPPED);
|
|
api->on_event(OBS_FRONTEND_EVENT_TRANSITION_STOPPED);
|
|
@@ -699,6 +700,7 @@ void OBSBasic::SetCurrentScene(OBSSource scene, bool force)
|
|
}
|
|
}
|
|
|
|
|
|
UpdateContextBar(true);
|
|
UpdateContextBar(true);
|
|
|
|
+ UpdatePreviewProgramIndicators();
|
|
|
|
|
|
if (scene) {
|
|
if (scene) {
|
|
bool userSwitched = (!force && !disableSaving);
|
|
bool userSwitched = (!force && !disableSaving);
|
|
@@ -1578,8 +1580,6 @@ void OBSBasic::SetPreviewProgramMode(bool enabled)
|
|
if (IsPreviewProgramMode() == enabled)
|
|
if (IsPreviewProgramMode() == enabled)
|
|
return;
|
|
return;
|
|
|
|
|
|
- ui->previewLabel->setHidden(!enabled);
|
|
|
|
-
|
|
|
|
ui->modeSwitch->setChecked(enabled);
|
|
ui->modeSwitch->setChecked(enabled);
|
|
os_atomic_set_bool(&previewProgramMode, enabled);
|
|
os_atomic_set_bool(&previewProgramMode, enabled);
|
|
|
|
|
|
@@ -1618,10 +1618,10 @@ void OBSBasic::SetPreviewProgramMode(bool enabled)
|
|
|
|
|
|
RefreshQuickTransitions();
|
|
RefreshQuickTransitions();
|
|
|
|
|
|
- programLabel = new QLabel(QTStr("StudioMode.Program"), this);
|
|
|
|
- programLabel->setSizePolicy(QSizePolicy::Preferred,
|
|
|
|
|
|
+ programLabel =
|
|
|
|
+ new QLabel(QTStr("StudioMode.ProgramSceneLabel"), this);
|
|
|
|
+ programLabel->setSizePolicy(QSizePolicy::Ignored,
|
|
QSizePolicy::Preferred);
|
|
QSizePolicy::Preferred);
|
|
- programLabel->setAlignment(Qt::AlignHCenter | Qt::AlignBottom);
|
|
|
|
programLabel->setProperty("themeID", "previewProgramLabels");
|
|
programLabel->setProperty("themeID", "previewProgramLabels");
|
|
|
|
|
|
programWidget = new QWidget();
|
|
programWidget = new QWidget();
|
|
@@ -1633,11 +1633,6 @@ void OBSBasic::SetPreviewProgramMode(bool enabled)
|
|
programLayout->addWidget(programLabel);
|
|
programLayout->addWidget(programLabel);
|
|
programLayout->addWidget(program);
|
|
programLayout->addWidget(program);
|
|
|
|
|
|
- bool labels = config_get_bool(GetGlobalConfig(), "BasicWindow",
|
|
|
|
- "StudioModeLabels");
|
|
|
|
-
|
|
|
|
- programLabel->setHidden(!labels);
|
|
|
|
-
|
|
|
|
programWidget->setLayout(programLayout);
|
|
programWidget->setLayout(programLayout);
|
|
|
|
|
|
ui->previewLayout->addWidget(programOptions);
|
|
ui->previewLayout->addWidget(programOptions);
|
|
@@ -1822,3 +1817,33 @@ int OBSBasic::GetOverrideTransitionDuration(OBSSource source)
|
|
|
|
|
|
return (int)obs_data_get_int(data, "transition_duration");
|
|
return (int)obs_data_get_int(data, "transition_duration");
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+void OBSBasic::UpdatePreviewProgramIndicators()
|
|
|
|
+{
|
|
|
|
+ bool labels = previewProgramMode ? config_get_bool(GetGlobalConfig(),
|
|
|
|
+ "BasicWindow",
|
|
|
|
+ "StudioModeLabels")
|
|
|
|
+ : false;
|
|
|
|
+
|
|
|
|
+ ui->previewLabel->setVisible(labels);
|
|
|
|
+
|
|
|
|
+ if (programLabel)
|
|
|
|
+ programLabel->setVisible(labels);
|
|
|
|
+
|
|
|
|
+ if (!labels)
|
|
|
|
+ return;
|
|
|
|
+
|
|
|
|
+ QString preview = QTStr("StudioMode.PreviewSceneName")
|
|
|
|
+ .arg(QT_UTF8(obs_source_get_name(
|
|
|
|
+ GetCurrentSceneSource())));
|
|
|
|
+
|
|
|
|
+ QString program =
|
|
|
|
+ QTStr("StudioMode.ProgramSceneName")
|
|
|
|
+ .arg(QT_UTF8(obs_source_get_name(GetProgramSource())));
|
|
|
|
+
|
|
|
|
+ if (ui->previewLabel->text() != preview)
|
|
|
|
+ ui->previewLabel->setText(preview);
|
|
|
|
+
|
|
|
|
+ if (programLabel && programLabel->text() != program)
|
|
|
|
+ programLabel->setText(program);
|
|
|
|
+}
|