diff options
author | Vitaly Minko <vitaly.minko@gmail.com> | 2010-11-12 22:47:51 +0800 |
---|---|---|
committer | Vitaly Minko <vitaly.minko@gmail.com> | 2010-11-12 22:47:51 +0800 |
commit | 875bf697d54f1c4ca98478ded849bc733828f758 (patch) | |
tree | e623330e91d22c72a3293baabde6d2cfe4b5450a /libempathy-gtk/empathy-new-message-dialog.c | |
parent | 18d649cbfd8eda7678957a3d2a76b9bb8681a981 (diff) | |
download | gsoc2013-empathy-875bf697d54f1c4ca98478ded849bc733828f758.tar gsoc2013-empathy-875bf697d54f1c4ca98478ded849bc733828f758.tar.gz gsoc2013-empathy-875bf697d54f1c4ca98478ded849bc733828f758.tar.bz2 gsoc2013-empathy-875bf697d54f1c4ca98478ded849bc733828f758.tar.lz gsoc2013-empathy-875bf697d54f1c4ca98478ded849bc733828f758.tar.xz gsoc2013-empathy-875bf697d54f1c4ca98478ded849bc733828f758.tar.zst gsoc2013-empathy-875bf697d54f1c4ca98478ded849bc733828f758.zip |
Make AccountChooser-related code simpler and clearer (re #633481).
Diffstat (limited to 'libempathy-gtk/empathy-new-message-dialog.c')
-rw-r--r-- | libempathy-gtk/empathy-new-message-dialog.c | 33 |
1 files changed, 5 insertions, 28 deletions
diff --git a/libempathy-gtk/empathy-new-message-dialog.c b/libempathy-gtk/empathy-new-message-dialog.c index 8249b8693..4747dfbb9 100644 --- a/libempathy-gtk/empathy-new-message-dialog.c +++ b/libempathy-gtk/empathy-new-message-dialog.c @@ -90,40 +90,17 @@ conn_prepared_cb (GObject *conn, FilterCallbackData *data = user_data; GError *myerr = NULL; TpCapabilities *caps; - GPtrArray *classes; - guint i; if (!tp_proxy_prepare_finish (conn, result, &myerr)) - goto out; - - caps = tp_connection_get_capabilities (TP_CONNECTION (conn)); - classes = tp_capabilities_get_channel_classes (caps); - - for (i = 0; i < classes->len; i++) { - GHashTable *fixed; - GStrv allowed; - const gchar *chan_type; - - tp_value_array_unpack (g_ptr_array_index (classes, i), 2, - &fixed, &allowed); - - chan_type = tp_asv_get_string (fixed, TP_PROP_CHANNEL_CHANNEL_TYPE); - - if (tp_strdiff (chan_type, TP_IFACE_CHANNEL_TYPE_TEXT)) - continue; - - if (tp_asv_get_uint32 (fixed, TP_PROP_CHANNEL_TARGET_HANDLE_TYPE, NULL) != - TP_HANDLE_TYPE_CONTACT) - continue; - - data->callback (TRUE, data->user_data); + data->callback (FALSE, data->user_data); g_slice_free (FilterCallbackData, data); - return; } -out: - data->callback (FALSE, data->user_data); + caps = tp_connection_get_capabilities (TP_CONNECTION (conn)); + data->callback (tp_capabilities_supports_text_chats (caps), + data->user_data); + g_slice_free (FilterCallbackData, data); } |