nodes: implemented short name

Nodes can provide "short" names for use in the node graph, distinct from their
full names shown everywhere else.
This commit is contained in:
itsmattkc
2020-04-29 14:33:57 +10:00
parent ff1a470aa0
commit 999e841bc7
11 changed files with 45 additions and 1 deletions
@@ -40,6 +40,11 @@ QString ExternalTransition::Name() const
return meta_.Name();
}
QString ExternalTransition::ShortName() const
{
return meta_.ShortName();
}
QString ExternalTransition::id() const
{
return meta_.id();
@@ -35,6 +35,7 @@ public:
virtual Node* copy() const override;
virtual QString Name() const override;
virtual QString ShortName() const override;
virtual QString id() const override;
virtual QString Category() const override;
virtual QString Description() const override;
+5
View File
@@ -42,6 +42,11 @@ QString ExternalNode::Name() const
return meta_.Name();
}
QString ExternalNode::ShortName() const
{
return meta_.ShortName();
}
QString ExternalNode::id() const
{
return meta_.id();
+1
View File
@@ -39,6 +39,7 @@ public:
virtual Node* copy() const override;
virtual QString Name() const override;
virtual QString ShortName() const override;
virtual QString id() const override;
virtual QString Category() const override;
virtual QString Description() const override;
+5
View File
@@ -59,6 +59,11 @@ QString MatrixGenerator::Name() const
return tr("Orthographic Matrix");
}
QString MatrixGenerator::ShortName() const
{
return tr("Ortho");
}
QString MatrixGenerator::id() const
{
return QStringLiteral("org.olivevideoeditor.Olive.transform");
+1
View File
@@ -34,6 +34,7 @@ public:
virtual Node* copy() const override;
virtual QString Name() const override;
virtual QString ShortName() const override;
virtual QString id() const override;
virtual QString Category() const override;
virtual QString Description() const override;
+12
View File
@@ -57,6 +57,15 @@ QString NodeMetaReader::Name() const
return GetStringForCurrentLanguage(&names_);
}
QString NodeMetaReader::ShortName() const
{
if (short_names_.isEmpty()) {
return Name();
} else {
return GetStringForCurrentLanguage(&short_names_);
}
}
const QString &NodeMetaReader::id() const
{
return id_;
@@ -173,6 +182,9 @@ void NodeMetaReader::XMLReadEffect(QXmlStreamReader* reader)
if (reader->name() == QStringLiteral("name")) {
// Pick up name
XMLReadLanguageString(reader, &names_);
} else if (reader->name() == QStringLiteral("shortnames")) {
// Pick up short name
XMLReadLanguageString(reader, &short_names_);
} else if (reader->name() == QStringLiteral("category")) {
// Pick up category
XMLReadLanguageString(reader, &categories_);
+2
View File
@@ -35,6 +35,7 @@ public:
NodeMetaReader(const QString& xml_meta_filename);
QString Name() const;
QString ShortName() const;
const QString& id() const;
QString Category() const;
QString Description() const;
@@ -67,6 +68,7 @@ private:
QString xml_filename_;
LanguageMap names_;
LanguageMap short_names_;
LanguageMap descriptions_;
LanguageMap categories_;
QMap<QString, LanguageMap > param_names_;
+5
View File
@@ -116,6 +116,11 @@ void Node::Save(QXmlStreamWriter *writer, const QString &custom_name) const
writer->writeEndElement(); // node
}
QString Node::ShortName() const
{
return Name();
}
QString Node::Category() const
{
// Return an empty category for any nodes that don't use one
+7
View File
@@ -91,6 +91,13 @@ public:
*/
virtual QString Name() const = 0;
/**
* @brief Returns a shortened name of this node if applicable
*
* Defaults to returning Name() but can be overridden.
*/
virtual QString ShortName() const;
/**
* @brief Return the unique identifier of the node
*
+1 -1
View File
@@ -263,7 +263,7 @@ void NodeViewItem::paint(QPainter *painter, const QStyleOptionGraphicsItem *opti
painter->setPen(app_pal.color(QPalette::Text));
// Draw the text in a rect (the rect is sized around text already in the constructor)
painter->drawText(title_bar_rect_, Qt::AlignCenter, node_->Name());
painter->drawText(title_bar_rect_, Qt::AlignCenter, node_->ShortName());
}