From e577f8209e1f39b962ceb743ce174ee56349cb66 Mon Sep 17 00:00:00 2001 From: Jan Pokorný Date: Fri, 17 May 2013 23:31:35 +0200 Subject: lib: sanitize and speed-up "clean/set all" MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Jan Pokorný --- lib.py | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) (limited to 'lib.py') diff --git a/lib.py b/lib.py index 8c3d40f..fac2ba7 100644 --- a/lib.py +++ b/lib.py @@ -325,27 +325,32 @@ def xdot_graph(*args, **kwargs): elif not widget.active and cls not in bl: bl.append(cls) change = True - if change: + if change and self._can_change: self.set_dotcode( gen_graph(*self._args, **self._kwargs).to_string()) def on_clean_all(self, widget): + self._can_change = False for item in filter(lambda x: isinstance(x, gtk.CheckMenuItem), widget.get_parent().get_children()): item.set_active(False) - item.set_active(True) - item.activate() + self.set_dotcode( + gen_graph(*self._args, **self._kwargs).to_string()) + self._can_change = True def on_set_all(self, widget): + self._can_change = False for item in filter(lambda x: isinstance(x, gtk.CheckMenuItem), widget.get_parent().get_children()): item.set_active(True) - item.set_active(False) - item.activate() + self.set_dotcode( + gen_graph(*self._args, **self._kwargs).to_string()) + self._can_change = True def __init__(self, *args, **kwargs): self._args = args self._kwargs = kwargs + self._can_change = True super(LibDotWindow, self).__init__() dotcode = gen_graph(*args, **kwargs).to_string() title = dotcode[dotcode.find('digraph', 0, 512) + len('digraph') -- cgit