mirror of
https://github.com/WarmUpTill/SceneSwitcher.git
synced 2026-08-13 04:37:14 -05:00
Add option to disable saving when switching macros
This commit is contained in:
@@ -198,6 +198,8 @@ AdvSceneSwitcher.macroTab.highlightTrueConditions="Highlight conditions of curre
|
||||
AdvSceneSwitcher.macroTab.highlightPerformedActions="Highlight recently performed actions of currently selected macro"
|
||||
AdvSceneSwitcher.macroTab.newMacroRegisterHotkey="Register hotkeys to control the pause state of new macros"
|
||||
AdvSceneSwitcher.macroTab.newMacroUseShortCircuitEvaluation="Enable short circuit evaluation of macro conditions for new macros"
|
||||
AdvSceneSwitcher.macroTab.saveSettingsOnMacroChange="Save settings when selecting a new macro"
|
||||
AdvSceneSwitcher.macroTab.saveSettingsOnMacroChange.tooltip="Saving the settings can be an expensive operation if you are working with a very large scene collection.\nIn this case, it might make sense to disable this option."
|
||||
AdvSceneSwitcher.macroTab.currentRegisterHotkeys="Register hotkeys to control the pause state of selected macro"
|
||||
AdvSceneSwitcher.macroTab.currentUseShortCircuitEvaluation="Enable short circuit evaluation of macro conditions for currently selected macro"
|
||||
AdvSceneSwitcher.macroTab.shortCircuit.tooltip="Enabling short circuit evaluation might improve the performance, as some condition checks are skipped, if the overall macro cannot be evaluated to \"true\" anymore.\nHowever, please note that condition checks, which are skipped over, will also not update their duration modifier checks."
|
||||
|
||||
@@ -23,6 +23,8 @@ void GlobalMacroSettings::Save(obs_data_t *obj) const
|
||||
_newMacroRegisterHotkeys);
|
||||
obs_data_set_bool(data, "newMacroUseShortCircuitEvaluation",
|
||||
_newMacroUseShortCircuitEvaluation);
|
||||
obs_data_set_bool(data, "saveSettingsOnMacroChange",
|
||||
_saveSettingsOnMacroChange);
|
||||
obs_data_set_obj(obj, "macroSettings", data);
|
||||
obs_data_release(data);
|
||||
}
|
||||
@@ -43,6 +45,10 @@ void GlobalMacroSettings::Load(obs_data_t *obj)
|
||||
obs_data_get_bool(data, "newMacroRegisterHotkey");
|
||||
_newMacroUseShortCircuitEvaluation =
|
||||
obs_data_get_bool(data, "newMacroUseShortCircuitEvaluation");
|
||||
_saveSettingsOnMacroChange =
|
||||
obs_data_has_user_value(data, "saveSettingsOnMacroChange")
|
||||
? obs_data_get_bool(data, "saveSettingsOnMacroChange")
|
||||
: true;
|
||||
obs_data_release(data);
|
||||
}
|
||||
|
||||
@@ -60,6 +66,8 @@ MacroSettingsDialog::MacroSettingsDialog(QWidget *parent,
|
||||
"AdvSceneSwitcher.macroTab.newMacroRegisterHotkey"))),
|
||||
_newMacroUseShortCircuitEvaluation(new QCheckBox(obs_module_text(
|
||||
"AdvSceneSwitcher.macroTab.newMacroUseShortCircuitEvaluation"))),
|
||||
_saveSettingsOnMacroChange(new QCheckBox(obs_module_text(
|
||||
"AdvSceneSwitcher.macroTab.saveSettingsOnMacroChange"))),
|
||||
_currentMacroRegisterHotkeys(new QCheckBox(obs_module_text(
|
||||
"AdvSceneSwitcher.macroTab.currentRegisterHotkeys"))),
|
||||
_currentUseShortCircuitEvaluation(new QCheckBox(obs_module_text(
|
||||
@@ -100,6 +108,8 @@ MacroSettingsDialog::MacroSettingsDialog(QWidget *parent,
|
||||
|
||||
_newMacroUseShortCircuitEvaluation->setToolTip(obs_module_text(
|
||||
"AdvSceneSwitcher.macroTab.shortCircuit.tooltip"));
|
||||
_saveSettingsOnMacroChange->setToolTip(obs_module_text(
|
||||
"AdvSceneSwitcher.macroTab.saveSettingsOnMacroChange.tooltip"));
|
||||
_currentUseShortCircuitEvaluation->setToolTip(obs_module_text(
|
||||
"AdvSceneSwitcher.macroTab.shortCircuit.tooltip"));
|
||||
|
||||
@@ -121,6 +131,7 @@ MacroSettingsDialog::MacroSettingsDialog(QWidget *parent,
|
||||
auto generalOptions = new QGroupBox(
|
||||
obs_module_text("AdvSceneSwitcher.macroTab.generalSettings"));
|
||||
auto generalLayout = new QVBoxLayout;
|
||||
generalLayout->addWidget(_saveSettingsOnMacroChange);
|
||||
generalLayout->addWidget(_currentSkipOnStartup);
|
||||
generalLayout->addWidget(_currentStopActionsIfNotDone);
|
||||
generalLayout->addWidget(_currentUseShortCircuitEvaluation);
|
||||
@@ -244,10 +255,18 @@ MacroSettingsDialog::MacroSettingsDialog(QWidget *parent,
|
||||
_newMacroRegisterHotkeys->setChecked(settings._newMacroRegisterHotkeys);
|
||||
_newMacroUseShortCircuitEvaluation->setChecked(
|
||||
settings._newMacroUseShortCircuitEvaluation);
|
||||
_saveSettingsOnMacroChange->setChecked(
|
||||
settings._saveSettingsOnMacroChange);
|
||||
|
||||
if (!macro || macro->IsGroup()) {
|
||||
hotkeyOptions->hide();
|
||||
generalOptions->hide();
|
||||
|
||||
// General group
|
||||
_currentSkipOnStartup->hide();
|
||||
_currentStopActionsIfNotDone->hide();
|
||||
_currentUseShortCircuitEvaluation->hide();
|
||||
SetLayoutVisible(customConditionIntervalLayout, false);
|
||||
|
||||
inputOptions->hide();
|
||||
_dockOptions->hide();
|
||||
return;
|
||||
@@ -391,6 +410,8 @@ bool MacroSettingsDialog::AskForSettings(QWidget *parent,
|
||||
dialog._newMacroRegisterHotkeys->isChecked();
|
||||
userInput._newMacroUseShortCircuitEvaluation =
|
||||
dialog._newMacroUseShortCircuitEvaluation->isChecked();
|
||||
userInput._saveSettingsOnMacroChange =
|
||||
dialog._saveSettingsOnMacroChange->isChecked();
|
||||
if (!macro) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -25,6 +25,7 @@ public:
|
||||
bool _highlightActions = false;
|
||||
bool _newMacroRegisterHotkeys = true;
|
||||
bool _newMacroUseShortCircuitEvaluation = false;
|
||||
bool _saveSettingsOnMacroChange = true;
|
||||
};
|
||||
|
||||
// Dialog for configuring global and individual macro specific settings
|
||||
@@ -53,6 +54,7 @@ private:
|
||||
QCheckBox *_highlightActions;
|
||||
QCheckBox *_newMacroRegisterHotkeys;
|
||||
QCheckBox *_newMacroUseShortCircuitEvaluation;
|
||||
QCheckBox *_saveSettingsOnMacroChange;
|
||||
// Current macro specific settings
|
||||
QCheckBox *_currentMacroRegisterHotkeys;
|
||||
QCheckBox *_currentUseShortCircuitEvaluation;
|
||||
|
||||
@@ -742,7 +742,10 @@ void AdvSceneSwitcher::MacroSelectionChanged()
|
||||
return;
|
||||
}
|
||||
SetEditMacro(*macro);
|
||||
obs_frontend_save();
|
||||
|
||||
if (GetGlobalMacroSettings()._saveSettingsOnMacroChange) {
|
||||
obs_frontend_save();
|
||||
}
|
||||
}
|
||||
|
||||
void AdvSceneSwitcher::HighlightOnChange()
|
||||
|
||||
Reference in New Issue
Block a user