aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDominik Holland <dominik.holland@pelagicore.com>2018-02-02 13:48:46 +0100
committerAntti Hölttä <ahoelttae@luxoft.com>2018-02-06 14:14:52 +0000
commitb049b68c04239be0b404a511fcc07491b40a72b3 (patch)
treea070d93e9736a07576be0b12312e42533d10f7bc
parentd5b73cba71ac25e59a3d7d77dec6cd4796d742c9 (diff)
ivigenerator: Fix a problem generating signals without arguments
Also added more signals to the generation autotest Change-Id: Iccbd16741ce8a4ecdbf69b04c0bd0b7357a652c2 Reviewed-by: Antti Hölttä <ahoelttae@luxoft.com>
-rw-r--r--src/tools/ivigenerator/templates_frontend/interface.cpp.tpl2
-rw-r--r--src/tools/ivigenerator/templates_frontend/interface_p.h.tpl2
-rw-r--r--tests/auto/core/ivigenerator/org.example.echo.qface5
3 files changed, 7 insertions, 2 deletions
diff --git a/src/tools/ivigenerator/templates_frontend/interface.cpp.tpl b/src/tools/ivigenerator/templates_frontend/interface.cpp.tpl
index 705659a..9395906 100644
--- a/src/tools/ivigenerator/templates_frontend/interface.cpp.tpl
+++ b/src/tools/ivigenerator/templates_frontend/interface.cpp.tpl
@@ -178,7 +178,7 @@ void {{class}}Private::on{{property|upperfirst}}Changed({{property|parameter_typ
{% for signal in interface.signals %}
/*! \internal */
{% if interface.tags.config.zoned %}
-void {{class}}Private::on{{signal|upperfirst}}({{signal.parameters|map('parameter_type')|join(', ')}}, const QString &zone)
+void {{class}}Private::on{{signal|upperfirst}}({{signal.parameters|map('parameter_type')|join(', ')}}{%if signal.parameters|length %}, {%endif%}const QString &zone)
{
auto q = getParent();
auto f = qobject_cast<{{class}}*>(q->zoneAt(zone));
diff --git a/src/tools/ivigenerator/templates_frontend/interface_p.h.tpl b/src/tools/ivigenerator/templates_frontend/interface_p.h.tpl
index 6372e17..cd7e65c 100644
--- a/src/tools/ivigenerator/templates_frontend/interface_p.h.tpl
+++ b/src/tools/ivigenerator/templates_frontend/interface_p.h.tpl
@@ -106,7 +106,7 @@ public:
{% endfor %}
{% for signal in interface.signals %}
{% if interface.tags.config.zoned %}
- void on{{signal|upperfirst}}({{signal.parameters|map('parameter_type')|join(', ')}}, const QString &zone);
+ void on{{signal|upperfirst}}({{signal.parameters|map('parameter_type')|join(', ')}}{%if signal.parameters|length %}, {%endif%}const QString &zone);
{% else %}
void on{{signal|upperfirst}}({{signal.parameters|map('parameter_type')|join(', ')}});
{% endif %}
diff --git a/tests/auto/core/ivigenerator/org.example.echo.qface b/tests/auto/core/ivigenerator/org.example.echo.qface
index a4d36b7..743d521 100644
--- a/tests/auto/core/ivigenerator/org.example.echo.qface
+++ b/tests/auto/core/ivigenerator/org.example.echo.qface
@@ -39,6 +39,7 @@ interface Echo {
Combo getCombo();
signal anotherChanged(AnotherStruct another);
signal foobar(string foo);
+ signal somethingHappened();
}
@config: {id: "org.foo.idz.1.0", zoned: true}
@@ -68,6 +69,10 @@ interface EchoZoned {
string echo(string msg);
string id();
Combo getCombo();
+
+ signal anotherChanged(AnotherStruct another);
+ signal foobar(string foo);
+ signal somethingHappened();
}
/**