CVS commit by andreas: - proper support for direct messages M +11 -0 kgamechat.cpp 1.26 M +7 -0 kgamechat.h 1.11 --- kdegames/libkdegames/kgame/kgamechat.cpp #1.25:1.26 @@ -284,4 +284,6 @@ void KGameChat::slotAddPlayer(KPlayer* p connect(p, SIGNAL(signalPropertyChanged(KGamePropertyBase*, KPlayer*)), this, SLOT(slotPropertyChanged(KGamePropertyBase*, KPlayer*))); + connect(p, SIGNAL(signalNetworkData(int, const QByteArray&, Q_UINT32, KPlayer*)), + this, SLOT(slotReceivePrivateMessage(int, const QByteArray&, Q_UINT32, KPlayer*))); } @@ -314,4 +316,13 @@ void KGameChat::slotPropertyChanged(KGam //TODO } +} + +void KGameChat::slotReceivePrivateMessage(int msgid, const QByteArray& buffer, Q_UINT32 sender, KPlayer* me) +{ + if (!me || me != fromPlayer()) { + kdDebug() << k_funcinfo << "nope - not for us!" << endl; + return; + } + slotReceiveMessage(msgid, buffer, me->id(), sender); } --- kdegames/libkdegames/kgame/kgamechat.h #1.10:1.11 @@ -204,4 +204,11 @@ protected slots: void slotRemovePlayer(KPlayer*); + /** + * Called when @ref KPlayer::signalNetworkData is emitted. The message + * gets forwarded to @ref slotReceiveMessage if @p me equals @ref + * fromPlayer. + **/ + void slotReceivePrivateMessage(int msgid, const QByteArray& buffer, Q_UINT32 sender, KPlayer* me); + protected: virtual void returnPressed(const QString&);