[pkg-fso-commits] [SCM] freesmartphone.org demo GUI branch, master, updated. milestone2-25-gf72c138
Jan Luebbe
jluebbe at debian.org
Tue Sep 2 10:26:31 UTC 2008
The following commit has been merged in the master branch:
commit 3cceb0740ac17683ae01df74214151a871a25536
Author: Jan Luebbe <jluebbe at debian.org>
Date: Wed Aug 27 18:06:26 2008 +0200
start better pin entry dialog
diff --git a/src/zhone b/src/zhone
index e85d5cb..8751f7c 100755
--- a/src/zhone
+++ b/src/zhone
@@ -1399,6 +1399,59 @@ class pyphone_number_edit( edje_group ):
self.main.transition_to("number_edit")
#----------------------------------------------------------------------------#
+class pyphone_pin_edit( edje_group ):
+#----------------------------------------------------------------------------#
+ DELAY = 1.0
+ def __init__( self, main ):
+ edje_group.__init__( self, main, "number_edit" )
+ self.text = ""
+ self.cb_data = None
+ self.cb = None
+ self.timer = None
+ self.last = 0.0
+ self.part_text_set( "label_main_star", u"" )
+ self.part_text_set( "label_sub_star", u"" )
+ self.part_text_set( "label_main_hash", u"" )
+ self.part_text_set( "label_sub_hash", u"" )
+
+ @edje.decorators.signal_callback( "mouse,clicked,1", "button_*" )
+ def on_edje_signal_button_pressed( self, emission, source ):
+ key = source.split( "_", 1 )[1]
+ if key in ( "0", "1", "2", "3", "4", "5", "6", "7", "8", "9" ):
+ self.text += key
+ # The trailing whitespace is a workaround for the one char invisible
+ # bug due to some problems with scaling of text parts.
+ output = u"●"*( len( self.text ) - 1) + self.text[-1]
+ self.part_text_set( "label", u" %s " % output )
+ if self.timer:
+ self.timer.delete()
+ self.timer = ecore.timer_add( self.DELAY, self.timerCb )
+ elif key in "delete":
+ self.text = self.text[:-1]
+ output = u"●"*len( self.text )
+ self.part_text_set( "label", u" %s " % output )
+ elif key in "done":
+ self.main.transition_to(self.parent_name)
+ self.cb( self.text, self.cb_data )
+ self.last = time.time()
+
+ def timerCb( self ):
+ output = u"●"*len( self.text )
+ self.part_text_set( "label", u" %s " % output )
+ self.timer = None
+ return False
+
+ def setup( self, parent_name, text, title, cb_data, cb ):
+ self.parent_name = parent_name
+ self.text = text
+ self.title = title
+ self.cb_data = cb_data
+ self.cb = cb
+ self.part_text_set( "label_description", u" %s " % self.title )
+ self.part_text_set( "label", u" %s " % self.text )
+ self.main.transition_to("number_edit")
+
+#----------------------------------------------------------------------------#
class pyphone_text_show( edje_group ):
#----------------------------------------------------------------------------#
def __init__( self, main ):
@@ -1643,7 +1696,7 @@ class GUI(object):
"location",
"configuration",
"pin", "puk",
- "list_choose", "number_edit", "text_edit", "text_show", "message"
+ "list_choose", "number_edit", "pin_edit", "text_edit", "text_show", "message"
):
ctor = globals().get( "pyphone_%s" % page, None )
if ctor:
--
freesmartphone.org demo GUI
More information about the pkg-fso-commits
mailing list