aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/types
diff options
context:
space:
mode:
Diffstat (limited to 'src/qml/types')
-rw-r--r--src/qml/types/qqmlconnections.cpp31
-rw-r--r--src/qml/types/qqmlconnections_p.h5
2 files changed, 35 insertions, 1 deletions
diff --git a/src/qml/types/qqmlconnections.cpp b/src/qml/types/qqmlconnections.cpp
index 6a93410ecb..5f69bf5f94 100644
--- a/src/qml/types/qqmlconnections.cpp
+++ b/src/qml/types/qqmlconnections.cpp
@@ -51,11 +51,12 @@ QT_BEGIN_NAMESPACE
class QQmlConnectionsPrivate : public QObjectPrivate
{
public:
- QQmlConnectionsPrivate() : target(0), targetSet(false), ignoreUnknownSignals(false), componentcomplete(true) {}
+ QQmlConnectionsPrivate() : target(0), enabled(true), targetSet(false), ignoreUnknownSignals(false), componentcomplete(true) {}
QList<QQmlBoundSignal*> boundsignals;
QObject *target;
+ bool enabled;
bool targetSet;
bool ignoreUnknownSignals;
bool componentcomplete;
@@ -177,6 +178,34 @@ void QQmlConnections::setTarget(QObject *obj)
}
/*!
+ \qmlproperty bool QtQml::Connections::enabled
+ \since 5.7
+
+ This property holds whether the item accepts change events.
+
+ By default, this property is \c true.
+*/
+bool QQmlConnections::isEnabled() const
+{
+ Q_D(const QQmlConnections);
+ return d->enabled;
+}
+
+void QQmlConnections::setEnabled(bool enabled)
+{
+ Q_D(QQmlConnections);
+ if (d->enabled == enabled)
+ return;
+
+ d->enabled = enabled;
+
+ foreach (QQmlBoundSignal *s, d->boundsignals)
+ s->setEnabled(d->enabled);
+
+ emit enabledChanged();
+}
+
+/*!
\qmlproperty bool QtQml::Connections::ignoreUnknownSignals
Normally, a connection to a non-existent signal produces runtime errors.
diff --git a/src/qml/types/qqmlconnections_p.h b/src/qml/types/qqmlconnections_p.h
index 234c5061a7..d330b772cc 100644
--- a/src/qml/types/qqmlconnections_p.h
+++ b/src/qml/types/qqmlconnections_p.h
@@ -63,6 +63,7 @@ class Q_AUTOTEST_EXPORT QQmlConnections : public QObject, public QQmlParserStatu
Q_INTERFACES(QQmlParserStatus)
Q_PROPERTY(QObject *target READ target WRITE setTarget NOTIFY targetChanged)
+ Q_REVISION(1) Q_PROPERTY(bool enabled READ isEnabled WRITE setEnabled NOTIFY enabledChanged)
Q_PROPERTY(bool ignoreUnknownSignals READ ignoreUnknownSignals WRITE setIgnoreUnknownSignals)
public:
@@ -72,11 +73,15 @@ public:
QObject *target() const;
void setTarget(QObject *);
+ bool isEnabled() const;
+ void setEnabled(bool enabled);
+
bool ignoreUnknownSignals() const;
void setIgnoreUnknownSignals(bool ignore);
Q_SIGNALS:
void targetChanged();
+ Q_REVISION(1) void enabledChanged();
private:
void connectSignals();