mirror of
https://github.com/Febbweiss/mopidy-touchscreen.git
synced 2026-03-04 22:25:39 +00:00
Base Screen class
This commit is contained in:
16
mopidy_touchscreen/base_screen.py
Normal file
16
mopidy_touchscreen/base_screen.py
Normal file
@@ -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
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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)
|
||||
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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()
|
||||
|
||||
Reference in New Issue
Block a user