mirror of
https://github.com/AxioDL/PrimeWorldEditor.git
synced 2025-07-03 03:36:10 +00:00
CNodeSelection: Make use of QSignalBlocker
This commit is contained in:
parent
207a378c79
commit
978627d14e
@ -6,6 +6,7 @@
|
||||
#include <Core/Scene/CScriptNode.h>
|
||||
#include <QList>
|
||||
#include <QObject>
|
||||
#include <QSignalBlocker>
|
||||
|
||||
class CNodeSelection : public QObject
|
||||
{
|
||||
@ -61,20 +62,23 @@ public:
|
||||
void ClearAndSelectNode(CSceneNode *pNode)
|
||||
{
|
||||
// Block signals for Clear so that Modified only emits once.
|
||||
blockSignals(true);
|
||||
Clear();
|
||||
blockSignals(false);
|
||||
{
|
||||
[[maybe_unused]] const QSignalBlocker blocker{this};
|
||||
Clear();
|
||||
}
|
||||
|
||||
SelectNode(pNode);
|
||||
}
|
||||
|
||||
void SetSelectedNodes(const QList<CSceneNode*>& rkList)
|
||||
{
|
||||
blockSignals(true);
|
||||
Clear();
|
||||
{
|
||||
[[maybe_unused]] const QSignalBlocker blocker{this};
|
||||
Clear();
|
||||
|
||||
for (CSceneNode *pNode : rkList)
|
||||
SelectNode(pNode);
|
||||
blockSignals(false);
|
||||
for (CSceneNode* pNode : rkList)
|
||||
SelectNode(pNode);
|
||||
}
|
||||
|
||||
mBoundsDirty = true;
|
||||
emit Modified();
|
||||
|
Loading…
x
Reference in New Issue
Block a user