--- a/qtmobility/src/messaging/qmessageservice_maemo.cpp Fri May 14 16:41:33 2010 +0300
+++ b/qtmobility/src/messaging/qmessageservice_maemo.cpp Thu May 27 13:42:11 2010 +0300
@@ -45,8 +45,12 @@
#include "modestengine_maemo_p.h"
#include "telepathyengine_maemo_p.h"
#include "eventloggerengine_maemo_p.h"
+#include <QUrl>
+#include "hildon-uri.h"
QTM_BEGIN_NAMESPACE
+#define EVENTLOGGER_THREAD
+
QMessageServicePrivate::QMessageServicePrivate(QMessageService* parent)
: q_ptr(parent),
@@ -55,6 +59,10 @@
_active(false), _actionId(-1),
_pendingRequestCount(0)
{
+#ifdef EVENTLOGGER_THREAD
+ connect(EventLoggerEngine::instance(),SIGNAL(messagesFound(const QMessageIdList &,bool,bool)),this,SLOT(messagesFound(const QMessageIdList &,bool,bool)));
+
+#endif
}
QMessageServicePrivate::~QMessageServicePrivate()
@@ -89,8 +97,12 @@
_pendingRequestCount = 0;
if (enginesToCall & EnginesToCallTelepathy) {
- _ids = EventLoggerEngine::instance()->filterAndOrderMessages(filter,sortOrder,QString(),QMessageDataComparator::MatchFlags());
+#ifndef EVENTLOGGER_THREAD
+ _ids = EventLoggerEngine::instance()->filterAndOrderMessages(filter,sortOrder,QString(),QMessageDataComparator::MatchFlags());
QMetaObject::invokeMethod(this, "messagesFoundSlot", Qt::QueuedConnection);
+#else
+ EventLoggerEngine::instance()->filterMessages(_filter,sortOrder,QString(),QMessageDataComparator::MatchFlags());
+#endif
_pendingRequestCount++;
}
@@ -139,8 +151,12 @@
_pendingRequestCount = 0;
if (enginesToCall & EnginesToCallTelepathy) {
+#ifndef EVENTLOGGER_THREAD
_ids= EventLoggerEngine::instance()->filterAndOrderMessages(filter,sortOrder,body,matchFlags);
QMetaObject::invokeMethod(this, "messagesFoundSlot", Qt::QueuedConnection);
+#else
+ EventLoggerEngine::instance()->filterMessages(_filter,sortOrder,body,matchFlags);
+#endif
_pendingRequestCount++;
}
@@ -327,7 +343,7 @@
bool QMessageService::send(QMessage &message)
{
- // qDebug() << "QMessageService::send";
+ qDebug() << "QMessageService::send";
if (d_ptr->_active) {
return false;
}
@@ -418,11 +434,13 @@
}
d_ptr->setFinished(retVal);
+ qDebug() << "send returns=" << retVal;
return retVal;
}
bool QMessageService::compose(const QMessage &message)
{
+ // qDebug() << "qMessageService::compose";
if (d_ptr->_active) {
return false;
}
@@ -430,14 +448,19 @@
d_ptr->_active = true;
d_ptr->_error = QMessageManager::NoError;
- bool retVal = true;
+ bool retVal=false;
d_ptr->_state = QMessageService::ActiveState;
emit stateChanged(d_ptr->_state);
+ qDebug() << "qMessageService::compose stateChanged";
- if (message.type() == QMessage::Sms) {
- d_ptr->_error = QMessageManager::NotYetImplemented; //TODO:
- qWarning() << "QMessageService::compose not yet implemented for SMS";
- retVal = false;
+ if (message.type() == QMessage::Sms && !message.to().isEmpty() && !message.to().first().addressee().isEmpty()) {
+ QUrl smsUrl((QString("sms:%1").arg(message.to().first().addressee())));
+ smsUrl.addQueryItem("body",message.textContent());
+ // qDebug() << "compose SMS url=" << smsUrl.toString();
+ hildon_uri_open(smsUrl.toString().toStdString().c_str(),NULL,NULL);
+ retVal = true;
+
+
} else if (message.type() == QMessage::Mms) {
d_ptr->_error = QMessageManager::NotYetImplemented; //TODO:
qWarning() << "QMessageService::compose not yet implemented for MMS";
@@ -446,10 +469,13 @@
retVal = ModestEngine::instance()->composeEmail(message);
}
- d_ptr->setFinished(retVal);
+ d_ptr->setFinished(retVal);
+ // qDebug() << "compose returns=" << retVal;
return retVal;
}
+
+
bool QMessageService::retrieveHeader(const QMessageId& id)
{
Q_UNUSED(id)