123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118 |
- #include "smshelper.h"
- #ifndef SENDSMS_ENABLED
- #include <QTimer>
- #endif
- SMSHelper::SMSHelper(QObject *parent) :
- QObject(parent)
- {
- state = QMessageService::InactiveState;
- connect(&iMessageService, SIGNAL(stateChanged(QMessageService::State)), this, SLOT(messageStateChanged(QMessageService::State)));
- }
- SMSHelper::~SMSHelper()
- {
- }
- bool SMSHelper::sendsms(QString phonenumber, QString message)
- {
- #ifdef SENDSMS_ENABLED
- if (!QMessageAccount::defaultAccount(QMessage::Sms).isValid())
- {
- emit errorMsg("No messageaccount for sms sending.");
- return false;
- }
- if (state == QMessageService::InactiveState || state == QMessageService::FinishedState)
- {
- QMessage sms;
- sms.setType(QMessage::Sms);
- sms.setParentAccountId(QMessageAccount::defaultAccount(QMessage::Sms));
- sms.setTo(QMessageAddress(QMessageAddress::Phone, phonenumber));
- sms.setBody(message);
- return iMessageService.send(sms);
- }
- else
- {
- return false;
- }
- #else
- QTimer::singleShot(1000,this,SLOT(signalFinishedState()));
- return true;
- #endif
- }
- void SMSHelper::messageStateChanged(QMessageService::State s)
- {
- state = s;
- if (s == QMessageService::InactiveState)
- {
- emit stateMsg("InactiveState");
- }
- else if (s == QMessageService::ActiveState)
- {
- emit stateMsg("ActiveState");
- }
- else if (s == QMessageService::CanceledState)
- {
- emit stateMsg("CanceledState");
- }
- else if (s == QMessageService::FinishedState)
- {
- emit stateMsg("FinishedState");
- }
- else
- {
- emit stateMsg(QString("QMessageService::%1").arg(s));
- }
- }
|