From a4084dcd38a78dfc9113168e378b5fa7f7e9f6ea Mon Sep 17 00:00:00 2001 From: Philipp Andreas Date: Thu, 10 Jul 2014 21:56:19 +0200 Subject: Adding support for default notifications. --- daemon/manager.cpp | 31 +++++++++++++++++++++++++++++-- 1 file changed, 29 insertions(+), 2 deletions(-) (limited to 'daemon/manager.cpp') diff --git a/daemon/manager.cpp b/daemon/manager.cpp index f25e724..11444fe 100644 --- a/daemon/manager.cpp +++ b/daemon/manager.cpp @@ -5,8 +5,8 @@ #include #include -Manager::Manager(watch::WatchConnector *watch, DBusConnector *dbus, VoiceCallManager *voice) : - QObject(0), watch(watch), dbus(dbus), voice(voice), +Manager::Manager(watch::WatchConnector *watch, DBusConnector *dbus, VoiceCallManager *voice, NotificationManager *notifications) : + QObject(0), watch(watch), dbus(dbus), voice(voice), notifications(notifications), notification(MNotification::DeviceEvent) { // We don't need to handle presence changes, so report them separately and ignore them @@ -24,6 +24,10 @@ Manager::Manager(watch::WatchConnector *watch, DBusConnector *dbus, VoiceCallMan connect(voice, SIGNAL(activeVoiceCallChanged()), SLOT(onActiveVoiceCallChanged())); connect(voice, SIGNAL(error(const QString &)), SLOT(onVoiceError(const QString &))); + connect(notifications, SIGNAL(error(const QString &)), SLOT(onNotifyError(const QString &))); + connect(notifications, SIGNAL(emailNotify(const QString &,const QString &,const QString &)), SLOT(onEmailNotify(const QString &,const QString &,const QString &))); + connect(notifications, SIGNAL(smsNotify(const QString &,const QString &)), SLOT(onSmsNotify(const QString &,const QString &))); + // Watch instantiated hangup, follow the orders connect(watch, SIGNAL(hangup()), SLOT(hangupAll())); connect(watch, SIGNAL(connectedChanged()), SLOT(onConnectedChanged())); @@ -145,6 +149,29 @@ void Manager::onVoiceError(const QString &message) qWarning() << "Error: " << message; } + +void Manager::onNotifyError(const QString &message) +{ + qWarning() << "Error: " << message; +} + +void Manager::onSmsNotify(const QString &sender, const QString &data) +{ + qDebug() << "SMS:"; + qDebug() << sender; + qDebug() << data; + watch->sendSMSNotification(sender, data); +} + +void Manager::onEmailNotify(const QString &sender, const QString &data,const QString &subject) +{ + qDebug() << "Email:"; + qDebug() << sender; + qDebug() << data; + qDebug() << subject; + watch->sendEmailNotification(sender, data, subject); +} + void Manager::hangupAll() { foreach (VoiceCallHandler* handler, voice->voiceCalls()) { -- cgit v1.2.3 From ca5dfb4d10067d98c10822a31d6081e093dfdf4b Mon Sep 17 00:00:00 2001 From: Philipp Andreas Date: Fri, 11 Jul 2014 20:44:38 +0200 Subject: Removed commhistory interface to get new messages --- daemon/manager.cpp | 39 --------------------------------------- daemon/manager.h | 6 ------ 2 files changed, 45 deletions(-) (limited to 'daemon/manager.cpp') diff --git a/daemon/manager.cpp b/daemon/manager.cpp index 11444fe..f02dc0c 100644 --- a/daemon/manager.cpp +++ b/daemon/manager.cpp @@ -17,10 +17,6 @@ Manager::Manager(watch::WatchConnector *watch, DBusConnector *dbus, VoiceCallMan numberFilter.setDetailType(QContactDetail::TypePhoneNumber, QContactPhoneNumber::FieldNumber); numberFilter.setMatchFlags(QContactFilter::MatchPhoneNumber); - conversations = new GroupManager(this); - connect(conversations, SIGNAL(groupAdded(GroupObject*)), SLOT(onConversationGroupAdded(GroupObject*))); - conversations->getGroups(); - connect(voice, SIGNAL(activeVoiceCallChanged()), SLOT(onActiveVoiceCallChanged())); connect(voice, SIGNAL(error(const QString &)), SLOT(onVoiceError(const QString &))); @@ -178,38 +174,3 @@ void Manager::hangupAll() handler->hangup(); } } - -void Manager::onConversationGroupAdded(GroupObject *group) -{ - if (!group) { - qWarning() << "Got null conversation group"; - return; - } - - connect(group, SIGNAL(unreadMessagesChanged()), SLOT(onUnreadMessagesChanged())); - if (group->unreadMessages()) processUnreadMessages(group); -} - - -void Manager::onUnreadMessagesChanged() -{ - GroupObject *group = qobject_cast(sender()); - if (!group) { - qWarning() << "Got unreadMessagesChanged for null group"; - return; - } - processUnreadMessages(group); -} - -void Manager::processUnreadMessages(GroupObject *group) -{ - if (group->unreadMessages()) { - QString name = group->contactName(); - QString message = group->lastMessageText(); - qDebug() << "Msg:" << message; - qDebug() << "From:" << name; - watch->sendSMSNotification(name.isEmpty()?"Unknown":name, message); - } else { - qWarning() << "Got processUnreadMessages for group with no new messages"; - } -} diff --git a/daemon/manager.h b/daemon/manager.h index 9ad611e..4bf8f98 100644 --- a/daemon/manager.h +++ b/daemon/manager.h @@ -10,11 +10,9 @@ #include #include #include -#include #include using namespace QtContacts; -using namespace CommHistory; class Manager : public QObject { @@ -33,13 +31,11 @@ class Manager : public QObject QContactManager *contacts; QContactDetailFilter numberFilter; - GroupManager *conversations; public: explicit Manager(watch::WatchConnector *watch, DBusConnector *dbus, VoiceCallManager *voice, NotificationManager *notifications); Q_INVOKABLE QString findPersonByNumber(QString number); - Q_INVOKABLE void processUnreadMessages(GroupObject *group); signals: @@ -52,8 +48,6 @@ protected slots: void onActiveVoiceCallChanged(); void onVoiceError(const QString &message); void onActiveVoiceCallStatusChanged(); - void onConversationGroupAdded(GroupObject *group); - void onUnreadMessagesChanged(); void onNotifyError(const QString &message); void onSmsNotify(const QString &sender, const QString &data); void onEmailNotify(const QString &sender, const QString &data,const QString &subject); -- cgit v1.2.3