[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