diff --git a/mopidy_touchscreen/.idea/workspace.xml b/mopidy_touchscreen/.idea/workspace.xml
index 837613c..dee3905 100644
--- a/mopidy_touchscreen/.idea/workspace.xml
+++ b/mopidy_touchscreen/.idea/workspace.xml
@@ -23,11 +23,11 @@
-
+
-
-
+
+
@@ -46,18 +46,20 @@
-
-
-
+
+
+
+
+
-
+
-
-
+
+
@@ -78,8 +80,8 @@
-
+
@@ -293,11 +295,11 @@
-
+
-
+
@@ -320,6 +322,32 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -340,7 +368,9 @@
-
+
+
+
@@ -419,22 +449,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -443,10 +457,28 @@
+
+
+
+
+
+
+
+
+
+
-
-
+
+
+
+
+
+
+
+
+
+
diff --git a/mopidy_touchscreen/library_screen.py b/mopidy_touchscreen/library_screen.py
index a742711..6df5c2c 100644
--- a/mopidy_touchscreen/library_screen.py
+++ b/mopidy_touchscreen/library_screen.py
@@ -1,5 +1,7 @@
from .list_view import ListView
+import logging
+logger = logging.getLogger(__name__)
class LibraryScreen():
@@ -8,12 +10,26 @@ class LibraryScreen():
self.base_size = base_size
self.manager = manager
self.list_view = ListView((0,self.base_size),(self.size[0],self.size[1]-2*self.base_size), self.base_size, manager.fonts)
- self.library = self.manager.core.library.browse(None).get()
+ self.directory_list = []
+ self.library = None
+ self.library_strings = None
+ self.lookup_uri(None)
+
+ def lookup_uri(self, uri):
self.library_strings = []
+ if uri is not None:
+ self.directory_list.append(uri)
+ self.library_strings.append("..")
+ self.library = self.manager.core.library.browse(uri).get()
for lib in self.library:
self.library_strings.append(lib.name)
self.list_view.set_list(self.library_strings)
+ def go_up_directory(self):
+ if len(self.directory_list) > 0:
+ self.lookup_uri(self.directory_list.pop())
+ else:
+ self.lookup_uri(None)
def update(self, screen):
self.list_view.render(screen)
@@ -21,4 +37,10 @@ class LibraryScreen():
def touch_event(self, touch_event):
clicked = self.list_view.touch_event(touch_event)
if clicked is not None:
- pass
+ if len(self.directory_list) > 0:
+ if clicked == 0:
+ self.go_up_directory()
+ else:
+ self.lookup_uri(self.library[clicked-1].uri)
+ else:
+ self.lookup_uri(self.library[clicked].uri)
diff --git a/mopidy_touchscreen/main_screen.py b/mopidy_touchscreen/main_screen.py
index 8510698..8872dbf 100644
--- a/mopidy_touchscreen/main_screen.py
+++ b/mopidy_touchscreen/main_screen.py
@@ -60,10 +60,9 @@ class MainScreen():
self.touch_text_manager.set_touch_object("previous", button)
size_1 = button.get_right_pos()
- button = TouchAndTextItem(self.fonts['icon'], u"\ue61d", (0, 0), None)
+ size_2 = self.fonts['icon'].size(u"\ue61d")[0]
+ button = TouchAndTextItem(self.fonts['icon'], u"\ue61d", (self.size[0] - size_2, self.base_size * 6), None)
self.touch_text_manager.set_touch_object("next", button)
- size_2 = button.get_right_pos()
- button.pos = (self.size[0] - size_2, self.base_size * 6)
#Progress
progress = Progressbar(self.fonts['base'],time.strftime('%M:%S', time.gmtime(0))+"/"+time.strftime('%M:%S', time.gmtime(0)),(size_1, self.base_size*6), (self.size[0] - size_1- size_2,self.base_size),track.length/1000, False)
diff --git a/mopidy_touchscreen/screen_manager.py b/mopidy_touchscreen/screen_manager.py
index 08a90d6..0a05a41 100644
--- a/mopidy_touchscreen/screen_manager.py
+++ b/mopidy_touchscreen/screen_manager.py
@@ -103,7 +103,7 @@ class ScreenManager():
x = button.get_right_pos()
#Down bar
- self.down_bar = pygame.Surface((self.size[0], self.base_size), pygame.SRCALPHA)
+ self.down_bar = pygame.Surface((self.size[0], self.size[1] - self.base_size * 7), pygame.SRCALPHA)
self.down_bar.fill((0, 0, 0, 128))
self.options_changed()
@@ -116,7 +116,7 @@ class ScreenManager():
self.background.draw_background(surface)
self.screens[self.current_screen].update(surface)
surface.blit(self.top_bar, (0, 0))
- surface.blit(self.top_bar, (0, self.base_size * 7))
+ surface.blit(self.down_bar, (0, self.base_size * 7))
self.screen_objects_manager.render(surface)
return surface