[empathy] change empathy_chat_window_get_nb_rooms to get_chats_type
- From: Guillaume Desmottes <gdesmott src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [empathy] change empathy_chat_window_get_nb_rooms to get_chats_type
- Date: Mon, 7 Dec 2009 17:00:13 +0000 (UTC)
commit 23414db5acced9ab25ca012e86b4efbd1653bbcc
Author: Guillaume Desmottes <guillaume desmottes collabora co uk>
Date: Mon Dec 7 16:52:26 2009 +0000
change empathy_chat_window_get_nb_rooms to get_chats_type
That way we can implement the semantic we meant to. Muc and 1-1 chat are
handled the same way.
src/empathy-chat-window.c | 23 +++++++++++++++--------
src/empathy-chat-window.h | 4 +++-
2 files changed, 18 insertions(+), 9 deletions(-)
---
diff --git a/src/empathy-chat-window.c b/src/empathy-chat-window.c
index 903f18f..3f12b63 100644
--- a/src/empathy-chat-window.c
+++ b/src/empathy-chat-window.c
@@ -1852,7 +1852,6 @@ empathy_chat_window_get_default (gboolean room)
{
GList *l;
gboolean separate_windows = TRUE;
- guint nb_rooms;
empathy_conf_get_bool (empathy_conf_get (),
EMPATHY_PREFS_UI_SEPARATE_CHAT_WINDOWS,
@@ -1873,14 +1872,15 @@ empathy_chat_window_get_default (gboolean room)
dialog = empathy_chat_window_get_dialog (chat_window);
if (empathy_window_get_is_visible (GTK_WINDOW (dialog))) {
- nb_rooms = empathy_chat_window_get_nb_rooms (chat_window);
+ guint nb_rooms, nb_private;
+ empathy_chat_window_get_nb_chats (chat_window, &nb_rooms, &nb_private);
/* Skip the window if there aren't any rooms in it */
if (room && nb_rooms == 0)
continue;
/* Skip the window if there aren't any 1-1 chats in it */
- if (!room && nb_rooms > 0)
+ if (!room && nb_private == 0)
continue;
/* Found a visible window on this desktop */
@@ -2114,17 +2114,24 @@ empathy_chat_window_present_chat (EmpathyChat *chat)
gtk_widget_grab_focus (chat->input_text_view);
}
-guint
-empathy_chat_window_get_nb_rooms (EmpathyChatWindow *self)
+void
+empathy_chat_window_get_nb_chats (EmpathyChatWindow *self,
+ guint *nb_rooms,
+ guint *nb_private)
{
EmpathyChatWindowPriv *priv = GET_PRIV (self);
GList *l;
- guint nb = 0;
+ guint _nb_rooms = 0, _nb_private = 0;
for (l = priv->chats; l != NULL; l = g_list_next (l)) {
if (empathy_chat_is_room (EMPATHY_CHAT (l->data)))
- nb++;
+ _nb_rooms++;
+ else
+ _nb_private++;
}
- return nb;
+ if (nb_rooms != NULL)
+ *nb_rooms = _nb_rooms;
+ if (nb_private != NULL)
+ *nb_private = _nb_private;
}
diff --git a/src/empathy-chat-window.h b/src/empathy-chat-window.h
index a347352..93ffcc5 100644
--- a/src/empathy-chat-window.h
+++ b/src/empathy-chat-window.h
@@ -74,7 +74,9 @@ EmpathyChat * empathy_chat_window_find_chat (TpAccount *account
const gchar *id);
void empathy_chat_window_present_chat (EmpathyChat *chat);
-guint empathy_chat_window_get_nb_rooms (EmpathyChatWindow *window);
+void empathy_chat_window_get_nb_chats (EmpathyChatWindow *window,
+ guint *nb_rooms,
+ guint *nb_private);
G_END_DECLS
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]