You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
74 lines
2.1 KiB
74 lines
2.1 KiB
#!/usr/bin/env python2.5 |
|
# -*- coding: utf-8 -*- |
|
__author__ = "Johannes 'josch' Schauer <josch@pyneo.org>, F. Gau <fgau@pyneo.org>" |
|
__version__ = "prototype" |
|
__copyright__ = "Copyright (c) 2009 J. Schauer" |
|
__license__ = "GPL3" |
|
|
|
# Todo: synchron with other clock => numberdisplay_text |
|
|
|
from epydial import * |
|
|
|
class LockScreen(): |
|
def register_pyneo_callbacks(self): |
|
pass |
|
|
|
def __init__(self, screen_manager): |
|
self.canvas = screen_manager.get_evas() |
|
|
|
self.bg = evas.Rectangle(self.canvas, pos=(0,0), size=(WIDTH, HEIGHT), color="#bb000000") |
|
self.bg.on_mouse_up_add(self.on_mouse_up) |
|
self.bg.layer = 99 |
|
|
|
self.button = evas.Rectangle(self.canvas, pos=(0,0), size=(WIDTH/3,HEIGHT/3), color="#00000000") |
|
self.button.on_mouse_up_add(self.on_mouse_up) |
|
self.button.layer = 100 |
|
|
|
self.label = evas.Text(self.canvas, text="screen locked", font=("sans serif", 50), color="#808080") |
|
self.label.layer = 100 |
|
self.label.pass_events = True |
|
self.label.pos = ((WIDTH-self.label.horiz_advance)/2, (HEIGHT-self.label.vert_advance)/2) |
|
|
|
self.time_label = evas.Text(self.canvas, text="clock", font=("sans serif", 30), color="#808080") |
|
self.time_label.layer = 100 |
|
self.time_label.pass_events = True |
|
|
|
self.state = 0 |
|
|
|
ecore.timer_add(10.0, self.display_time) |
|
self.display_time() |
|
|
|
def on_mouse_up(self, source, event): |
|
if source == self.bg: |
|
self.state = 0 |
|
self.button.pos = (0, 0) |
|
else: |
|
if self.state == 0: |
|
self.button.pos = ((WIDTH*2)/3, 0) |
|
elif self.state == 1: |
|
self.button.pos = ((WIDTH*2)/3, (HEIGHT*2)/3) |
|
elif self.state == 2: |
|
self.button.pos = (0, (HEIGHT*2)/3) |
|
else: |
|
self.button.pos = (0, 0) |
|
PyneoController.show_dialer_screen() |
|
self.state = (self.state+1)%4 |
|
|
|
def show(self): |
|
self.bg.show() |
|
self.button.show() |
|
self.label.show() |
|
self.time_label.show() |
|
|
|
def hide(self): |
|
self.bg.hide() |
|
self.button.hide() |
|
self.label.hide() |
|
self.time_label.hide() |
|
|
|
def display_time(self): |
|
now = datetime.now() |
|
datetimestring = now.strftime('%a, %d %b %Y %H:%M') |
|
self.time_label.pos = ((WIDTH-self.time_label.horiz_advance)/2, (HEIGHT-self.time_label.vert_advance)/2+50) |
|
self.time_label.text_set(datetimestring) |
|
return True
|
|
|