application: load a GoaClient on init
It is done here to make it reusable for the future initial setup dialog too.
This commit is contained in:
committed by
Erick Pérez Castellanos
parent
a61a970049
commit
71d93bd914
@@ -30,6 +30,7 @@
|
|||||||
#include <glib-object.h>
|
#include <glib-object.h>
|
||||||
#include <gio/gio.h>
|
#include <gio/gio.h>
|
||||||
#include <glib/gi18n.h>
|
#include <glib/gi18n.h>
|
||||||
|
#include <goa/goa.h>
|
||||||
|
|
||||||
#define CSS_FILE "resource:///org/gnome/calendar/gtk-styles.css"
|
#define CSS_FILE "resource:///org/gnome/calendar/gtk-styles.css"
|
||||||
|
|
||||||
@@ -37,6 +38,8 @@ struct _GcalApplicationPrivate
|
|||||||
{
|
{
|
||||||
GtkWidget *window;
|
GtkWidget *window;
|
||||||
|
|
||||||
|
GoaClient *client;
|
||||||
|
|
||||||
GSettings *settings;
|
GSettings *settings;
|
||||||
GcalManager *manager;
|
GcalManager *manager;
|
||||||
|
|
||||||
@@ -89,6 +92,10 @@ static void gcal_application_dbus_unregister (GApplication *
|
|||||||
GDBusConnection *connection,
|
GDBusConnection *connection,
|
||||||
const gchar *object_path);
|
const gchar *object_path);
|
||||||
|
|
||||||
|
static void gcal_application_goa_client_ready (GObject *source,
|
||||||
|
GAsyncResult *result,
|
||||||
|
gpointer user_data);
|
||||||
|
|
||||||
G_DEFINE_TYPE_WITH_PRIVATE (GcalApplication, gcal_application, GTK_TYPE_APPLICATION);
|
G_DEFINE_TYPE_WITH_PRIVATE (GcalApplication, gcal_application, GTK_TYPE_APPLICATION);
|
||||||
|
|
||||||
static gboolean show_version = FALSE;
|
static gboolean show_version = FALSE;
|
||||||
@@ -212,9 +219,33 @@ gcal_application_init (GcalApplication *self)
|
|||||||
priv->search_provider = gcal_shell_search_provider_new ();
|
priv->search_provider = gcal_shell_search_provider_new ();
|
||||||
gcal_shell_search_provider_connect (priv->search_provider, priv->manager);
|
gcal_shell_search_provider_connect (priv->search_provider, priv->manager);
|
||||||
|
|
||||||
|
goa_client_new (NULL, // we won't really cancel it
|
||||||
|
(GAsyncReadyCallback) gcal_application_goa_client_ready,
|
||||||
|
self);
|
||||||
|
|
||||||
self->priv = priv;
|
self->priv = priv;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
gcal_application_goa_client_ready (GObject *source,
|
||||||
|
GAsyncResult *result,
|
||||||
|
gpointer user_data)
|
||||||
|
{
|
||||||
|
GcalApplicationPrivate *priv = GCAL_APPLICATION (user_data)->priv;
|
||||||
|
GError *error = NULL;
|
||||||
|
|
||||||
|
priv->client = goa_client_new_finish (result, &error);
|
||||||
|
|
||||||
|
if (error != NULL)
|
||||||
|
{
|
||||||
|
g_warning ("%s: Error retrieving GoaClient: %s",
|
||||||
|
G_STRFUNC,
|
||||||
|
error->message);
|
||||||
|
|
||||||
|
g_error_free (error);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
gcal_application_finalize (GObject *object)
|
gcal_application_finalize (GObject *object)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -23,6 +23,7 @@
|
|||||||
#include "gcal-manager.h"
|
#include "gcal-manager.h"
|
||||||
|
|
||||||
#include <gtk/gtk.h>
|
#include <gtk/gtk.h>
|
||||||
|
#include <goa/goa.h>
|
||||||
|
|
||||||
G_BEGIN_DECLS
|
G_BEGIN_DECLS
|
||||||
|
|
||||||
@@ -58,6 +59,7 @@ void gcal_application_set_uuid (GcalApplication *application,
|
|||||||
const gchar *uuid);
|
const gchar *uuid);
|
||||||
void gcal_application_set_initial_date (GcalApplication *application,
|
void gcal_application_set_initial_date (GcalApplication *application,
|
||||||
const icaltimetype *date);
|
const icaltimetype *date);
|
||||||
|
GoaClient* gcal_application_get_client (GcalApplication *application);
|
||||||
|
|
||||||
G_END_DECLS
|
G_END_DECLS
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user