[gcompris] administration: performance improvement in board selection / deselection



commit 8e8d67a065bb06e4a914d752c1919c1109a40999
Author: Bruno Coudoin <bruno coudoin free fr>
Date:   Thu May 10 16:55:15 2012 +0200

    administration: performance improvement in board selection / deselection
    
    Now sqlite commit is done only once for a bunch of selection resulting in a major
    performance improvement.

 src/administration-activity/admin/board_list.py |    7 ++++---
 1 files changed, 4 insertions(+), 3 deletions(-)
---
diff --git a/src/administration-activity/admin/board_list.py b/src/administration-activity/admin/board_list.py
index f550346..8d84a2d 100644
--- a/src/administration-activity/admin/board_list.py
+++ b/src/administration-activity/admin/board_list.py
@@ -336,12 +336,13 @@ class Board_list:
       pass
 
     self.update_selected(model, path)
+    self.con.commit()
 
   def update_selected(self, model, path):
     if model[path][2]:
       self.cur.execute('DELETE FROM activities_out WHERE board_id=%d AND out_id=%d' % (
         self.board_dict[model[path][3]].board_id,
-                                                                                       self.active_profile.profile_id
+        self.active_profile.profile_id
         ))
     else:
       self.cur.execute('INSERT INTO activities_out (board_id, out_id) VALUES (%d, %d)' % (
@@ -349,8 +350,6 @@ class Board_list:
         self.active_profile.profile_id
         ))
 
-    self.con.commit()
-
     # update infos
     self.out_dict = self.get_boards_out_by_profile()
 
@@ -410,6 +409,7 @@ class Board_list:
 
   def select_all_boards(self, button, Value):
     self.model.foreach(self.update_all, Value)
+    self.con.commit()
 
   def update_all(self, model, path, iter, Value):
     model[path][2] = Value
@@ -562,6 +562,7 @@ class Board_list:
   def filter_apply(self, button):
     self.model.foreach(self.blank)
     self.model.foreach(self.board_filter)
+    self.con.commit()
 
   # Apply the filter as asked.
   def board_filter(self,  model, path, iter):



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