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 <gio/gio.h>
|
||||
#include <glib/gi18n.h>
|
||||
#include <goa/goa.h>
|
||||
|
||||
#define CSS_FILE "resource:///org/gnome/calendar/gtk-styles.css"
|
||||
|
||||
@@ -37,6 +38,8 @@ struct _GcalApplicationPrivate
|
||||
{
|
||||
GtkWidget *window;
|
||||
|
||||
GoaClient *client;
|
||||
|
||||
GSettings *settings;
|
||||
GcalManager *manager;
|
||||
|
||||
@@ -89,6 +92,10 @@ static void gcal_application_dbus_unregister (GApplication *
|
||||
GDBusConnection *connection,
|
||||
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);
|
||||
|
||||
static gboolean show_version = FALSE;
|
||||
@@ -212,9 +219,33 @@ gcal_application_init (GcalApplication *self)
|
||||
priv->search_provider = gcal_shell_search_provider_new ();
|
||||
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;
|
||||
}
|
||||
|
||||
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
|
||||
gcal_application_finalize (GObject *object)
|
||||
{
|
||||
|
||||
@@ -23,6 +23,7 @@
|
||||
#include "gcal-manager.h"
|
||||
|
||||
#include <gtk/gtk.h>
|
||||
#include <goa/goa.h>
|
||||
|
||||
G_BEGIN_DECLS
|
||||
|
||||
@@ -58,6 +59,7 @@ void gcal_application_set_uuid (GcalApplication *application,
|
||||
const gchar *uuid);
|
||||
void gcal_application_set_initial_date (GcalApplication *application,
|
||||
const icaltimetype *date);
|
||||
GoaClient* gcal_application_get_client (GcalApplication *application);
|
||||
|
||||
G_END_DECLS
|
||||
|
||||
|
||||
Reference in New Issue
Block a user