]> git.0d.be Git - empathy.git/commitdiff
Use GOptionContext to parse options
authorOlivier Crête <olivier.crete@collabora.co.uk>
Thu, 27 Aug 2009 22:13:03 +0000 (18:13 -0400)
committerOlivier Crête <olivier.crete@collabora.co.uk>
Tue, 1 Sep 2009 21:14:42 +0000 (17:14 -0400)
Use GOptionContext directly to the help for gst options is also
displayed.

src/empathy.c

index 84bdfdd9c88a4050a3bfbdb417713067cc08de90..5be52082f2811eff9a8830145ee7697495d8239b 100644 (file)
@@ -651,6 +651,7 @@ main (int argc, char *argv[])
   TpDBusDaemon *dbus_daemon;
   UniqueApp *unique_app;
 
+  GOptionContext *optcontext;
   GOptionEntry options[] = {
       { "no-connect", 'n',
         0, G_OPTION_ARG_NONE, &no_connect,
@@ -674,19 +675,24 @@ main (int argc, char *argv[])
   g_thread_init (NULL);
   empathy_init ();
 
-  if (!gtk_init_with_args (&argc, &argv, N_("- Empathy IM Client"),
-      options, GETTEXT_PACKAGE, &error))
-    {
-      g_warning ("Error in empathy init: %s", error->message);
-      return EXIT_FAILURE;
-    }
+  optcontext = g_option_context_new (N_("- Empathy IM Client"));
+  g_option_context_add_group (optcontext, gst_init_get_option_group ());
+  g_option_context_add_group (optcontext, gtk_get_option_group (TRUE));
+  g_option_context_add_main_entries (optcontext, options, GETTEXT_PACKAGE);
+
+  if (!g_option_context_parse (optcontext, &argc, &argv, &error)) {
+    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);
+    return EXIT_FAILURE;
+  }
+
+  g_option_context_free (optcontext);
 
   empathy_gtk_init ();
   g_set_application_name (_(PACKAGE_NAME));
   g_setenv ("PULSE_PROP_media.role", "phone", TRUE);
 
-  gst_init (&argc, &argv);
-
 #if HAVE_LIBCHAMPLAIN
   gtk_clutter_init (&argc, &argv);
 #endif