Ander 11 rokov pred
rodič
commit
58ae8b80e2

+ 16 - 0
mopidy_touchscreen/base_screen.py

@@ -0,0 +1,16 @@
+__author__ = 'ander'
+
+
+class BaseScreen():
+
+    def __init__(self, size, base_size, manager, fonts):
+        self.size = size
+        self.base_size = base_size
+        self.manager = manager
+        self.fonts = fonts
+
+    def update(self, surface):
+        pass
+
+    def event(self, event):
+        pass

+ 5 - 6
mopidy_touchscreen/library_screen.py

@@ -3,19 +3,18 @@ import mopidy.models
 
 from .list_view import ListView
 from .input_manager import InputManager
+from .base_screen import BaseScreen
 
 logger = logging.getLogger(__name__)
 
 
-class LibraryScreen():
-    def __init__(self, size, base_size, manager):
-        self.size = size
-        self.base_size = base_size
-        self.manager = manager
+class LibraryScreen(BaseScreen):
+    def __init__(self, size, base_size, manager, fonts):
+        BaseScreen.__init__(self, size, base_size, manager, fonts)
         self.list_view = ListView((0, 0), (
             self.size[0], self.size[1] - self.base_size),
                                   self.base_size,
-                                  manager.fonts['base'])
+                                  self.fonts['base'])
         self.directory_list = []
         self.current_directory = None
         self.library = None

+ 5 - 7
mopidy_touchscreen/main_screen.py

@@ -8,6 +8,7 @@ import urllib
 import urllib2
 from threading import Thread
 import pygame
+from .base_screen import BaseScreen
 
 from .screen_objects import (Progressbar, ScreenObjectsManager,
                              TextItem,
@@ -18,13 +19,10 @@ from .input_manager import InputManager
 logger = logging.getLogger(__name__)
 
 
-class MainScreen():
-    def __init__(self, size, manager, cache, core, fonts):
+class MainScreen(BaseScreen):
+    def __init__(self, size, base_size, manager, fonts, cache, core):
+        BaseScreen.__init__(self, size, base_size, manager, fonts)
         self.core = core
-        self.size = size
-        self.base_size = self.size[1] / 8
-        self.fonts = fonts
-        self.manager = manager
         self.track = None
         self.cache = cache
         self.image = None
@@ -297,7 +295,7 @@ class MainScreen():
                 volume = self.core.playback.volume.get() + 10
                 if volume > 100:
                     volume = 100
-                    self.core.playback.volume = volume
+                self.core.playback.volume = volume
                 self.manager.volume_changed(volume)
             elif event.direction == InputManager.down:
                 volume = self.core.playback.volume.get() - 10

+ 10 - 11
mopidy_touchscreen/menu_screen.py

@@ -4,13 +4,12 @@ import mopidy
 
 from .screen_objects import ScreenObjectsManager, TouchAndTextItem
 from .input_manager import InputManager
+from .base_screen import BaseScreen
 
 
-class MenuScreen():
-    def __init__(self, size, base_size, manager):
-        self.size = size
-        self.base_size = base_size
-        self.manager = manager
+class MenuScreen(BaseScreen):
+    def __init__(self, size, base_size, manager, fonts):
+        BaseScreen.__init__(self, size, base_size, manager, fonts)
         self.ip = None
         self.screen_objects = ScreenObjectsManager()
 
@@ -19,7 +18,7 @@ class MenuScreen():
                                   u"\ue611",
                                   (0, 0), None)
         self.screen_objects.set_touch_object("exit_icon", button)
-        button = TouchAndTextItem(self.manager.fonts['base'],
+        button = TouchAndTextItem(self.fonts['base'],
                                   "Exit Mopidy",
                                   (button.get_right_pos(),
                                    0),
@@ -27,11 +26,11 @@ class MenuScreen():
         self.screen_objects.set_touch_object("exit", button)
 
         # Shutdown button
-        button = TouchAndTextItem(self.manager.fonts['icon'],
+        button = TouchAndTextItem(self.fonts['icon'],
                                   u"\ue60b",
                                   (0, self.base_size * 1), None)
         self.screen_objects.set_touch_object("shutdown_icon", button)
-        button = TouchAndTextItem(self.manager.fonts['base'],
+        button = TouchAndTextItem(self.fonts['base'],
                                   "Shutdown",
                                   (button.get_right_pos(),
                                    self.base_size * 1),
@@ -39,11 +38,11 @@ class MenuScreen():
         self.screen_objects.set_touch_object("shutdown", button)
 
         # Restart button
-        button = TouchAndTextItem(self.manager.fonts['icon'],
+        button = TouchAndTextItem(self.fonts['icon'],
                                   u"\ue609",
                                   (0, self.base_size * 2), None)
         self.screen_objects.set_touch_object("restart_icon", button)
-        button = TouchAndTextItem(self.manager.fonts['base'],
+        button = TouchAndTextItem(self.fonts['base'],
                                   "Restart",
                                   (button.get_right_pos(),
                                    self.base_size * 2),
@@ -51,7 +50,7 @@ class MenuScreen():
         self.screen_objects.set_touch_object("restart", button)
 
         # IP addres
-        button = TouchAndTextItem(self.manager.fonts['base'], "IP: ",
+        button = TouchAndTextItem(self.fonts['base'], "IP: ",
                                   (0, self.base_size * 3), None)
         self.screen_objects.set_touch_object("ip", button)
 

+ 5 - 6
mopidy_touchscreen/playlist_screen.py

@@ -1,15 +1,14 @@
 from .list_view import ListView
+from .base_screen import BaseScreen
 
 
-class PlaylistScreen():
-    def __init__(self, size, base_size, manager):
-        self.size = size
-        self.base_size = base_size
-        self.manager = manager
+class PlaylistScreen(BaseScreen):
+    def __init__(self, size, base_size, manager, fonts):
+        BaseScreen.__init__(self, size, base_size, manager, fonts)
         self.list_view = ListView((0, 0), (
             self.size[0], self.size[1] - self.base_size),
                                   self.base_size,
-                                  manager.fonts['base'])
+                                  self.fonts['base'])
         self.playlists_strings = []
         self.playlists = []
         self.playlists_loaded()

+ 5 - 7
mopidy_touchscreen/screen_manager.py

@@ -42,11 +42,11 @@ class ScreenManager():
         try:
             self.screens = [
                 SearchScreen(size, self.base_size, self, self.fonts),
-                MainScreen(size, self, cache, core, self.fonts),
-                Tracklist(size, self.base_size, self),
-                LibraryScreen(size, self.base_size, self),
-                PlaylistScreen(size, self.base_size, self),
-                MenuScreen(size, self.base_size, self)]
+                MainScreen(size, self.base_size, self, self.fonts, cache, core),
+                Tracklist(size, self.base_size, self, self.fonts),
+                LibraryScreen(size, self.base_size, self, self.fonts),
+                PlaylistScreen(size, self.base_size, self, self.fonts),
+                MenuScreen(size, self.base_size, self, self.fonts)]
         except:
             traceback.print_exc()
         self.track = None
@@ -160,8 +160,6 @@ class ScreenManager():
     def volume_changed(self, volume):
         self.screens[main_screen_index].volume_changed(volume)
 
-
-
     def playback_state_changed(self, old_state, new_state):
         self.screens[main_screen_index].playback_state_changed(old_state, new_state)
 

+ 3 - 5
mopidy_touchscreen/search_screen.py

@@ -5,6 +5,7 @@ import pygame
 
 from .screen_objects import Progressbar, ScreenObjectsManager, \
     TouchAndTextItem, TextItem
+from .base_screen import BaseScreen
 
 logger = logging.getLogger(__name__)
 
@@ -14,12 +15,9 @@ mode_album_name = 1
 mode_artist_name = 2
 
 
-class SearchScreen():
+class SearchScreen(BaseScreen):
     def __init__(self, size, base_size, manager, fonts):
-        self.size = size
-        self.base_size = base_size
-        self.manager = manager
-        self.fonts = fonts
+        BaseScreen.__init__(self, size, base_size, manager, fonts)
         self.list_view = ListView((0, self.base_size*2), (
             self.size[0], self.size[1] - 3*self.base_size),
                                   self.base_size,

+ 5 - 5
mopidy_touchscreen/tracklist.py

@@ -1,16 +1,16 @@
 from .list_view import ListView
 from .main_screen import MainScreen
+from .base_screen import BaseScreen
 
 
-class Tracklist():
-    def __init__(self, size, base_size, manager):
+class Tracklist(BaseScreen):
+    def __init__(self, size, base_size, manager, fonts):
+        BaseScreen.__init__(self, size, base_size, manager, fonts)
         self.size = size
         self.base_size = base_size
         self.manager = manager
         self.list_view = ListView((0, 0), (
-            self.size[0], self.size[1] - self.base_size),
-                                  self.base_size,
-                                  manager.fonts['base'])
+            self.size[0], self.size[1] - self.base_size), self.base_size, self.fonts['base'])
         self.tracks = []
         self.tracks_strings = []
         self.update_list()