diff options
author | Jan Pokorný <jpokorny@redhat.com> | 2013-05-17 23:31:35 +0200 |
---|---|---|
committer | Jan Pokorný <jpokorny@redhat.com> | 2013-05-17 23:31:35 +0200 |
commit | e577f8209e1f39b962ceb743ce174ee56349cb66 (patch) | |
tree | 8c2449f5330b3fe340fc5c36662baea9eaa2ec2b | |
parent | d05c6b40224609dcb5375533ae132388d5973699 (diff) | |
download | cluster-overview-e577f8209e1f39b962ceb743ce174ee56349cb66.tar.gz cluster-overview-e577f8209e1f39b962ceb743ce174ee56349cb66.tar.xz cluster-overview-e577f8209e1f39b962ceb743ce174ee56349cb66.zip |
lib: sanitize and speed-up "clean/set all"
Signed-off-by: Jan Pokorný <jpokorny@redhat.com>
-rw-r--r-- | lib.py | 15 |
1 files changed, 10 insertions, 5 deletions
@@ -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') |