From 13aedfa29456162443dd2757fe75bac47319e745 Mon Sep 17 00:00:00 2001 From: itsmattkc <34096995+itsmattkc@users.noreply.github.com> Date: Mon, 9 May 2022 08:44:36 -0700 Subject: [PATCH] nodes: use flag instead of hidden array in factory --- app/node/factory.cpp | 9 ++------- app/node/factory.h | 2 -- app/node/generator/text/textv1.cpp | 2 ++ app/node/generator/text/textv2.cpp | 2 ++ app/node/group/group.cpp | 1 + app/node/node.h | 3 ++- 6 files changed, 9 insertions(+), 10 deletions(-) diff --git a/app/node/factory.cpp b/app/node/factory.cpp index 042ee3175..6e60b1ccb 100644 --- a/app/node/factory.cpp +++ b/app/node/factory.cpp @@ -65,8 +65,8 @@ #include "time/timeremap/timeremap.h" namespace olive { + QList NodeFactory::library_; -QVector NodeFactory::hidden_; void NodeFactory::Initialize() { @@ -78,10 +78,6 @@ void NodeFactory::Initialize() library_.append(created_node); } - - hidden_.append(kTextGeneratorV1); - hidden_.append(kTextGeneratorV2); - hidden_.append(kGroupNode); } void NodeFactory::Destroy() @@ -107,8 +103,7 @@ Menu *NodeFactory::CreateMenu(QWidget* parent, bool create_none_item, Node::Cate continue; } - if (hidden_.contains(i)) { - // Skip this node + if (n->GetFlags() & Node::kDontShowInCreateMenu) { continue; } diff --git a/app/node/factory.h b/app/node/factory.h index f9531b1e7..05bde90f4 100644 --- a/app/node/factory.h +++ b/app/node/factory.h @@ -100,8 +100,6 @@ public: private: static QList library_; - static QVector hidden_; - }; } diff --git a/app/node/generator/text/textv1.cpp b/app/node/generator/text/textv1.cpp index 9a850d4d4..516c7bd31 100644 --- a/app/node/generator/text/textv1.cpp +++ b/app/node/generator/text/textv1.cpp @@ -53,6 +53,8 @@ TextGeneratorV1::TextGeneratorV1() AddInput(kFontInput, NodeValue::kFont); AddInput(kFontSizeInput, NodeValue::kFloat, 72.0f); + + SetFlags(kDontShowInCreateMenu); } QString TextGeneratorV1::Name() const diff --git a/app/node/generator/text/textv2.cpp b/app/node/generator/text/textv2.cpp index 12eb94b06..788f80bbd 100644 --- a/app/node/generator/text/textv2.cpp +++ b/app/node/generator/text/textv2.cpp @@ -57,6 +57,8 @@ TextGeneratorV2::TextGeneratorV2() SetStandardValue(kColorInput, QVariant::fromValue(Color(1.0f, 1.0f, 1.0))); SetStandardValue(kSizeInput, QVector2D(400, 300)); + + SetFlags(kDontShowInCreateMenu); } QString TextGeneratorV2::Name() const diff --git a/app/node/group/group.cpp b/app/node/group/group.cpp index a3089478d..9c7fe1c6b 100644 --- a/app/node/group/group.cpp +++ b/app/node/group/group.cpp @@ -29,6 +29,7 @@ namespace olive { NodeGroup::NodeGroup() : output_passthrough_(nullptr) { + SetFlags(kDontShowInCreateMenu); } QString NodeGroup::Name() const diff --git a/app/node/node.h b/app/node/node.h index 8850703ae..949cd6890 100644 --- a/app/node/node.h +++ b/app/node/node.h @@ -101,7 +101,8 @@ public: kNone = 0, kDontShowInParamView = 0x1, kVideoEffect = 0x2, - kAudioEffect = 0x4 + kAudioEffect = 0x4, + kDontShowInCreateMenu = 0x8 }; struct ContextPair {