mirror of
https://github.com/obsproject/obs-studio.git
synced 2026-09-24 23:31:36 +08:00
UI: Add option to snap to edges of other sources
Allows the user to snap sources to the edges of other sources, on by default. Closes jp9000/obs-studio#530
This commit is contained in:
committed by
jp9000
parent
5911b26578
commit
7463c0dbaa
@@ -269,6 +269,7 @@ OBSBasicSettings::OBSBasicSettings(QWidget *parent)
|
||||
HookWidget(ui->snappingEnabled, CHECK_CHANGED, GENERAL_CHANGED);
|
||||
HookWidget(ui->screenSnapping, CHECK_CHANGED, GENERAL_CHANGED);
|
||||
HookWidget(ui->centerSnapping, CHECK_CHANGED, GENERAL_CHANGED);
|
||||
HookWidget(ui->sourceSnapping, 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);
|
||||
@@ -779,6 +780,10 @@ void OBSBasicSettings::LoadGeneralSettings()
|
||||
"BasicWindow", "CenterSnapping");
|
||||
ui->centerSnapping->setChecked(centerSnapping);
|
||||
|
||||
bool sourceSnapping = config_get_bool(GetGlobalConfig(),
|
||||
"BasicWindow", "SourceSnapping");
|
||||
ui->sourceSnapping->setChecked(sourceSnapping);
|
||||
|
||||
double snapDistance = config_get_double(GetGlobalConfig(),
|
||||
"BasicWindow", "SnapDistance");
|
||||
ui->snapDistance->setValue(snapDistance);
|
||||
@@ -2071,6 +2076,10 @@ void OBSBasicSettings::SaveGeneralSettings()
|
||||
config_set_bool(GetGlobalConfig(), "BasicWindow",
|
||||
"CenterSnapping",
|
||||
ui->centerSnapping->isChecked());
|
||||
if (WidgetChanged(ui->sourceSnapping))
|
||||
config_set_bool(GetGlobalConfig(), "BasicWindow",
|
||||
"SourceSnapping",
|
||||
ui->sourceSnapping->isChecked());
|
||||
if (WidgetChanged(ui->snapDistance))
|
||||
config_set_double(GetGlobalConfig(), "BasicWindow",
|
||||
"SnapDistance",
|
||||
|
||||
Reference in New Issue
Block a user