From f4799552aa92603fac124d6cea3c27f470628db8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Erick=20P=C3=A9rez=20Castellanos?= Date: Thu, 5 Feb 2015 14:20:55 -0500 Subject: [PATCH] app: set initial on GcalWindow always Add function to allow the search provider to set the value. --- src/gcal-application.c | 13 +++++++++++++ src/gcal-application.h | 2 ++ 2 files changed, 15 insertions(+) diff --git a/src/gcal-application.c b/src/gcal-application.c index 7aa158c8..1556666e 100644 --- a/src/gcal-application.c +++ b/src/gcal-application.c @@ -325,6 +325,8 @@ gcal_application_activate (GApplication *application) if (priv->window != NULL) { gtk_window_present (GTK_WINDOW (priv->window)); + if (priv->initial_date != NULL) + g_object_set (priv->window, "active-date", priv->initial_date, NULL); } else { @@ -346,6 +348,8 @@ gcal_application_activate (GApplication *application) /* FIXME: remove me in favor of gtk_widget_show() */ gtk_widget_show_all (priv->window); } + + g_clear_pointer (&(priv->initial_date), g_free); if (priv->uuid != NULL) { gcal_window_open_event_by_uuid (GCAL_WINDOW (priv->window), priv->uuid); @@ -616,3 +620,12 @@ gcal_application_set_uuid (GcalApplication *application, priv->uuid = g_strdup (uuid); } +void +gcal_application_set_initial_date (GcalApplication *application, + const icaltimetype *date) +{ + GcalApplicationPrivate *priv = application->priv; + + g_free (priv->initial_date); + priv->initial_date = gcal_dup_icaltime (date); +} diff --git a/src/gcal-application.h b/src/gcal-application.h index 0e27c825..9e55d9c4 100644 --- a/src/gcal-application.h +++ b/src/gcal-application.h @@ -56,6 +56,8 @@ GcalManager* gcal_application_get_manager (GcalApplication *app); GSettings* gcal_application_get_settings (GcalApplication *app); void gcal_application_set_uuid (GcalApplication *application, const gchar *uuid); +void gcal_application_set_initial_date (GcalApplication *application, + const icaltimetype *date); G_END_DECLS