summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGiuseppe D'Angelo <giuseppe.dangelo@kdab.com>2012-09-13 19:23:10 +0100
committerThe Qt Project <gerrit-noreply@qt-project.org>2012-09-26 10:08:59 +0200
commit8b032fe423e854428c1c8324dcd0f8c6150b3503 (patch)
treef70493194703d129cdfa1f49adac9a5e5ec04c0e
parentf052ee467d257eb289b560c1420c59e6c558ba91 (diff)
Make QSignalTransition take a pointer-to-const QObject
The obvious idea is that a connect() happens behind the scenes. As QObject::connect takes a pointer-to-const, QSignalTransition should do that as well. TODO: the API becomes asymmetric in that it takes a "const QObject *" but returns a "QObject *". Reasoning is needed. Change-Id: I18d0436e7036eee851fd36d5b8ccda4a4757938f Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
-rw-r--r--src/corelib/statemachine/qsignaltransition.cpp6
-rw-r--r--src/corelib/statemachine/qsignaltransition.h4
-rw-r--r--src/corelib/statemachine/qsignaltransition_p.h2
-rw-r--r--src/corelib/statemachine/qstate.cpp2
-rw-r--r--src/corelib/statemachine/qstate.h2
-rw-r--r--src/corelib/statemachine/qstatemachine.cpp2
6 files changed, 9 insertions, 9 deletions
diff --git a/src/corelib/statemachine/qsignaltransition.cpp b/src/corelib/statemachine/qsignaltransition.cpp
index d64a91a435..73b6aa1ef9 100644
--- a/src/corelib/statemachine/qsignaltransition.cpp
+++ b/src/corelib/statemachine/qsignaltransition.cpp
@@ -148,7 +148,7 @@ QSignalTransition::QSignalTransition(QState *sourceState)
Constructs a new signal transition associated with the given \a signal of
the given \a sender, and with the given \a sourceState.
*/
-QSignalTransition::QSignalTransition(QObject *sender, const char *signal,
+QSignalTransition::QSignalTransition(const QObject *sender, const char *signal,
QState *sourceState)
: QAbstractTransition(*new QSignalTransitionPrivate, sourceState)
{
@@ -171,13 +171,13 @@ QSignalTransition::~QSignalTransition()
QObject *QSignalTransition::senderObject() const
{
Q_D(const QSignalTransition);
- return d->sender;
+ return const_cast<QObject *>(d->sender);
}
/*!
Sets the \a sender object associated with this signal transition.
*/
-void QSignalTransition::setSenderObject(QObject *sender)
+void QSignalTransition::setSenderObject(const QObject *sender)
{
Q_D(QSignalTransition);
if (sender == d->sender)
diff --git a/src/corelib/statemachine/qsignaltransition.h b/src/corelib/statemachine/qsignaltransition.h
index 6804fe140f..81bf6e279c 100644
--- a/src/corelib/statemachine/qsignaltransition.h
+++ b/src/corelib/statemachine/qsignaltransition.h
@@ -59,12 +59,12 @@ class Q_CORE_EXPORT QSignalTransition : public QAbstractTransition
Q_PROPERTY(QByteArray signal READ signal WRITE setSignal)
public:
QSignalTransition(QState *sourceState = 0);
- QSignalTransition(QObject *sender, const char *signal,
+ QSignalTransition(const QObject *sender, const char *signal,
QState *sourceState = 0);
~QSignalTransition();
QObject *senderObject() const;
- void setSenderObject(QObject *sender);
+ void setSenderObject(const QObject *sender);
QByteArray signal() const;
void setSignal(const QByteArray &signal);
diff --git a/src/corelib/statemachine/qsignaltransition_p.h b/src/corelib/statemachine/qsignaltransition_p.h
index 1e272259ce..dc6b76489f 100644
--- a/src/corelib/statemachine/qsignaltransition_p.h
+++ b/src/corelib/statemachine/qsignaltransition_p.h
@@ -71,7 +71,7 @@ public:
virtual void callOnTransition(QEvent *e);
- QObject *sender;
+ const QObject *sender;
QByteArray signal;
int signalIndex;
int originalSignalIndex;
diff --git a/src/corelib/statemachine/qstate.cpp b/src/corelib/statemachine/qstate.cpp
index 126fa3adf7..7d4081f2c3 100644
--- a/src/corelib/statemachine/qstate.cpp
+++ b/src/corelib/statemachine/qstate.cpp
@@ -348,7 +348,7 @@ void QState::addTransition(QAbstractTransition *transition)
object, and returns the new QSignalTransition object. The transition has
this state as the source, and the given \a target as the target state.
*/
-QSignalTransition *QState::addTransition(QObject *sender, const char *signal,
+QSignalTransition *QState::addTransition(const QObject *sender, const char *signal,
QAbstractState *target)
{
if (!sender) {
diff --git a/src/corelib/statemachine/qstate.h b/src/corelib/statemachine/qstate.h
index 13335e80d7..8d20a67350 100644
--- a/src/corelib/statemachine/qstate.h
+++ b/src/corelib/statemachine/qstate.h
@@ -83,7 +83,7 @@ public:
void setErrorState(QAbstractState *state);
void addTransition(QAbstractTransition *transition);
- QSignalTransition *addTransition(QObject *sender, const char *signal, QAbstractState *target);
+ QSignalTransition *addTransition(const QObject *sender, const char *signal, QAbstractState *target);
QAbstractTransition *addTransition(QAbstractState *target);
void removeTransition(QAbstractTransition *transition);
QList<QAbstractTransition*> transitions() const;
diff --git a/src/corelib/statemachine/qstatemachine.cpp b/src/corelib/statemachine/qstatemachine.cpp
index 8f105f9997..4d911cb4a2 100644
--- a/src/corelib/statemachine/qstatemachine.cpp
+++ b/src/corelib/statemachine/qstatemachine.cpp
@@ -1739,7 +1739,7 @@ void QStateMachinePrivate::registerSignalTransition(QSignalTransition *transitio
Q_Q(QStateMachine);
if (QSignalTransitionPrivate::get(transition)->signalIndex != -1)
return; // already registered
- QObject *sender = QSignalTransitionPrivate::get(transition)->sender;
+ const QObject *sender = QSignalTransitionPrivate::get(transition)->sender;
if (!sender)
return;
QByteArray signal = QSignalTransitionPrivate::get(transition)->signal;