UI: Add scene names to preview/program labels
This makes it easier for users to determine what is the current preview or program scene.
This commit is contained in:
parent
0032d349c9
commit
b3c5524a48
@ -86,6 +86,8 @@ HideTransition="Hide Transition"
|
||||
None="None"
|
||||
StudioMode.Preview="Preview"
|
||||
StudioMode.Program="Program"
|
||||
StudioMode.PreviewSceneName="Preview: %1"
|
||||
StudioMode.ProgramSceneName="Program: %1"
|
||||
ShowInMultiview="Show in Multiview"
|
||||
VerticalLayout="Vertical Layout"
|
||||
Group="Group"
|
||||
|
@ -42,13 +42,13 @@
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="leftMargin">
|
||||
<number>0</number>
|
||||
<number>4</number>
|
||||
</property>
|
||||
<property name="topMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="rightMargin">
|
||||
<number>0</number>
|
||||
<number>4</number>
|
||||
</property>
|
||||
<property name="bottomMargin">
|
||||
<number>0</number>
|
||||
@ -158,11 +158,20 @@
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QLabel" name="previewLabel">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Ignored" vsizetype="Preferred">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>StudioMode.Preview</string>
|
||||
<string>StudioMode.PreviewSceneName</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignBottom|Qt::AlignHCenter</set>
|
||||
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
|
||||
</property>
|
||||
<property name="themeID" stdset="0">
|
||||
<string>previewProgramLabels</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
|
@ -265,6 +265,7 @@ void OBSBasic::TransitionStopped()
|
||||
}
|
||||
|
||||
EnableTransitionWidgets(true);
|
||||
UpdatePreviewProgramIndicators();
|
||||
|
||||
if (api) {
|
||||
api->on_event(OBS_FRONTEND_EVENT_TRANSITION_STOPPED);
|
||||
@ -699,6 +700,7 @@ void OBSBasic::SetCurrentScene(OBSSource scene, bool force)
|
||||
}
|
||||
|
||||
UpdateContextBar(true);
|
||||
UpdatePreviewProgramIndicators();
|
||||
|
||||
if (scene) {
|
||||
bool userSwitched = (!force && !disableSaving);
|
||||
@ -1578,8 +1580,6 @@ void OBSBasic::SetPreviewProgramMode(bool enabled)
|
||||
if (IsPreviewProgramMode() == enabled)
|
||||
return;
|
||||
|
||||
ui->previewLabel->setHidden(!enabled);
|
||||
|
||||
ui->modeSwitch->setChecked(enabled);
|
||||
os_atomic_set_bool(&previewProgramMode, enabled);
|
||||
|
||||
@ -1618,10 +1618,10 @@ void OBSBasic::SetPreviewProgramMode(bool enabled)
|
||||
|
||||
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);
|
||||
programLabel->setAlignment(Qt::AlignHCenter | Qt::AlignBottom);
|
||||
programLabel->setProperty("themeID", "previewProgramLabels");
|
||||
|
||||
programWidget = new QWidget();
|
||||
@ -1633,11 +1633,6 @@ void OBSBasic::SetPreviewProgramMode(bool enabled)
|
||||
programLayout->addWidget(programLabel);
|
||||
programLayout->addWidget(program);
|
||||
|
||||
bool labels = config_get_bool(GetGlobalConfig(), "BasicWindow",
|
||||
"StudioModeLabels");
|
||||
|
||||
programLabel->setHidden(!labels);
|
||||
|
||||
programWidget->setLayout(programLayout);
|
||||
|
||||
ui->previewLayout->addWidget(programOptions);
|
||||
@ -1822,3 +1817,33 @@ int OBSBasic::GetOverrideTransitionDuration(OBSSource source)
|
||||
|
||||
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);
|
||||
}
|
||||
|
@ -455,17 +455,6 @@ OBSBasic::OBSBasic(QWidget *parent)
|
||||
QPoint newPos = curPos + statsDockPos;
|
||||
statsDock->move(newPos);
|
||||
|
||||
ui->previewLabel->setProperty("themeID", "previewProgramLabels");
|
||||
ui->previewLabel->style()->polish(ui->previewLabel);
|
||||
|
||||
bool labels = config_get_bool(GetGlobalConfig(), "BasicWindow",
|
||||
"StudioModeLabels");
|
||||
|
||||
if (!previewProgramMode)
|
||||
ui->previewLabel->setHidden(true);
|
||||
else
|
||||
ui->previewLabel->setHidden(!labels);
|
||||
|
||||
ui->previewDisabledWidget->setContextMenuPolicy(Qt::CustomContextMenu);
|
||||
connect(ui->previewDisabledWidget,
|
||||
SIGNAL(customContextMenuRequested(const QPoint &)), this,
|
||||
@ -2998,6 +2987,7 @@ void OBSBasic::RenameSources(OBSSource source, QString newName,
|
||||
OBSProjector::UpdateMultiviewProjectors();
|
||||
|
||||
UpdateContextBar();
|
||||
UpdatePreviewProgramIndicators();
|
||||
}
|
||||
|
||||
void OBSBasic::ClearContextBar()
|
||||
@ -4317,11 +4307,7 @@ void OBSBasic::ResetUI()
|
||||
else
|
||||
ui->previewLayout->setDirection(QBoxLayout::LeftToRight);
|
||||
|
||||
if (previewProgramMode)
|
||||
ui->previewLabel->setHidden(!labels);
|
||||
|
||||
if (programLabel)
|
||||
programLabel->setHidden(!labels);
|
||||
UpdatePreviewProgramIndicators();
|
||||
}
|
||||
|
||||
int OBSBasic::ResetVideo()
|
||||
|
@ -534,6 +534,8 @@ private:
|
||||
void ReceivedIntroJson(const QString &text);
|
||||
void ShowWhatsNew(const QString &url);
|
||||
|
||||
void UpdatePreviewProgramIndicators();
|
||||
|
||||
#ifdef BROWSER_AVAILABLE
|
||||
QList<QSharedPointer<QDockWidget>> extraBrowserDocks;
|
||||
QList<QSharedPointer<QAction>> extraBrowserDockActions;
|
||||
|
Loading…
x
Reference in New Issue
Block a user