]> git.0d.be Git - empathy.git/commitdiff
only save the chatrooms xml when a favorite chatroom is added/removed
authorXavier Claessens <xclaesse@src.gnome.org>
Mon, 13 Oct 2008 07:55:05 +0000 (07:55 +0000)
committerXavier Claessens <xclaesse@src.gnome.org>
Mon, 13 Oct 2008 07:55:05 +0000 (07:55 +0000)
svn path=/trunk/; revision=1566

libempathy/empathy-chatroom-manager.c

index add54317234d4e418de2f2a8ef549ebbc087110e..a0dd00049136bdfcf563bb465e600336617b5c98 100644 (file)
@@ -267,8 +267,16 @@ empathy_chatroom_manager_add (EmpathyChatroomManager *manager,
        if (!empathy_chatroom_manager_find (manager,
                                           empathy_chatroom_get_account (chatroom),
                                           empathy_chatroom_get_room (chatroom))) {
+      gboolean favorite;
+
+      g_object_get (chatroom, "favorite", &favorite, NULL);
+
     add_chatroom (manager, chatroom);
-               chatroom_manager_file_save (manager);
+
+    if (favorite)
+      {
+        chatroom_manager_file_save (manager);
+      }
 
                g_signal_emit (manager, signals[CHATROOM_ADDED], 0, chatroom);
 
@@ -296,9 +304,15 @@ empathy_chatroom_manager_remove (EmpathyChatroomManager *manager,
                this_chatroom = l->data;
 
                if (empathy_chatroom_equal (chatroom, this_chatroom)) {
+        gboolean favorite;
                        priv->chatrooms = g_list_delete_link (priv->chatrooms, l);
 
-                       chatroom_manager_file_save (manager);
+      g_object_get (chatroom, "favorite", &favorite, NULL);
+
+      if (favorite)
+        {
+          chatroom_manager_file_save (manager);
+        }
 
                        g_signal_emit (manager, signals[CHATROOM_REMOVED], 0, this_chatroom);
                        g_object_unref (this_chatroom);