aboutsummaryrefslogtreecommitdiff
path: root/src/main.c
diff options
context:
space:
mode:
authorCharles Kerr <charles.kerr@canonical.com>2013-10-16 14:52:54 -0500
committerCharles Kerr <charles.kerr@canonical.com>2013-10-16 14:52:54 -0500
commit8dadf00b78312867f33a2f6dcd39118a1beb150c (patch)
tree3a7500da790707e4a29f692b07a9029a0727db7f /src/main.c
parent8441fc4f840d668e2b7fe1582f90eef66e272652 (diff)
downloadayatana-indicator-datetime-8dadf00b78312867f33a2f6dcd39118a1beb150c.tar.gz
ayatana-indicator-datetime-8dadf00b78312867f33a2f6dcd39118a1beb150c.tar.bz2
ayatana-indicator-datetime-8dadf00b78312867f33a2f6dcd39118a1beb150c.zip
for testing purposes, fire off a snap decision as soon as the datetime indicator is started. this way one can test on phablet by running as user phablet
Diffstat (limited to 'src/main.c')
-rw-r--r--src/main.c57
1 files changed, 40 insertions, 17 deletions
diff --git a/src/main.c b/src/main.c
index 45ee180..c7ad34a 100644
--- a/src/main.c
+++ b/src/main.c
@@ -31,30 +31,55 @@
#include "planner-mock.h"
#include "service.h"
-#define TEST_MODE
-
/***
****
***/
static void
-on_name_lost (gpointer instance G_GNUC_UNUSED, gpointer loop)
+on_name_lost (gpointer instance G_GNUC_UNUSED, gpointer loop G_GNUC_UNUSED)
{
g_message ("exiting: service couldn't acquire or lost ownership of busname");
g_main_loop_quit ((GMainLoop*)loop);
}
-#ifdef TEST_MODE
static void
-log_handler (const gchar * log_domain,
- GLogLevelFlags log_level,
- const gchar * message,
- gpointer fp)
+action_ok (NotifyNotification *notification G_GNUC_UNUSED,
+ char *action,
+ gpointer gurl)
{
- fprintf (fp, "%s %d %s\n", log_domain, (int)log_level, message);
- fflush (fp);
+ const char * url = gurl;
+ g_message ("'%s' clicked for snap decision; url is '%s'", action, url);
+}
+
+static void
+show_snap_decision (void)
+{
+ const gchar * title = "Title";
+ const gchar * body = "Body";
+ const gchar * icon_name = "alarm-clock";
+ NotifyNotification * nn;
+ GError * error;
+
+ g_debug ("creating a snap decision with title '%s', body '%s', icon '%s'",
+ title, body, icon_name);
+
+ nn = notify_notification_new (title, body, icon_name);
+ notify_notification_set_hint (nn, "x-canonical-snap-decisions",
+ g_variant_new_boolean(TRUE));
+ notify_notification_set_hint (nn, "x-canonical-private-button-tint",
+ g_variant_new_boolean(TRUE));
+ notify_notification_add_action (nn, "action_accept", _("OK"),
+ action_ok, g_strdup("hello world"), g_free);
+
+ g_message ("showing notification %p", nn);
+ error = NULL;
+ notify_notification_show (nn, &error);
+ if (error != NULL)
+ {
+ g_warning ("Unable to show alarm '%s' popup: %s", body, error->message);
+ g_error_free (error);
+ }
}
-#endif
int
main (int argc G_GNUC_UNUSED, char ** argv G_GNUC_UNUSED)
@@ -74,14 +99,15 @@ main (int argc G_GNUC_UNUSED, char ** argv G_GNUC_UNUSED)
/* set up the planner */
#ifdef TEST_MODE
- g_warning ("Using fake appointment book for testing! Probably shouldn't merge this to trunk.");
- FILE * fp = fopen ("/tmp/indicator-datetime-log.txt", "w+");
- g_log_set_handler ("Indicator-Datetime", G_LOG_LEVEL_MASK, log_handler, fp);
+ g_warning ("Using fake appointment book for testing! "
+ "Probably shouldn't merge this to trunk.");
planner = indicator_datetime_planner_mock_new ();
#else
planner = indicator_datetime_planner_eds_new ();
#endif
+ show_snap_decision ();
+
/* run */
service = indicator_datetime_service_new (planner);
loop = g_main_loop_new (NULL, FALSE);
@@ -93,8 +119,5 @@ main (int argc G_GNUC_UNUSED, char ** argv G_GNUC_UNUSED)
g_main_loop_unref (loop);
g_object_unref (service);
g_object_unref (planner);
-#ifdef TEST_MODE
- fclose (fp);
-#endif
return 0;
}