diff -u -r orig/widgets.py ptched/widgets.py --- orig/widgets.py 2005-09-15 05:11:00.000000000 +0200 +++ presenter/widgets.py 2006-02-12 15:50:00.000000000 +0100 @@ -1171,6 +1171,9 @@ self.connect_object('destroy', TrayIcon.destroy, self.icon) self.connect('destroy', gtk.main_quit) self.connect('window-state-event', self.__window_state_changed) +# presenter + self.connect('key_press_event', self.__keypressed, watcher) +# /presenter self.__hidden_state = 0 self.songlist.connect('button-press-event', self.__songs_button_press) @@ -1191,6 +1194,37 @@ self.resize(*map(int, config.get("memory", "size").split())) self.show() +# presenter + def __keypressed(self, window, event, watcher): + # which widget is focused + focused = window.get_focus() + ## debug + ##print focused.get_name() + + if event.keyval == gtk.keysyms.Prior and focused.get_name() != "GtkTreeView": + print "previous" + player.playlist.previous() + + if event.keyval == gtk.keysyms.Next and focused.get_name() != "GtkTreeView": + print "next" + player.playlist.next() + + if event.keyval == gtk.keysyms.b and focused.get_name() != "GtkEntry": + print "play/pause" + if player.playlist.paused and watcher.song is None: + player.playlist.reset() + player.playlist.next() + else: player.playlist.paused = not player.playlist.paused + + if event.keyval == gtk.keysyms.F5: + print "max" + self.maximize() + + if event.keyval == gtk.keysyms.Escape: + print "demax" + self.unmaximize() +# /presenter + def __window_state_changed(self, window, event): assert window is self self.__window_state = event.new_window_state