[pkg-fso-commits] [SCM] freesmartphone.org demo GUI branch, master, updated. milestone2-25-gf72c138
Guillaume Chereau (none)
charlie at nikopol.
Tue Sep 2 10:26:29 UTC 2008
The following commit has been merged in the master branch:
commit e93a835df74202724e984a1e631c44ef170d943e
Author: Guillaume Chereau <charlie at nikopol.(none)>
Date: Mon Aug 25 16:42:04 2008 +0800
Added profiles applications
diff --git a/data/images/button_configuration.png b/data/images/button_configuration.png
new file mode 100644
index 0000000..0f47b69
Binary files /dev/null and b/data/images/button_configuration.png differ
diff --git a/data/themes/zhone_sms.edc b/data/themes/zhone_configuration.edc
similarity index 69%
copy from data/themes/zhone_sms.edc
copy to data/themes/zhone_configuration.edc
index 5898a71..d8d26af 100644
--- a/data/themes/zhone_sms.edc
+++ b/data/themes/zhone_configuration.edc
@@ -1,5 +1,28 @@
parts {
SWALLOWCLIP();
+
+ part {
+ name: "current_label";
+ type: TEXT;
+ effect: SOFT_OUTLINE;
+ description {
+ state: "default" 0.0;
+ rel1 {
+ relative: 0.0 0.02;
+ offset: 0 0;
+ }
+ rel2 {
+ relative: 1.0 0.1;
+ offset: -1 -1;
+ }
+ text {
+ font: "Sans";
+ text: label;
+ size: BUTTON_FONT_SIZE;
+ align: 0.5 0.5;
+ }
+ }
+ }
part {
name: "list_button_box";
@@ -9,7 +32,7 @@ parts {
description {
state: "default" 0.0;
rel1 {
- relative: 0.0 0.02;
+ relative: 0.0 0.1;
offset: 0 0;
}
rel2 {
@@ -40,7 +63,7 @@ parts {
color: 0 0 0 0;
}
}
-
+
GRID_TARGET_2LINE("list_button_box", "list_0", 0, 0, 1, 6, "", "");
GRID_TARGET_2LINE("list_button_box", "list_1", 0, 1, 1, 6, "", "");
GRID_TARGET_2LINE("list_button_box", "list_2", 0, 2, 1, 6, "", "");
@@ -49,16 +72,16 @@ parts {
GRID_TARGET_2LINE("list_button_box", "list_5", 0, 5, 1, 6, "", "");
GRID_BUTTON_SYMBOL("action_button_box", "action_left", 0, 0, 3, 1, SYMBOL_LEFT);
- GRID_BUTTON("action_button_box", "action_open", 1, 0, 3, 1, "open");
+ GRID_BUTTON("action_button_box", "action_use", 1, 0, 3, 1, "use");
GRID_BUTTON_SYMBOL("action_button_box", "action_right", 2, 0, 3, 1, SYMBOL_RIGHT);
BUTTONS_BOTTOM();
- BUTTON_OPTIONS();
- BUTTON_MENU();
+// BUTTON_OPTIONS();
+// BUTTON_MENU();
BUTTON_CLOSE();
}
programs {
- ACTIVATE("button_bottom_middle");
+// ACTIVATE("button_bottom_middle");
ACTIVATE("button_bottom_right");
SELECTABLE("target_list_0");
@@ -68,9 +91,9 @@ programs {
SELECTABLE("target_list_4");
SELECTABLE("target_list_5");
- ACTIVATE("button_action_left");
- ACTIVATE("button_action_open");
- ACTIVATE("button_action_right");
+// ACTIVATE("button_action_left");
+ ACTIVATE("button_action_use");
+// ACTIVATE("button_action_right");
TRANSITION();
}
diff --git a/src/zhone b/src/zhone
index d84f018..534f5b3 100755
--- a/src/zhone
+++ b/src/zhone
@@ -448,7 +448,8 @@ class pyphone_sms(edje_group):
if self.page < 0:
self.page = 0
self.current = self.messagebook[self.page*6:(self.page+1)*6]
- self.part_text_set( "pager", u"".join( [u"□"]*self.page+[u"▣"]+[u"□"]*(self.pages-self.page-1) ) )
+ text = u"".join( [u"□"]*self.page+[u"▣"]+[u"□"]*(self.pages-self.page-1) ).encode( 'utf-8', 'replace' )
+ self.part_text_set( "pager", text )
for i in range( 0, len( self.current ) ):
main_text = self.main.groups["contacts"].tryNumberToName( self.current[i][2] )
self.part_text_set( "label_main_list_%i" % i, main_text )
@@ -497,6 +498,64 @@ class pyphone_sms(edje_group):
@edje.decorators.signal_callback( "mouse,clicked,1", "button_bottom_middle" )
def on_edje_signal_button_bottom_middle_pressed( self, emission, source ):
self.main.groups["menu"].activate( ( "send", "delete", "forward", "reply" ), self.cbMenu )
+
+
+#----------------------------------------------------------------------------#
+class pyphone_configuration(edje_group):
+#----------------------------------------------------------------------------#
+ def __init__(self, main):
+ edje_group.__init__(self, main, "configuration")
+ self.selected = None
+ self.profiles = []
+
+ def onShow( self ):
+ self.prepare()
+ self.updateList()
+
+ def prepare( self ):
+ # Set the current profile label
+ if dbus_object.prefs_obj:
+ current = dbus_object.prefs_iface.GetProfile()
+ self.profiles = dbus_object.prefs_iface.GetProfiles()
+ else:
+ current = 'Test1'
+ self.profiles = ["Test1", "Test2"]
+ self.part_text_set( "current_label", u"Current : %s" % current )
+
+ def updateList( self):
+ self.main.groups["configuration"].prepare()
+ # We put all the profile names in the slots
+ for i in range(6):
+ if i < len(self.profiles):
+ name = self.profiles[i]
+ else:
+ name = u""
+ self.part_text_set( "label_main_list_%i" % i, name )
+ self.part_text_set( "label_sub_list_%i" % i, u"" )
+ self.selected = None
+ for i in range( 6 ):
+ self.signal_emit( "deactivate_target_list_%i" % i, "" )
+
+ @edje.decorators.signal_callback( "mouse,clicked,1", "target_list_*" )
+ def on_edje_signal_button_list_pressed( self, emission, source ):
+ id = int( source.split( "_" )[-1] )
+ if self.selected == id:
+ return
+ if self.selected is not None:
+ self.signal_emit( "deactivate_target_list_%i" % self.selected, "" )
+ self.signal_emit( "activate_target_list_%i" % id, "" )
+ self.selected = id
+
+ @edje.decorators.signal_callback( "mouse,clicked,1", "button_action_use" )
+ def on_edje_signal_button_action_use_pressed( self, emission, source ):
+ if self.selected is None:
+ return
+ if self.selected >= len(self.profiles):
+ return
+ profile = self.profiles[self.selected]
+ self.part_text_set( "current_label", u"Current : %s" % profile )
+ if dbus_object.prefs_obj:
+ dbus_object.prefs_iface.SetProfile(profile)
#----------------------------------------------------------------------------#
class pyphone_contacts(edje_group):
@@ -685,7 +744,8 @@ class pyphone_contacts(edje_group):
if self.page < 0:
self.page = 0
self.current = self.phonebook[self.page*6:(self.page+1)*6]
- self.part_text_set( "pager", u"".join( [u"□"]*self.page+[u"▣"]+[u"□"]*(self.pages-self.page-1) ) )
+ text = u"".join( [u"□"]*self.page+[u"▣"]+[u"□"]*(self.pages-self.page-1) ).encode('utf-8', 'replace')
+ self.part_text_set( "pager", text )
for i in range( 0, len( self.current ) ):
self.part_text_set( "label_main_list_%i" % i, self.current[i][1] )
self.part_text_set( "label_sub_list_%i" % i, self.current[i][2] )
@@ -1115,7 +1175,8 @@ class pyphone_message(edje_group):
def set_button_text(self, num):
for i in xrange(4):
for j in xrange(4):
- self.part_text_set("label_%d_%d" % (i,j) , self.button_labels[num][j][i])
+ text = self.button_labels[num][j][i].encode('utf-8', 'replace')
+ self.part_text_set("label_%d_%d" % (i,j) , text)
self.active = num
if num != 0:
@@ -1123,7 +1184,8 @@ class pyphone_message(edje_group):
for i in xrange(4):
for j in xrange(4):
- self.part_text_set("label2_%d_%d" % (i,j) , self.button_labels2[num][j][i])
+ text = self.button_labels2[num][j][i].encode('utf-8', 'replace')
+ self.part_text_set("label2_%d_%d" % (i,j) , text)
#----------------------------------------------------------------------------#
class pyphone_pin(edje_group):
@@ -1512,6 +1574,7 @@ class GUI(object):
"sms",
"contacts",
"location",
+ "configuration",
"pin", "puk",
"list_choose", "number_edit", "text_edit", "text_show", "message"
):
@@ -1785,6 +1848,8 @@ class DBusObject( object ):
self.inputnotifier_iface = None
self.display_obj = None
self.display_iface = None
+ self.prefs_obj = None
+ self.prefs_iface = None
self.fullinit = False
@@ -1892,6 +1957,11 @@ class DBusObject( object ):
failcount += 1
else:
logger.debug( "device ok: %s" % self.device_iface )
+
+ # Prefs
+ self.prefs_obj = self.tryGetProxy( 'org.freesmartphone.opreferencesd', '/org/freesmartphone/Preferences' )
+ self.prefs_iface = Interface( self.prefs_obj, 'org.freesmartphone.Preferences' )
+ logger.debug( "preferences ok: %s" % self.prefs_iface )
logger.debug( "failcount = %d" % failcount )
if failcount == 0:
--
freesmartphone.org demo GUI
More information about the pkg-fso-commits
mailing list