empathy r962 - in trunk: libempathy libempathy-gtk src
- From: xclaesse svn gnome org
- To: svn-commits-list gnome org
- Subject: empathy r962 - in trunk: libempathy libempathy-gtk src
- Date: Thu, 17 Apr 2008 22:50:01 +0100 (BST)
Author: xclaesse
Date: Thu Apr 17 22:50:00 2008
New Revision: 962
URL: http://svn.gnome.org/viewvc/empathy?rev=962&view=rev
Log:
Always set urgency hint on p2p chat windows when receiving a message.
Modified:
trunk/libempathy-gtk/empathy-chat.c
trunk/libempathy-gtk/empathy-chat.h
trunk/libempathy/empathy-tp-chat.c
trunk/libempathy/empathy-tp-chat.h
trunk/src/empathy-chat-window.c
Modified: trunk/libempathy-gtk/empathy-chat.c
==============================================================================
--- trunk/libempathy-gtk/empathy-chat.c (original)
+++ trunk/libempathy-gtk/empathy-chat.c Thu Apr 17 22:50:00 2008
@@ -1754,6 +1754,20 @@
return priv->remote_contact;
}
+guint
+empathy_chat_get_members_count (EmpathyChat *chat)
+{
+ EmpathyChatPriv *priv = GET_PRIV (chat);
+
+ g_return_val_if_fail (EMPATHY_IS_CHAT (chat), 0);
+
+ if (priv->tp_chat) {
+ return empathy_tp_chat_get_members_count (priv->tp_chat);
+ }
+
+ return 0;
+}
+
void
empathy_chat_clear (EmpathyChat *chat)
{
Modified: trunk/libempathy-gtk/empathy-chat.h
==============================================================================
--- trunk/libempathy-gtk/empathy-chat.h (original)
+++ trunk/libempathy-gtk/empathy-chat.h Thu Apr 17 22:50:00 2008
@@ -71,6 +71,7 @@
const gchar * empathy_chat_get_name (EmpathyChat *chat);
const gchar * empathy_chat_get_subject (EmpathyChat *chat);
EmpathyContact * empathy_chat_get_remote_contact (EmpathyChat *chat);
+guint empathy_chat_get_members_count (EmpathyChat *chat);
void empathy_chat_clear (EmpathyChat *chat);
void empathy_chat_scroll_down (EmpathyChat *chat);
void empathy_chat_cut (EmpathyChat *chat);
Modified: trunk/libempathy/empathy-tp-chat.c
==============================================================================
--- trunk/libempathy/empathy-tp-chat.c (original)
+++ trunk/libempathy/empathy-tp-chat.c Thu Apr 17 22:50:00 2008
@@ -54,7 +54,7 @@
gboolean had_properties_list;
GPtrArray *properties;
gboolean ready;
- guint nb_members;
+ guint members_count;
};
typedef struct {
@@ -124,8 +124,8 @@
{
EmpathyTpChatPriv *priv = GET_PRIV (chat);
- priv->nb_members++;
- if (priv->nb_members > 2 && priv->remote_contact) {
+ priv->members_count++;
+ if (priv->members_count > 2 && priv->remote_contact) {
/* We now have more than 2 members, this is not a p2p chat
* anymore. Remove the remote-contact as it makes no sense, the
* EmpathyContactList interface must be used now. */
@@ -133,7 +133,7 @@
priv->remote_contact = NULL;
g_object_notify (G_OBJECT (chat), "remote-contact");
}
- if (priv->nb_members <= 2 && !priv->remote_contact &&
+ if (priv->members_count <= 2 && !priv->remote_contact &&
!empathy_contact_is_user (contact)) {
/* This is a p2p chat, if it's not ourself that means this is
* the remote contact with who we are chatting. This is to
@@ -158,8 +158,8 @@
{
EmpathyTpChatPriv *priv = GET_PRIV (chat);
- priv->nb_members--;
- if (priv->nb_members <= 2 && !priv->remote_contact) {
+ priv->members_count--;
+ if (priv->members_count <= 2 && !priv->remote_contact) {
GList *members, *l;
/* We are not a MUC anymore, get the remote contact back */
@@ -775,6 +775,8 @@
G_CALLBACK (tp_chat_local_pending_cb),
chat);
empathy_run_until_ready (priv->group);
+ } else {
+ priv->members_count = 2;
}
if (tp_proxy_has_interface_by_id (priv->channel,
@@ -1146,6 +1148,16 @@
return priv->ready;
}
+guint
+empathy_tp_chat_get_members_count (EmpathyTpChat *chat)
+{
+ EmpathyTpChatPriv *priv = GET_PRIV (chat);
+
+ g_return_val_if_fail (EMPATHY_IS_TP_CHAT (chat), 0);
+
+ return priv->members_count;
+}
+
McAccount *
empathy_tp_chat_get_account (EmpathyTpChat *chat)
{
Modified: trunk/libempathy/empathy-tp-chat.h
==============================================================================
--- trunk/libempathy/empathy-tp-chat.h (original)
+++ trunk/libempathy/empathy-tp-chat.h Thu Apr 17 22:50:00 2008
@@ -59,6 +59,7 @@
EmpathyContact*empathy_tp_chat_get_remote_contact (EmpathyTpChat *chat);
McAccount * empathy_tp_chat_get_account (EmpathyTpChat *chat);
gboolean empathy_tp_chat_is_ready (EmpathyTpChat *chat);
+guint empathy_tp_chat_get_members_count (EmpathyTpChat *chat);
void empathy_tp_chat_send (EmpathyTpChat *chat,
EmpathyMessage *message);
void empathy_tp_chat_set_state (EmpathyTpChat *chat,
Modified: trunk/src/empathy-chat-window.c
==============================================================================
--- trunk/src/empathy-chat-window.c (original)
+++ trunk/src/empathy-chat-window.c Thu Apr 17 22:50:00 2008
@@ -757,12 +757,16 @@
priv = GET_PRIV (window);
has_focus = empathy_chat_window_has_focus (window);
-
+
if (has_focus && priv->current_chat == chat) {
return;
}
- needs_urgency = empathy_message_should_highlight (message);
+ if (empathy_chat_get_members_count (chat) > 2) {
+ needs_urgency = empathy_message_should_highlight (message);
+ } else {
+ needs_urgency = TRUE;
+ }
if (needs_urgency && !has_focus) {
chat_window_set_urgency_hint (window, TRUE);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]