From 54ae8919b3f1e8842cd29cc284a5d4cba55bcf65 Mon Sep 17 00:00:00 2001 From: cncfanatics Date: Wed, 15 Sep 2010 17:55:48 +0200 Subject: [PATCH] Completely eradicate flicker by only changing text in refresh when actualy needed --- gui/builtinViewColumns/display.py | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/gui/builtinViewColumns/display.py b/gui/builtinViewColumns/display.py index ca108f145..87a89b0a1 100644 --- a/gui/builtinViewColumns/display.py +++ b/gui/builtinViewColumns/display.py @@ -109,7 +109,18 @@ class Display(wx.ListCtrl): for id, st in enumerate(stuff): item = self.GetNextItem(item) for i, col in enumerate(self.activeColumns): - self.SetStringItem(item, i, col.getText(st), col.getImageId(st)) + colItem = self.GetItem(item, i) + oldText = colItem.GetText() + oldImageId = colItem.GetImage() + newText = col.getText(st) + newImageId = col.getImageId(st) + if oldText != newText: + colItem.SetText(newText) + + if oldImageId != newImageId: + colItem.SetImage(newImageId) + + self.SetItem(colItem) self.SetItemData(item, id) for i, col in enumerate(self.activeColumns):