mirror of
https://github.com/WarmUpTill/SceneSwitcher.git
synced 2026-07-01 00:41:07 -05:00
Add option to remove Run or Pause button from macro dock
This commit is contained in:
parent
e194fc5ee4
commit
f3416c5b1d
|
|
@ -102,6 +102,8 @@ AdvSceneSwitcher.macroTab.highlightPerformedActions="Highlight recently performe
|
|||
AdvSceneSwitcher.macroTab.newMacroRegisterHotkey="Register hotkeys to control the pause state of new macros"
|
||||
AdvSceneSwitcher.macroTab.currentDisableHotkeys="Register hotkeys to control the pause state of selected macro"
|
||||
AdvSceneSwitcher.macroTab.currentRegisterDock="Register dock widget to control the pause state of selected macro or run it manually"
|
||||
AdvSceneSwitcher.macroTab.currentDockAddRunButton="Add button to run the macro"
|
||||
AdvSceneSwitcher.macroTab.currentDockAddPauseButton="Add button to pause or unpause the macro"
|
||||
|
||||
AdvSceneSwitcher.macroDock.pause="Pause"
|
||||
AdvSceneSwitcher.macroDock.unpause="Unpause"
|
||||
|
|
|
|||
|
|
@ -14,6 +14,8 @@ MacroDock::MacroDock(Macro *m, QWidget *parent)
|
|||
{
|
||||
if (_macro) {
|
||||
setWindowTitle(QString::fromStdString(_macro->Name()));
|
||||
_run->setVisible(_macro->DockHasRunButton());
|
||||
_pauseToggle->setVisible(_macro->DockHasPauseButton());
|
||||
} else {
|
||||
setWindowTitle("<deleted macro>");
|
||||
}
|
||||
|
|
@ -49,6 +51,16 @@ void MacroDock::SetName(const QString &name)
|
|||
setWindowTitle(name);
|
||||
}
|
||||
|
||||
void MacroDock::ShowRunButton(bool value)
|
||||
{
|
||||
_run->setVisible(value);
|
||||
}
|
||||
|
||||
void MacroDock::ShowPauseButton(bool value)
|
||||
{
|
||||
_pauseToggle->setVisible(value);
|
||||
}
|
||||
|
||||
void MacroDock::RunClicked()
|
||||
{
|
||||
if (!_macro) {
|
||||
|
|
|
|||
|
|
@ -13,6 +13,8 @@ class MacroDock : public OBSDock {
|
|||
public:
|
||||
MacroDock(Macro *, QWidget *parent);
|
||||
void SetName(const QString &);
|
||||
void ShowRunButton(bool);
|
||||
void ShowPauseButton(bool);
|
||||
|
||||
private slots:
|
||||
void RunClicked();
|
||||
|
|
|
|||
|
|
@ -43,7 +43,11 @@ MacroPropertiesDialog::MacroPropertiesDialog(QWidget *parent,
|
|||
_currentMacroRegisterHotkeys(new QCheckBox(obs_module_text(
|
||||
"AdvSceneSwitcher.macroTab.currentDisableHotkeys"))),
|
||||
_currentMacroRegisterDock(new QCheckBox(obs_module_text(
|
||||
"AdvSceneSwitcher.macroTab.currentRegisterDock")))
|
||||
"AdvSceneSwitcher.macroTab.currentRegisterDock"))),
|
||||
_currentMacroDockAddRunButton(new QCheckBox(obs_module_text(
|
||||
"AdvSceneSwitcher.macroTab.currentDockAddRunButton"))),
|
||||
_currentMacroDockAddPauseButton(new QCheckBox(obs_module_text(
|
||||
"AdvSceneSwitcher.macroTab.currentDockAddPauseButton")))
|
||||
{
|
||||
setModal(true);
|
||||
setWindowModality(Qt::WindowModality::WindowModal);
|
||||
|
|
@ -70,6 +74,8 @@ MacroPropertiesDialog::MacroPropertiesDialog(QWidget *parent,
|
|||
obs_module_text("AdvSceneSwitcher.macroTab.dockSettings"));
|
||||
QVBoxLayout *dockLayout = new QVBoxLayout;
|
||||
dockLayout->addWidget(_currentMacroRegisterDock);
|
||||
dockLayout->addWidget(_currentMacroDockAddRunButton);
|
||||
dockLayout->addWidget(_currentMacroDockAddPauseButton);
|
||||
dockOptions->setLayout(dockLayout);
|
||||
|
||||
QDialogButtonBox *buttonbox = new QDialogButtonBox(
|
||||
|
|
@ -78,6 +84,9 @@ MacroPropertiesDialog::MacroPropertiesDialog(QWidget *parent,
|
|||
connect(buttonbox, &QDialogButtonBox::accepted, this, &QDialog::accept);
|
||||
connect(buttonbox, &QDialogButtonBox::rejected, this, &QDialog::reject);
|
||||
|
||||
connect(_currentMacroRegisterDock, &QCheckBox::stateChanged, this,
|
||||
&MacroPropertiesDialog::DockEnableChanged);
|
||||
|
||||
QVBoxLayout *layout = new QVBoxLayout;
|
||||
layout->addWidget(highlightOptions);
|
||||
layout->addWidget(hotkeyOptions);
|
||||
|
|
@ -89,14 +98,25 @@ MacroPropertiesDialog::MacroPropertiesDialog(QWidget *parent,
|
|||
_conditions->setChecked(prop._highlightConditions);
|
||||
_actions->setChecked(prop._highlightActions);
|
||||
_newMacroRegisterHotkeys->setChecked(prop._newMacroRegisterHotkeys);
|
||||
if (macro && !macro->IsGroup()) {
|
||||
_currentMacroRegisterHotkeys->setChecked(
|
||||
macro->PauseHotkeysEnabled());
|
||||
_currentMacroRegisterDock->setChecked(macro->DockEnabled());
|
||||
} else {
|
||||
if (!macro || macro->IsGroup()) {
|
||||
hotkeyOptions->hide();
|
||||
dockOptions->hide();
|
||||
return;
|
||||
}
|
||||
_currentMacroRegisterHotkeys->setChecked(macro->PauseHotkeysEnabled());
|
||||
const bool dockEnabled = macro->DockEnabled();
|
||||
_currentMacroRegisterDock->setChecked(dockEnabled);
|
||||
_currentMacroDockAddRunButton->setChecked(macro->DockHasRunButton());
|
||||
_currentMacroDockAddPauseButton->setChecked(
|
||||
macro->DockHasPauseButton());
|
||||
_currentMacroDockAddRunButton->setVisible(dockEnabled);
|
||||
_currentMacroDockAddPauseButton->setVisible(dockEnabled);
|
||||
}
|
||||
|
||||
void MacroPropertiesDialog::DockEnableChanged(int enabled)
|
||||
{
|
||||
_currentMacroDockAddRunButton->setVisible(enabled);
|
||||
_currentMacroDockAddPauseButton->setVisible(enabled);
|
||||
}
|
||||
|
||||
bool MacroPropertiesDialog::AskForSettings(QWidget *parent,
|
||||
|
|
@ -120,5 +140,9 @@ bool MacroPropertiesDialog::AskForSettings(QWidget *parent,
|
|||
macro->EnablePauseHotkeys(
|
||||
dialog._currentMacroRegisterHotkeys->isChecked());
|
||||
macro->EnableDock(dialog._currentMacroRegisterDock->isChecked());
|
||||
macro->SetDockHasRunButton(
|
||||
dialog._currentMacroDockAddRunButton->isChecked());
|
||||
macro->SetDockHasPauseButton(
|
||||
dialog._currentMacroDockAddPauseButton->isChecked());
|
||||
return true;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -26,6 +26,8 @@ public:
|
|||
Macro *macro);
|
||||
static bool AskForSettings(QWidget *parent, MacroProperties &userInput,
|
||||
Macro *macro);
|
||||
private slots:
|
||||
void DockEnableChanged(int);
|
||||
|
||||
private:
|
||||
QCheckBox *_executed;
|
||||
|
|
@ -35,4 +37,6 @@ private:
|
|||
// Current macro specific settings
|
||||
QCheckBox *_currentMacroRegisterHotkeys;
|
||||
QCheckBox *_currentMacroRegisterDock;
|
||||
QCheckBox *_currentMacroDockAddRunButton;
|
||||
QCheckBox *_currentMacroDockAddPauseButton;
|
||||
};
|
||||
|
|
|
|||
|
|
@ -346,6 +346,8 @@ bool Macro::Save(obs_data_t *obj) const
|
|||
if (_registerDock) {
|
||||
SetDockWidgetName();
|
||||
}
|
||||
obs_data_set_bool(obj, "dockHasRunButton", _dockHasRunButton);
|
||||
obs_data_set_bool(obj, "dockHasPauseButton", _dockHasPauseButton);
|
||||
|
||||
obs_data_set_bool(obj, "registerHotkeys", _registerHotkeys);
|
||||
obs_data_array_t *pauseHotkey = obs_hotkey_save(_pauseHotkey);
|
||||
|
|
@ -436,6 +438,8 @@ bool Macro::Load(obs_data_t *obj)
|
|||
return true;
|
||||
}
|
||||
|
||||
_dockHasRunButton = obs_data_get_bool(obj, "dockHasRunButton");
|
||||
_dockHasPauseButton = obs_data_get_bool(obj, "dockHasPauseButton");
|
||||
EnableDock(obs_data_get_bool(obj, "registerDock"));
|
||||
|
||||
obs_data_set_default_bool(obj, "registerHotkeys", true);
|
||||
|
|
@ -598,6 +602,24 @@ void Macro::EnableDock(bool value)
|
|||
_registerDock = value;
|
||||
}
|
||||
|
||||
void Macro::SetDockHasRunButton(bool value)
|
||||
{
|
||||
_dockHasRunButton = value;
|
||||
if (!_dock) {
|
||||
return;
|
||||
}
|
||||
_dock->ShowRunButton(value);
|
||||
}
|
||||
|
||||
void Macro::SetDockHasPauseButton(bool value)
|
||||
{
|
||||
_dockHasPauseButton = value;
|
||||
if (!_dock) {
|
||||
return;
|
||||
}
|
||||
_dock->ShowPauseButton(value);
|
||||
}
|
||||
|
||||
void Macro::RemoveDock()
|
||||
{
|
||||
if (_dock) {
|
||||
|
|
|
|||
|
|
@ -82,6 +82,10 @@ public:
|
|||
|
||||
void EnableDock(bool);
|
||||
bool DockEnabled() { return _registerDock; }
|
||||
void SetDockHasRunButton(bool value);
|
||||
bool DockHasRunButton() { return _dockHasRunButton; }
|
||||
void SetDockHasPauseButton(bool value);
|
||||
bool DockHasPauseButton() { return _dockHasPauseButton; }
|
||||
|
||||
void ResetTimers();
|
||||
|
||||
|
|
@ -119,6 +123,8 @@ private:
|
|||
bool _wasExecutedRecently = false;
|
||||
bool _onChangeTriggered = false;
|
||||
bool _registerDock = false;
|
||||
bool _dockHasRunButton = true;
|
||||
bool _dockHasPauseButton = true;
|
||||
MacroDock *_dock = nullptr;
|
||||
QAction *_dockAction = nullptr;
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user