[gnome-calendar] app: set initial on GcalWindow always



commit f4799552aa92603fac124d6cea3c27f470628db8
Author: Erick Pérez Castellanos <erick red gmail com>
Date:   Thu Feb 5 14:20:55 2015 -0500

    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(+), 0 deletions(-)
---
diff --git a/src/gcal-application.c b/src/gcal-application.c
index 7aa158c..1556666 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 0e27c82..9e55d9c 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
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]