[empathy] EmpathyAccounts: use GApplication activate
- From: Marco Trevisan <marcotrevi src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [empathy] EmpathyAccounts: use GApplication activate
- Date: Fri, 5 Apr 2013 12:12:36 +0000 (UTC)
commit ed8bfa0abe0762b422be84aa00d77c798a5c95e8
Author: Marco Trevisan (TreviƱo) <mail 3v1n0 net>
Date: Thu Apr 4 21:06:32 2013 +0200
EmpathyAccounts: use GApplication activate
src/empathy-accounts.c | 37 +++++++++++++++++++++----------------
1 files changed, 21 insertions(+), 16 deletions(-)
---
diff --git a/src/empathy-accounts.c b/src/empathy-accounts.c
index 8e9ce98..8892368 100644
--- a/src/empathy-accounts.c
+++ b/src/empathy-accounts.c
@@ -136,12 +136,12 @@ out:
g_application_release (app);
}
-static int
-app_command_line_cb (GApplication *app,
- GApplicationCommandLine *cmdline)
+static void
+app_activate (GApplication *app)
{
TpAccountManager *account_manager;
+ empathy_gtk_init ();
account_manager = tp_account_manager_dup ();
/* Hold the application while preparing the AM */
@@ -151,8 +151,6 @@ app_command_line_cb (GApplication *app,
account_manager_ready_for_accounts_cb, app);
g_object_unref (account_manager);
-
- return 0;
}
static gboolean
@@ -163,7 +161,7 @@ local_cmdline (GApplication *app,
gint i;
gchar **argv;
gint argc = 0;
- gboolean retval = FALSE;
+ gboolean retval = TRUE;
GError *error = NULL;
GOptionContext *optcontext;
@@ -186,7 +184,7 @@ local_cmdline (GApplication *app,
};
optcontext = g_option_context_new (N_("- Empathy Accounts"));
- g_option_context_add_group (optcontext, gtk_get_option_group (TRUE));
+ g_option_context_add_group (optcontext, gtk_get_option_group (FALSE));
g_option_context_add_main_entries (optcontext, options, GETTEXT_PACKAGE);
g_option_context_set_translation_domain (optcontext, GETTEXT_PACKAGE);
@@ -199,9 +197,22 @@ local_cmdline (GApplication *app,
g_print ("%s\nRun '%s --help' to see a full list of available command line options.\n",
error->message, argv[0]);
g_warning ("Error in empathy init: %s", error->message);
+ g_clear_error (&error);
*exit_status = EXIT_FAILURE;
- retval = TRUE;
+ }
+ else
+ {
+ if (g_application_register (app, NULL, &error))
+ {
+ g_application_activate (app);
+ }
+ else
+ {
+ g_warning("Impossible to register empathy-application: %s", error->message);
+ g_clear_error (&error);
+ *exit_status = EXIT_FAILURE;
+ }
}
g_option_context_free (optcontext);
@@ -225,22 +236,16 @@ main (int argc, char *argv[])
empathy_init ();
- gtk_init (&argc, &argv);
- empathy_gtk_init ();
-
g_set_application_name (_("Empathy Accounts"));
/* Make empathy and empathy-accounts appear as the same app in gnome-shell */
gdk_set_program_class ("Empathy");
gtk_window_set_default_icon_name ("empathy");
- app = gtk_application_new (EMPATHY_ACCOUNTS_DBUS_NAME,
- G_APPLICATION_HANDLES_COMMAND_LINE);
+ app = gtk_application_new (EMPATHY_ACCOUNTS_DBUS_NAME, G_APPLICATION_FLAGS_NONE);
app_class = G_OBJECT_GET_CLASS (app);
G_APPLICATION_CLASS (app_class)->local_command_line = local_cmdline;
-
- g_signal_connect (app, "command-line", G_CALLBACK (app_command_line_cb),
- NULL);
+ G_APPLICATION_CLASS (app_class)->activate = app_activate;
retval = g_application_run (G_APPLICATION (app), argc, argv);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]