aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGuillaume Desmottes <guillaume.desmottes@collabora.co.uk>2010-09-22 21:26:47 +0800
committerGuillaume Desmottes <guillaume.desmottes@collabora.co.uk>2010-09-29 18:52:10 +0800
commit87a039507241c49c2cf6aeaf288c90a72c7119e3 (patch)
tree15ca04e1f7ea913595436dcfafbfb9ee32d267bc
parent1a69c8b6c2aa0ce113cd132eb7ead8058e9ddacb (diff)
downloadgsoc2013-empathy-87a039507241c49c2cf6aeaf288c90a72c7119e3.tar
gsoc2013-empathy-87a039507241c49c2cf6aeaf288c90a72c7119e3.tar.gz
gsoc2013-empathy-87a039507241c49c2cf6aeaf288c90a72c7119e3.tar.bz2
gsoc2013-empathy-87a039507241c49c2cf6aeaf288c90a72c7119e3.tar.lz
gsoc2013-empathy-87a039507241c49c2cf6aeaf288c90a72c7119e3.tar.xz
gsoc2013-empathy-87a039507241c49c2cf6aeaf288c90a72c7119e3.tar.zst
gsoc2013-empathy-87a039507241c49c2cf6aeaf288c90a72c7119e3.zip
chat-window: remember the geometry of the last saved window
This way new chat window have this geometry rather than the default one.
-rw-r--r--src/empathy-chat-window.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/src/empathy-chat-window.c b/src/empathy-chat-window.c
index bc50355a5..346c23a85 100644
--- a/src/empathy-chat-window.c
+++ b/src/empathy-chat-window.c
@@ -2188,12 +2188,19 @@ empathy_chat_window_add_chat (EmpathyChatWindow *window,
g_object_unref (gsettings);
+ if (empathy_chat_is_room (chat))
+ name = "room-window";
+
if (separate_windows) {
+ /* First bind to the 'generic' name. So new window for which we didn't
+ * save a geometry yet will have the geometry of the last saved
+ * window (bgo #601191). */
+ empathy_geometry_bind (GTK_WINDOW (priv->dialog), name);
+
+ /* Then bind it to the name of the contact/room so we'll save the
+ * geometry specific to this window */
name = empathy_chat_get_id (chat);
}
- else if (empathy_chat_is_room (chat)) {
- name = "room-window";
- }
empathy_geometry_bind (GTK_WINDOW (priv->dialog), name);
}