aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--configure.ac31
-rw-r--r--libempathy-gtk/empathy-chat.c16
-rw-r--r--libempathy-gtk/empathy-chat.h3
-rw-r--r--libempathy-gtk/empathy-contact-list-store.c19
-rw-r--r--libempathy-gtk/empathy-contact-menu.c4
-rw-r--r--libempathy-gtk/empathy-contact-widget.c8
-rw-r--r--libempathy/empathy-contact-list.c6
-rw-r--r--libempathy/empathy-dispatch-operation.c35
8 files changed, 34 insertions, 88 deletions
diff --git a/configure.ac b/configure.ac
index edee9e07e..7c7721231 100644
--- a/configure.ac
+++ b/configure.ac
@@ -80,7 +80,6 @@ AM_PATH_GLIB_2_0
AC_PATH_XTRA
IT_PROG_INTLTOOL([0.35.0])
GNOME_DOC_INIT([0.17.3])
-IDT_COMPILE_WARNINGS
AC_PATH_PROG(DBUS_BINDING_TOOL, dbus-binding-tool)
GLIB_GSETTINGS
GLIB_GENMARSHAL=`$PKG_CONFIG glib-2.0 --variable=glib_genmarshal`
@@ -423,7 +422,6 @@ if test "x$enable_meego" != "xno"; then
if test "x$have_meego" = "xyes"; then
AC_DEFINE(HAVE_MEEGO, 1, [Define if you have meego])
- chain_enable_favourite_contacts="yes"
fi
else
have_meego="no"
@@ -438,34 +436,6 @@ AC_SUBST(MEEGO_CFLAGS)
AC_SUBST(MEEGO_LIBS)
# -----------------------------------------------------------
-# favourite contacts support
-# -----------------------------------------------------------
-AC_ARG_ENABLE(favourite_contacts,
- AS_HELP_STRING([--enable-favourite-contacts=@<:no/yes@:>@],
- [Enable favourite contacts]), ,
- enable_favourite_contacts=no)
-
-if test "x$enable_favourite_contacts" != "xno" || test "x$chain_enable_favourite_contacts" = "xyes"; then
- PKG_CHECK_MODULES(TELEPATHY_LOGGER,
- [
- telepathy-logger
- ], have_telepathy_logger="yes", have_telepathy_logger="no")
-
- if test "x$have_telepathy_logger" = "xyes"; then
- have_favourite_contacts="yes"
- AC_DEFINE(HAVE_FAVOURITE_CONTACTS, 1, [Define if you want favourite contacts support])
- fi
-else
- have_favourite_contacts="no"
-fi
-
-if test "x$enable_favourite_contacts" = "xyes" && test "x$have_favourite_contacts" != "xyes"; then
- AC_MSG_ERROR([Couldn't find favourite contacts dependencies.])
-fi
-
-AM_CONDITIONAL(HAVE_FAVOURITE_CONTACTS, test "x$have_telepathy_logger" = "xyes")
-
-# -----------------------------------------------------------
# nautilus-sendto
# -----------------------------------------------------------
AC_ARG_ENABLE(nautilus-sendto,
@@ -561,7 +531,6 @@ Configure summary:
Location awareness (Geoclue): ${have_geoclue}
Adium themes (Webkit).......: ${have_webkit}
Meego widgets ..............: ${have_meego}
- Favourite contacts .........: ${have_favourite_contacts}
Control center embedding....: ${have_control_center_embedding}
Connectivity:
diff --git a/libempathy-gtk/empathy-chat.c b/libempathy-gtk/empathy-chat.c
index 9e69c733a..52405ec47 100644
--- a/libempathy-gtk/empathy-chat.c
+++ b/libempathy-gtk/empathy-chat.c
@@ -63,7 +63,7 @@
#define COMPOSING_STOP_TIMEOUT 5
#define GET_PRIV(obj) EMPATHY_GET_PRIV (obj, EmpathyChat)
-typedef struct {
+struct _EmpathyChatPriv {
EmpathyTpChat *tp_chat;
TpAccount *account;
gchar *id;
@@ -138,7 +138,7 @@ typedef struct {
* notified again about the already notified pending messages when the
* messages in tab will be properly shown */
gboolean retrieving_backlogs;
-} EmpathyChatPriv;
+};
typedef struct {
gchar *text; /* Original message that was specified
@@ -2420,18 +2420,18 @@ conf_spell_checking_cb (GSettings *gsettings_chat,
}
static gboolean
-chat_hpaned_pos_changed_cb (GtkWidget* hpaned, gpointer user_data)
+chat_hpaned_pos_changed_cb (GtkWidget* hpaned,
+ GParamSpec *spec,
+ gpointer user_data)
{
- GSettings *gsettings_chat = g_settings_new (EMPATHY_PREFS_CHAT_SCHEMA);
+ EmpathyChat *chat = EMPATHY_CHAT (user_data);
gint hpaned_pos;
hpaned_pos = gtk_paned_get_position (GTK_PANED(hpaned));
- g_settings_set_int (gsettings_chat,
+ g_settings_set_int (chat->priv->gsettings_ui,
EMPATHY_PREFS_UI_CHAT_WINDOW_PANED_POS,
hpaned_pos);
- g_object_unref (gsettings_chat);
-
return TRUE;
}
@@ -2529,7 +2529,7 @@ chat_create_ui (EmpathyChat *chat)
g_signal_connect (priv->hpaned, "notify::position",
G_CALLBACK (chat_hpaned_pos_changed_cb),
- NULL);
+ chat);
/* Load the paned position */
paned_pos = g_settings_get_int (priv->gsettings_ui,
diff --git a/libempathy-gtk/empathy-chat.h b/libempathy-gtk/empathy-chat.h
index 7f3ebda26..596b83f5d 100644
--- a/libempathy-gtk/empathy-chat.h
+++ b/libempathy-gtk/empathy-chat.h
@@ -47,10 +47,11 @@ G_BEGIN_DECLS
typedef struct _EmpathyChat EmpathyChat;
typedef struct _EmpathyChatClass EmpathyChatClass;
+typedef struct _EmpathyChatPriv EmpathyChatPriv;
struct _EmpathyChat {
GtkBin parent;
- gpointer priv;
+ EmpathyChatPriv *priv;
/* Protected */
EmpathyChatView *view;
diff --git a/libempathy-gtk/empathy-contact-list-store.c b/libempathy-gtk/empathy-contact-list-store.c
index 57768997d..de838441f 100644
--- a/libempathy-gtk/empathy-contact-list-store.c
+++ b/libempathy-gtk/empathy-contact-list-store.c
@@ -1061,7 +1061,6 @@ contact_list_store_add_contact (EmpathyContactListStore *store,
}
g_list_free (groups);
-#ifdef HAVE_FAVOURITE_CONTACTS
if (priv->show_groups &&
empathy_contact_list_is_favourite (priv->list, contact)) {
/* Add contact to the fake 'Favorites' group */
@@ -1072,7 +1071,6 @@ contact_list_store_add_contact (EmpathyContactListStore *store,
add_contact_to_store (GTK_TREE_STORE (store), &iter, &iter_group, contact, flags);
}
-#endif
contact_list_store_contact_update (store, contact);
}
@@ -1573,6 +1571,8 @@ contact_list_store_contact_sort (EmpathyContact *contact_a,
TpAccount *account_a, *account_b;
gint ret_val;
+ g_return_val_if_fail (contact_a != NULL || contact_b != NULL, 0);
+
/* alias */
ret_val = g_utf8_collate (empathy_contact_get_name (contact_a),
empathy_contact_get_name (contact_b));
@@ -1630,10 +1630,9 @@ contact_list_store_state_sort_func (GtkTreeModel *model,
EMPATHY_CONTACT_LIST_STORE_COL_IS_FAKE_GROUP, &fake_group_b,
-1);
- ret_val = compare_separator_and_groups (is_separator_a, is_separator_b,
- name_a, name_b, contact_a, contact_b, fake_group_a, fake_group_b);
-
- if (ret_val != 0) {
+ if (contact_a == NULL || contact_b == NULL) {
+ ret_val = compare_separator_and_groups (is_separator_a, is_separator_b,
+ name_a, name_b, contact_a, contact_b, fake_group_a, fake_group_b);
goto free_and_out;
}
@@ -1689,10 +1688,10 @@ contact_list_store_name_sort_func (GtkTreeModel *model,
EMPATHY_CONTACT_LIST_STORE_COL_IS_FAKE_GROUP, &fake_group_b,
-1);
- ret_val = compare_separator_and_groups (is_separator_a, is_separator_b,
- name_a, name_b, contact_a, contact_b, fake_group_a, fake_group_b);
-
- if (ret_val == 0)
+ if (contact_a == NULL || contact_b == NULL)
+ ret_val = compare_separator_and_groups (is_separator_a, is_separator_b,
+ name_a, name_b, contact_a, contact_b, fake_group_a, fake_group_b);
+ else
ret_val = contact_list_store_contact_sort (contact_a, contact_b);
if (contact_a) {
diff --git a/libempathy-gtk/empathy-contact-menu.c b/libempathy-gtk/empathy-contact-menu.c
index 9ea19af32..9b49389c1 100644
--- a/libempathy-gtk/empathy-contact-menu.c
+++ b/libempathy-gtk/empathy-contact-menu.c
@@ -131,14 +131,12 @@ empathy_contact_menu_new (EmpathyContact *contact,
gtk_widget_show (item);
}
-#if HAVE_FAVOURITE_CONTACTS
/* Favorite checkbox */
if (features & EMPATHY_CONTACT_FEATURE_FAVOURITE) {
item = empathy_contact_favourite_menu_item_new (contact);
gtk_menu_shell_append (shell, item);
gtk_widget_show (item);
}
-#endif
return menu;
}
@@ -392,7 +390,6 @@ empathy_contact_share_my_desktop_menu_item_new (EmpathyContact *contact)
return item;
}
-#if HAVE_FAVOURITE_CONTACTS
static void
favourite_menu_item_toggled_cb (GtkCheckMenuItem *item,
EmpathyContact *contact)
@@ -432,7 +429,6 @@ empathy_contact_favourite_menu_item_new (EmpathyContact *contact)
g_object_unref (manager);
return item;
}
-#endif
static void
contact_info_menu_item_activate_cb (EmpathyContact *contact)
diff --git a/libempathy-gtk/empathy-contact-widget.c b/libempathy-gtk/empathy-contact-widget.c
index 72fe321d7..e7a6b3a14 100644
--- a/libempathy-gtk/empathy-contact-widget.c
+++ b/libempathy-gtk/empathy-contact-widget.c
@@ -1405,7 +1405,6 @@ contact_widget_presence_notify_cb (EmpathyContactWidget *information)
gtk_widget_show (information->image_state);
}
-#if HAVE_FAVOURITE_CONTACTS
static void
contact_widget_favourites_changed_cb (EmpathyContactManager *manager,
EmpathyContact *contact,
@@ -1418,7 +1417,6 @@ contact_widget_favourites_changed_cb (EmpathyContactManager *manager,
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (
information->favourite_checkbox), is_favourite);
}
-#endif
static void
contact_widget_remove_contact (EmpathyContactWidget *information)
@@ -1524,7 +1522,6 @@ contact_widget_contact_update (EmpathyContactWidget *information)
contact_widget_presence_notify_cb (information);
contact_widget_avatar_notify_cb (information);
-#if HAVE_FAVOURITE_CONTACTS
if (information->flags & EMPATHY_CONTACT_WIDGET_EDIT_FAVOURITE)
{
gboolean is_favourite;
@@ -1536,7 +1533,6 @@ contact_widget_contact_update (EmpathyContactWidget *information)
contact_widget_favourites_changed_cb (information->manager,
information->contact, is_favourite, information);
}
-#endif
gtk_widget_show (information->label_alias);
gtk_widget_show (information->widget_alias);
@@ -1657,7 +1653,6 @@ contact_widget_id_focus_out_cb (GtkWidget *widget,
return FALSE;
}
-#if HAVE_FAVOURITE_CONTACTS
static void
favourite_toggled_cb (GtkToggleButton *button,
EmpathyContactWidget *information)
@@ -1677,7 +1672,6 @@ favourite_toggled_cb (GtkToggleButton *button,
EMPATHY_CONTACT_LIST (information->manager), information->contact);
}
}
-#endif
static void
contact_widget_contact_setup (EmpathyContactWidget *information)
@@ -1817,7 +1811,6 @@ contact_widget_contact_setup (EmpathyContactWidget *information)
}
gtk_widget_show (information->widget_alias);
-#if HAVE_FAVOURITE_CONTACTS
/* Favorite */
if (information->flags & EMPATHY_CONTACT_WIDGET_EDIT_FAVOURITE)
{
@@ -1836,7 +1829,6 @@ contact_widget_contact_setup (EmpathyContactWidget *information)
gtk_widget_show (information->favourite_checkbox);
}
-#endif
}
static void
diff --git a/libempathy/empathy-contact-list.c b/libempathy/empathy-contact-list.c
index 5cbe1cb15..631bb4a37 100644
--- a/libempathy/empathy-contact-list.c
+++ b/libempathy/empathy-contact-list.c
@@ -251,12 +251,10 @@ gboolean
empathy_contact_list_is_favourite (EmpathyContactList *list,
EmpathyContact *contact)
{
-#if HAVE_FAVOURITE_CONTACTS
if (EMPATHY_CONTACT_LIST_GET_IFACE (list)->is_favourite) {
return EMPATHY_CONTACT_LIST_GET_IFACE (list)->is_favourite (
list, contact);
}
-#endif /* HAVE_FAVOURITE_CONTACTS */
return FALSE;
}
@@ -265,22 +263,18 @@ void
empathy_contact_list_add_to_favourites (EmpathyContactList *list,
EmpathyContact *contact)
{
-#if HAVE_FAVOURITE_CONTACTS
if (EMPATHY_CONTACT_LIST_GET_IFACE (list)->add_favourite) {
EMPATHY_CONTACT_LIST_GET_IFACE (list)->add_favourite (list,
contact);
}
-#endif /* HAVE_FAVOURITE_CONTACTS */
}
void
empathy_contact_list_remove_from_favourites (EmpathyContactList *list,
EmpathyContact *contact)
{
-#if HAVE_FAVOURITE_CONTACTS
if (EMPATHY_CONTACT_LIST_GET_IFACE (list)->remove_favourite) {
EMPATHY_CONTACT_LIST_GET_IFACE (list)->remove_favourite (list,
contact);
}
-#endif /* HAVE_FAVOURITE_CONTACTS */
}
diff --git a/libempathy/empathy-dispatch-operation.c b/libempathy/empathy-dispatch-operation.c
index 68777a50e..83cf72483 100644
--- a/libempathy/empathy-dispatch-operation.c
+++ b/libempathy/empathy-dispatch-operation.c
@@ -217,6 +217,7 @@ dispatch_operation_connection_ready (TpConnection *connection,
EmpathyDispatchOperation *self = EMPATHY_DISPATCH_OPERATION (user_data);
EmpathyDispatchOperationPriv *priv = GET_PRIV (self);
TpHandle handle;
+ TpHandleType handle_type;
if (error != NULL)
goto out;
@@ -225,10 +226,18 @@ dispatch_operation_connection_ready (TpConnection *connection,
/* no point to get more information */
goto out;
- handle = tp_channel_get_handle (priv->channel, NULL);
-
- empathy_tp_contact_factory_get_from_handle (priv->connection, handle,
- dispatcher_operation_got_contact_cb, NULL, NULL, G_OBJECT (self));
+ handle = tp_channel_get_handle (priv->channel, &handle_type);
+ if (handle_type == TP_HANDLE_TYPE_CONTACT && priv->contact == NULL)
+ {
+ empathy_tp_contact_factory_get_from_handle (priv->connection, handle,
+ dispatcher_operation_got_contact_cb, NULL, NULL, G_OBJECT (self));
+ }
+ else
+ {
+ g_object_ref (self);
+ tp_channel_call_when_ready (priv->channel,
+ empathy_dispatch_operation_channel_ready_cb, self);
+ }
out:
g_object_unref (self);
@@ -239,8 +248,6 @@ empathy_dispatch_operation_constructed (GObject *object)
{
EmpathyDispatchOperation *self = EMPATHY_DISPATCH_OPERATION (object);
EmpathyDispatchOperationPriv *priv = GET_PRIV (self);
- TpHandle handle;
- TpHandleType handle_type;
empathy_dispatch_operation_set_status (self,
EMPATHY_DISPATCHER_OPERATION_STATE_PREPARING);
@@ -249,21 +256,9 @@ empathy_dispatch_operation_constructed (GObject *object)
g_signal_connect (priv->channel, "invalidated",
G_CALLBACK (empathy_dispatch_operation_invalidated), self);
- handle = tp_channel_get_handle (priv->channel, &handle_type);
-
- if (handle_type == TP_HANDLE_TYPE_CONTACT && priv->contact == NULL)
- {
- /* Ensure to keep the self object alive while the call_when_ready is
- * running */
- g_object_ref (self);
- tp_connection_call_when_ready (priv->connection,
- dispatch_operation_connection_ready, object);
- return;
- }
-
g_object_ref (self);
- tp_channel_call_when_ready (priv->channel,
- empathy_dispatch_operation_channel_ready_cb, self);
+ tp_connection_call_when_ready (priv->connection,
+ dispatch_operation_connection_ready, object);
}
static void