[gnome-calendar] app: read uuid from cli option
- From: Erick Pérez Castellanos <erickpc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-calendar] app: read uuid from cli option
- Date: Fri, 6 Feb 2015 14:26:33 +0000 (UTC)
commit 4f689b22e642ced22798924de1cce47f8fe369e2
Author: Erick Pérez Castellanos <erick red gmail com>
Date: Thu Feb 5 14:20:00 2015 -0500
app: read uuid from cli option
Use also a function to set the value of the event's uuid to show.
src/gcal-application.c | 30 +++++++++++++++++++++++++++++-
src/gcal-application.h | 5 ++---
2 files changed, 31 insertions(+), 4 deletions(-)
---
diff --git a/src/gcal-application.c b/src/gcal-application.c
index 9f5cc0b..7aa158c 100644
--- a/src/gcal-application.c
+++ b/src/gcal-application.c
@@ -45,6 +45,7 @@ struct _GcalApplicationPrivate
GtkCssProvider *provider;
GtkCssProvider *colors_provider;
+ gchar *uuid;
icaltimetype *initial_date;
};
@@ -95,6 +96,7 @@ G_DEFINE_TYPE_WITH_PRIVATE (GcalApplication, gcal_application, GTK_TYPE_APPLICAT
static gboolean show_version = FALSE;
static gchar* date = NULL;
+static gchar* uuid = NULL;
static GOptionEntry gcal_application_goptions[] = {
{
@@ -107,6 +109,11 @@ static GOptionEntry gcal_application_goptions[] = {
G_OPTION_ARG_STRING, &date,
N_("Open calendar on the passed date"), NULL
},
+ {
+ "uuid", 'u', 0,
+ G_OPTION_ARG_STRING, &uuid,
+ N_("Open calendar showing the passed event"), NULL
+ },
{ NULL }
};
@@ -258,6 +265,7 @@ gcal_application_finalize (GObject *object)
{
GcalApplicationPrivate *priv = GCAL_APPLICATION (object)->priv;
+ g_free (priv->uuid);
if (priv->initial_date != NULL)
g_free (priv->initial_date);
@@ -338,6 +346,11 @@ gcal_application_activate (GApplication *application)
/* FIXME: remove me in favor of gtk_widget_show() */
gtk_widget_show_all (priv->window);
}
+ if (priv->uuid != NULL)
+ {
+ gcal_window_open_event_by_uuid (GCAL_WINDOW (priv->window), priv->uuid);
+ g_clear_pointer (&(priv->uuid), g_free);
+ }
}
static void
@@ -384,7 +397,12 @@ gcal_application_command_line (GApplication *app,
return 0;
}
- if (date != NULL)
+ if (uuid != NULL)
+ {
+ gcal_application_set_uuid (GCAL_APPLICATION (app), uuid);
+ g_clear_pointer (&uuid, g_free);
+ }
+ else if (date != NULL)
{
struct tm result;
@@ -588,3 +606,13 @@ gcal_application_get_settings (GcalApplication *app)
return app->priv->settings;
}
+void
+gcal_application_set_uuid (GcalApplication *application,
+ const gchar *uuid)
+{
+ GcalApplicationPrivate *priv = application->priv;
+
+ g_free (priv->uuid);
+ priv->uuid = g_strdup (uuid);
+}
+
diff --git a/src/gcal-application.h b/src/gcal-application.h
index 82d522a..0e27c82 100644
--- a/src/gcal-application.h
+++ b/src/gcal-application.h
@@ -51,12 +51,11 @@ struct _GcalApplicationClass
};
GType gcal_application_get_type (void) G_GNUC_CONST;
-
GcalApplication* gcal_application_new (void);
-
GcalManager* gcal_application_get_manager (GcalApplication *app);
-
GSettings* gcal_application_get_settings (GcalApplication *app);
+void gcal_application_set_uuid (GcalApplication *application,
+ const gchar *uuid);
G_END_DECLS
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]