[empathy] empathy_chat_window_get_default: check if the window has at least one room
- From: Guillaume Desmottes <gdesmott src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [empathy] empathy_chat_window_get_default: check if the window has at least one room
- Date: Mon, 7 Dec 2009 16:59:58 +0000 (UTC)
commit 784b5bd127a9cb1bb725f6c3e1e5338015383037
Author: Guillaume Desmottes <guillaume desmottes collabora co uk>
Date: Mon Dec 7 15:15:03 2009 +0000
empathy_chat_window_get_default: check if the window has at least one room
Also, check if the window has a least one 1-1 chat before adding a new one.
That way we won't mix 1-1 and muc chat if user doesn't want to (he can still
re-arrange the tabs manually).
src/empathy-chat-window.c | 14 ++++++++++++--
1 files changed, 12 insertions(+), 2 deletions(-)
---
diff --git a/src/empathy-chat-window.c b/src/empathy-chat-window.c
index c2e32bc..7d24016 100644
--- a/src/empathy-chat-window.c
+++ b/src/empathy-chat-window.c
@@ -1852,6 +1852,7 @@ empathy_chat_window_get_default (gboolean room_filter)
{
GList *l;
gboolean separate_windows = TRUE;
+ guint nb_rooms;
empathy_conf_get_bool (empathy_conf_get (),
EMPATHY_PREFS_UI_SEPARATE_CHAT_WINDOWS,
@@ -1871,8 +1872,17 @@ empathy_chat_window_get_default (gboolean room_filter)
priv = GET_PRIV (chat_window);
dialog = empathy_chat_window_get_dialog (chat_window);
- if (empathy_window_get_is_visible (GTK_WINDOW (dialog)) &&
- empathy_chat_is_room (priv->current_chat) == room_filter) {
+ if (empathy_window_get_is_visible (GTK_WINDOW (dialog))) {
+ nb_rooms = empathy_chat_window_get_nb_rooms (chat_window);
+
+ /* We add a new room only if the window has at least one room */
+ if (room_filter && nb_rooms == 0)
+ continue;
+
+ /* We add a new 1-1 chat only if the window has at least one 1-1 chat */
+ if (!room_filter && nb_rooms > 0)
+ continue;
+
/* Found a visible window on this desktop */
return chat_window;
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]