[empathy: 1/2] Return existing default chat window when it's hidden, just restore it in this case (#625780).
- From: Guillaume Desmottes <gdesmott src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [empathy: 1/2] Return existing default chat window when it's hidden, just restore it in this case (#625780).
- Date: Fri, 22 Oct 2010 12:18:48 +0000 (UTC)
commit 2324b39d322867c4ef583265cf7c5d840a72cb02
Author: Vitaly Minko <vitaly minko gmail com>
Date: Thu Oct 21 19:07:33 2010 +0400
Return existing default chat window when it's hidden, just restore it in this case (#625780).
src/empathy-chat-window.c | 30 +++++++++++++++---------------
1 files changed, 15 insertions(+), 15 deletions(-)
---
diff --git a/src/empathy-chat-window.c b/src/empathy-chat-window.c
index a92e28b..f8cc8ff 100644
--- a/src/empathy-chat-window.c
+++ b/src/empathy-chat-window.c
@@ -2112,9 +2112,8 @@ empathy_chat_window_get_dialog (EmpathyChatWindow *window)
return priv->dialog;
}
-/* Returns the window to open a new tab in if there is only one window
- * visble, otherwise, returns NULL indicating that a new window should
- * be added.
+/* Returns the window to open a new tab in if there is a suitable window,
+ * otherwise, returns NULL indicating that a new window should be added.
*/
static EmpathyChatWindow *
empathy_chat_window_get_default (gboolean room)
@@ -2137,26 +2136,27 @@ empathy_chat_window_get_default (gboolean room)
EmpathyChatWindowPriv *priv;
EmpathyChatWindow *chat_window;
GtkWidget *dialog;
+ guint nb_rooms, nb_private;
chat_window = l->data;
priv = GET_PRIV (chat_window);
dialog = empathy_chat_window_get_dialog (chat_window);
- if (empathy_window_get_is_visible (GTK_WINDOW (dialog))) {
- 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;
+ empathy_chat_window_get_nb_chats (chat_window, &nb_rooms, &nb_private);
- /* Skip the window if there aren't any 1-1 chats in it */
- if (!room && nb_private == 0)
- continue;
+ /* Skip the window if there aren't any rooms in it */
+ if (room && nb_rooms == 0)
+ continue;
- /* Found a visible window on this desktop */
- return chat_window;
- }
+ /* Skip the window if there aren't any 1-1 chats in it */
+ if (!room && nb_private == 0)
+ continue;
+
+ /* Found a window on this desktop, make it visible if necessary */
+ if (!empathy_window_get_is_visible (GTK_WINDOW (dialog)))
+ empathy_window_present (GTK_WINDOW (dialog));
+ return chat_window;
}
return NULL;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]