|
@@ -374,6 +374,8 @@ void OBSBasic::Save(const char *file)
|
|
|
ui->transitionDuration->value(), transitions,
|
|
ui->transitionDuration->value(), transitions,
|
|
|
scene, curProgramScene);
|
|
scene, curProgramScene);
|
|
|
|
|
|
|
|
|
|
+ obs_data_set_bool(saveData, "preview_locked", ui->preview->Locked());
|
|
|
|
|
+
|
|
|
if (!obs_data_save_json_safe(saveData, file, "tmp", "bak"))
|
|
if (!obs_data_save_json_safe(saveData, file, "tmp", "bak"))
|
|
|
blog(LOG_ERROR, "Could not save scene data to %s", file);
|
|
blog(LOG_ERROR, "Could not save scene data to %s", file);
|
|
|
|
|
|
|
@@ -607,6 +609,10 @@ retryScene:
|
|
|
|
|
|
|
|
RefreshQuickTransitions();
|
|
RefreshQuickTransitions();
|
|
|
|
|
|
|
|
|
|
+ bool previewLocked = obs_data_get_bool(data, "preview_locked");
|
|
|
|
|
+ ui->preview->SetLocked(previewLocked);
|
|
|
|
|
+ ui->actionLockPreview->setChecked(previewLocked);
|
|
|
|
|
+
|
|
|
obs_data_release(data);
|
|
obs_data_release(data);
|
|
|
|
|
|
|
|
if (!opt_starting_scene.empty())
|
|
if (!opt_starting_scene.empty())
|
|
@@ -2958,6 +2964,12 @@ void OBSBasic::CreateSourcePopupMenu(QListWidgetItem *item, bool preview)
|
|
|
if (IsPreviewProgramMode())
|
|
if (IsPreviewProgramMode())
|
|
|
action->setEnabled(false);
|
|
action->setEnabled(false);
|
|
|
|
|
|
|
|
|
|
+ action = popup.addAction(
|
|
|
|
|
+ QTStr("Basic.MainMenu.Edit.LockPreview"),
|
|
|
|
|
+ this, SLOT(on_actionLockPreview_triggered()));
|
|
|
|
|
+ action->setCheckable(true);
|
|
|
|
|
+ action->setChecked(ui->preview->Locked());
|
|
|
|
|
+
|
|
|
previewProjector = new QMenu(QTStr("PreviewProjector"));
|
|
previewProjector = new QMenu(QTStr("PreviewProjector"));
|
|
|
AddProjectorMenuMonitors(previewProjector, this,
|
|
AddProjectorMenuMonitors(previewProjector, this,
|
|
|
SLOT(OpenPreviewProjector()));
|
|
SLOT(OpenPreviewProjector()));
|
|
@@ -4306,3 +4318,9 @@ void OBSBasic::on_toggleStatusBar_toggled(bool visible)
|
|
|
config_set_bool(App()->GlobalConfig(), "BasicWindow",
|
|
config_set_bool(App()->GlobalConfig(), "BasicWindow",
|
|
|
"ShowStatusBar", visible);
|
|
"ShowStatusBar", visible);
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+void OBSBasic::on_actionLockPreview_triggered()
|
|
|
|
|
+{
|
|
|
|
|
+ ui->preview->ToggleLocked();
|
|
|
|
|
+ ui->actionLockPreview->setChecked(ui->preview->Locked());
|
|
|
|
|
+}
|