UI: Avoid excessive config reads when drawing preview

This commit is contained in:
derrod
2023-02-10 13:27:08 +01:00
committed by Jim
parent 213ce75328
commit 5bdf492f8a
5 changed files with 48 additions and 16 deletions

View File

@@ -488,6 +488,7 @@ OBSBasic::OBSBasic(QWidget *parent)
UpdatePreviewSafeAreas();
UpdatePreviewSpacingHelpers();
UpdatePreviewOverflowSettings();
}
static void SaveAudioDevice(const char *name, int channel, obs_data_t *parent,
@@ -10294,6 +10295,20 @@ void OBSBasic::UpdatePreviewSafeAreas()
"ShowSafeAreas");
}
void OBSBasic::UpdatePreviewOverflowSettings()
{
bool hidden = config_get_bool(App()->GlobalConfig(), "BasicWindow",
"OverflowHidden");
bool select = config_get_bool(App()->GlobalConfig(), "BasicWindow",
"OverflowSelectionHidden");
bool always = config_get_bool(App()->GlobalConfig(), "BasicWindow",
"OverflowAlwaysVisible");
ui->preview->SetOverflowHidden(hidden);
ui->preview->SetOverflowSelectionHidden(select);
ui->preview->SetOverflowAlwaysVisible(always);
}
void OBSBasic::SetDisplayAffinity(QWindow *window)
{
if (!SetDisplayAffinitySupported())