[longomatch] Improve performance in filter ignores updates for child updates



commit fb8e02563868291f774feac8113b0a44fed26f71
Author: Andoni Morales Alastruey <ylatuya gmail com>
Date:   Mon Dec 22 20:40:18 2014 +0100

    Improve performance in filter ignores updates for child updates

 .../Gui/TreeView/CategoriesFilterTreeView.cs       |    4 +++-
 .../Gui/TreeView/PlayersFilterTreeView.cs          |    2 ++
 2 files changed, 5 insertions(+), 1 deletions(-)
---
diff --git a/LongoMatch.GUI/Gui/TreeView/CategoriesFilterTreeView.cs 
b/LongoMatch.GUI/Gui/TreeView/CategoriesFilterTreeView.cs
index 5a1cd0a..e8f886d 100644
--- a/LongoMatch.GUI/Gui/TreeView/CategoriesFilterTreeView.cs
+++ b/LongoMatch.GUI/Gui/TreeView/CategoriesFilterTreeView.cs
@@ -112,11 +112,13 @@ namespace LongoMatch.Gui.Component
                        
                        /* Check/Uncheck all children */
                        if (recurse) {
+                               filter.IgnoreUpdates = true;
                                store.IterChildren (out child, iter);
                                while (store.IterIsValid(child)) {
-                                       UpdateSelectionPriv (child, active, false, true);
+                                       UpdateSelectionPriv (child, active, false, false);
                                        store.IterNext (ref child);
                                }
+                               filter.IgnoreUpdates = false;
                        }
                        
                        if (recurse && checkParents)
diff --git a/LongoMatch.GUI/Gui/TreeView/PlayersFilterTreeView.cs 
b/LongoMatch.GUI/Gui/TreeView/PlayersFilterTreeView.cs
index 37b9ab6..a0d3b67 100644
--- a/LongoMatch.GUI/Gui/TreeView/PlayersFilterTreeView.cs
+++ b/LongoMatch.GUI/Gui/TreeView/PlayersFilterTreeView.cs
@@ -83,12 +83,14 @@ namespace LongoMatch.Gui.Component
                                TreeIter child;
                                store.IterChildren(out child, iter);
                                
+                               filter.IgnoreUpdates = true;
                                while (store.IterIsValid(child)) {
                                        Player childPlayer = (Player) store.GetValue(child, 0);
                                        filter.FilterPlayer (childPlayer, active);
                                        store.SetValue(child, 1, active);
                                        store.IterNext(ref child);
                                }
+                               filter.IgnoreUpdates = false;
                        } else {
                                filter.FilterPlayer (player, active);
                                if (!active) {


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