[empathy: 1/2] Save changes to chatrooms.xml configuration file only when needed.



commit 72785d7ab576618ccc2847b8d51d1f4c9ff19241
Author: Chandni Verma <chandniverma2112 gmail com>
Date:   Sun May 8 00:44:43 2011 +0530

    Save changes to chatrooms.xml configuration file only when needed.
    
    Changes will be written to the file only when changes are made to a
    chatroom property that is listed in the file.
    
    Fixes room-list flicker: https://bugzilla.gnome.org/show_bug.cgi?id=642087

 libempathy/empathy-chatroom-manager.c |   11 ++++++++++-
 1 files changed, 10 insertions(+), 1 deletions(-)
---
diff --git a/libempathy/empathy-chatroom-manager.c b/libempathy/empathy-chatroom-manager.c
index 9ad75ee..7872bbb 100644
--- a/libempathy/empathy-chatroom-manager.c
+++ b/libempathy/empathy-chatroom-manager.c
@@ -192,7 +192,16 @@ add_chatroom (EmpathyChatroomManager *self,
 
   priv->chatrooms = g_list_prepend (priv->chatrooms, g_object_ref (chatroom));
 
-  g_signal_connect (chatroom, "notify",
+  /* Watch only those properties which are exported in the save file */
+  g_signal_connect (chatroom, "notify::name",
+      G_CALLBACK (chatroom_changed_cb), self);
+  g_signal_connect (chatroom, "notify::room",
+      G_CALLBACK (chatroom_changed_cb), self);
+  g_signal_connect (chatroom, "notify::account",
+      G_CALLBACK (chatroom_changed_cb), self);
+  g_signal_connect (chatroom, "notify::auto-connect",
+      G_CALLBACK (chatroom_changed_cb), self);
+  g_signal_connect (chatroom, "notify::always_urgent",
       G_CALLBACK (chatroom_changed_cb), self);
 }
 



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]