mirror of
https://github.com/obsproject/obs-studio.git
synced 2024-07-14 23:34:08 +00:00
UI: Add option to toggle multiview mouse switching
This commit is contained in:
parent
2420d4d31d
commit
e0e2cc57a0
|
@ -572,6 +572,7 @@ Basic.Settings.General.SaveProjectors="Save projectors on exit"
|
||||||
Basic.Settings.General.SwitchOnDoubleClick="Transition to scene when double-clicked"
|
Basic.Settings.General.SwitchOnDoubleClick="Transition to scene when double-clicked"
|
||||||
Basic.Settings.General.StudioPortraitLayout="Enable portrait/vertical layout"
|
Basic.Settings.General.StudioPortraitLayout="Enable portrait/vertical layout"
|
||||||
Basic.Settings.General.Multiview="Multiview"
|
Basic.Settings.General.Multiview="Multiview"
|
||||||
|
Basic.Settings.General.Multiview.MouseSwitch="Click to switch between scenes"
|
||||||
Basic.Settings.General.MultiviewLayout="Multiview Layout"
|
Basic.Settings.General.MultiviewLayout="Multiview Layout"
|
||||||
Basic.Settings.General.MultiviewLayout.Horizontal.Top="Horizontal, Top (8 Scenes)"
|
Basic.Settings.General.MultiviewLayout.Horizontal.Top="Horizontal, Top (8 Scenes)"
|
||||||
Basic.Settings.General.MultiviewLayout.Horizontal.Bottom="Horizontal, Bottom (8 Scenes)"
|
Basic.Settings.General.MultiviewLayout.Horizontal.Bottom="Horizontal, Bottom (8 Scenes)"
|
||||||
|
|
|
@ -616,6 +616,16 @@
|
||||||
</property>
|
</property>
|
||||||
</spacer>
|
</spacer>
|
||||||
</item>
|
</item>
|
||||||
|
<item row="0" column="1">
|
||||||
|
<widget class="QCheckBox" name="multiviewMouseSwitch">
|
||||||
|
<property name="text">
|
||||||
|
<string>Basic.Settings.General.Multiview.MouseSwitch</string>
|
||||||
|
</property>
|
||||||
|
<property name="checked">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
<item row="1" column="1">
|
<item row="1" column="1">
|
||||||
<widget class="QComboBox" name="multiviewLayout"/>
|
<widget class="QComboBox" name="multiviewLayout"/>
|
||||||
</item>
|
</item>
|
||||||
|
|
|
@ -421,6 +421,9 @@ bool OBSApp::InitGlobalConfigDefaults()
|
||||||
config_set_default_bool(globalConfig, "BasicWindow",
|
config_set_default_bool(globalConfig, "BasicWindow",
|
||||||
"VerticalVolControl", false);
|
"VerticalVolControl", false);
|
||||||
|
|
||||||
|
config_set_default_bool(globalConfig, "BasicWindow",
|
||||||
|
"MultiviewMouseSwitch", true);
|
||||||
|
|
||||||
#ifdef _WIN32
|
#ifdef _WIN32
|
||||||
config_set_default_bool(globalConfig, "Audio", "DisableAudioDucking",
|
config_set_default_bool(globalConfig, "Audio", "DisableAudioDucking",
|
||||||
true);
|
true);
|
||||||
|
|
|
@ -318,6 +318,7 @@ OBSBasicSettings::OBSBasicSettings(QWidget *parent)
|
||||||
HookWidget(ui->snapDistance, DSCROLL_CHANGED,GENERAL_CHANGED);
|
HookWidget(ui->snapDistance, DSCROLL_CHANGED,GENERAL_CHANGED);
|
||||||
HookWidget(ui->doubleClickSwitch, CHECK_CHANGED, GENERAL_CHANGED);
|
HookWidget(ui->doubleClickSwitch, CHECK_CHANGED, GENERAL_CHANGED);
|
||||||
HookWidget(ui->studioPortraitLayout, CHECK_CHANGED, GENERAL_CHANGED);
|
HookWidget(ui->studioPortraitLayout, CHECK_CHANGED, GENERAL_CHANGED);
|
||||||
|
HookWidget(ui->multiviewMouseSwitch, CHECK_CHANGED, GENERAL_CHANGED);
|
||||||
HookWidget(ui->multiviewLayout, COMBO_CHANGED, GENERAL_CHANGED);
|
HookWidget(ui->multiviewLayout, COMBO_CHANGED, GENERAL_CHANGED);
|
||||||
HookWidget(ui->outputMode, COMBO_CHANGED, OUTPUTS_CHANGED);
|
HookWidget(ui->outputMode, COMBO_CHANGED, OUTPUTS_CHANGED);
|
||||||
HookWidget(ui->streamType, COMBO_CHANGED, STREAM1_CHANGED);
|
HookWidget(ui->streamType, COMBO_CHANGED, STREAM1_CHANGED);
|
||||||
|
@ -1100,6 +1101,10 @@ void OBSBasicSettings::LoadGeneralSettings()
|
||||||
"BasicWindow", "StudioPortraitLayout");
|
"BasicWindow", "StudioPortraitLayout");
|
||||||
ui->studioPortraitLayout->setChecked(studioPortraitLayout);
|
ui->studioPortraitLayout->setChecked(studioPortraitLayout);
|
||||||
|
|
||||||
|
bool multiviewMouseSwitch = config_get_bool(GetGlobalConfig(),
|
||||||
|
"BasicWindow", "MultiviewMouseSwitch");
|
||||||
|
ui->multiviewMouseSwitch->setChecked(multiviewMouseSwitch);
|
||||||
|
|
||||||
ui->multiviewLayout->addItem(QTStr(
|
ui->multiviewLayout->addItem(QTStr(
|
||||||
"Basic.Settings.General.MultiviewLayout.Horizontal.Top"),
|
"Basic.Settings.General.MultiviewLayout.Horizontal.Top"),
|
||||||
static_cast<int>(MultiviewLayout::HORIZONTAL_TOP_8_SCENES));
|
static_cast<int>(MultiviewLayout::HORIZONTAL_TOP_8_SCENES));
|
||||||
|
@ -2704,6 +2709,11 @@ void OBSBasicSettings::SaveGeneralSettings()
|
||||||
main->ResetUI();
|
main->ResetUI();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (WidgetChanged(ui->multiviewMouseSwitch))
|
||||||
|
config_set_bool(GetGlobalConfig(), "BasicWindow",
|
||||||
|
"MultiviewMouseSwitch",
|
||||||
|
ui->multiviewMouseSwitch->isChecked());
|
||||||
|
|
||||||
if (WidgetChanged(ui->multiviewLayout)) {
|
if (WidgetChanged(ui->multiviewLayout)) {
|
||||||
config_set_int(GetGlobalConfig(), "BasicWindow",
|
config_set_int(GetGlobalConfig(), "BasicWindow",
|
||||||
"MultiviewLayout",
|
"MultiviewLayout",
|
||||||
|
|
|
@ -751,6 +751,10 @@ void OBSProjector::mouseDoubleClickEvent(QMouseEvent *event)
|
||||||
{
|
{
|
||||||
OBSQTDisplay::mouseDoubleClickEvent(event);
|
OBSQTDisplay::mouseDoubleClickEvent(event);
|
||||||
|
|
||||||
|
if (!config_get_bool(GetGlobalConfig(), "BasicWindow",
|
||||||
|
"MultiviewMouseSwitch"))
|
||||||
|
return;
|
||||||
|
|
||||||
if (!config_get_bool(GetGlobalConfig(), "BasicWindow",
|
if (!config_get_bool(GetGlobalConfig(), "BasicWindow",
|
||||||
"TransitionOnDoubleClick"))
|
"TransitionOnDoubleClick"))
|
||||||
return;
|
return;
|
||||||
|
@ -783,6 +787,10 @@ void OBSProjector::mousePressEvent(QMouseEvent *event)
|
||||||
}
|
}
|
||||||
|
|
||||||
if (event->button() == Qt::LeftButton) {
|
if (event->button() == Qt::LeftButton) {
|
||||||
|
if (!config_get_bool(GetGlobalConfig(), "BasicWindow",
|
||||||
|
"MultiviewMouseSwitch"))
|
||||||
|
return;
|
||||||
|
|
||||||
int pos = getSourceByPosition(event->x(), event->y());
|
int pos = getSourceByPosition(event->x(), event->y());
|
||||||
if (pos < 0)
|
if (pos < 0)
|
||||||
return;
|
return;
|
||||||
|
|
Loading…
Reference in a new issue