Check if display is created correctly

Fixed click on time bar
This commit is contained in:
Ander
2015-04-18 14:54:56 +02:00
parent 10ce0177c4
commit c468dfa672
2 changed files with 17 additions and 13 deletions

View File

@@ -92,12 +92,13 @@ class MainScreen(BaseScreen):
def update(self, screen):
screen.blit(self.top_bar, (0, 0))
if self.track is not None:
new_track_pos = self.core.playback.time_position.get() / 1000
track_pos_millis = self.core.playback.time_position.get()
new_track_pos = track_pos_millis / 1000
self.touch_text_manager.get_touch_object(
"time_progress").set_value(
track_pos_millis)
if new_track_pos != self.current_track_pos:
self.current_track_pos = new_track_pos
self.touch_text_manager.get_touch_object(
"time_progress").set_value(
self.current_track_pos)
self.touch_text_manager.get_touch_object(
"time_progress").set_text(
time.strftime('%M:%S', time.gmtime(
@@ -165,7 +166,7 @@ class MainScreen(BaseScreen):
(
self.size[0] - size_1 - size_2,
self.base_size),
track.length / 1000, False)
track.length, False)
self.touch_text_manager.set_touch_object("time_progress",
progress)
@@ -341,7 +342,7 @@ class MainScreen(BaseScreen):
if key == "time_progress":
value = self.touch_text_manager.get_touch_object(
key).get_pos_value(
event.current_pos) * 1000
event.current_pos)
self.core.playback.seek(value)
elif key == "previous":

View File

@@ -3,7 +3,7 @@ import os
import traceback
from threading import Thread
from mopidy import core, utils
from mopidy import core, exceptions, utils
import pygame
@@ -63,16 +63,19 @@ class TouchScreen(pykka.ThreadingActor, core.CoreListener):
self.gpio_manager = GPIOManager(pins)
def get_display_surface(self, size):
if self.fullscreen:
self.screen = pygame.display.set_mode(
size, pygame.FULLSCREEN)
else:
self.screen = pygame.display.set_mode(size, pygame.RESIZABLE)
try:
if self.fullscreen:
self.screen = pygame.display.set_mode(
size, pygame.FULLSCREEN)
else:
self.screen = pygame.display.set_mode(size, pygame.RESIZABLE)
except Exception:
raise exceptions.FrontendError("Error on display init:\n" + traceback.format_exc())
def start_thread(self):
clock = pygame.time.Clock()
while self.running:
clock.tick(10)
clock.tick(20)
self.screen.blit(self.screen_manager.update(), (0, 0))
pygame.display.flip()
for event in pygame.event.get():