From 8786ca9366a76c6695a6cb4cb2bcfb32e913d950 Mon Sep 17 00:00:00 2001 From: Joe Zhao Date: Fri, 4 Sep 2015 08:40:52 -0600 Subject: Initial commit --- totimer.cpp | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 totimer.cpp (limited to 'totimer.cpp') diff --git a/totimer.cpp b/totimer.cpp new file mode 100644 index 0000000..8bdbfe2 --- /dev/null +++ b/totimer.cpp @@ -0,0 +1,51 @@ +// +// Created by joe on 9/3/15. +// + +#include "totimer.h" +#include +#include + +void quit(NotifyNotification *note,gpointer user_data) +{ + tres* lastres = (tres*)user_data; + log(lastres,0); +} + +void timeup(NotifyNotification *note,const char *action,gpointer user_data){ + g_object_unref(G_OBJECT(note)); + tres* lastres = (tres*)user_data; + switch (action[0]){ + case 'M': + settimer(lastres, 5); + break; + case 'G': + log(lastres,1); + break; + case 'F': + default: + log(lastres,0); + break; + } +} + +bool notify(gpointer user_data) +{ + tres* lastres = (tres*)user_data; + NotifyNotification *n; + n = notify_notification_new ("Tomodori","Time's Up", NULL); + notify_notification_set_urgency(n,NOTIFY_URGENCY_CRITICAL); + notify_notification_add_action(n,"M", "More",(NotifyActionCallback)timeup,lastres,NULL); + notify_notification_add_action(n,"G", "Good",(NotifyActionCallback)timeup,lastres,NULL); + g_signal_connect (n, "closed", G_CALLBACK(quit), NULL); +// printf("1"); + notify_notification_set_timeout(n,0); //3 seconds + notify_notification_show(n,NULL); + return FALSE; +} + +int settimer(tres* lastres, guint32 wait) +{ + lastres->time = lastres->time + wait; + g_timeout_add(wait*60*1000,(GSourceFunc)notify,lastres); +} \ No newline at end of file -- cgit v1.2.3-70-g09d2