]> git.0d.be Git - empathy.git/blobdiff - src/empathy-debugger.c
Update Simplified Chinese help translation.
[empathy.git] / src / empathy-debugger.c
index a4e6a9ca291f442bde3e6be70dd887fbfda2d314..3d38e71036ccb6fd3b0eed266a9594bdd2b899a8 100644 (file)
 
 #include "empathy-debug-window.h"
 
+#define EMPATHY_DEBUGGER_DBUS_NAME "org.gnome.Empathy.Debugger"
+
+static GtkWidget *window = NULL;
+
+static void
+activate_cb (GApplication *app)
+{
+  if (window == NULL)
+    {
+      window = empathy_debug_window_new (NULL);
+      g_signal_connect (window, "destroy", gtk_main_quit, NULL);
+
+      /* don't let this application exit automatically */
+      g_application_hold (G_APPLICATION (app));
+    }
+  else
+    {
+      gtk_window_present (GTK_WINDOW (window));
+    }
+}
+
 int
 main (int argc,
     char **argv)
 {
-  GtkWidget *window;
+  GtkApplication *app;
+  gint retval;
 
   g_thread_init (NULL);
   gtk_init (&argc, &argv);
   empathy_gtk_init ();
 
+  app = gtk_application_new (EMPATHY_DEBUGGER_DBUS_NAME,
+      G_APPLICATION_FLAGS_NONE);
+  g_signal_connect (app, "activate", G_CALLBACK (activate_cb), NULL);
+
   g_set_application_name (_("Empathy Debugger"));
 
+  /* Make empathy and empathy-debugger appear as the same app in gnome-shell */
+  gdk_set_program_class ("Empathy");
   gtk_window_set_default_icon_name ("empathy");
+  textdomain (GETTEXT_PACKAGE);
 
-  window = empathy_debug_window_new (NULL);
-  g_signal_connect (window, "destroy", gtk_main_quit, NULL);
+  retval = g_application_run (G_APPLICATION (app), argc, argv);
 
-  gtk_main ();
+  g_object_unref (app);
 
-  return EXIT_SUCCESS;
+  return retval;
 }