X-Git-Url: https://scm.cri.ensmp.fr/git/minwii.git/blobdiff_plain/46f3ffd7fdde386f41020171b5733e55a8e64a85..refs/heads/master:/src/minwii/widgets/instrumentselector.py?ds=inline diff --git a/src/minwii/widgets/instrumentselector.py b/src/minwii/widgets/instrumentselector.py index 6861643..f8a5e32 100755 --- a/src/minwii/widgets/instrumentselector.py +++ b/src/minwii/widgets/instrumentselector.py @@ -7,14 +7,14 @@ $URL$ """ import os.path import pygame -from eventutils import event_handler, EventDispatcher, EventHandlerMixin +from minwii.eventutils import event_handler, EventDispatcher, EventHandlerMixin +from minwii.config import FRAMERATE +from minwii.config import INSTRUMENTS +from minwii.globals import BACKGROUND_LAYER +from minwii.globals import FOREGROUND_LAYER +from minwii.globals import CURSOR_LAYER +from minwii.globals import hls_to_rgba_8bits from cursors import WarpingCursor -from config import FRAMERATE -from config import INSTRUMENTS -from globals import BACKGROUND_LAYER -from globals import FOREGROUND_LAYER -from globals import CURSOR_LAYER -from globals import hls_to_rgba_8bits class InstrumentSelector(pygame.sprite.LayeredDirty, EventHandlerMixin) : @@ -60,10 +60,14 @@ class InstrumentSelector(pygame.sprite.LayeredDirty, EventHandlerMixin) : pygame.display.flip() pygame.mouse.set_visible(False) while self._running : - EventDispatcher.dispatchEvents() - dirty = self.draw(pygame.display.get_surface()) - pygame.display.update(dirty) - clock.tick(FRAMERATE) + try : + EventDispatcher.dispatchEvents() + dirty = self.draw(pygame.display.get_surface()) + pygame.display.update(dirty) + clock.tick(FRAMERATE) + except KeyboardInterrupt : + self.stop() + raise def stop(self) : self._running = False @@ -72,7 +76,8 @@ class InstrumentSelector(pygame.sprite.LayeredDirty, EventHandlerMixin) : @event_handler(pygame.KEYDOWN) def handleKeyDown(self, event) : - if event.key == pygame.K_q: + if event.key in (pygame.K_q, pygame.K_ESCAPE) or \ + event.unicode == u'q' : self.stop() @event_handler(pygame.MOUSEMOTION)