From 526f111b059e18414e3a03c7f9a2b8c2ed65be7a Mon Sep 17 00:00:00 2001
From: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
Date: Mon, 9 Sep 2013 15:55:04 +0200
Subject: [PATCH] Allow QtQuick private headers to be used with QT_NO_KEYWORDS.

This is necessary for the QtWebEngine module.

This also adds an empty nokeywords test using the same mechanism
as qtbase/tests/auto/tools/moc/no-keywords.h to find conflicts
at compile time.

Change-Id: I9df541720797dd61f078178c2af68ead18ff8bfe
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
---
 src/imports/dialogs/qquickfiledialog_p.h      |   2 +-
 src/imports/widgets/qquickqfiledialog_p.h     |   2 +-
 src/imports/xmllistmodel/qqmlxmllistmodel_p.h |   6 +-
 src/particles/qquickage_p.h                   |   8 +-
 src/particles/qquickangledirection_p.h        |  12 +-
 src/particles/qquickcustomaffector_p.h        |  12 +-
 src/particles/qquickdirection_p.h             |   4 +-
 src/particles/qquickellipseextruder_p.h       |   6 +-
 src/particles/qquickfriction_p.h              |   8 +-
 src/particles/qquickgravity_p.h               |  10 +-
 src/particles/qquickgroupgoal_p.h             |   6 +-
 src/particles/qquickimageparticle_p.h         |   6 +-
 src/particles/qquickitemparticle_p.h          |  12 +-
 src/particles/qquicklineextruder_p.h          |   6 +-
 src/particles/qquickmaskextruder_p.h          |   6 +-
 src/particles/qquickparticleaffector_p.h      |  18 +--
 src/particles/qquickparticleemitter_p.h       |  28 ++--
 src/particles/qquickparticleextruder_p.h      |   4 +-
 src/particles/qquickparticlegroup_p.h         |   6 +-
 src/particles/qquickparticlepainter_p.h       |   8 +-
 src/particles/qquickparticlesystem_p.h        |   6 +-
 src/particles/qquickpointattractor_p.h        |  14 +-
 src/particles/qquickpointdirection_p.h        |  12 +-
 src/particles/qquickrectangleextruder_p.h     |   6 +-
 src/particles/qquickspritegoal_p.h            |   8 +-
 src/particles/qquicktargetdirection_p.h       |  18 +--
 src/particles/qquicktrailemitter_p.h          |  16 +--
 src/particles/qquickturbulence_p.h            |   8 +-
 src/particles/qquickwander_p.h                |  12 +-
 src/qml/debugger/qqmlinspectorservice_p.h     |   2 +-
 src/qml/debugger/qv8debugservice_p.h          |   4 +-
 src/qml/debugger/qv8profilerservice_p.h       |   2 +-
 src/qml/jsruntime/qv4include_p.h              |   2 +-
 src/qml/jsruntime/qv4qobjectwrapper_p.h       |   2 +-
 src/qml/types/qqmldelegatemodel_p.h           |   2 +-
 src/qml/types/qqmldelegatemodel_p_p.h         |   8 +-
 src/qml/types/qqmlobjectmodel_p.h             |   2 +-
 src/qml/types/qquickworkerscript_p.h          |   4 +-
 src/quick/items/qquickaccessibleattached_p.h  |   6 +-
 src/quick/items/qquickanimatedsprite_p.h      |  32 ++---
 src/quick/items/qquickflickable_p_p.h         |   2 +-
 src/quick/items/qquickgridview_p.h            |   2 +-
 src/quick/items/qquickitem_p.h                |   6 +-
 src/quick/items/qquickitemview_p.h            |  20 +--
 src/quick/items/qquickitemviewtransition_p.h  |   2 +-
 src/quick/items/qquicklistview_p.h            |   2 +-
 src/quick/items/qquickmultipointtoucharea_p.h |   2 +-
 src/quick/items/qquickpathview_p.h            |   4 +-
 src/quick/items/qquickpincharea_p.h           |  28 ++--
 src/quick/items/qquickscreen_p.h              |   2 +-
 src/quick/items/qquicksprite_p.h              |  30 ++---
 src/quick/items/qquickspriteengine_p.h        |  20 +--
 src/quick/items/qquickspritesequence_p.h      |  10 +-
 src/quick/items/qquicktext_p_p.h              |   2 +-
 src/quick/items/qquicktextutil_p.h            |   2 +-
 src/quick/items/qquickwindow_p.h              |   2 +-
 .../scenegraph/coreapi/qsgbatchrenderer_p.h   |   2 +-
 src/quick/scenegraph/coreapi/qsgrenderer_p.h  |   2 +-
 src/quick/scenegraph/qsgcontext_p.h           |   4 +-
 src/quick/scenegraph/qsgrenderloop_p.h        |   2 +-
 .../scenegraph/qsgthreadedrenderloop_p.h      |   2 +-
 src/quick/scenegraph/qsgwindowsrenderloop_p.h |   2 +-
 src/quick/util/qquickpath_p.h                 |   2 +-
 tests/auto/quick/nokeywords/nokeywords.pro    |  10 ++
 .../auto/quick/nokeywords/tst_nokeywords.cpp  | 121 ++++++++++++++++++
 tests/auto/quick/quick.pro                    |   1 +
 66 files changed, 376 insertions(+), 244 deletions(-)
 create mode 100644 tests/auto/quick/nokeywords/nokeywords.pro
 create mode 100644 tests/auto/quick/nokeywords/tst_nokeywords.cpp

diff --git a/src/imports/dialogs/qquickfiledialog_p.h b/src/imports/dialogs/qquickfiledialog_p.h
index 0176bc3fe4..a4c7939fda 100644
--- a/src/imports/dialogs/qquickfiledialog_p.h
+++ b/src/imports/dialogs/qquickfiledialog_p.h
@@ -68,7 +68,7 @@ public:
     ~QQuickFileDialog();
     virtual QList<QUrl> fileUrls();
 
-signals:
+Q_SIGNALS:
 
 public Q_SLOTS:
     void clearSelection();
diff --git a/src/imports/widgets/qquickqfiledialog_p.h b/src/imports/widgets/qquickqfiledialog_p.h
index 8bf7c73882..2bd364eba0 100644
--- a/src/imports/widgets/qquickqfiledialog_p.h
+++ b/src/imports/widgets/qquickqfiledialog_p.h
@@ -90,7 +90,7 @@ public:
     bool show(Qt::WindowFlags f, Qt::WindowModality m, QWindow *parent) Q_DECL_OVERRIDE;
     void hide() Q_DECL_OVERRIDE { m_dialog.hide(); }
 
-private slots:
+private Q_SLOTS:
     void currentChanged(const QString& path);
     void directoryEntered(const QString& path);
     void fileSelected(const QString& path);
diff --git a/src/imports/xmllistmodel/qqmlxmllistmodel_p.h b/src/imports/xmllistmodel/qqmlxmllistmodel_p.h
index ca4b7cf811..cd75d16902 100644
--- a/src/imports/xmllistmodel/qqmlxmllistmodel_p.h
+++ b/src/imports/xmllistmodel/qqmlxmllistmodel_p.h
@@ -161,7 +161,7 @@ public:
         if (name == m_name)
             return;
         m_name = name;
-        emit nameChanged();
+        Q_EMIT nameChanged();
     }
 
     QString query() const { return m_query; }
@@ -174,7 +174,7 @@ public:
         if (m_query == query)
             return;
         m_query = query;
-        emit queryChanged();
+        Q_EMIT queryChanged();
     }
 
     bool isKey() const { return m_isKey; }
@@ -182,7 +182,7 @@ public:
         if (m_isKey == b)
             return;
         m_isKey = b;
-        emit isKeyChanged();
+        Q_EMIT isKeyChanged();
     }
 
     bool isValid() {
diff --git a/src/particles/qquickage_p.h b/src/particles/qquickage_p.h
index 0839517e95..4bca34ce0f 100644
--- a/src/particles/qquickage_p.h
+++ b/src/particles/qquickage_p.h
@@ -66,16 +66,16 @@ public:
 
 protected:
     virtual bool affectParticle(QQuickParticleData *d, qreal dt);
-signals:
+Q_SIGNALS:
     void lifeLeftChanged(int arg);
     void advancePositionChanged(bool arg);
 
-public slots:
+public Q_SLOTS:
     void setLifeLeft(int arg)
     {
         if (m_lifeLeft != arg) {
             m_lifeLeft = arg;
-            emit lifeLeftChanged(arg);
+            Q_EMIT lifeLeftChanged(arg);
         }
     }
 
@@ -83,7 +83,7 @@ public slots:
     {
         if (m_advancePosition != arg) {
             m_advancePosition = arg;
-            emit advancePositionChanged(arg);
+            Q_EMIT advancePositionChanged(arg);
         }
     }
 
diff --git a/src/particles/qquickangledirection_p.h b/src/particles/qquickangledirection_p.h
index d89455a5e7..f3283552fa 100644
--- a/src/particles/qquickangledirection_p.h
+++ b/src/particles/qquickangledirection_p.h
@@ -74,7 +74,7 @@ public:
         return m_magnitudeVariation;
     }
 
-signals:
+Q_SIGNALS:
 
     void angleChanged(qreal arg);
 
@@ -84,12 +84,12 @@ signals:
 
     void magnitudeVariationChanged(qreal arg);
 
-public slots:
+public Q_SLOTS:
 void setAngle(qreal arg)
 {
     if (m_angle != arg) {
         m_angle = arg;
-        emit angleChanged(arg);
+        Q_EMIT angleChanged(arg);
     }
 }
 
@@ -97,7 +97,7 @@ void setMagnitude(qreal arg)
 {
     if (m_magnitude != arg) {
         m_magnitude = arg;
-        emit magnitudeChanged(arg);
+        Q_EMIT magnitudeChanged(arg);
     }
 }
 
@@ -105,7 +105,7 @@ void setAngleVariation(qreal arg)
 {
     if (m_angleVariation != arg) {
         m_angleVariation = arg;
-        emit angleVariationChanged(arg);
+        Q_EMIT angleVariationChanged(arg);
     }
 }
 
@@ -113,7 +113,7 @@ void setMagnitudeVariation(qreal arg)
 {
     if (m_magnitudeVariation != arg) {
         m_magnitudeVariation = arg;
-        emit magnitudeVariationChanged(arg);
+        Q_EMIT magnitudeVariationChanged(arg);
     }
 }
 
diff --git a/src/particles/qquickcustomaffector_p.h b/src/particles/qquickcustomaffector_p.h
index 1a12684c48..d7d0c60e85 100644
--- a/src/particles/qquickcustomaffector_p.h
+++ b/src/particles/qquickcustomaffector_p.h
@@ -98,7 +98,7 @@ public:
     }
 
 
-signals:
+Q_SIGNALS:
     void affectParticles(QQmlV4Handle particles, qreal dt);
 
     void positionChanged(QQuickDirection * arg);
@@ -109,12 +109,12 @@ signals:
 
     void relativeChanged(bool arg);
 
-public slots:
+public Q_SLOTS:
     void setPosition(QQuickDirection * arg)
     {
         if (m_position != arg) {
             m_position = arg;
-            emit positionChanged(arg);
+            Q_EMIT positionChanged(arg);
         }
     }
 
@@ -122,7 +122,7 @@ public slots:
     {
         if (m_velocity != arg) {
             m_velocity = arg;
-            emit velocityChanged(arg);
+            Q_EMIT velocityChanged(arg);
         }
     }
 
@@ -130,7 +130,7 @@ public slots:
     {
         if (m_acceleration != arg) {
             m_acceleration = arg;
-            emit accelerationChanged(arg);
+            Q_EMIT accelerationChanged(arg);
         }
     }
 
@@ -138,7 +138,7 @@ public slots:
     {
         if (m_relative != arg) {
             m_relative = arg;
-            emit relativeChanged(arg);
+            Q_EMIT relativeChanged(arg);
         }
     }
 
diff --git a/src/particles/qquickdirection_p.h b/src/particles/qquickdirection_p.h
index 4ceae16b35..51e7679fda 100644
--- a/src/particles/qquickdirection_p.h
+++ b/src/particles/qquickdirection_p.h
@@ -54,9 +54,9 @@ public:
     explicit QQuickDirection(QObject *parent = 0);
 
     virtual const QPointF sample(const QPointF &from);
-signals:
+Q_SIGNALS:
 
-public slots:
+public Q_SLOTS:
 
 protected:
 };
diff --git a/src/particles/qquickellipseextruder_p.h b/src/particles/qquickellipseextruder_p.h
index a9425b6205..0625565c10 100644
--- a/src/particles/qquickellipseextruder_p.h
+++ b/src/particles/qquickellipseextruder_p.h
@@ -59,17 +59,17 @@ public:
         return m_fill;
     }
 
-signals:
+Q_SIGNALS:
 
     void fillChanged(bool arg);
 
-public slots:
+public Q_SLOTS:
 
     void setFill(bool arg)
     {
         if (m_fill != arg) {
             m_fill = arg;
-            emit fillChanged(arg);
+            Q_EMIT fillChanged(arg);
         }
     }
 private:
diff --git a/src/particles/qquickfriction_p.h b/src/particles/qquickfriction_p.h
index 13ba715e88..9b3d95df90 100644
--- a/src/particles/qquickfriction_p.h
+++ b/src/particles/qquickfriction_p.h
@@ -66,18 +66,18 @@ public:
 protected:
     virtual bool affectParticle(QQuickParticleData *d, qreal dt);
 
-signals:
+Q_SIGNALS:
 
     void factorChanged(qreal arg);
     void thresholdChanged(qreal arg);
 
-public slots:
+public Q_SLOTS:
 
     void setFactor(qreal arg)
     {
         if (m_factor != arg) {
             m_factor = arg;
-            emit factorChanged(arg);
+            Q_EMIT factorChanged(arg);
         }
     }
 
@@ -85,7 +85,7 @@ public slots:
     {
         if (m_threshold != arg) {
             m_threshold = arg;
-            emit thresholdChanged(arg);
+            Q_EMIT thresholdChanged(arg);
         }
     }
 
diff --git a/src/particles/qquickgravity_p.h b/src/particles/qquickgravity_p.h
index e6010b536e..d4c3ef4ac2 100644
--- a/src/particles/qquickgravity_p.h
+++ b/src/particles/qquickgravity_p.h
@@ -64,20 +64,20 @@ public:
     }
 protected:
     virtual bool affectParticle(QQuickParticleData *d, qreal dt);
-signals:
+Q_SIGNALS:
 
     void magnitudeChanged(qreal arg);
 
     void angleChanged(qreal arg);
 
-public slots:
+public Q_SLOTS:
 void setAcceleration(qreal arg)
 {
     qWarning() << "Gravity::acceleration has been renamed Gravity::magnitude";
     if (m_magnitude != arg) {
         m_magnitude = arg;
         m_needRecalc = true;
-        emit magnitudeChanged(arg);
+        Q_EMIT magnitudeChanged(arg);
     }
 }
 
@@ -86,7 +86,7 @@ void setMagnitude(qreal arg)
     if (m_magnitude != arg) {
         m_magnitude = arg;
         m_needRecalc = true;
-        emit magnitudeChanged(arg);
+        Q_EMIT magnitudeChanged(arg);
     }
 }
 
@@ -95,7 +95,7 @@ void setAngle(qreal arg)
     if (m_angle != arg) {
         m_angle = arg;
         m_needRecalc = true;
-        emit angleChanged(arg);
+        Q_EMIT angleChanged(arg);
     }
 }
 
diff --git a/src/particles/qquickgroupgoal_p.h b/src/particles/qquickgroupgoal_p.h
index 6a31b882a3..5d385f2f36 100644
--- a/src/particles/qquickgroupgoal_p.h
+++ b/src/particles/qquickgroupgoal_p.h
@@ -68,13 +68,13 @@ public:
 protected:
     virtual bool affectParticle(QQuickParticleData *d, qreal dt);
 
-signals:
+Q_SIGNALS:
 
     void goalStateChanged(QString arg);
 
     void jumpChanged(bool arg);
 
-public slots:
+public Q_SLOTS:
 
     void setGoalState(QString arg);
 
@@ -82,7 +82,7 @@ public slots:
     {
         if (m_jump != arg) {
             m_jump = arg;
-            emit jumpChanged(arg);
+            Q_EMIT jumpChanged(arg);
         }
     }
 
diff --git a/src/particles/qquickimageparticle_p.h b/src/particles/qquickimageparticle_p.h
index daa3d5cdbc..8f2bb715f8 100644
--- a/src/particles/qquickimageparticle_p.h
+++ b/src/particles/qquickimageparticle_p.h
@@ -263,7 +263,7 @@ public:
     void resetRotation();
     void resetDeformation();
 
-signals:
+Q_SIGNALS:
 
     void imageChanged();
     void colortableChanged();
@@ -305,7 +305,7 @@ signals:
 
     void statusChanged(Status arg);
 
-public slots:
+public Q_SLOTS:
     void reloadColor(const Color4ub &c, QQuickParticleData* d);
     void setAlphaVariation(qreal arg);
 
@@ -348,7 +348,7 @@ protected:
 
     void sceneGraphInvalidated();
 
-private slots:
+private Q_SLOTS:
     void createEngine(); //### method invoked by sprite list changing (in engine.h) - pretty nasty
 
     void spriteAdvance(int spriteIndex);
diff --git a/src/particles/qquickitemparticle_p.h b/src/particles/qquickitemparticle_p.h
index e5c7239567..d9c8555ed0 100644
--- a/src/particles/qquickitemparticle_p.h
+++ b/src/particles/qquickitemparticle_p.h
@@ -69,24 +69,24 @@ public:
         return m_delegate;
     }
 
-signals:
+Q_SIGNALS:
     void fadeChanged();
 
     void delegateChanged(QQmlComponent* arg);
 
-public slots:
+public Q_SLOTS:
     //TODO: Add a follow mode, where moving the delegate causes the logical particle to go with it?
     void freeze(QQuickItem* item);
     void unfreeze(QQuickItem* item);
     void take(QQuickItem* item,bool prioritize=false);//take by modelparticle
     void give(QQuickItem* item);//give from modelparticle
 
-    void setFade(bool arg){if (arg == m_fade) return; m_fade = arg; emit fadeChanged();}
+    void setFade(bool arg){if (arg == m_fade) return; m_fade = arg; Q_EMIT fadeChanged();}
     void setDelegate(QQmlComponent* arg)
     {
         if (m_delegate != arg) {
             m_delegate = arg;
-            emit delegateChanged(arg);
+            Q_EMIT delegateChanged(arg);
         }
     }
 
@@ -121,8 +121,8 @@ public:
         : QObject(parent), m_mp(0)
     {;}
     QQuickItemParticle* particle() {return m_mp;}
-    void detach(){emit detached();}
-    void attach(){emit attached();}
+    void detach(){Q_EMIT detached();}
+    void attach(){Q_EMIT attached();}
 private:
     QQuickItemParticle* m_mp;
     friend class QQuickItemParticle;
diff --git a/src/particles/qquicklineextruder_p.h b/src/particles/qquicklineextruder_p.h
index 503e315b24..bfbd5aed54 100644
--- a/src/particles/qquicklineextruder_p.h
+++ b/src/particles/qquicklineextruder_p.h
@@ -57,17 +57,17 @@ public:
         return m_mirrored;
     }
 
-signals:
+Q_SIGNALS:
 
     void mirroredChanged(bool arg);
 
-public slots:
+public Q_SLOTS:
 
     void setmirrored(bool arg)
     {
         if (m_mirrored != arg) {
             m_mirrored = arg;
-            emit mirroredChanged(arg);
+            Q_EMIT mirroredChanged(arg);
         }
     }
 private:
diff --git a/src/particles/qquickmaskextruder_p.h b/src/particles/qquickmaskextruder_p.h
index 5c948cc7d7..020c8762f8 100644
--- a/src/particles/qquickmaskextruder_p.h
+++ b/src/particles/qquickmaskextruder_p.h
@@ -62,14 +62,14 @@ public:
         return m_source;
     }
 
-signals:
+Q_SIGNALS:
 
     void sourceChanged(QUrl arg);
 
-public slots:
+public Q_SLOTS:
     void setSource(QUrl arg);
 
-private slots:
+private Q_SLOTS:
     void startMaskLoading();
     void finishMaskLoading();
 
diff --git a/src/particles/qquickparticleaffector_p.h b/src/particles/qquickparticleaffector_p.h
index 2629ecc676..5ee8430472 100644
--- a/src/particles/qquickparticleaffector_p.h
+++ b/src/particles/qquickparticleaffector_p.h
@@ -92,7 +92,7 @@ public:
         return m_whenCollidingWith;
     }
 
-signals:
+Q_SIGNALS:
 
     void systemChanged(QQuickParticleSystem* arg);
 
@@ -108,13 +108,13 @@ signals:
 
     void whenCollidingWithChanged(QStringList arg);
 
-public slots:
+public Q_SLOTS:
 void setSystem(QQuickParticleSystem* arg)
 {
     if (m_system != arg) {
         m_system = arg;
         m_system->registerParticleAffector(this);
-        emit systemChanged(arg);
+        Q_EMIT systemChanged(arg);
     }
 }
 
@@ -123,7 +123,7 @@ void setGroups(QStringList arg)
     if (m_groups != arg) {
         m_groups = arg;
         m_updateIntSet = true;
-        emit groupsChanged(arg);
+        Q_EMIT groupsChanged(arg);
     }
 }
 
@@ -131,7 +131,7 @@ void setEnabled(bool arg)
 {
     if (m_enabled != arg) {
         m_enabled = arg;
-        emit enabledChanged(arg);
+        Q_EMIT enabledChanged(arg);
     }
 }
 
@@ -140,7 +140,7 @@ void setOnceOff(bool arg)
     if (m_onceOff != arg) {
         m_onceOff = arg;
         m_needsReset = true;
-        emit onceChanged(arg);
+        Q_EMIT onceChanged(arg);
     }
 }
 
@@ -148,7 +148,7 @@ void setShape(QQuickParticleExtruder* arg)
 {
     if (m_shape != arg) {
         m_shape = arg;
-        emit shapeChanged(arg);
+        Q_EMIT shapeChanged(arg);
     }
 }
 
@@ -156,10 +156,10 @@ void setWhenCollidingWith(QStringList arg)
 {
     if (m_whenCollidingWith != arg) {
         m_whenCollidingWith = arg;
-        emit whenCollidingWithChanged(arg);
+        Q_EMIT whenCollidingWithChanged(arg);
     }
 }
-public slots:
+public Q_SLOTS:
     void updateOffsets();
 
 protected:
diff --git a/src/particles/qquickparticleemitter_p.h b/src/particles/qquickparticleemitter_p.h
index 051e27816d..edca86d53d 100644
--- a/src/particles/qquickparticleemitter_p.h
+++ b/src/particles/qquickparticleemitter_p.h
@@ -118,7 +118,7 @@ public:
     qreal velocityFromMovement() const { return m_velocity_from_movement; }
     void setVelocityFromMovement(qreal s);
     virtual void componentComplete();
-signals:
+Q_SIGNALS:
     void emitParticles(QQmlV4Handle particles);
     void particlesPerSecondChanged(qreal);
     void particleDurationChanged(int);
@@ -149,7 +149,7 @@ signals:
 
     void startTimeChanged(int arg);
 
-public slots:
+public Q_SLOTS:
     void pulse(int milliseconds);
     void burst(int num);
     void burst(int num, qreal x, qreal y);
@@ -160,7 +160,7 @@ public slots:
     {
         if (m_particlesPerSecond != arg) {
             m_particlesPerSecond = arg;
-            emit particlesPerSecondChanged(arg);
+            Q_EMIT particlesPerSecondChanged(arg);
         }
     }
 
@@ -168,7 +168,7 @@ public slots:
     {
         if (m_particleDuration != arg) {
             m_particleDuration = arg;
-            emit particleDurationChanged(arg);
+            Q_EMIT particleDurationChanged(arg);
         }
     }
 
@@ -178,7 +178,7 @@ public slots:
             m_system = arg;
             if (m_system)
                 m_system->registerParticleEmitter(this);
-            emit systemChanged(arg);
+            Q_EMIT systemChanged(arg);
         }
     }
 
@@ -186,7 +186,7 @@ public slots:
     {
         if (m_group != arg) {
             m_group = arg;
-            emit groupChanged(arg);
+            Q_EMIT groupChanged(arg);
         }
     }
 
@@ -194,14 +194,14 @@ public slots:
     {
         if (m_particleDurationVariation != arg) {
             m_particleDurationVariation = arg;
-            emit particleDurationVariationChanged(arg);
+            Q_EMIT particleDurationVariationChanged(arg);
         }
     }
     void setExtruder(QQuickParticleExtruder* arg)
     {
         if (m_extruder != arg) {
             m_extruder = arg;
-            emit extruderChanged(arg);
+            Q_EMIT extruderChanged(arg);
         }
     }
 
@@ -209,7 +209,7 @@ public slots:
     {
         if (m_particleSize != arg) {
             m_particleSize = arg;
-            emit particleSizeChanged(arg);
+            Q_EMIT particleSizeChanged(arg);
         }
     }
 
@@ -217,7 +217,7 @@ public slots:
     {
         if (m_particleEndSize != arg) {
             m_particleEndSize = arg;
-            emit particleEndSizeChanged(arg);
+            Q_EMIT particleEndSizeChanged(arg);
         }
     }
 
@@ -225,7 +225,7 @@ public slots:
     {
         if (m_particleSizeVariation != arg) {
             m_particleSizeVariation = arg;
-            emit particleSizeVariationChanged(arg);
+            Q_EMIT particleSizeVariationChanged(arg);
         }
     }
 
@@ -233,7 +233,7 @@ public slots:
     {
         if (m_velocity != arg) {
             m_velocity = arg;
-            emit velocityChanged(arg);
+            Q_EMIT velocityChanged(arg);
         }
     }
 
@@ -241,7 +241,7 @@ public slots:
     {
         if (m_acceleration != arg) {
             m_acceleration = arg;
-            emit accelerationChanged(arg);
+            Q_EMIT accelerationChanged(arg);
         }
     }
 
@@ -251,7 +251,7 @@ public slots:
     {
         if (m_startTime != arg) {
             m_startTime = arg;
-            emit startTimeChanged(arg);
+            Q_EMIT startTimeChanged(arg);
         }
     }
 
diff --git a/src/particles/qquickparticleextruder_p.h b/src/particles/qquickparticleextruder_p.h
index 36edc9cf06..c6d717dabe 100644
--- a/src/particles/qquickparticleextruder_p.h
+++ b/src/particles/qquickparticleextruder_p.h
@@ -57,8 +57,8 @@ public:
     virtual QPointF extrude(const QRectF &);
     virtual bool contains(const QRectF &bounds, const QPointF &point);
 
-signals:
-public slots:
+Q_SIGNALS:
+public Q_SLOTS:
 protected:
 };
 
diff --git a/src/particles/qquickparticlegroup_p.h b/src/particles/qquickparticlegroup_p.h
index bbac8aab0d..f7bccf99ac 100644
--- a/src/particles/qquickparticlegroup_p.h
+++ b/src/particles/qquickparticlegroup_p.h
@@ -74,13 +74,13 @@ public:
         return m_system;
     }
 
-public slots:
+public Q_SLOTS:
 
     void setMaximumAlive(int arg)
     {
         if (m_maximumAlive != arg) {
             m_maximumAlive = arg;
-            emit maximumAliveChanged(arg);
+            Q_EMIT maximumAliveChanged(arg);
         }
     }
 
@@ -88,7 +88,7 @@ public slots:
 
     void delayRedirect(QObject* obj);
 
-signals:
+Q_SIGNALS:
 
     void maximumAliveChanged(int arg);
 
diff --git a/src/particles/qquickparticlepainter_p.h b/src/particles/qquickparticlepainter_p.h
index 7801fddb6e..cedf4cab52 100644
--- a/src/particles/qquickparticlepainter_p.h
+++ b/src/particles/qquickparticlepainter_p.h
@@ -76,13 +76,13 @@ public:
 
     void itemChange(ItemChange, const ItemChangeData &);
 
-signals:
+Q_SIGNALS:
     void countChanged();
     void systemChanged(QQuickParticleSystem* arg);
 
     void groupsChanged(QStringList arg);
 
-public slots:
+public Q_SLOTS:
     void setSystem(QQuickParticleSystem* arg);
 
     void setGroups(QStringList arg)
@@ -90,13 +90,13 @@ public slots:
         if (m_groups != arg) {
             m_groups = arg;
             //Note: The system watches this as it has to recalc things when groups change. It will request a reset if necessary
-            emit groupsChanged(arg);
+            Q_EMIT groupsChanged(arg);
         }
     }
 
     void calcSystemOffset(bool resetPending = false);
 
-private slots:
+private Q_SLOTS:
     virtual void sceneGraphInvalidated() {}
 
 protected:
diff --git a/src/particles/qquickparticlesystem_p.h b/src/particles/qquickparticlesystem_p.h
index df57cd2cc7..cda505e4b4 100644
--- a/src/particles/qquickparticlesystem_p.h
+++ b/src/particles/qquickparticlesystem_p.h
@@ -254,14 +254,14 @@ public:
 
     static const int maxLife = 600000;
 
-signals:
+Q_SIGNALS:
 
     void systemInitialized();
     void runningChanged(bool arg);
     void pausedChanged(bool arg);
     void emptyChanged(bool arg);
 
-public slots:
+public Q_SLOTS:
     void start(){setRunning(true);}
     void stop(){setRunning(false);}
     void restart(){setRunning(false);setRunning(true);}
@@ -279,7 +279,7 @@ protected:
     //This one only once per frame (effectively)
     void componentComplete();
 
-private slots:
+private Q_SLOTS:
     void emittersChanged();
     void loadPainter(QObject* p);
     void createEngine(); //Not invoked by sprite engine, unlike Sprite uses
diff --git a/src/particles/qquickpointattractor_p.h b/src/particles/qquickpointattractor_p.h
index 1332591daf..6747798364 100644
--- a/src/particles/qquickpointattractor_p.h
+++ b/src/particles/qquickpointattractor_p.h
@@ -98,7 +98,7 @@ public:
         return m_proportionalToDistance;
     }
 
-signals:
+Q_SIGNALS:
 
     void strengthChanged(qreal arg);
 
@@ -110,12 +110,12 @@ signals:
 
     void proportionalToDistanceChanged(Proportion arg);
 
-public slots:
+public Q_SLOTS:
 void setStrength(qreal arg)
 {
     if (m_strength != arg) {
         m_strength = arg;
-        emit strengthChanged(arg);
+        Q_EMIT strengthChanged(arg);
     }
 }
 
@@ -123,7 +123,7 @@ void setPointX(qreal arg)
 {
     if (m_x != arg) {
         m_x = arg;
-        emit pointXChanged(arg);
+        Q_EMIT pointXChanged(arg);
     }
 }
 
@@ -131,14 +131,14 @@ void setPointY(qreal arg)
 {
     if (m_y != arg) {
         m_y = arg;
-        emit pointYChanged(arg);
+        Q_EMIT pointYChanged(arg);
     }
 }
 void setAffectedParameter(AffectableParameters arg)
 {
     if (m_physics != arg) {
         m_physics = arg;
-        emit affectedParameterChanged(arg);
+        Q_EMIT affectedParameterChanged(arg);
     }
 }
 
@@ -146,7 +146,7 @@ void setProportionalToDistance(Proportion arg)
 {
     if (m_proportionalToDistance != arg) {
         m_proportionalToDistance = arg;
-        emit proportionalToDistanceChanged(arg);
+        Q_EMIT proportionalToDistanceChanged(arg);
     }
 }
 
diff --git a/src/particles/qquickpointdirection_p.h b/src/particles/qquickpointdirection_p.h
index eae385a3b7..e4c8624c9c 100644
--- a/src/particles/qquickpointdirection_p.h
+++ b/src/particles/qquickpointdirection_p.h
@@ -75,7 +75,7 @@ public:
         return m_yVariation;
     }
 
-signals:
+Q_SIGNALS:
 
     void xChanged(qreal arg);
 
@@ -85,12 +85,12 @@ signals:
 
     void yVariationChanged(qreal arg);
 
-public slots:
+public Q_SLOTS:
     void setX(qreal arg)
     {
         if (m_x != arg) {
             m_x = arg;
-            emit xChanged(arg);
+            Q_EMIT xChanged(arg);
         }
     }
 
@@ -98,7 +98,7 @@ public slots:
     {
         if (m_y != arg) {
             m_y = arg;
-            emit yChanged(arg);
+            Q_EMIT yChanged(arg);
         }
     }
 
@@ -106,7 +106,7 @@ public slots:
     {
         if (m_xVariation != arg) {
             m_xVariation = arg;
-            emit xVariationChanged(arg);
+            Q_EMIT xVariationChanged(arg);
         }
     }
 
@@ -114,7 +114,7 @@ public slots:
     {
         if (m_yVariation != arg) {
             m_yVariation = arg;
-            emit yVariationChanged(arg);
+            Q_EMIT yVariationChanged(arg);
         }
     }
 
diff --git a/src/particles/qquickrectangleextruder_p.h b/src/particles/qquickrectangleextruder_p.h
index e0480687a0..f8ab2343c3 100644
--- a/src/particles/qquickrectangleextruder_p.h
+++ b/src/particles/qquickrectangleextruder_p.h
@@ -60,17 +60,17 @@ public:
         return m_fill;
     }
 
-signals:
+Q_SIGNALS:
 
     void fillChanged(bool arg);
 
-public slots:
+public Q_SLOTS:
 
     void setFill(bool arg)
     {
         if (m_fill != arg) {
             m_fill = arg;
-            emit fillChanged(arg);
+            Q_EMIT fillChanged(arg);
         }
     }
 protected:
diff --git a/src/particles/qquickspritegoal_p.h b/src/particles/qquickspritegoal_p.h
index 4d5f192f0a..c5c7539b58 100644
--- a/src/particles/qquickspritegoal_p.h
+++ b/src/particles/qquickspritegoal_p.h
@@ -73,7 +73,7 @@ public:
 
 protected:
     virtual bool affectParticle(QQuickParticleData *d, qreal dt);
-signals:
+Q_SIGNALS:
 
     void goalStateChanged(QString arg);
 
@@ -81,7 +81,7 @@ signals:
 
     void systemStatesChanged(bool arg);
 
-public slots:
+public Q_SLOTS:
 
 void setGoalState(QString arg);
 
@@ -89,7 +89,7 @@ void setJump(bool arg)
 {
     if (m_jump != arg) {
         m_jump = arg;
-        emit jumpChanged(arg);
+        Q_EMIT jumpChanged(arg);
     }
 }
 
@@ -99,7 +99,7 @@ void setSystemStates(bool arg)
         //TODO: GroupGoal was added (and this deprecated) Oct 4 - remove it in a few weeks.
         qmlInfo(this) << "systemStates is deprecated and will be removed soon. Use GroupGoal instead.";
         m_systemStates = arg;
-        emit systemStatesChanged(arg);
+        Q_EMIT systemStatesChanged(arg);
     }
 }
 
diff --git a/src/particles/qquicktargetdirection_p.h b/src/particles/qquicktargetdirection_p.h
index 886a560271..50bfdbe8ec 100644
--- a/src/particles/qquicktargetdirection_p.h
+++ b/src/particles/qquicktargetdirection_p.h
@@ -99,7 +99,7 @@ public:
         return m_targetItem;
     }
 
-signals:
+Q_SIGNALS:
 
     void targetXChanged(qreal arg);
 
@@ -115,12 +115,12 @@ signals:
 
     void targetItemChanged(QQuickItem* arg);
 
-public slots:
+public Q_SLOTS:
     void setTargetX(qreal arg)
     {
         if (m_targetX != arg) {
             m_targetX = arg;
-            emit targetXChanged(arg);
+            Q_EMIT targetXChanged(arg);
         }
     }
 
@@ -128,7 +128,7 @@ public slots:
     {
         if (m_targetY != arg) {
             m_targetY = arg;
-            emit targetYChanged(arg);
+            Q_EMIT targetYChanged(arg);
         }
     }
 
@@ -136,7 +136,7 @@ public slots:
     {
         if (m_targetVariation != arg) {
             m_targetVariation = arg;
-            emit targetVariationChanged(arg);
+            Q_EMIT targetVariationChanged(arg);
         }
     }
 
@@ -144,7 +144,7 @@ public slots:
     {
         if (m_magnitude != arg) {
             m_magnitude = arg;
-            emit magnitudeChanged(arg);
+            Q_EMIT magnitudeChanged(arg);
         }
     }
 
@@ -152,7 +152,7 @@ public slots:
     {
         if (m_proportionalMagnitude != arg) {
             m_proportionalMagnitude = arg;
-            emit proprotionalMagnitudeChanged(arg);
+            Q_EMIT proprotionalMagnitudeChanged(arg);
         }
     }
 
@@ -160,7 +160,7 @@ public slots:
     {
         if (m_magnitudeVariation != arg) {
             m_magnitudeVariation = arg;
-            emit magnitudeVariationChanged(arg);
+            Q_EMIT magnitudeVariationChanged(arg);
         }
     }
 
@@ -168,7 +168,7 @@ public slots:
     {
         if (m_targetItem != arg) {
             m_targetItem = arg;
-            emit targetItemChanged(arg);
+            Q_EMIT targetItemChanged(arg);
         }
     }
 
diff --git a/src/particles/qquicktrailemitter_p.h b/src/particles/qquicktrailemitter_p.h
index 54041f1751..f3f6884417 100644
--- a/src/particles/qquicktrailemitter_p.h
+++ b/src/particles/qquicktrailemitter_p.h
@@ -90,7 +90,7 @@ public:
         return m_emissionExtruder;
     }
 
-signals:
+Q_SIGNALS:
     void emitFollowParticles(QQmlV4Handle particles, QQmlV4Handle followed);
 
     void particlesPerParticlePerSecondChanged(int arg);
@@ -103,20 +103,20 @@ signals:
 
     void emissionShapeChanged(QQuickParticleExtruder* arg);
 
-public slots:
+public Q_SLOTS:
 
     void setParticlesPerParticlePerSecond(int arg)
     {
         if (m_particlesPerParticlePerSecond != arg) {
             m_particlesPerParticlePerSecond = arg;
-            emit particlesPerParticlePerSecondChanged(arg);
+            Q_EMIT particlesPerParticlePerSecondChanged(arg);
         }
     }
     void setEmitterXVariation(qreal arg)
     {
         if (m_emitterXVariation != arg) {
             m_emitterXVariation = arg;
-            emit emitterXVariationChanged(arg);
+            Q_EMIT emitterXVariationChanged(arg);
         }
     }
 
@@ -124,7 +124,7 @@ public slots:
     {
         if (m_emitterYVariation != arg) {
             m_emitterYVariation = arg;
-            emit emitterYVariationChanged(arg);
+            Q_EMIT emitterYVariationChanged(arg);
         }
     }
 
@@ -132,7 +132,7 @@ public slots:
     {
         if (m_follow != arg) {
             m_follow = arg;
-            emit followChanged(arg);
+            Q_EMIT followChanged(arg);
         }
     }
 
@@ -140,11 +140,11 @@ public slots:
     {
         if (m_emissionExtruder != arg) {
             m_emissionExtruder = arg;
-            emit emissionShapeChanged(arg);
+            Q_EMIT emissionShapeChanged(arg);
         }
     }
 
-private slots:
+private Q_SLOTS:
     void recalcParticlesPerSecond();
 
 private:
diff --git a/src/particles/qquickturbulence_p.h b/src/particles/qquickturbulence_p.h
index eea550ed15..b66d57fa49 100644
--- a/src/particles/qquickturbulence_p.h
+++ b/src/particles/qquickturbulence_p.h
@@ -67,19 +67,19 @@ class QQuickTurbulenceAffector : public QQuickParticleAffector
     {
         return m_noiseSource;
     }
-signals:
+Q_SIGNALS:
 
     void strengthChanged(qreal arg);
 
     void noiseSourceChanged(QUrl arg);
 
-public slots:
+public Q_SLOTS:
 
     void setStrength(qreal arg)
     {
         if (m_strength != arg) {
             m_strength = arg;
-            emit strengthChanged(arg);
+            Q_EMIT strengthChanged(arg);
         }
     }
 
@@ -87,7 +87,7 @@ public slots:
     {
         if (m_noiseSource != arg) {
             m_noiseSource = arg;
-            emit noiseSourceChanged(arg);
+            Q_EMIT noiseSourceChanged(arg);
             initializeGrid();
         }
     }
diff --git a/src/particles/qquickwander_p.h b/src/particles/qquickwander_p.h
index 0f09418ea2..efa68910d4 100644
--- a/src/particles/qquickwander_p.h
+++ b/src/particles/qquickwander_p.h
@@ -97,7 +97,7 @@ public:
 
 protected:
     virtual bool affectParticle(QQuickParticleData *d, qreal dt);
-signals:
+Q_SIGNALS:
 
     void xVarianceChanged(qreal arg);
 
@@ -108,12 +108,12 @@ signals:
 
     void affectedParameterChanged(AffectableParameters arg);
 
-public slots:
+public Q_SLOTS:
 void setXVariance(qreal arg)
 {
     if (m_xVariance != arg) {
         m_xVariance = arg;
-        emit xVarianceChanged(arg);
+        Q_EMIT xVarianceChanged(arg);
     }
 }
 
@@ -121,7 +121,7 @@ void setYVariance(qreal arg)
 {
     if (m_yVariance != arg) {
         m_yVariance = arg;
-        emit yVarianceChanged(arg);
+        Q_EMIT yVarianceChanged(arg);
     }
 }
 
@@ -129,7 +129,7 @@ void setPace(qreal arg)
 {
     if (m_pace != arg) {
         m_pace = arg;
-        emit paceChanged(arg);
+        Q_EMIT paceChanged(arg);
     }
 }
 
@@ -138,7 +138,7 @@ void setAffectedParameter(AffectableParameters arg)
 {
     if (m_affectedParameter != arg) {
         m_affectedParameter = arg;
-        emit affectedParameterChanged(arg);
+        Q_EMIT affectedParameterChanged(arg);
     }
 }
 
diff --git a/src/qml/debugger/qqmlinspectorservice_p.h b/src/qml/debugger/qqmlinspectorservice_p.h
index f8b2a39240..6496ba8ffd 100644
--- a/src/qml/debugger/qqmlinspectorservice_p.h
+++ b/src/qml/debugger/qqmlinspectorservice_p.h
@@ -80,7 +80,7 @@ protected:
     virtual void stateChanged(State state);
     virtual void messageReceived(const QByteArray &);
 
-private slots:
+private Q_SLOTS:
     void processMessage(const QByteArray &message);
     void updateState();
 
diff --git a/src/qml/debugger/qv8debugservice_p.h b/src/qml/debugger/qv8debugservice_p.h
index 75fd69290c..7acb2909ad 100644
--- a/src/qml/debugger/qv8debugservice_p.h
+++ b/src/qml/debugger/qv8debugservice_p.h
@@ -82,10 +82,10 @@ public:
 
     void signalEmitted(const QString &signal);
 
-public slots:
+public Q_SLOTS:
     void processDebugMessages();
 
-private slots:
+private Q_SLOTS:
     void scheduledDebugBreak(bool schedule);
     void sendDebugMessage(const QString &message);
     void init();
diff --git a/src/qml/debugger/qv8profilerservice_p.h b/src/qml/debugger/qv8profilerservice_p.h
index 10906442f5..60dc70f4db 100644
--- a/src/qml/debugger/qv8profilerservice_p.h
+++ b/src/qml/debugger/qv8profilerservice_p.h
@@ -94,7 +94,7 @@ public:
     static QV8ProfilerService *instance();
     static void initialize();
 
-public slots:
+public Q_SLOTS:
     void startProfiling(const QString &title);
     void stopProfiling(const QString &title);
     void takeSnapshot();
diff --git a/src/qml/jsruntime/qv4include_p.h b/src/qml/jsruntime/qv4include_p.h
index d6bbcd1a60..bb582cd2c7 100644
--- a/src/qml/jsruntime/qv4include_p.h
+++ b/src/qml/jsruntime/qv4include_p.h
@@ -80,7 +80,7 @@ public:
 
     static QV4::Value include(QV4::SimpleCallContext *ctx);
 
-private slots:
+private Q_SLOTS:
     void finished();
 
 private:
diff --git a/src/qml/jsruntime/qv4qobjectwrapper_p.h b/src/qml/jsruntime/qv4qobjectwrapper_p.h
index 3a48fee1ec..895a7e3dad 100644
--- a/src/qml/jsruntime/qv4qobjectwrapper_p.h
+++ b/src/qml/jsruntime/qv4qobjectwrapper_p.h
@@ -188,7 +188,7 @@ public:
     Iterator erase(Iterator it);
     void remove(QObject *key);
 
-private slots:
+private Q_SLOTS:
     void removeDestroyedObject(QObject*);
 };
 
diff --git a/src/qml/types/qqmldelegatemodel_p.h b/src/qml/types/qqmldelegatemodel_p.h
index 6f2acf0924..51f846ea0b 100644
--- a/src/qml/types/qqmldelegatemodel_p.h
+++ b/src/qml/types/qqmldelegatemodel_p.h
@@ -210,7 +210,7 @@ public:
 
     void emitChanges();
 
-    void emitUnresolvedChanged() { emit unresolvedChanged(); }
+    void emitUnresolvedChanged() { Q_EMIT unresolvedChanged(); }
 
 Q_SIGNALS:
     void groupsChanged();
diff --git a/src/qml/types/qqmldelegatemodel_p_p.h b/src/qml/types/qqmldelegatemodel_p_p.h
index 7931c4e18c..10c5a0f3c4 100644
--- a/src/qml/types/qqmldelegatemodel_p_p.h
+++ b/src/qml/types/qqmldelegatemodel_p_p.h
@@ -126,7 +126,7 @@ public:
     int groupIndex(Compositor::Group group);
 
     int modelIndex() const { return index; }
-    void setModelIndex(int idx) { index = idx; emit modelIndexChanged(); }
+    void setModelIndex(int idx) { index = idx; Q_EMIT modelIndexChanged(); }
 
     virtual QV4::Value get() { return QV4::QObjectWrapper::wrap(v4, this); }
 
@@ -260,11 +260,11 @@ public:
     void emitCreatedPackage(QQDMIncubationTask *incubationTask, QQuickPackage *package);
     void emitInitPackage(QQDMIncubationTask *incubationTask, QQuickPackage *package);
     void emitCreatedItem(QQDMIncubationTask *incubationTask, QObject *item) {
-        emit q_func()->createdItem(incubationTask->index[m_compositorGroup], item); }
+        Q_EMIT q_func()->createdItem(incubationTask->index[m_compositorGroup], item); }
     void emitInitItem(QQDMIncubationTask *incubationTask, QObject *item) {
-        emit q_func()->initItem(incubationTask->index[m_compositorGroup], item); }
+        Q_EMIT q_func()->initItem(incubationTask->index[m_compositorGroup], item); }
     void emitDestroyingPackage(QQuickPackage *package);
-    void emitDestroyingItem(QObject *item) { emit q_func()->destroyingItem(item); }
+    void emitDestroyingItem(QObject *item) { Q_EMIT q_func()->destroyingItem(item); }
     void removeCacheItem(QQmlDelegateModelItem *cacheItem);
 
     void updateFilterGroup();
diff --git a/src/qml/types/qqmlobjectmodel_p.h b/src/qml/types/qqmlobjectmodel_p.h
index 59a4a551a7..ddc917717a 100644
--- a/src/qml/types/qqmlobjectmodel_p.h
+++ b/src/qml/types/qqmlobjectmodel_p.h
@@ -138,7 +138,7 @@ public:
     void setIndex(int idx) {
         if (m_index != idx) {
             m_index = idx;
-            emit indexChanged();
+            Q_EMIT indexChanged();
         }
     }
 
diff --git a/src/qml/types/qquickworkerscript_p.h b/src/qml/types/qquickworkerscript_p.h
index bf23a3f2a2..e2f705c762 100644
--- a/src/qml/types/qquickworkerscript_p.h
+++ b/src/qml/types/qquickworkerscript_p.h
@@ -99,10 +99,10 @@ public:
     QUrl source() const;
     void setSource(const QUrl &);
 
-public slots:
+public Q_SLOTS:
     void sendMessage(QQmlV4Function*);
 
-signals:
+Q_SIGNALS:
     void sourceChanged();
     void message(const QQmlV4Handle &messageObject);
 
diff --git a/src/quick/items/qquickaccessibleattached_p.h b/src/quick/items/qquickaccessibleattached_p.h
index 131b379a07..5301c089a9 100644
--- a/src/quick/items/qquickaccessibleattached_p.h
+++ b/src/quick/items/qquickaccessibleattached_p.h
@@ -73,7 +73,7 @@ public:
     {
         if (role != m_role) {
             m_role = role;
-            emit roleChanged();
+            Q_EMIT roleChanged();
             // There is no way to signify role changes at the moment.
             // QAccessible::updateAccessibility(parent(), 0, QAccessible::);
         }
@@ -82,7 +82,7 @@ public:
     void setName(const QString &name) {
         if (name != m_name) {
             m_name = name;
-            emit nameChanged();
+            Q_EMIT nameChanged();
             QAccessibleEvent ev(parent(), QAccessible::NameChanged);
             QAccessible::updateAccessibility(&ev);
         }
@@ -93,7 +93,7 @@ public:
     {
         if (m_description != description) {
             m_description = description;
-            emit descriptionChanged();
+            Q_EMIT descriptionChanged();
             QAccessibleEvent ev(parent(), QAccessible::DescriptionChanged);
             QAccessible::updateAccessibility(&ev);
         }
diff --git a/src/quick/items/qquickanimatedsprite_p.h b/src/quick/items/qquickanimatedsprite_p.h
index 6d0a821a47..b7b25900e8 100644
--- a/src/quick/items/qquickanimatedsprite_p.h
+++ b/src/quick/items/qquickanimatedsprite_p.h
@@ -160,7 +160,7 @@ public:
         return m_curFrame;
     }
 
-signals:
+Q_SIGNALS:
 
     void pausedChanged(bool arg);
     void runningChanged(bool arg);
@@ -190,7 +190,7 @@ signals:
 
     void currentFrameChanged(int arg);
 
-public slots:
+public Q_SLOTS:
     void start();
     void stop();
     void restart() {stop(); start();}
@@ -222,7 +222,7 @@ public slots:
     {
         if (m_interpolate != arg) {
             m_interpolate = arg;
-            emit interpolateChanged(arg);
+            Q_EMIT interpolateChanged(arg);
         }
     }
 
@@ -230,7 +230,7 @@ public slots:
     {
         if (m_sprite->m_source != arg) {
             m_sprite->setSource(arg);
-            emit sourceChanged(arg);
+            Q_EMIT sourceChanged(arg);
             reloadImage();
         }
     }
@@ -239,7 +239,7 @@ public slots:
     {
         if (m_sprite->m_reverse != arg) {
             m_sprite->setReverse(arg);
-            emit reverseChanged(arg);
+            Q_EMIT reverseChanged(arg);
         }
     }
 
@@ -247,7 +247,7 @@ public slots:
     {
         if (m_sprite->m_frameSync != arg) {
             m_sprite->setFrameSync(arg);
-            emit frameSyncChanged(arg);
+            Q_EMIT frameSyncChanged(arg);
             if (m_running)
                 restart();
         }
@@ -257,7 +257,7 @@ public slots:
     {
         if (m_sprite->m_frames != arg) {
             m_sprite->setFrameCount(arg);
-            emit frameCountChanged(arg);
+            Q_EMIT frameCountChanged(arg);
             reloadImage();
         }
     }
@@ -266,7 +266,7 @@ public slots:
     {
         if (m_sprite->m_frameHeight != arg) {
             m_sprite->setFrameHeight(arg);
-            emit frameHeightChanged(arg);
+            Q_EMIT frameHeightChanged(arg);
             reloadImage();
         }
     }
@@ -275,7 +275,7 @@ public slots:
     {
         if (m_sprite->m_frameWidth != arg) {
             m_sprite->setFrameWidth(arg);
-            emit frameWidthChanged(arg);
+            Q_EMIT frameWidthChanged(arg);
             reloadImage();
         }
     }
@@ -284,7 +284,7 @@ public slots:
     {
         if (m_sprite->m_frameX != arg) {
             m_sprite->setFrameX(arg);
-            emit frameXChanged(arg);
+            Q_EMIT frameXChanged(arg);
             reloadImage();
         }
     }
@@ -293,7 +293,7 @@ public slots:
     {
         if (m_sprite->m_frameY != arg) {
             m_sprite->setFrameY(arg);
-            emit frameYChanged(arg);
+            Q_EMIT frameYChanged(arg);
             reloadImage();
         }
     }
@@ -302,7 +302,7 @@ public slots:
     {
         if (m_sprite->m_frameRate != arg) {
             m_sprite->setFrameRate(arg);
-            emit frameRateChanged(arg);
+            Q_EMIT frameRateChanged(arg);
             if (m_running)
                 restart();
         }
@@ -312,7 +312,7 @@ public slots:
     {
         if (m_sprite->m_frameDuration != arg) {
             m_sprite->setFrameDuration(arg);
-            emit frameDurationChanged(arg);
+            Q_EMIT frameDurationChanged(arg);
             if (m_running)
                 restart();
         }
@@ -332,7 +332,7 @@ public slots:
     {
         if (m_loops != arg) {
             m_loops = arg;
-            emit loopsChanged(arg);
+            Q_EMIT loopsChanged(arg);
         }
     }
 
@@ -340,12 +340,12 @@ public slots:
     {
         if (m_curFrame != arg) {
             m_curFrame = arg;
-            emit currentFrameChanged(arg); //TODO-C Only emitted on manual advance!
+            Q_EMIT currentFrameChanged(arg); //TODO-C Only emitted on manual advance!
         }
     }
 
 
-private slots:
+private Q_SLOTS:
     void createEngine();
     void sizeVertices();
 
diff --git a/src/quick/items/qquickflickable_p_p.h b/src/quick/items/qquickflickable_p_p.h
index 0186029fa0..fd73583a14 100644
--- a/src/quick/items/qquickflickable_p_p.h
+++ b/src/quick/items/qquickflickable_p_p.h
@@ -278,7 +278,7 @@ public:
 
     void updateVisible();
 
-signals:
+Q_SIGNALS:
     void xPositionChanged(qreal xPosition);
     void yPositionChanged(qreal yPosition);
     void widthRatioChanged(qreal widthRatio);
diff --git a/src/quick/items/qquickgridview_p.h b/src/quick/items/qquickgridview_p.h
index 09e11adf90..bb2cecc3ef 100644
--- a/src/quick/items/qquickgridview_p.h
+++ b/src/quick/items/qquickgridview_p.h
@@ -126,7 +126,7 @@ public:
     void setView(QQuickGridView *view) {
         if (view != m_view) {
             m_view = view;
-            emit viewChanged();
+            Q_EMIT viewChanged();
         }
     }
 
diff --git a/src/quick/items/qquickitem_p.h b/src/quick/items/qquickitem_p.h
index fe70b38ed1..d89ef76c7f 100644
--- a/src/quick/items/qquickitem_p.h
+++ b/src/quick/items/qquickitem_p.h
@@ -197,7 +197,7 @@ public:
     void updateOpacity();
     void updateZ();
 
-signals:
+Q_SIGNALS:
     void enabledChanged(bool enabled);
     void sizeChanged(const QSize &size);
     void mipmapChanged(bool mipmap);
@@ -526,7 +526,7 @@ public:
 
     void emitChildrenRectChanged(const QRectF &rect) {
         Q_Q(QQuickItem);
-        emit q->childrenRectChanged(rect);
+        Q_EMIT q->childrenRectChanged(rect);
     }
 
     QPointF computeTransformOrigin() const;
@@ -759,7 +759,7 @@ public:
         Q_D(QQuickKeysAttached);
         if (enabled != d->enabled) {
             d->enabled = enabled;
-            emit enabledChanged();
+            Q_EMIT enabledChanged();
         }
     }
 
diff --git a/src/quick/items/qquickitemview_p.h b/src/quick/items/qquickitemview_p.h
index d7812bcdad..2e7de96c14 100644
--- a/src/quick/items/qquickitemview_p.h
+++ b/src/quick/items/qquickitemview_p.h
@@ -209,7 +209,7 @@ public:
     virtual qreal originX() const;
     virtual qreal originY() const;
 
-signals:
+Q_SIGNALS:
     void modelChanged();
     void delegateChanged();
     void countChanged();
@@ -254,7 +254,7 @@ protected:
     virtual qreal minXExtent() const;
     virtual qreal maxXExtent() const;
 
-protected slots:
+protected Q_SLOTS:
     void destroyRemoved();
     void createdItem(int index, QObject *item);
     virtual void initItem(int index, QObject *item);
@@ -288,7 +288,7 @@ public:
     void setIsCurrentItem(bool c) {
         if (m_isCurrent != c) {
             m_isCurrent = c;
-            emit currentItemChanged();
+            Q_EMIT currentItemChanged();
         }
     }
 
@@ -296,7 +296,7 @@ public:
     void setDelayRemove(bool delay) {
         if (m_delayRemove != delay) {
             m_delayRemove = delay;
-            emit delayRemoveChanged();
+            Q_EMIT delayRemoveChanged();
         }
     }
 
@@ -304,7 +304,7 @@ public:
     void setSection(const QString &sect) {
         if (m_section != sect) {
             m_section = sect;
-            emit sectionChanged();
+            Q_EMIT sectionChanged();
         }
     }
 
@@ -312,7 +312,7 @@ public:
     void setPrevSection(const QString &sect) {
         if (m_prevSection != sect) {
             m_prevSection = sect;
-            emit prevSectionChanged();
+            Q_EMIT prevSectionChanged();
         }
     }
 
@@ -320,14 +320,14 @@ public:
     void setNextSection(const QString &sect) {
         if (m_nextSection != sect) {
             m_nextSection = sect;
-            emit nextSectionChanged();
+            Q_EMIT nextSectionChanged();
         }
     }
 
-    void emitAdd() { emit add(); }
-    void emitRemove() { emit remove(); }
+    void emitAdd() { Q_EMIT add(); }
+    void emitRemove() { Q_EMIT remove(); }
 
-signals:
+Q_SIGNALS:
     void currentItemChanged();
     void delayRemoveChanged();
 
diff --git a/src/quick/items/qquickitemviewtransition_p.h b/src/quick/items/qquickitemviewtransition_p.h
index 4fb4386c57..e0b8196d80 100644
--- a/src/quick/items/qquickitemviewtransition_p.h
+++ b/src/quick/items/qquickitemviewtransition_p.h
@@ -186,7 +186,7 @@ public:
 
     static QQuickViewTransitionAttached *qmlAttachedProperties(QObject *);
 
-signals:
+Q_SIGNALS:
     void indexChanged();
     void itemChanged();
     void destinationChanged();
diff --git a/src/quick/items/qquicklistview_p.h b/src/quick/items/qquicklistview_p.h
index f612e7eab9..7b5b2e7315 100644
--- a/src/quick/items/qquicklistview_p.h
+++ b/src/quick/items/qquicklistview_p.h
@@ -183,7 +183,7 @@ public:
     void setView(QQuickListView *view) {
         if (view != m_view) {
             m_view = view;
-            emit viewChanged();
+            Q_EMIT viewChanged();
         }
     }
 
diff --git a/src/quick/items/qquickmultipointtoucharea_p.h b/src/quick/items/qquickmultipointtoucharea_p.h
index afe7d4b77b..0e3f4131e8 100644
--- a/src/quick/items/qquickmultipointtoucharea_p.h
+++ b/src/quick/items/qquickmultipointtoucharea_p.h
@@ -251,7 +251,7 @@ protected:
     void grabGesture();
     virtual QSGNode *updatePaintNode(QSGNode *, UpdatePaintNodeData *);
 
-protected slots:
+protected Q_SLOTS:
     void setTouchEventsEnabledForWindow(QWindow *window);
 
 private:
diff --git a/src/quick/items/qquickpathview_p.h b/src/quick/items/qquickpathview_p.h
index 998707aa41..800dcc646a 100644
--- a/src/quick/items/qquickpathview_p.h
+++ b/src/quick/items/qquickpathview_p.h
@@ -245,7 +245,7 @@ public:
     void setIsCurrentItem(bool c) {
         if (m_isCurrent != c) {
             m_isCurrent = c;
-            emit currentItemChanged();
+            Q_EMIT currentItemChanged();
         }
     }
 
@@ -256,7 +256,7 @@ public:
     void setOnPath(bool on) {
         if (on != m_onPath) {
             m_onPath = on;
-            emit pathChanged();
+            Q_EMIT pathChanged();
         }
     }
     qreal m_percent;
diff --git a/src/quick/items/qquickpincharea_p.h b/src/quick/items/qquickpincharea_p.h
index 60c2dc742e..c991145fc7 100644
--- a/src/quick/items/qquickpincharea_p.h
+++ b/src/quick/items/qquickpincharea_p.h
@@ -71,13 +71,13 @@ public:
         if (target == m_target)
             return;
         m_target = target;
-        emit targetChanged();
+        Q_EMIT targetChanged();
     }
     void resetTarget() {
         if (!m_target)
             return;
         m_target = 0;
-        emit targetChanged();
+        Q_EMIT targetChanged();
     }
 
     qreal minimumScale() const { return m_minScale; }
@@ -85,14 +85,14 @@ public:
         if (s == m_minScale)
             return;
         m_minScale = s;
-        emit minimumScaleChanged();
+        Q_EMIT minimumScaleChanged();
     }
     qreal maximumScale() const { return m_maxScale; }
     void setMaximumScale(qreal s) {
         if (s == m_maxScale)
             return;
         m_maxScale = s;
-        emit maximumScaleChanged();
+        Q_EMIT maximumScaleChanged();
     }
 
     qreal minimumRotation() const { return m_minRotation; }
@@ -100,14 +100,14 @@ public:
         if (r == m_minRotation)
             return;
         m_minRotation = r;
-        emit minimumRotationChanged();
+        Q_EMIT minimumRotationChanged();
     }
     qreal maximumRotation() const { return m_maxRotation; }
     void setMaximumRotation(qreal r) {
         if (r == m_maxRotation)
             return;
         m_maxRotation = r;
-        emit maximumRotationChanged();
+        Q_EMIT maximumRotationChanged();
     }
 
     enum Axis { NoDrag=0x00, XAxis=0x01, YAxis=0x02, XAndYAxis=0x03, XandYAxis=XAndYAxis };
@@ -116,7 +116,7 @@ public:
         if (a == m_axis)
             return;
         m_axis = a;
-        emit dragAxisChanged();
+        Q_EMIT dragAxisChanged();
     }
 
     qreal xmin() const { return m_xmin; }
@@ -124,28 +124,28 @@ public:
         if (x == m_xmin)
             return;
         m_xmin = x;
-        emit minimumXChanged();
+        Q_EMIT minimumXChanged();
     }
     qreal xmax() const { return m_xmax; }
     void setXmax(qreal x) {
         if (x == m_xmax)
             return;
         m_xmax = x;
-        emit maximumXChanged();
+        Q_EMIT maximumXChanged();
     }
     qreal ymin() const { return m_ymin; }
     void setYmin(qreal y) {
         if (y == m_ymin)
             return;
         m_ymin = y;
-        emit minimumYChanged();
+        Q_EMIT minimumYChanged();
     }
     qreal ymax() const { return m_ymax; }
     void setYmax(qreal y) {
         if (y == m_ymax)
             return;
         m_ymax = y;
-        emit maximumYChanged();
+        Q_EMIT maximumYChanged();
     }
 
     bool active() const { return m_active; }
@@ -153,10 +153,10 @@ public:
         if (a == m_active)
             return;
         m_active = a;
-        emit activeChanged();
+        Q_EMIT activeChanged();
     }
 
-signals:
+Q_SIGNALS:
     void targetChanged();
     void minimumScaleChanged();
     void maximumScaleChanged();
@@ -283,7 +283,7 @@ protected:
                                  const QRectF &oldGeometry);
     virtual void itemChange(ItemChange change, const ItemChangeData& value);
 
-private slots:
+private Q_SLOTS:
     void setTouchEventsEnabledForWindow(QWindow *window);
 
 private:
diff --git a/src/quick/items/qquickscreen_p.h b/src/quick/items/qquickscreen_p.h
index b35fd04e58..721390d1b2 100644
--- a/src/quick/items/qquickscreen_p.h
+++ b/src/quick/items/qquickscreen_p.h
@@ -93,7 +93,7 @@ Q_SIGNALS:
     void primaryOrientationChanged();
     void orientationChanged();
 
-protected slots:
+protected Q_SLOTS:
     void screenChanged(QScreen*);
 
 private:
diff --git a/src/quick/items/qquicksprite_p.h b/src/quick/items/qquicksprite_p.h
index a85059e8d6..7aac2781be 100644
--- a/src/quick/items/qquicksprite_p.h
+++ b/src/quick/items/qquicksprite_p.h
@@ -153,7 +153,7 @@ public:
         return m_frameSync;
     }
 
-signals:
+Q_SIGNALS:
 
     void sourceChanged(QUrl arg);
 
@@ -179,13 +179,13 @@ signals:
 
     void frameSyncChanged(bool arg);
 
-public slots:
+public Q_SLOTS:
 
     void setSource(QUrl arg)
     {
         if (m_source != arg) {
             m_source = arg;
-            emit sourceChanged(arg);
+            Q_EMIT sourceChanged(arg);
             startImageLoading();
         }
     }
@@ -194,7 +194,7 @@ public slots:
     {
         if (m_frameHeight != arg) {
             m_frameHeight = arg;
-            emit frameHeightChanged(arg);
+            Q_EMIT frameHeightChanged(arg);
         }
     }
 
@@ -202,7 +202,7 @@ public slots:
     {
         if (m_frameWidth != arg) {
             m_frameWidth = arg;
-            emit frameWidthChanged(arg);
+            Q_EMIT frameWidthChanged(arg);
         }
     }
 
@@ -210,7 +210,7 @@ public slots:
     {
         if (m_reverse != arg) {
             m_reverse = arg;
-            emit reverseChanged(arg);
+            Q_EMIT reverseChanged(arg);
         }
     }
 
@@ -224,7 +224,7 @@ public slots:
     {
         if (m_frames != arg) {
             m_frames = arg;
-            emit frameCountChanged(arg);
+            Q_EMIT frameCountChanged(arg);
         }
     }
 
@@ -232,7 +232,7 @@ public slots:
     {
         if (m_frameX != arg) {
             m_frameX = arg;
-            emit frameXChanged(arg);
+            Q_EMIT frameXChanged(arg);
         }
     }
 
@@ -240,7 +240,7 @@ public slots:
     {
         if (m_frameY != arg) {
             m_frameY = arg;
-            emit frameYChanged(arg);
+            Q_EMIT frameYChanged(arg);
         }
     }
 
@@ -248,7 +248,7 @@ public slots:
     {
         if (m_frameRate != arg) {
             m_frameRate = arg;
-            emit frameRateChanged(arg);
+            Q_EMIT frameRateChanged(arg);
         }
     }
 
@@ -256,7 +256,7 @@ public slots:
     {
         if (m_frameRateVariation != arg) {
             m_frameRateVariation = arg;
-            emit frameRateVariationChanged(arg);
+            Q_EMIT frameRateVariationChanged(arg);
         }
     }
 
@@ -264,7 +264,7 @@ public slots:
     {
         if (m_frameDuration != arg) {
             m_frameDuration = arg;
-            emit frameDurationChanged(arg);
+            Q_EMIT frameDurationChanged(arg);
         }
     }
 
@@ -272,7 +272,7 @@ public slots:
     {
         if (m_frameDurationVariation != arg) {
             m_frameDurationVariation = arg;
-            emit frameDurationVariationChanged(arg);
+            Q_EMIT frameDurationVariationChanged(arg);
         }
     }
 
@@ -280,11 +280,11 @@ public slots:
     {
         if (m_frameSync != arg) {
             m_frameSync = arg;
-            emit frameSyncChanged(arg);
+            Q_EMIT frameSyncChanged(arg);
         }
     }
 
-private slots:
+private Q_SLOTS:
     void startImageLoading();
 
 private:
diff --git a/src/quick/items/qquickspriteengine_p.h b/src/quick/items/qquickspriteengine_p.h
index 768b5e4a6e..3ff5f8caee 100644
--- a/src/quick/items/qquickspriteengine_p.h
+++ b/src/quick/items/qquickspriteengine_p.h
@@ -108,7 +108,7 @@ public:
         return m_randomStart;
     }
 
-signals:
+Q_SIGNALS:
     void durationChanged(int arg);
 
     void nameChanged(QString arg);
@@ -121,12 +121,12 @@ signals:
 
     void randomStartChanged(bool arg);
 
-public slots:
+public Q_SLOTS:
     void setDuration(int arg)
     {
         if (m_duration != arg) {
             m_duration = arg;
-            emit durationChanged(arg);
+            Q_EMIT durationChanged(arg);
         }
     }
 
@@ -134,7 +134,7 @@ public slots:
     {
         if (m_name != arg) {
             m_name = arg;
-            emit nameChanged(arg);
+            Q_EMIT nameChanged(arg);
         }
     }
 
@@ -142,7 +142,7 @@ public slots:
     {
         if (m_to != arg) {
             m_to = arg;
-            emit toChanged(arg);
+            Q_EMIT toChanged(arg);
         }
     }
 
@@ -150,7 +150,7 @@ public slots:
     {
         if (m_durationVariation != arg) {
             m_durationVariation = arg;
-            emit durationVariationChanged(arg);
+            Q_EMIT durationVariationChanged(arg);
         }
     }
 
@@ -158,7 +158,7 @@ public slots:
     {
         if (m_randomStart != arg) {
             m_randomStart = arg;
-            emit randomStartChanged(arg);
+            Q_EMIT randomStartChanged(arg);
         }
     }
 
@@ -214,17 +214,17 @@ public:
 
     int stateCount() {return m_states.count();}
 private:
-signals:
+Q_SIGNALS:
 
     void globalGoalChanged(QString arg);
     void stateChanged(int idx);
 
-public slots:
+public Q_SLOTS:
     void setGlobalGoal(QString arg)
     {
         if (m_globalGoal != arg) {
             m_globalGoal = arg;
-            emit globalGoalChanged(arg);
+            Q_EMIT globalGoalChanged(arg);
         }
     }
 
diff --git a/src/quick/items/qquickspritesequence_p.h b/src/quick/items/qquickspritesequence_p.h
index b954a4464f..8f5a992942 100644
--- a/src/quick/items/qquickspritesequence_p.h
+++ b/src/quick/items/qquickspritesequence_p.h
@@ -88,14 +88,14 @@ public:
         return m_curState;
     }
 
-signals:
+Q_SIGNALS:
 
     void runningChanged(bool arg);
     void interpolateChanged(bool arg);
     void goalSpriteChanged(QString arg);
     void currentSpriteChanged(QString arg);
 
-public slots:
+public Q_SLOTS:
 
     void jumpTo(const QString &sprite);
     void setGoalSprite(const QString &sprite);
@@ -104,7 +104,7 @@ public slots:
     {
         if (m_running != arg) {
             m_running = arg;
-            emit runningChanged(arg);
+            Q_EMIT runningChanged(arg);
         }
     }
 
@@ -112,11 +112,11 @@ public slots:
     {
         if (m_interpolate != arg) {
             m_interpolate = arg;
-            emit interpolateChanged(arg);
+            Q_EMIT interpolateChanged(arg);
         }
     }
 
-private slots:
+private Q_SLOTS:
     void createEngine();
     void sizeVertices();
 
diff --git a/src/quick/items/qquicktext_p_p.h b/src/quick/items/qquicktext_p_p.h
index 7a31e77ae4..86deb17b42 100644
--- a/src/quick/items/qquicktext_p_p.h
+++ b/src/quick/items/qquicktext_p_p.h
@@ -214,7 +214,7 @@ protected:
 
     QQuickPixmap *loadPixmap(QQmlContext *context, const QUrl &name);
 
-private slots:
+private Q_SLOTS:
     void requestFinished();
 
 private:
diff --git a/src/quick/items/qquicktextutil_p.h b/src/quick/items/qquicktextutil_p.h
index 5d376474a2..7f2206f1ef 100644
--- a/src/quick/items/qquicktextutil_p.h
+++ b/src/quick/items/qquicktextutil_p.h
@@ -101,7 +101,7 @@ void QQuickTextUtil::setCursorDelegate(Private *d, QQmlComponent *delegate)
     if (parent->isCursorVisible() && parent->isComponentComplete())
         createCursor(d);
 
-    emit parent->cursorDelegateChanged();
+    Q_EMIT parent->cursorDelegateChanged();
 }
 
 template <typename Private>
diff --git a/src/quick/items/qquickwindow_p.h b/src/quick/items/qquickwindow_p.h
index ad861754d7..12925cbbca 100644
--- a/src/quick/items/qquickwindow_p.h
+++ b/src/quick/items/qquickwindow_p.h
@@ -191,7 +191,7 @@ public:
     void updateEffectiveOpacityRoot(QQuickItem *, qreal);
     void updateDirtyNode(QQuickItem *);
 
-    void fireFrameSwapped() { emit q_func()->frameSwapped(); }
+    void fireFrameSwapped() { Q_EMIT q_func()->frameSwapped(); }
 
     QSGContext *context;
     QSGRenderer *renderer;
diff --git a/src/quick/scenegraph/coreapi/qsgbatchrenderer_p.h b/src/quick/scenegraph/coreapi/qsgbatchrenderer_p.h
index 1aa165281a..6e9bd750e2 100644
--- a/src/quick/scenegraph/coreapi/qsgbatchrenderer_p.h
+++ b/src/quick/scenegraph/coreapi/qsgbatchrenderer_p.h
@@ -373,7 +373,7 @@ public:
         qDeleteAll(stockShaders.values());
     }
 
-public slots:
+public Q_SLOTS:
     void invalidated();
 
 public:
diff --git a/src/quick/scenegraph/coreapi/qsgrenderer_p.h b/src/quick/scenegraph/coreapi/qsgrenderer_p.h
index 0370be000b..3479c4392c 100644
--- a/src/quick/scenegraph/coreapi/qsgrenderer_p.h
+++ b/src/quick/scenegraph/coreapi/qsgrenderer_p.h
@@ -134,7 +134,7 @@ public:
     void setClearMode(ClearMode mode) { m_clear_mode = mode; }
     ClearMode clearMode() const { return m_clear_mode; }
 
-signals:
+Q_SIGNALS:
     void sceneGraphChanged(); // Add, remove, ChangeFlags changes...
 
 protected:
diff --git a/src/quick/scenegraph/qsgcontext_p.h b/src/quick/scenegraph/qsgcontext_p.h
index 3d5fc00de3..b5d8ca05ae 100644
--- a/src/quick/scenegraph/qsgcontext_p.h
+++ b/src/quick/scenegraph/qsgcontext_p.h
@@ -130,10 +130,10 @@ public:
     static QSGRenderLoop *createWindowManager();
 
 
-public slots:
+public Q_SLOTS:
     void textureFactoryDestroyed(QObject *o);
 
-signals:
+Q_SIGNALS:
     void initialized();
     void invalidated();
 };
diff --git a/src/quick/scenegraph/qsgrenderloop_p.h b/src/quick/scenegraph/qsgrenderloop_p.h
index 6ff9c4c5f9..1e9a645cf4 100644
--- a/src/quick/scenegraph/qsgrenderloop_p.h
+++ b/src/quick/scenegraph/qsgrenderloop_p.h
@@ -81,7 +81,7 @@ public:
 
     virtual bool interleaveIncubation() const { return false; }
 
-signals:
+Q_SIGNALS:
     void timeToIncubate();
 
 private:
diff --git a/src/quick/scenegraph/qsgthreadedrenderloop_p.h b/src/quick/scenegraph/qsgthreadedrenderloop_p.h
index 6ff5cabf43..f1e75f6869 100644
--- a/src/quick/scenegraph/qsgthreadedrenderloop_p.h
+++ b/src/quick/scenegraph/qsgthreadedrenderloop_p.h
@@ -81,7 +81,7 @@ public:
 
     bool interleaveIncubation() const;
 
-public slots:
+public Q_SLOTS:
     void animationStarted();
     void animationStopped();
 
diff --git a/src/quick/scenegraph/qsgwindowsrenderloop_p.h b/src/quick/scenegraph/qsgwindowsrenderloop_p.h
index 218e18c3e2..82eeb423e8 100644
--- a/src/quick/scenegraph/qsgwindowsrenderloop_p.h
+++ b/src/quick/scenegraph/qsgwindowsrenderloop_p.h
@@ -84,7 +84,7 @@ public:
 
     bool interleaveIncubation() const;
 
-public slots:
+public Q_SLOTS:
     void started();
     void stopped();
 
diff --git a/src/quick/util/qquickpath_p.h b/src/quick/util/qquickpath_p.h
index 1a9be7c82a..77062605c0 100644
--- a/src/quick/util/qquickpath_p.h
+++ b/src/quick/util/qquickpath_p.h
@@ -331,7 +331,7 @@ public:
     qreal value() const;
     void setValue(qreal value);
 
-signals:
+Q_SIGNALS:
     void valueChanged();
 
 private:
diff --git a/tests/auto/quick/nokeywords/nokeywords.pro b/tests/auto/quick/nokeywords/nokeywords.pro
new file mode 100644
index 0000000000..51fd490cb7
--- /dev/null
+++ b/tests/auto/quick/nokeywords/nokeywords.pro
@@ -0,0 +1,10 @@
+CONFIG += testcase
+TARGET = tst_nokeywords
+macx:CONFIG   -= app_bundle
+
+SOURCES += tst_nokeywords.cpp
+
+CONFIG+=parallel_test
+
+QT += quick core-private gui-private qml-private quick-private testlib
+DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0
diff --git a/tests/auto/quick/nokeywords/tst_nokeywords.cpp b/tests/auto/quick/nokeywords/tst_nokeywords.cpp
new file mode 100644
index 0000000000..c98bce4c3f
--- /dev/null
+++ b/tests/auto/quick/nokeywords/tst_nokeywords.cpp
@@ -0,0 +1,121 @@
+/****************************************************************************
+**
+** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Digia.  For licensing terms and
+** conditions see http://qt.digia.com/licensing.  For further information
+** use the contact form at http://qt.digia.com/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file.  Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Digia gives you certain additional
+** rights.  These rights are described in the Digia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file.  Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#define QT_NO_KEYWORDS
+#undef signals
+#undef slots
+#undef emit
+#define signals FooBar
+#define slots Baz
+#define emit Yoyodyne
+
+#include <QtQuick/QtQuick>
+#include <QtQuick/private/qquickitem_p.h>
+#include <QtQuick/private/qquickflickable_p.h>
+#include <QtQuick/private/qquickitem_p.h>
+#include <QtQuick/private/qquickitemview_p.h>
+#include <QtQuick/private/qquicklistview_p.h>
+#include <QtQuick/private/qquickpainteditem_p.h>
+#include <QtQuick/private/qquickshadereffect_p.h>
+#include <QtQuick/private/qquickshadereffectsource_p.h>
+#include <QtQuick/private/qquickview_p.h>
+#include <QtQuick/private/qquickwindow_p.h>
+#include <QtQuick/private/qsgadaptationlayer_p.h>
+#include <QtQuick/private/qsgcontext_p.h>
+#include <QtQuick/private/qsgcontextplugin_p.h>
+#include <QtQuick/private/qsgdefaultdistancefieldglyphcache_p.h>
+#include <QtQuick/private/qsgdefaultglyphnode_p.h>
+#include <QtQuick/private/qsgdefaultimagenode_p.h>
+#include <QtQuick/private/qsgdefaultrectanglenode_p.h>
+#include <QtQuick/private/qsgdepthstencilbuffer_p.h>
+#include <QtQuick/private/qsgdistancefieldglyphnode_p.h>
+#include <QtQuick/private/qsgdistancefieldutil_p.h>
+#include <QtQuick/private/qsgflashnode_p.h>
+#include <QtQuick/private/qsggeometry_p.h>
+#include <QtQuick/private/qsgnode_p.h>
+#include <QtQuick/private/qsgnodeupdater_p.h>
+#include <QtQuick/private/qsgpainternode_p.h>
+#include <QtQuick/private/qsgpathsimplifier_p.h>
+#include <QtQuick/private/qsgrenderer_p.h>
+#include <QtQuick/private/qsgrenderloop_p.h>
+#include <QtQuick/private/qsgrendernode_p.h>
+#include <QtQuick/private/qsgshareddistancefieldglyphcache_p.h>
+#include <QtQuick/private/qsgtexturematerial_p.h>
+#include <QtQuick/private/qsgtexture_p.h>
+#include <QtQuick/private/qsgthreadedrenderloop_p.h>
+#include <QtQuick/private/qsgwindowsrenderloop_p.h>
+
+#undef signals
+#undef slots
+#undef emit
+
+class MyBooooooostishClass : public QObject
+{
+    Q_OBJECT
+public:
+    inline MyBooooooostishClass() {}
+
+Q_SIGNALS:
+    void mySignal();
+
+public Q_SLOTS:
+    inline void mySlot() { mySignal(); }
+
+private:
+    int signals;
+    double slots;
+};
+
+#define signals public
+#define slots
+#define emit
+#undef QT_NO_KEYWORDS
+
+#include <QtTest/QtTest>
+
+class tst_NoKeywords : public QObject
+{
+    Q_OBJECT
+};
+
+QTEST_MAIN(tst_NoKeywords)
+
+#include "tst_nokeywords.moc"
diff --git a/tests/auto/quick/quick.pro b/tests/auto/quick/quick.pro
index 81d4fd3348..f8c19bae63 100644
--- a/tests/auto/quick/quick.pro
+++ b/tests/auto/quick/quick.pro
@@ -13,6 +13,7 @@ qtHaveModule(widgets): PUBLICTESTS += nodes
 !qtHaveModule(concurrent): PUBLICTESTS -= qquickpixmapcache
 
 PRIVATETESTS += \
+    nokeywords \
     qquickanimations \
     qquickapplication \
     qquickbehaviors \
-- 
GitLab