From cd255f24c1a3b199c2b446537aff60be767676d4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Isma=C3=ABl=20Bouya?= Date: Fri, 24 Jun 2016 20:46:52 +0200 Subject: Add checkmarks to the action list --- helpers/key.py | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) (limited to 'helpers/key.py') diff --git a/helpers/key.py b/helpers/key.py index 56cccaa..d923b1d 100644 --- a/helpers/key.py +++ b/helpers/key.py @@ -118,17 +118,21 @@ class Key: def add_action(self, action_name, **arguments): self.actions.append(Action(action_name, self, **arguments)) - def do_actions(self): + def do_actions(self, screen): print("running actions for {}".format(self.key_sym)) start_time = time.time() self.mapping.start_running(self, start_time) + action_number = 0 for action in self.actions: if self.mapping.keep_running(self, start_time): + self.list_actions(screen, action_number = action_number + 0.5) action.run() + action_number += 1 + self.list_actions(screen, action_number = action_number) self.mapping.finished_running(self, start_time) - def list_actions(self, screen): + def list_actions(self, screen, action_number = 0): action_descriptions = [action.description() for action in self.actions] #print("actions linked to key {}:".format(self.key_sym)) #print("\t" + "\n\t".join(action_descriptions)) @@ -144,9 +148,18 @@ class Key: offset += police.get_linesize() police.set_bold(False) - for description in action_descriptions: + icon_police = font(14, font = "Symbola") + for index, description in enumerate(action_descriptions): + if index < int(action_number): + icon = icon_police.render("✓", True, (0,0,0)) + elif index + 0.5 == action_number: + icon = icon_police.render("✅", True, (0,0,0)) + else: + icon = icon_police.render(" ", True, (0,0,0)) + text = police.render(description, True, (0,0,0)) - surface.blit(text, (0, offset)) + surface.blit(icon, (0, offset)) + surface.blit(text, (10, offset)) offset += police.get_linesize() screen.blit(surface, (5, 308)) -- cgit v1.2.3