You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

75 lines
2.1 KiB
Python

#!/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