--- a/emailservices/nmclientapi/src/nmapieventnotifier_p.cpp Thu Sep 30 11:43:07 2010 +0300
+++ b/emailservices/nmclientapi/src/nmapieventnotifier_p.cpp Thu Oct 14 17:33:43 2010 +0300
@@ -30,6 +30,7 @@
NM_FUNCTION;
mEmitSignals = new QTimer(this);
mEmitSignals->setInterval(IntervalEmitingSignals);
+ mEmitSignals->setSingleShot(true);
connect(mEmitSignals, SIGNAL(timeout()), this, SIGNAL(
timedOut()));
mEngine = NmApiEngine::instance();
@@ -69,14 +70,13 @@
}
else {
qRegisterMetaType<QList<quint64> > ("QList<quint64>");
- qRegisterMetaType<NmApiEvent> ("NmApiEvent");
+ qRegisterMetaType<EmailClientApi::NmApiEvent> ("EmailClientApi::NmApiEvent");
- connect(mEngine, SIGNAL(emailStoreEvent(NmApiEvent)), this,
- SLOT(emailStoreEvent(NmApiEvent)));
+ connect(mEngine, SIGNAL(emailStoreEvent(EmailClientApi::NmApiEvent)), this,
+ SLOT(emailStoreEvent(EmailClientApi::NmApiEvent)));
mEngine->startCollectingEvents();
- mEmitSignals->start();
mIsRunning = true;
result = true;
}
@@ -89,8 +89,8 @@
{
mIsRunning = false;
mEmitSignals->stop();
- disconnect(mEngine, SIGNAL(emailStoreEvent(NmApiEvent)), this,
- SLOT(emailStoreEvent(NmApiEvent)));
+ disconnect(mEngine, SIGNAL(emailStoreEvent(EmailClientApi::NmApiEvent)), this,
+ SLOT(emailStoreEvent(EmailClientApi::NmApiEvent)));
}
/*!
@@ -110,10 +110,13 @@
\sa NmApiEvent
\param events It contains full info about object and it event.
*/
-void NmApiEventNotifierPrivate::emailStoreEvent(const NmApiEvent &events)
+void NmApiEventNotifierPrivate::emailStoreEvent(const EmailClientApi::NmApiEvent event)
{
NM_FUNCTION;
- mBufferOfEvents << events;
+ mBufferOfEvents << event;
+ if (!mEmitSignals->isActive()) {
+ mEmitSignals->start();
+ }
}
void NmApiEventNotifierPrivate::cancel()
@@ -127,8 +130,8 @@
mIsRunning = false;
mEmitSignals->stop();
- disconnect(mEngine, SIGNAL(emailStoreEvent(NmApiEvent)), this,
- SLOT(emailStoreEvent(NmApiEvent)));
+ disconnect(mEngine, SIGNAL(emailStoreEvent(EmailClientApi::NmApiEvent)), this,
+ SLOT(emailStoreEvent(EmailClientApi::NmApiEvent)));
mBufferOfEvents.clear();
}