Hi Chris Thank you very much for your guidance,It's very helpful for me and I will try as your use-case.
My mother tongue is Chinese and my English is so-so. Wishing you and your family a very merry Christmas. maxinjun From: christopher.lamb Date: 2013-12-22 18:55 To: itviewer; devel@lists.sailfishos.org Subject: Fwd: Re: Re: [SailfishDevel] How to get contacts and sms through Qt(C++) Hi Max No problem, your english is excellent. What is your mother language? I am visiting family for Christmas at the moment, so I will keep this first mail short. I will try and post again this evening. So first, SMS: In my app I only need to send smses, and I do it using the Telepathy library. My explanation below reflects how "I did it" and my use-case, but there are other routes you can take. The C++ code I am using is at the bottom of this mail. Note this is ported from Harmattan, and not fully tested yet as my Sailfish app is not fully ported, and I only have the Emulator. No sign of my phone arriving ... On Harmattan I originally used the Mobility API, but as that API had a very negative effect on app startup time, and is not available for Qt5 / Sailfish, I wrote code similar to that below for Harmattan, and was able to test it with a real Nokia N9. //in the .pro file QT += dbus PKGCONFIG += TelepathyQt5 Note I need to play around more with the .pro file settings, but with the ones above, Telepathy is found, and the code compiles. Note also that the account used below is almost certainly wrong for Sailfish, it is the one that works on the N9. You also need to make sure that the correct Telepathy Modules are installed. I will post more on this later, but for now I think you will need telepathy-ring-devel, telepathy-mission-control, telepathy-qt5-devel. I will post separately on QtContacts in the next few days, as and when Christmas / family festivities permit. Ciao Chris //start telepathy.h #ifndef TELEPATHYHELPER_H #define TELEPATHYHELPER_H #include <TelepathyQt/Types> #include <QObject> #include <QString> namespace Tp { class PendingOperation; } class TelepathyHelper : public QObject { Q_OBJECT public: explicit TelepathyHelper(QObject *parent = 0); ~TelepathyHelper(); Q_INVOKABLE void sendSMS(const QString &contactIdentifier, const QString &message); signals: void stateMsg(const QString &statemsg); void errorMsg(const QString &errormsg); private Q_SLOTS: void onSendMessageFinished(Tp::PendingOperation *op); private: Tp::ContactMessengerPtr messenger; }; #endif // TELEPATHYHELPER_H //end //start telepathy.h //start telepathy.cpp #include "telepathyhelper.h" #include <TelepathyQt/Account> #include <TelepathyQt/Debug> #include <TelepathyQt/Constants> #include <TelepathyQt/ContactMessenger> #include <TelepathyQt/PendingSendMessage> #include <TelepathyQt/Types> TelepathyHelper::TelepathyHelper(QObject *parent) : QObject(parent) { Tp::registerTypes(); Tp::enableDebug(true); Tp::enableWarnings(true); } TelepathyHelper::~TelepathyHelper() { } void TelepathyHelper::sendSMS(const QString &contactIdentifier, const QString &message) { Tp::AccountPtr acc = Tp::Account::create(TP_QT_ACCOUNT_MANAGER_BUS_NAME, QLatin1String("/org/freedesktop/Telepathy/Account/ring/tel/ring")); //QLatin1String("/org/freedesktop/Telepathy/Account/ring/tel/account0")); messenger = Tp::ContactMessenger::create(acc, contactIdentifier); connect(messenger->sendMessage(message), SIGNAL(finished(Tp::PendingOperation*)), SLOT(onSendMessageFinished(Tp::PendingOperation*))); } void TelepathyHelper::onSendMessageFinished(Tp::PendingOperation *op) { if (op->isError()) { qDebug() << "Error sending message:" << op->errorName() << "-" << op->errorMessage(); emit errorMsg("Error sending message"); return; } Tp::PendingSendMessage *psm = qobject_cast<Tp::PendingSendMessage *>(op); qDebug() << "Message sent, token is" << psm->sentMessageToken(); emit stateMsg("FinishedState"); } //end telepathy.cpp ----- Weitergeleitete Nachricht von itvie...@jolladev.net ----- Datum: Sun, 22 Dec 2013 17:36:18 +0800 Von: itviewer <itvie...@jolladev.net> Betreff: Re: Re: [SailfishDevel] How to get contacts and sms through Qt(C++) An: christopher.lamb <christopher.l...@thurweb.ch> Hi Chris Thanks for your help,I reviewed all your posts ,however, I still do not know how to start. Will you be able to provide some cases I can refer to? Thank you and sorry for my english. maxinjun From: christopher.lamb Date: 2013-12-22 15:59 To: Sailfish OS Developers; itviewer CC: devel Subject: Re: [SailfishDevel] How to get contacts and sms through Qt(C++) Hi myinjun If you search through the archives of this mailing list, especially for posts with my name you will find some stuff on Sailfish and SMS. I was able to get SMS working (as far as that is possible) on the Emulator using the Telepathy libraries. Note however that currently that will probably be a no-no for inclusion in the Harbour Store. For Contacts access, see the recent thread on QtContact. Chris Zitat von itviewer <itvie...@jolladev.net>: > Hi, > I want to manage contacts and sms message through Qt C++?how can i > do that?Are there any helpful documents? > Any pointers whatsoever would be highly appreciated. > thanks > > > > maxinjun ----- Ende der weitergeleiteten Nachricht -----
<<0.gif>>
_______________________________________________ SailfishOS.org Devel mailing list