mirror of
https://github.com/WarmUpTill/SceneSwitcher.git
synced 2026-03-21 17:34:57 -05:00
Refactor macro signal handling
Some checks failed
debian-build / build (push) Has been cancelled
Check locale / ubuntu64 (push) Has been cancelled
Push to master / Check Formatting 🔍 (push) Has been cancelled
Push to master / Build Project 🧱 (push) Has been cancelled
Push to master / Create Release 🛫 (push) Has been cancelled
Some checks failed
debian-build / build (push) Has been cancelled
Check locale / ubuntu64 (push) Has been cancelled
Push to master / Check Formatting 🔍 (push) Has been cancelled
Push to master / Build Project 🧱 (push) Has been cancelled
Push to master / Create Release 🛫 (push) Has been cancelled
Also drop support for scene group signals in macro, which hopefully aren't used much anymore
This commit is contained in:
parent
a82662c8f4
commit
5d6a693f36
|
|
@ -154,6 +154,8 @@ target_sources(
|
|||
lib/macro/macro-selection.hpp
|
||||
lib/macro/macro-settings.cpp
|
||||
lib/macro/macro-settings.hpp
|
||||
lib/macro/macro-signals.cpp
|
||||
lib/macro/macro-signals.hpp
|
||||
lib/macro/macro-tab.cpp
|
||||
lib/macro/macro-tree.cpp
|
||||
lib/macro/macro-tree.hpp
|
||||
|
|
|
|||
|
|
@ -118,17 +118,6 @@ public slots:
|
|||
void HighlightOnChange() const;
|
||||
void on_macroSettings_clicked();
|
||||
|
||||
signals:
|
||||
void MacroAdded(const QString &name);
|
||||
void MacroRemoved(const QString &name);
|
||||
void MacroRenamed(const QString &oldName, const QString &newName);
|
||||
void MacroSegmentOrderChanged();
|
||||
void HighlightMacrosChanged(bool value);
|
||||
|
||||
void ConnectionAdded(const QString &);
|
||||
void ConnectionRenamed(const QString &oldName, const QString &newName);
|
||||
void ConnectionRemoved(const QString &);
|
||||
|
||||
private:
|
||||
bool ResolveMacroImportNameConflict(std::shared_ptr<Macro> &);
|
||||
|
||||
|
|
|
|||
|
|
@ -1,9 +1,9 @@
|
|||
#include "macro-action-variable.hpp"
|
||||
#include "advanced-scene-switcher.hpp"
|
||||
#include "json-helpers.hpp"
|
||||
#include "layout-helpers.hpp"
|
||||
#include "math-helpers.hpp"
|
||||
#include "macro-condition-edit.hpp"
|
||||
#include "macro-signals.hpp"
|
||||
#include "math-helpers.hpp"
|
||||
#include "macro.hpp"
|
||||
#include "non-modal-dialog.hpp"
|
||||
#include "source-helpers.hpp"
|
||||
|
|
@ -884,8 +884,8 @@ MacroActionVariableEdit::MacroActionVariableEdit(
|
|||
QWidget::connect(_segmentIdx,
|
||||
SIGNAL(SelectionChanged(const IntVariable &)), this,
|
||||
SLOT(SegmentIndexChanged(const IntVariable &)));
|
||||
QWidget::connect(GetSettingsWindow(),
|
||||
SIGNAL(MacroSegmentOrderChanged()), this,
|
||||
QWidget::connect(MacroSignalManager::Instance(),
|
||||
SIGNAL(SegmentOrderChanged()), this,
|
||||
SLOT(MacroSegmentOrderChanged()));
|
||||
QWidget::connect(
|
||||
_subStringStart,
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
#include "macro-condition-macro.hpp"
|
||||
#include "layout-helpers.hpp"
|
||||
#include "macro-action-edit.hpp"
|
||||
#include "macro-signals.hpp"
|
||||
#include "macro.hpp"
|
||||
|
||||
namespace advss {
|
||||
|
|
@ -321,7 +322,8 @@ MacroConditionMacroEdit::MacroConditionMacroEdit(
|
|||
|
||||
QWidget::connect(_macros, SIGNAL(currentTextChanged(const QString &)),
|
||||
this, SLOT(MacroChanged(const QString &)));
|
||||
QWidget::connect(parent, SIGNAL(MacroRemoved(const QString &)), this,
|
||||
QWidget::connect(MacroSignalManager::Instance(),
|
||||
SIGNAL(Remove(const QString &)), this,
|
||||
SLOT(MacroRemove(const QString &)));
|
||||
QWidget::connect(_types, SIGNAL(currentIndexChanged(int)), this,
|
||||
SLOT(TypeChanged(int)));
|
||||
|
|
|
|||
|
|
@ -7,6 +7,7 @@
|
|||
#include "macro-segment-copy-paste.hpp"
|
||||
#include "macro-segment-list.hpp"
|
||||
#include "macro-settings.hpp"
|
||||
#include "macro-signals.hpp"
|
||||
#include "math-helpers.hpp"
|
||||
#include "name-dialog.hpp"
|
||||
#include "path-helpers.hpp"
|
||||
|
|
@ -108,6 +109,16 @@ MacroEdit::MacroEdit(QWidget *parent, QStringList helpMsg)
|
|||
connect(ui->conditionsList, &QWidget::customContextMenuRequested, this,
|
||||
&MacroEdit::ShowMacroConditionsContextMenu);
|
||||
|
||||
connect(this, &MacroEdit::MacroAdded, MacroSignalManager::Instance(),
|
||||
&MacroSignalManager::Add);
|
||||
connect(this, &MacroEdit::MacroRemoved, MacroSignalManager::Instance(),
|
||||
&MacroSignalManager::Remove);
|
||||
connect(this, &MacroEdit::MacroRenamed, MacroSignalManager::Instance(),
|
||||
&MacroSignalManager::Rename);
|
||||
connect(this, &MacroEdit::MacroSegmentOrderChanged,
|
||||
MacroSignalManager::Instance(),
|
||||
&MacroSignalManager::SegmentOrderChanged);
|
||||
|
||||
// Set action and condition toolbars
|
||||
const std::string pathPrefix =
|
||||
GetDataFilePath("res/images/" + GetThemeTypeName());
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
#include "macro-list.hpp"
|
||||
#include "macro-helpers.hpp"
|
||||
#include "macro-selection.hpp"
|
||||
#include "macro-signals.hpp"
|
||||
#include "obs-module-helper.hpp"
|
||||
#include "ui-helpers.hpp"
|
||||
|
||||
|
|
@ -10,12 +11,11 @@ MacroList::MacroList(QWidget *parent, bool allowDuplicates, bool reorder)
|
|||
: ListEditor(parent, reorder),
|
||||
_allowDuplicates(allowDuplicates)
|
||||
{
|
||||
QWidget::connect(GetSettingsWindow(),
|
||||
SIGNAL(MacroRenamed(const QString &, const QString &)),
|
||||
this,
|
||||
QWidget::connect(MacroSignalManager::Instance(),
|
||||
SIGNAL(Rename(const QString &, const QString &)), this,
|
||||
SLOT(MacroRename(const QString &, const QString &)));
|
||||
QWidget::connect(GetSettingsWindow(),
|
||||
SIGNAL(MacroRemoved(const QString &)), this,
|
||||
QWidget::connect(MacroSignalManager::Instance(),
|
||||
SIGNAL(Remove(const QString &)), this,
|
||||
SLOT(MacroRemove(const QString &)));
|
||||
UpdateListSize();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@
|
|||
#include "macro-condition-factory.hpp"
|
||||
#include "macro-helpers.hpp"
|
||||
#include "macro-segment.hpp"
|
||||
#include "macro-signals.hpp"
|
||||
#include "obs-module-helper.hpp"
|
||||
#include "plugin-state-helpers.hpp"
|
||||
#include "ui-helpers.hpp"
|
||||
|
|
@ -31,8 +32,8 @@ MacroSegmentSelection::MacroSegmentSelection(QWidget *parent, Type type,
|
|||
_index,
|
||||
SIGNAL(NumberVariableChanged(const NumberVariable<int> &)),
|
||||
this, SLOT(IndexChanged(const NumberVariable<int> &)));
|
||||
QWidget::connect(GetSettingsWindow(),
|
||||
SIGNAL(MacroSegmentOrderChanged()), this,
|
||||
QWidget::connect(MacroSignalManager::Instance(),
|
||||
SIGNAL(SegmentOrderChanged()), this,
|
||||
SLOT(MacroSegmentOrderChanged()));
|
||||
|
||||
auto layout = new QHBoxLayout;
|
||||
|
|
|
|||
|
|
@ -256,28 +256,6 @@ MacroSegmentEdit::MacroSegmentEdit(QWidget *parent)
|
|||
|
||||
QWidget::connect(_section, &Section::Collapsed, this,
|
||||
&MacroSegmentEdit::Collapsed);
|
||||
// Macro signals
|
||||
QWidget::connect(GetSettingsWindow(),
|
||||
SIGNAL(MacroAdded(const QString &)), this,
|
||||
SIGNAL(MacroAdded(const QString &)));
|
||||
QWidget::connect(GetSettingsWindow(),
|
||||
SIGNAL(MacroRemoved(const QString &)), this,
|
||||
SIGNAL(MacroRemoved(const QString &)));
|
||||
QWidget::connect(
|
||||
GetSettingsWindow(),
|
||||
SIGNAL(MacroRenamed(const QString &, const QString &)), this,
|
||||
SIGNAL(MacroRenamed(const QString &, const QString &)));
|
||||
// Scene group signals
|
||||
QWidget::connect(GetSettingsWindow(),
|
||||
SIGNAL(SceneGroupAdded(const QString &)), this,
|
||||
SIGNAL(SceneGroupAdded(const QString &)));
|
||||
QWidget::connect(GetSettingsWindow(),
|
||||
SIGNAL(SceneGroupRemoved(const QString &)), this,
|
||||
SIGNAL(SceneGroupRemoved(const QString &)));
|
||||
QWidget::connect(
|
||||
GetSettingsWindow(),
|
||||
SIGNAL(SceneGroupRenamed(const QString &, const QString)), this,
|
||||
SIGNAL(SceneGroupRenamed(const QString &, const QString)));
|
||||
|
||||
auto frameLayout = new QGridLayout;
|
||||
frameLayout->setContentsMargins(0, 0, 0, 0);
|
||||
|
|
|
|||
|
|
@ -113,13 +113,6 @@ public slots:
|
|||
|
||||
protected slots:
|
||||
void Collapsed(bool) const;
|
||||
signals:
|
||||
void MacroAdded(const QString &name);
|
||||
void MacroRemoved(const QString &name);
|
||||
void MacroRenamed(const QString &oldName, const QString &newName);
|
||||
void SceneGroupAdded(const QString &name);
|
||||
void SceneGroupRemoved(const QString &name);
|
||||
void SceneGroupRenamed(const QString &oldName, const QString newName);
|
||||
|
||||
protected:
|
||||
void SetDisableEffect(bool);
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@
|
|||
#include "advanced-scene-switcher.hpp"
|
||||
#include "layout-helpers.hpp"
|
||||
#include "macro.hpp"
|
||||
#include "macro-signals.hpp"
|
||||
#include "ui-helpers.hpp"
|
||||
|
||||
#include <QDialogButtonBox>
|
||||
|
|
@ -20,15 +21,14 @@ MacroSelection::MacroSelection(QWidget *parent)
|
|||
addItem(QString::fromStdString(m->Name()));
|
||||
}
|
||||
|
||||
QWidget::connect(GetSettingsWindow(),
|
||||
SIGNAL(MacroAdded(const QString &)), this,
|
||||
QWidget::connect(MacroSignalManager::Instance(),
|
||||
SIGNAL(Add(const QString &)), this,
|
||||
SLOT(MacroAdd(const QString &)));
|
||||
QWidget::connect(GetSettingsWindow(),
|
||||
SIGNAL(MacroRemoved(const QString &)), this,
|
||||
QWidget::connect(MacroSignalManager::Instance(),
|
||||
SIGNAL(Remove(const QString &)), this,
|
||||
SLOT(MacroRemove(const QString &)));
|
||||
QWidget::connect(GetSettingsWindow(),
|
||||
SIGNAL(MacroRenamed(const QString &, const QString &)),
|
||||
this,
|
||||
QWidget::connect(MacroSignalManager::Instance(),
|
||||
SIGNAL(Rename(const QString &, const QString &)), this,
|
||||
SLOT(MacroRename(const QString &, const QString &)));
|
||||
}
|
||||
|
||||
|
|
|
|||
13
lib/macro/macro-signals.cpp
Normal file
13
lib/macro/macro-signals.cpp
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
#include "macro-signals.hpp"
|
||||
|
||||
namespace advss {
|
||||
|
||||
MacroSignalManager::MacroSignalManager(QObject *parent) : QObject(parent) {}
|
||||
|
||||
MacroSignalManager *MacroSignalManager::Instance()
|
||||
{
|
||||
static MacroSignalManager manager;
|
||||
return &manager;
|
||||
}
|
||||
|
||||
} // namespace advss
|
||||
26
lib/macro/macro-signals.hpp
Normal file
26
lib/macro/macro-signals.hpp
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
|
||||
#pragma once
|
||||
#include "export-symbol-helper.hpp"
|
||||
|
||||
#include <QObject>
|
||||
#include <QString>
|
||||
|
||||
namespace advss {
|
||||
|
||||
class ADVSS_EXPORT MacroSignalManager : public QObject {
|
||||
Q_OBJECT
|
||||
public:
|
||||
static MacroSignalManager *Instance();
|
||||
|
||||
signals:
|
||||
void Rename(const QString &, const QString &);
|
||||
void Add(const QString &);
|
||||
void Remove(const QString &);
|
||||
void SegmentOrderChanged();
|
||||
void HighlightChanged(bool value);
|
||||
|
||||
private:
|
||||
MacroSignalManager(QObject *parent = nullptr);
|
||||
};
|
||||
|
||||
} // namespace advss
|
||||
|
|
@ -4,6 +4,7 @@
|
|||
#include "macro-condition-edit.hpp"
|
||||
#include "macro-export-import-dialog.hpp"
|
||||
#include "macro-settings.hpp"
|
||||
#include "macro-signals.hpp"
|
||||
#include "macro-tree.hpp"
|
||||
#include "macro.hpp"
|
||||
#include "math-helpers.hpp"
|
||||
|
|
@ -115,7 +116,8 @@ void AdvSceneSwitcher::on_macroAdd_clicked()
|
|||
auto selectedMacro = GetSelectedMacro();
|
||||
if (!selectedMacro) {
|
||||
ui->macros->Add(newMacro);
|
||||
emit MacroAdded(QString::fromStdString(name));
|
||||
MacroSignalManager::Instance()->Add(
|
||||
QString::fromStdString(name));
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -123,20 +125,22 @@ void AdvSceneSwitcher::on_macroAdd_clicked()
|
|||
ui->macros->ExpandGroup(selectedMacro);
|
||||
Macro::PrepareMoveToGroup(selectedMacro, newMacro);
|
||||
ui->macros->AddToGroup(newMacro, selectedMacro);
|
||||
emit MacroAdded(QString::fromStdString(name));
|
||||
MacroSignalManager::Instance()->Add(
|
||||
QString::fromStdString(name));
|
||||
return;
|
||||
}
|
||||
|
||||
auto selectedMacroGroup = selectedMacro->Parent();
|
||||
if (!selectedMacroGroup) {
|
||||
ui->macros->Add(newMacro, selectedMacro);
|
||||
emit MacroAdded(QString::fromStdString(name));
|
||||
MacroSignalManager::Instance()->Add(
|
||||
QString::fromStdString(name));
|
||||
return;
|
||||
}
|
||||
|
||||
Macro::PrepareMoveToGroup(selectedMacroGroup, newMacro);
|
||||
ui->macros->Add(newMacro, selectedMacro);
|
||||
emit MacroAdded(QString::fromStdString(name));
|
||||
MacroSignalManager::Instance()->Add(QString::fromStdString(name));
|
||||
}
|
||||
|
||||
static void addGroupSubitems(std::vector<std::shared_ptr<Macro>> ¯os,
|
||||
|
|
@ -205,7 +209,7 @@ void AdvSceneSwitcher::RemoveMacro(std::shared_ptr<Macro> ¯o)
|
|||
ui->macros->Remove(macro);
|
||||
MacroSegmentList::SetCachingEnabled(!switcher->disableMacroWidgetCache);
|
||||
|
||||
emit MacroRemoved(name);
|
||||
MacroSignalManager::Instance()->Remove(name);
|
||||
}
|
||||
|
||||
void AdvSceneSwitcher::RemoveSelectedMacros()
|
||||
|
|
@ -251,7 +255,8 @@ void AdvSceneSwitcher::RenameMacro(std::shared_ptr<Macro> ¯o,
|
|||
auto lock = LockContext();
|
||||
macro->SetName(name.toStdString());
|
||||
}
|
||||
emit MacroRenamed(oldName, name);
|
||||
|
||||
MacroSignalManager::Instance()->Rename(oldName, name);
|
||||
}
|
||||
|
||||
void AdvSceneSwitcher::on_macroRemove_clicked()
|
||||
|
|
@ -568,7 +573,8 @@ void AdvSceneSwitcher::on_macroSettings_clicked()
|
|||
}
|
||||
|
||||
GetGlobalMacroSettings() = prop;
|
||||
emit HighlightMacrosChanged(prop._highlightExecuted);
|
||||
MacroSignalManager::Instance()->HighlightChanged(
|
||||
prop._highlightExecuted);
|
||||
|
||||
// Reset highlights to avoid all macro segments being highlighted, which
|
||||
// would have been highlighted at least once since the moment the
|
||||
|
|
@ -751,7 +757,7 @@ void AdvSceneSwitcher::CopyMacro()
|
|||
|
||||
ui->macros->Add(newMacro, macro);
|
||||
disableAddButtonHighlight();
|
||||
emit MacroAdded(QString::fromStdString(name));
|
||||
MacroSignalManager::Instance()->Add(QString::fromStdString(name));
|
||||
}
|
||||
|
||||
bool MacroTabIsInFocus()
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
#include "macro-tree.hpp"
|
||||
#include "macro.hpp"
|
||||
#include "macro-signals.hpp"
|
||||
#include "path-helpers.hpp"
|
||||
#include "sync-helpers.hpp"
|
||||
#include "ui-helpers.hpp"
|
||||
|
|
@ -79,10 +80,10 @@ MacroTreeItem::MacroTreeItem(MacroTree *tree, std::shared_ptr<Macro> macroItem,
|
|||
_macro->SetPaused(!val);
|
||||
};
|
||||
connect(_running, &QAbstractButton::clicked, setRunning);
|
||||
connect(_tree->window(), SIGNAL(HighlightMacrosChanged(bool)), this,
|
||||
SLOT(EnableHighlight(bool)));
|
||||
connect(_tree->window(),
|
||||
SIGNAL(MacroRenamed(const QString &, const QString &)), this,
|
||||
connect(MacroSignalManager::Instance(), SIGNAL(HighlightChanged(bool)),
|
||||
this, SLOT(EnableHighlight(bool)));
|
||||
connect(MacroSignalManager::Instance(),
|
||||
SIGNAL(Rename(const QString &, const QString &)), this,
|
||||
SLOT(MacroRenamed(const QString &, const QString &)));
|
||||
connect(&_timer, SIGNAL(timeout()), this, SLOT(HighlightIfExecuted()));
|
||||
connect(&_timer, SIGNAL(timeout()), this, SLOT(UpdatePaused()));
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
#include "plugin-state-helpers.hpp"
|
||||
#include "advanced-scene-switcher.hpp"
|
||||
#include "macro-settings.hpp"
|
||||
#include "macro-signals.hpp"
|
||||
#include "switcher-data.hpp"
|
||||
|
||||
namespace advss {
|
||||
|
|
@ -294,7 +294,7 @@ void SetMacroHighlightingEnabled(bool enable)
|
|||
if (!SettingsWindowIsOpened()) {
|
||||
return;
|
||||
}
|
||||
AdvSceneSwitcher::window->HighlightMacrosChanged(
|
||||
MacroSignalManager::Instance()->HighlightChanged(
|
||||
GetGlobalMacroSettings()._highlightExecuted);
|
||||
},
|
||||
nullptr, false);
|
||||
|
|
|
|||
|
|
@ -399,22 +399,6 @@ SceneSelectionWidget::SceneSelectionWidget(QWidget *parent, bool variables,
|
|||
QWidget::connect(_canvas, SIGNAL(CanvasChanged(const OBSWeakCanvas &)),
|
||||
this, SIGNAL(CanvasChanged(const OBSWeakCanvas &)));
|
||||
|
||||
auto settingsWindow = GetSettingsWindow();
|
||||
if (settingsWindow) {
|
||||
QWidget::connect(settingsWindow,
|
||||
SIGNAL(SceneGroupAdded(const QString &)), this,
|
||||
SLOT(ItemAdd(const QString &)));
|
||||
QWidget::connect(settingsWindow,
|
||||
SIGNAL(SceneGroupRemoved(const QString &)),
|
||||
this, SLOT(ItemRemove(const QString &)));
|
||||
QWidget::connect(
|
||||
settingsWindow,
|
||||
SIGNAL(SceneGroupRenamed(const QString &,
|
||||
const QString &)),
|
||||
this,
|
||||
SLOT(ItemRename(const QString &, const QString &)));
|
||||
}
|
||||
|
||||
// Variables
|
||||
QWidget::connect(VariableSignalManager::Instance(),
|
||||
SIGNAL(Add(const QString &)), this,
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
#include "macro-action-random.hpp"
|
||||
#include "layout-helpers.hpp"
|
||||
#include "macro-helpers.hpp"
|
||||
#include "macro-signals.hpp"
|
||||
#include "ui-helpers.hpp"
|
||||
|
||||
#include <cstdlib>
|
||||
|
|
@ -106,8 +107,8 @@ MacroActionRandomEdit::MacroActionRandomEdit(
|
|||
QWidget::connect(_list, SIGNAL(Removed(int)), this, SLOT(Remove(int)));
|
||||
QWidget::connect(_list, SIGNAL(Replaced(int, const std::string &)),
|
||||
this, SLOT(Replace(int, const std::string &)));
|
||||
QWidget::connect(GetSettingsWindow(),
|
||||
SIGNAL(MacroRemoved(const QString &)), this,
|
||||
QWidget::connect(MacroSignalManager::Instance(),
|
||||
SIGNAL(Remove(const QString &)), this,
|
||||
SLOT(MacroRemove(const QString &)));
|
||||
QWidget::connect(_allowRepeat, SIGNAL(stateChanged(int)), this,
|
||||
SLOT(AllowRepeatChanged(int)));
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
#include "macro-action-sequence.hpp"
|
||||
#include "layout-helpers.hpp"
|
||||
#include "macro-helpers.hpp"
|
||||
#include "macro-signals.hpp"
|
||||
|
||||
namespace advss {
|
||||
|
||||
|
|
@ -212,7 +213,8 @@ MacroActionSequenceEdit::MacroActionSequenceEdit(
|
|||
SLOT(ContinueFromClicked()));
|
||||
QWidget::connect(_restart, SIGNAL(stateChanged(int)), this,
|
||||
SLOT(RestartChanged(int)));
|
||||
QWidget::connect(this, SIGNAL(MacroRemoved(const QString &)), this,
|
||||
QWidget::connect(MacroSignalManager::Instance(),
|
||||
SIGNAL(Remove(const QString &)), this,
|
||||
SLOT(MacroRemove(const QString &)));
|
||||
QWidget::connect(_actions, SIGNAL(currentIndexChanged(int)), this,
|
||||
SLOT(ActionChanged(int)));
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user