X-Git-Url: https://git.0d.be/?p=empathy.git;a=blobdiff_plain;f=src%2Fempathy-accounts.c;h=9788e11d599847083788f6b2ab4bb0f78c080b1e;hp=3de54d887bb1ba093b8dcce11745fc8619cab0a6;hb=6598a3c9d90ce78fd2fd641ca552840742756dfb;hpb=4aa8651880d7ef554914e231a6de4651dd41acca diff --git a/src/empathy-accounts.c b/src/empathy-accounts.c index 3de54d88..9788e11d 100644 --- a/src/empathy-accounts.c +++ b/src/empathy-accounts.c @@ -25,31 +25,22 @@ */ #include "config.h" +#include "empathy-accounts.h" -#include -#include - -#include #include +#include #ifdef HAVE_CHEESE #include #endif -#include - -#include -#include -#include - -#include "empathy-accounts.h" #include "empathy-accounts-common.h" -#include "empathy-accounts-dialog.h" +#include "empathy-bus-names.h" +#include "empathy-ui-utils.h" +#include "empathy-utils.h" #define DEBUG_FLAG EMPATHY_DEBUG_ACCOUNT -#include - -#define EMPATHY_ACCOUNTS_DBUS_NAME "org.gnome.EmpathyAccounts" +#include "empathy-debug.h" static gboolean only_if_needed = FALSE; static gboolean hidden = FALSE; @@ -145,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 */ @@ -160,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 @@ -172,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; @@ -195,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); @@ -208,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); @@ -234,22 +236,17 @@ main (int argc, char *argv[]) empathy_init (); - gtk_init (&argc, &argv); - empathy_gtk_init (); - + textdomain (GETTEXT_PACKAGE); 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_BUS_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);