Merge lp:~mblayman/entertainer/screen-callback into lp:entertainer

Proposed by Matt Layman
Status: Merged
Merged at revision: not available
Proposed branch: lp:~mblayman/entertainer/screen-callback
Merge into: lp:entertainer
To merge this branch: bzr merge lp:~mblayman/entertainer/screen-callback
Reviewer Review Type Date Requested Status
Paul Hummer Approve
Review via email: mp+1975@code.launchpad.net
To post a comment you must log in.
Revision history for this message
Matt Layman (mblayman) wrote :

All screens now use a callback to the ui object rather than needing the ui object to make the calls directly to create and change screens. This is just one more step toward removing dependence on the ui object in the frontend screens.

Revision history for this message
Paul Hummer (rockstar) wrote :
Download full text (25.7 KiB)

=== modified file 'entertainerlib/frontend/gui/screens/album_screen.py'
--- entertainerlib/frontend/gui/screens/album_screen.py 2008-11-17 20:57:34 +0000
+++ entertainerlib/frontend/gui/screens/album_screen.py 2008-12-05 18:07:39 +0000
@@ -9,7 +9,6 @@ import clutter
 import pango

 from entertainerlib.frontend.gui.screens.screen import Screen
-from entertainerlib.frontend.gui.transitions.transition import Transition
 from entertainerlib.frontend.gui.widgets.eyecandy_texture import (
     EyeCandyTexture)
 from entertainerlib.frontend.gui.widgets.label import Label
@@ -26,11 +25,11 @@ class AlbumScreen(Screen):
     Screen that allows user to browse and play tracks of the music album.
     """

- def __init__(self, ui, music_library, album):
+ def __init__(self, ui, music_library, album, callback):
         """Create the layout of the screen"""

         self.config = Configuration()
- Screen.__init__(self)
+ Screen.__init__(self, callback)

         self.ui = ui
         self.player = self.ui.get_media_player()
@@ -174,6 +173,6 @@ class AlbumScreen(Screen):

         elif event_type == UserEvent.NAVIGATE_SELECT:
             track = self.track_menu.get_current_menuitem().get_userdata()
- self.ui.changeScreen(self.ui.createScreen("audio_play", track),
- Transition.FORWARD)
+ self.callback("audio_play", track)
+

=== modified file 'entertainerlib/frontend/gui/screens/artist_screen.py'
--- entertainerlib/frontend/gui/screens/artist_screen.py 2008-11-25 23:14:03 +0000
+++ entertainerlib/frontend/gui/screens/artist_screen.py 2008-12-05 18:07:39 +0000
@@ -8,7 +8,6 @@ import pango
 import clutter

 from entertainerlib.frontend.gui.screens.screen import Screen
-from entertainerlib.frontend.gui.transitions.transition import Transition
 from entertainerlib.frontend.gui.widgets.image_menu import ImageMenu
 from entertainerlib.frontend.gui.widgets.image_menu_item import ImageMenuItem
 from entertainerlib.frontend.gui.widgets.text_menu_item import TextMenuItem
@@ -28,11 +27,11 @@ class ArtistScreen(Screen):
     Screen that allows user to browse music by artist.
     """

- def __init__(self, ui, music_library, artist):
+ def __init__(self, ui, music_library, artist, callback):
         """Create the layout of the screen"""

         self.config = Configuration()
- Screen.__init__(self)
+ Screen.__init__(self, callback)

         self.ui = ui
         self.player = ui.get_media_player()
@@ -379,10 +378,9 @@ class ArtistScreen(Screen):
         elif event_type == UserEvent.NAVIGATE_SELECT:
             if self.current_tab == "tracks":
                 track = self.tracks_menu.get_current_menuitem().get_userdata()
- self.ui.changeScreen(self.ui.createScreen("audio_play", track),
- Transition.FORWARD)
+ self.callback("audio_play", track)
             elif self.current_tab == "albums":
                 album = self.album_menu.get_current_menuitem().get_userdata()
- self.ui.changeScreen(self.ui.createScreen("music_album", album),
- Transition.FORWARD)
+ self.callback("music_alb...

Revision history for this message
Paul Hummer (rockstar) wrote :
Download full text (27.0 KiB)

Matt-

  I'm merging this immediately. This is quite good work. Thanks!

 vote approve

Cheers,
Paul

> === modified file 'entertainerlib/frontend/gui/screens/album_screen.py'
> --- entertainerlib/frontend/gui/screens/album_screen.py 2008-11-17 20:57:34 +0000
> +++ entertainerlib/frontend/gui/screens/album_screen.py 2008-12-05 18:07:39 +0000
> @@ -9,7 +9,6 @@ import clutter
> import pango
>
> from entertainerlib.frontend.gui.screens.screen import Screen
> -from entertainerlib.frontend.gui.transitions.transition import Transition
> from entertainerlib.frontend.gui.widgets.eyecandy_texture import (
> EyeCandyTexture)
> from entertainerlib.frontend.gui.widgets.label import Label
> @@ -26,11 +25,11 @@ class AlbumScreen(Screen):
> Screen that allows user to browse and play tracks of the music album.
> """
>
> - def __init__(self, ui, music_library, album):
> + def __init__(self, ui, music_library, album, callback):
> """Create the layout of the screen"""
>
> self.config = Configuration()
> - Screen.__init__(self)
> + Screen.__init__(self, callback)
>
> self.ui = ui
> self.player = self.ui.get_media_player()
> @@ -174,6 +173,6 @@ class AlbumScreen(Screen):
>
> elif event_type == UserEvent.NAVIGATE_SELECT:
> track = self.track_menu.get_current_menuitem().get_userdata()
> - self.ui.changeScreen(self.ui.createScreen("audio_play", track),
> - Transition.FORWARD)
> + self.callback("audio_play", track)
> +
>
>
> === modified file 'entertainerlib/frontend/gui/screens/artist_screen.py'
> --- entertainerlib/frontend/gui/screens/artist_screen.py 2008-11-25 23:14:03 +0000
> +++ entertainerlib/frontend/gui/screens/artist_screen.py 2008-12-05 18:07:39 +0000
> @@ -8,7 +8,6 @@ import pango
> import clutter
>
> from entertainerlib.frontend.gui.screens.screen import Screen
> -from entertainerlib.frontend.gui.transitions.transition import Transition
> from entertainerlib.frontend.gui.widgets.image_menu import ImageMenu
> from entertainerlib.frontend.gui.widgets.image_menu_item import ImageMenuItem
> from entertainerlib.frontend.gui.widgets.text_menu_item import TextMenuItem
> @@ -28,11 +27,11 @@ class ArtistScreen(Screen):
> Screen that allows user to browse music by artist.
> """
>
> - def __init__(self, ui, music_library, artist):
> + def __init__(self, ui, music_library, artist, callback):
> """Create the layout of the screen"""
>
> self.config = Configuration()
> - Screen.__init__(self)
> + Screen.__init__(self, callback)
>
> self.ui = ui
> self.player = ui.get_media_player()
> @@ -379,10 +378,9 @@ class ArtistScreen(Screen):
> elif event_type == UserEvent.NAVIGATE_SELECT:
> if self.current_tab == "tracks":
> track = self.tracks_menu.get_current_menuitem().get_userdata()
> - self.ui.changeScreen(self.ui.createScreen("audio_play", track),
> - Transition.FORWARD)
> + self.callback("audio_play", track)
> elif self.current_tab == "albums":
> ...

review: Approve
Revision history for this message
Jamie Bennett (jamiebennett) wrote :

On Fri, 2008-12-05 at 18:27 +0000, Paul Hummer wrote:
> Vote: Approve
> Matt-
>
> I'm merging this immediately. This is quite good work. Thanks!
>
> vote approve

The callback mechanism does tidy the code up considerably. Looks good.

> Cheers,
> Paul

Regards,
Jamie.

Subscribers

People subscribed via source and target branches