Enlightenment CVS committal

Author  : essiene
Project : e17
Module  : apps/entrance

Dir     : e17/apps/entrance/src/client


Modified Files:
        entrance_session.c entrance_x_session.c entrance_x_session.h 


Log Message:
Ahh... satzisfaczion, I just couldn't sleep with this bug on my conscience!
-Fixed the session list edje/swallow bug, now it slides in and out poifectly... 
poifectly i says!
-Update TODO, the icons on the list didn't make it this time around... we'll 
see about that tmrw.
-For the record, I'll be on a SMART spree very soon in entrance... the current 
smart object used are showing their age and lack of TLC, and there are lots 
more that could be made a tad SMART'r.
-Add hook to Entrance_Edit to prepare for using fangie's spanking new 
ecore_desktop code to build entrances's sessions list. You rock ThreeFang... 
uh... onefang ;)
-Zzzzzz

===================================================================
RCS file: /cvs/e/e17/apps/entrance/src/client/entrance_session.c,v
retrieving revision 1.84
retrieving revision 1.85
diff -u -3 -r1.84 -r1.85
--- entrance_session.c  3 Jun 2006 07:24:49 -0000       1.84
+++ entrance_session.c  28 Aug 2006 04:12:44 -0000      1.85
@@ -16,6 +16,7 @@
 @brief Variables and Data relating to an instance of the application as a whole
 
 */
+
 extern void session_item_selected_cb(void *data, Evas_Object * o,
                                      const char *emission,
                                      const char *source);
@@ -591,7 +592,6 @@
    Evas_Coord w, h;
    Evas_List *l = NULL;
    const char *key = NULL;
-   const char *file = NULL;
    Evas_Object *edje = NULL;
    Entrance_X_Session *exs = NULL;
    Evas_Object *container = NULL;
@@ -617,22 +617,24 @@
                                           CONTAINER_FILL_POLICY_KEEP_ASPECT);
          esmart_container_direction_set(container, 1);
       }
-      edje_object_file_get(e->edje, &file, NULL);
+
       for (l = e->config->sessions.keys; l; l = l->next)
       {
          key = (const char *) l->data;
          if ((exs = evas_hash_find(e->config->sessions.hash, key)))
          {
-            if ((edje = entrance_x_session_edje_get(exs, e->edje, file)))
-            {
-               esmart_container_element_append(container, edje);
-            }
+                   edje = entrance_x_session_button_new(exs, e->edje);
+                       if(edje) 
+                               esmart_container_element_append(container, 
edje);
          }
+
       }
+
       edje_object_part_swallow(e->edje, "entrance.xsessions.list", container);
       e->session_container = container;
    }
 }
+
 void
 entrance_session_list_direction_set(Entrance_Session * e,
                                     Evas_Object * container,
===================================================================
RCS file: /cvs/e/e17/apps/entrance/src/client/entrance_x_session.c,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -3 -r1.11 -r1.12
--- entrance_x_session.c        13 May 2006 08:46:57 -0000      1.11
+++ entrance_x_session.c        28 Aug 2006 04:12:44 -0000      1.12
@@ -83,6 +83,47 @@
 }
 
 Evas_Object *
+entrance_x_session_button_new(Entrance_X_Session *exs, Evas_Object *edje)
+{
+         Evas_Coord w, h;
+
+         Evas *evas = evas_object_evas_get(edje);
+         if(!evas)
+                 return NULL;
+
+         const char *themefile = NULL;
+         edje_object_file_get(edje, &themefile, NULL);
+         if(!themefile)
+                 return NULL;
+
+         Evas_Object *b = edje_object_add(evas);
+         if(!b)
+                 return NULL;
+
+         edje_object_file_set(b, themefile, "Session"); 
+         evas_object_move(b, 0, 0);
+
+         edje_object_size_min_get(b, &w, &h);
+         evas_object_resize(b, w, h);
+
+
+      if (edje_object_part_exists(b, "entrance.xsession.title"))
+      {
+         edje_object_part_text_set(b, "entrance.xsession.title", exs->name);
+      }
+         
+      edje_object_signal_callback_add(b, "entrance,xsession,selected", "",
+                                      session_item_selected_cb, exs);
+      edje_object_signal_callback_add(b, "SessionUnSelected", "",
+                                      session_item_selected_cb, exs);
+
+         evas_object_show(b);
+
+         return b;
+}
+
+
+Evas_Object *
 entrance_x_session_edje_get(Entrance_X_Session * e, Evas_Object * o,
                             const char *themefile)
 {
@@ -100,7 +141,7 @@
    if (edje_object_file_set(edje, themefile, "Session") > 0)
    {
       evas_object_move(edje, -9999, -9999);
-      evas_object_layer_set(edje, 1);
+         evas_object_layer_set(edje, 1);
       edje_object_size_min_get(edje, &w, &h);
       if ((w > 0) && (h > 0))
          evas_object_resize(result, w, h);
@@ -125,6 +166,7 @@
       edje_object_signal_callback_add(edje, "SessionUnSelected", "",
                                       session_item_selected_cb,
                                       (Entrance_X_Session *) e);
+
       evas_object_show(result);
    }
    else
===================================================================
RCS file: /cvs/e/e17/apps/entrance/src/client/entrance_x_session.h,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -3 -r1.3 -r1.4
--- entrance_x_session.h        10 Mar 2004 22:53:51 -0000      1.3
+++ entrance_x_session.h        28 Aug 2006 04:12:44 -0000      1.4
@@ -26,5 +26,6 @@
 Evas_Object *entrance_x_session_edje_get(Entrance_X_Session * e,
                                          Evas_Object * o,
                                          const char *themefile);
+Evas_Object *entrance_x_session_button_new(Entrance_X_Session *, Evas_Object 
*);
 
 #endif



-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to