mirror of
https://github.com/obsproject/obs-studio.git
synced 2026-03-23 00:42:04 -04:00
UI: Add option to snap to vertical/horizontal center
Allows users to snap sources to the horizontal or vertical centers of the screen. Off by default. Closes jp9000/obs-studio#528
This commit is contained in:
committed by
jp9000
parent
ad70d023c4
commit
5911b26578
@@ -268,6 +268,7 @@ OBSBasicSettings::OBSBasicSettings(QWidget *parent)
|
||||
HookWidget(ui->warnBeforeStreamStop, CHECK_CHANGED, GENERAL_CHANGED);
|
||||
HookWidget(ui->snappingEnabled, CHECK_CHANGED, GENERAL_CHANGED);
|
||||
HookWidget(ui->screenSnapping, CHECK_CHANGED, GENERAL_CHANGED);
|
||||
HookWidget(ui->centerSnapping, CHECK_CHANGED, GENERAL_CHANGED);
|
||||
HookWidget(ui->snapDistance, SCROLL_CHANGED, GENERAL_CHANGED);
|
||||
HookWidget(ui->outputMode, COMBO_CHANGED, OUTPUTS_CHANGED);
|
||||
HookWidget(ui->streamType, COMBO_CHANGED, STREAM1_CHANGED);
|
||||
@@ -774,6 +775,10 @@ void OBSBasicSettings::LoadGeneralSettings()
|
||||
"BasicWindow", "ScreenSnapping");
|
||||
ui->screenSnapping->setChecked(screenSnapping);
|
||||
|
||||
bool centerSnapping = config_get_bool(GetGlobalConfig(),
|
||||
"BasicWindow", "CenterSnapping");
|
||||
ui->centerSnapping->setChecked(centerSnapping);
|
||||
|
||||
double snapDistance = config_get_double(GetGlobalConfig(),
|
||||
"BasicWindow", "SnapDistance");
|
||||
ui->snapDistance->setValue(snapDistance);
|
||||
@@ -2062,6 +2067,10 @@ void OBSBasicSettings::SaveGeneralSettings()
|
||||
config_set_bool(GetGlobalConfig(), "BasicWindow",
|
||||
"ScreenSnapping",
|
||||
ui->screenSnapping->isChecked());
|
||||
if (WidgetChanged(ui->centerSnapping))
|
||||
config_set_bool(GetGlobalConfig(), "BasicWindow",
|
||||
"CenterSnapping",
|
||||
ui->centerSnapping->isChecked());
|
||||
if (WidgetChanged(ui->snapDistance))
|
||||
config_set_double(GetGlobalConfig(), "BasicWindow",
|
||||
"SnapDistance",
|
||||
|
||||
Reference in New Issue
Block a user