]> git.0d.be Git - empathy.git/blobdiff - src/empathy-debug-window.c
debug: stop using tp_list_connection_names()
[empathy.git] / src / empathy-debug-window.c
index 5aaf75ff75c6e6834e070c4150f659b258c74d77..98012e875d64f10eafdd944e6312286afc94bcd6 100644 (file)
@@ -24,6 +24,8 @@
 
 #include <glib/gi18n.h>
 #include <libsoup/soup.h>
+#include <tp-account-widgets/tpaw-utils.h>
+#include <telepathy-glib/telepathy-glib-dbus.h>
 
 #include "empathy-geometry.h"
 #include "empathy-ui-utils.h"
@@ -375,7 +377,7 @@ debug_window_get_messages_cb (GObject *object,
   messages = tp_debug_client_get_messages_finish (debug, result, &error);
   if (messages == NULL)
     {
-      DEBUG ("Failed to get debug messsages: %s", error->message);
+      DEBUG ("Failed to get debug messages: %s", error->message);
       g_error_free (error);
 
       /* We want to set the window sensitivity to false only when proxy for the
@@ -409,6 +411,7 @@ debug_window_get_messages_cb (GObject *object,
           COL_PROXY, debug,
           -1);
     }
+  g_ptr_array_unref (messages);
 
   g_free (proxy_service_name);
 
@@ -933,50 +936,6 @@ OUT:
   fill_service_chooser_data_free (data);
 }
 
-static void
-debug_window_list_connection_names_cb (const gchar * const *names,
-    gsize n,
-    const gchar * const *cms,
-    const gchar * const *protocols,
-    const GError *error,
-    gpointer user_data,
-    GObject *weak_object)
-{
-  EmpathyDebugWindow *self = user_data;
-  guint i;
-  TpDBusDaemon *dbus;
-  GError *error2 = NULL;
-
-  if (error != NULL)
-    {
-      DEBUG ("list_connection_names failed: %s", error->message);
-      return;
-    }
-
-  dbus = tp_dbus_daemon_dup (&error2);
-
-  if (error2 != NULL)
-    {
-      DEBUG ("Failed to dup TpDBusDaemon.");
-      g_error_free (error2);
-      return;
-    }
-
-  for (i = 0; cms[i] != NULL; i++)
-    {
-      FillServiceChooserData *data = fill_service_chooser_data_new (
-          self, cms[i], SERVICE_TYPE_CM);
-
-      tp_cli_dbus_daemon_call_get_name_owner (dbus, -1,
-          names[i], debug_window_get_name_owner_cb,
-          data, NULL, NULL);
-
-      self->priv->services_detected ++;
-    }
-
-  g_object_unref (dbus);
-}
-
 static void
 debug_window_name_owner_changed_cb (TpDBusDaemon *proxy,
     const gchar *arg0,
@@ -1004,7 +963,7 @@ debug_window_name_owner_changed_cb (TpDBusDaemon *proxy,
       return;
     }
 
-  if (EMP_STR_EMPTY (arg1) && !EMP_STR_EMPTY (arg2))
+  if (TPAW_STR_EMPTY (arg1) && !TPAW_STR_EMPTY (arg2))
     {
       GtkTreeIter *found_at_iter = NULL;
       gchar *display_name;
@@ -1084,7 +1043,7 @@ debug_window_name_owner_changed_cb (TpDBusDaemon *proxy,
 
       g_free (display_name);
     }
-  else if (!EMP_STR_EMPTY (arg1) && EMP_STR_EMPTY (arg2))
+  else if (!TPAW_STR_EMPTY (arg1) && TPAW_STR_EMPTY (arg2))
     {
       /* A service died */
       GtkTreeIter *iter = NULL;
@@ -1105,18 +1064,17 @@ debug_window_name_owner_changed_cb (TpDBusDaemon *proxy,
 }
 
 static void
-add_client (EmpathyDebugWindow *self,
-    const gchar *name)
+add_service (EmpathyDebugWindow *self,
+    const gchar *bus_name,
+    const gchar *display_name,
+    ServiceType type)
 {
-  const gchar *suffix;
   FillServiceChooserData *data;
 
-  suffix = name + strlen (TP_CLIENT_BUS_NAME_BASE);
-
-  data = fill_service_chooser_data_new (self, suffix, SERVICE_TYPE_CLIENT);
+  data = fill_service_chooser_data_new (self, display_name, type);
 
   tp_cli_dbus_daemon_call_get_name_owner (self->priv->dbus, -1,
-      name, debug_window_get_name_owner_cb, data, NULL, NULL);
+      bus_name, debug_window_get_name_owner_cb, data, NULL, NULL);
 
   self->priv->services_detected ++;
 }
@@ -1141,7 +1099,13 @@ list_names_cb (TpDBusDaemon *bus_daemon,
     {
       if (g_str_has_prefix (names[i], TP_CLIENT_BUS_NAME_BASE))
         {
-          add_client (self, names[i]);
+          add_service (self, names[i],
+              names[i] + strlen (TP_CLIENT_BUS_NAME_BASE), SERVICE_TYPE_CLIENT);
+        }
+      else if (g_str_has_prefix (names[i], TP_CM_BUS_NAME_BASE))
+        {
+          add_service (self, names[i],
+              names[i] + strlen (TP_CM_BUS_NAME_BASE), SERVICE_TYPE_CM);
         }
     }
 }
@@ -1166,10 +1130,6 @@ debug_window_fill_service_chooser (EmpathyDebugWindow *self)
   self->priv->services_detected = 0;
   self->priv->name_owner_cb_count = 0;
 
-  /* Add CMs to list */
-  tp_list_connection_names (self->priv->dbus,
-      debug_window_list_connection_names_cb, self, NULL, NULL);
-
   /* add Mission Control */
   active_buffer= new_list_store_for_service ();
   pause_buffer = new_list_store_for_service ();
@@ -1296,7 +1256,7 @@ debug_window_menu_copy_activate_cb (GtkMenuItem *menu_item,
 
   message = tp_debug_message_get_message (msg);
 
-  if (EMP_STR_EMPTY (message))
+  if (TPAW_STR_EMPTY (message))
     {
       DEBUG ("Log message is empty");
       return;
@@ -1844,7 +1804,7 @@ am_prepared_cb (GObject *am,
   empathy_set_css_provider (GTK_WIDGET (object));
 
   gtk_window_set_title (GTK_WINDOW (object), _("Debug Window"));
-  gtk_window_set_default_size (GTK_WINDOW (object), 800, 400);
+  gtk_widget_set_size_request (GTK_WIDGET (object), 600, 300);
   empathy_geometry_bind (GTK_WINDOW (object), "debug-window");
 
   g_signal_connect (object, "key-press-event",
@@ -2061,7 +2021,12 @@ am_prepared_cb (GObject *am,
       (GtkTreeCellDataFunc) debug_window_level_formatter, NULL, NULL);
 
   renderer = gtk_cell_renderer_text_new ();
-  g_object_set (renderer, "family", "Monospace", NULL);
+
+  g_object_set (renderer,
+      "family", "Monospace",
+      "ellipsize", PANGO_ELLIPSIZE_END,
+      NULL);
+
   gtk_tree_view_insert_column_with_data_func (GTK_TREE_VIEW (self->priv->view),
       -1, _("Message"), renderer,
       (GtkTreeCellDataFunc) debug_window_message_formatter, NULL, NULL);