Added a button to incoming call notifications to mute the phone ringing.

REVIEW: 121854
This commit is contained in:
Mikhail Ivchenko 2015-01-05 21:49:23 -08:00 committed by Albert Vaca
parent 81a2855f30
commit f6e7b04514
3 changed files with 15 additions and 2 deletions

View file

@ -60,4 +60,4 @@ Comment[uk]=Показ сповіщень щодо дзвінків і SMS (ск
Comment[x-test]=xxShow notifications for calls and SMS (answering coming soon)xx Comment[x-test]=xxShow notifications for calls and SMS (answering coming soon)xx
X-KdeConnect-SupportedPackageType=kdeconnect.telephony X-KdeConnect-SupportedPackageType=kdeconnect.telephony
X-KdeConnect-OutgoingPackageType= X-KdeConnect-OutgoingPackageType=kdeconnect.telephony

View file

@ -22,9 +22,9 @@
#include <KLocalizedString> #include <KLocalizedString>
#include <KIcon> #include <KIcon>
#include <core/kdebugnamespace.h> #include <core/kdebugnamespace.h>
K_PLUGIN_FACTORY( KdeConnectPluginFactory, registerPlugin< TelephonyPlugin >(); ) K_PLUGIN_FACTORY( KdeConnectPluginFactory, registerPlugin< TelephonyPlugin >(); )
K_EXPORT_PLUGIN( KdeConnectPluginFactory("kdeconnect_telephony", "kdeconnect-plugins") ) K_EXPORT_PLUGIN( KdeConnectPluginFactory("kdeconnect_telephony", "kdeconnect-plugins") )
@ -77,6 +77,11 @@ KNotification* TelephonyPlugin::createNotification(const NetworkPackage& np)
notification->setTitle(title); notification->setTitle(title);
notification->setText(content); notification->setText(content);
if (event == "ringing") {
notification->setActions( QStringList(i18n("Mute call")) );
connect(notification, SIGNAL(action1Activated()), this, SLOT(sendMutePackage()));
}
return notification; return notification;
} }
@ -99,3 +104,10 @@ bool TelephonyPlugin::receivePackage(const NetworkPackage& np)
return true; return true;
} }
void TelephonyPlugin::sendMutePackage()
{
NetworkPackage package(PACKAGE_TYPE_TELEPHONY);
package.set<QString>( "action", "mute" );
sendPackage(package);
}

View file

@ -40,6 +40,7 @@ public:
public Q_SLOTS: public Q_SLOTS:
virtual bool receivePackage(const NetworkPackage& np); virtual bool receivePackage(const NetworkPackage& np);
virtual void connected() { } virtual void connected() { }
void sendMutePackage();
private: private:
KNotification* createNotification(const NetworkPackage& np); KNotification* createNotification(const NetworkPackage& np);