aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHenning Gruendl <henning.gruendl@qt.io>2021-12-07 10:40:09 +0100
committerHenning Gründl <henning.gruendl@qt.io>2021-12-08 14:18:53 +0000
commit1996c4c8c8f52dcd365d46839404f406baf4f25b (patch)
treef0e76cd839d7e4030efea672d0b739fe6aa18a70
parent5d75f1900b9e1da685cd45ca4cc597994e8f3f8c (diff)
QmlDesigner: Fix connection editor functions
Fix the connection editor not picking up all the slots of a model node due to setting a wrong expression in the QmlJS::Document. Change-Id: I2d28e1e779c5293991397ebc2a061c35234d9cae Reviewed-by: <github-actions-qt-creator@cristianadam.eu> Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
-rw-r--r--src/plugins/qmldesigner/components/bindingeditor/actioneditor.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/plugins/qmldesigner/components/bindingeditor/actioneditor.cpp b/src/plugins/qmldesigner/components/bindingeditor/actioneditor.cpp
index 1f2a8224d3..c88d072618 100644
--- a/src/plugins/qmldesigner/components/bindingeditor/actioneditor.cpp
+++ b/src/plugins/qmldesigner/components/bindingeditor/actioneditor.cpp
@@ -226,9 +226,12 @@ void ActionEditor::prepareConnections()
}
for (const auto &slotName : modelNode.metaInfo().slotNames()) {
+ if (slotName.startsWith("q_") || slotName.startsWith("_q_"))
+ continue;
+
QmlJS::Document::MutablePtr newDoc = QmlJS::Document::create(
QLatin1String("<expression>"), QmlJS::Dialect::JavaScript);
- newDoc->setSource(QLatin1String(slotName));
+ newDoc->setSource(modelNode.id() + "." + QLatin1String(slotName));
newDoc->parseExpression();
QmlJS::AST::ExpressionNode *expression = newDoc->expression();