Enlightenment CVS committal

Author  : atmosphere
Project : e17
Module  : apps/entrance

Dir     : e17/apps/entrance/src/client


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


Log Message:
shuffle and fix
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/entrance/src/client/entrance_session.c,v
retrieving revision 1.39
retrieving revision 1.40
diff -u -3 -r1.39 -r1.40
--- entrance_session.c  7 Mar 2004 05:03:54 -0000       1.39
+++ entrance_session.c  7 Mar 2004 12:48:17 -0000       1.40
@@ -6,12 +6,14 @@
 #include <sys/wait.h>
 #include <unistd.h>
 #include "entrance_user.h"
+#include "entrance_x_session.h"
 
 /**
 @file entrance_session.c
 @brief Variables and Data relating to an instance of the application as a whole
 
 */
+extern int _entrance_test_en;
 
 extern void session_item_selected_cb(void *data, Evas_Object * o,
                                      const char *emission,
@@ -20,16 +22,13 @@
                              const char *emission, const char *source);
 extern void user_unselected_cb(void *data, Evas_Object * o,
                                const char *emission, const char *source);
-static Evas_Object *_entrance_session_icon_load(Evas_Object * o,
-                                                const char *file);
-static Evas_Object *_entrance_session_load_session(Entrance_Session * e,
-                                                   const char *key);
 static void _entrance_session_user_list_fix(Entrance_Session * e);
+
 static void entrance_session_xsession_load(Entrance_Session * e,
                                            const char *key);
 
-extern int _entrance_test_en;
-
+Evas_Object *entrance_session_xsession_edje_load(Entrance_Session * e,
+                                                 const char *key);
 /**
  * entrance_session_new: allocate a new  Entrance_Session
  * @param config - parse this config file instead of the normal system one
@@ -372,7 +371,7 @@
       char *str = NULL;
       Evas_Object *o = NULL, *old_o = NULL;
 
-      if ((o = _entrance_session_load_session(e, key)))
+      if ((o = entrance_session_xsession_edje_load(e, key)))
       {
          if ((str = evas_hash_find(e->config->sessions.hash, key)))
          {
@@ -466,19 +465,21 @@
       e_container_move_button_set(container, 2);
       if (w > h)
       {
-         e_container_fill_policy_set(container, CONTAINER_FILL_POLICY_FILL_Y);
+         e_container_fill_policy_set(container,
+                                     CONTAINER_FILL_POLICY_KEEP_ASPECT);
          e_container_direction_set(container, 0);
       }
       else
       {
-         e_container_fill_policy_set(container, CONTAINER_FILL_POLICY_FILL_X);
+         e_container_fill_policy_set(container,
+                                     CONTAINER_FILL_POLICY_KEEP_ASPECT);
          e_container_direction_set(container, 1);
       }
 
       for (l = e->config->sessions.keys; l; l = l->next)
       {
          key = (const char *) l->data;
-         if ((edje = _entrance_session_load_session(e, key)))
+         if ((edje = entrance_session_xsession_edje_load(e, key)))
          {
             e_container_element_append(container, edje);
          }
@@ -514,12 +515,14 @@
       e_container_move_button_set(container, 2);
       if (w > h)
       {
-         e_container_fill_policy_set(container, CONTAINER_FILL_POLICY_FILL_Y);
+         e_container_fill_policy_set(container,
+                                     CONTAINER_FILL_POLICY_KEEP_ASPECT);
          e_container_direction_set(container, 0);
       }
       else
       {
-         e_container_fill_policy_set(container, CONTAINER_FILL_POLICY_FILL_X);
+         e_container_fill_policy_set(container,
+                                     CONTAINER_FILL_POLICY_KEEP_ASPECT);
          e_container_direction_set(container, 1);
       }
       edje_object_file_get(e->edje, &file, NULL);
@@ -559,119 +562,33 @@
 }
 
 /**
- * given the filename, create a new evas object(edje or image) with the
- * contents of file.  file can either bea valid edje eet or anything your
- * evas has images loaders for.
- * FIXME: Should this be its own smart object, user images are done similar 
- * FIXME: Should it support a "key" paramater as well
- * @param o - the entrance session you're working with
- * @param file - the file in $pkgdatadir/images/sessions/ we want to load
- */
-static Evas_Object *
-_entrance_session_icon_load(Evas_Object * o, const char *file)
-{
-   Evas_Object *result = NULL;
-   char buf[PATH_MAX];
-
-   if (!o || !file)
-      return (NULL);
-
-   result = edje_object_add(evas_object_evas_get(o));
-   snprintf(buf, PATH_MAX, "%s/images/sessions/%s", PACKAGE_DATA_DIR, file);
-   if (!edje_object_file_set(result, buf, "Icon"))
-   {
-      evas_object_del(result);
-      result = evas_object_image_add(evas_object_evas_get(o));
-      evas_object_image_file_set(result, buf, NULL);
-      if (evas_object_image_load_error_get(result))
-      {
-         snprintf(buf, PATH_MAX, "%s/images/sessions/default.png",
-                  PACKAGE_DATA_DIR);
-         result = evas_object_image_add(evas_object_evas_get(o));
-         evas_object_image_file_set(result, buf, NULL);
-      }
-   }
-   evas_object_move(result, -999, -999);
-   evas_object_resize(result, 48, 48);
-   evas_object_layer_set(result, 0);
-   evas_object_show(result);
-   return (result);
-}
-
-/**
- * _entrance_session_load_session : given the key, try loading an instance
+ * given the key, try loading an instance
  * of the "Session" group from the current theme.  printf on failure. :(
  * @return the new session object, or NULL on failure.
  * @param e - the entrance session you're working with
  * @param key - the key for the EntranceSessionIcon file in the
  * EntranceSession edje
  */
-static Evas_Object *
-_entrance_session_load_session(Entrance_Session * e, const char *key)
+Evas_Object *
+entrance_session_xsession_edje_load(Entrance_Session * e, const char *key)
 {
-   int result = 0;
    char *icon = NULL;
    char buf[PATH_MAX];
-   Evas_Object *o = NULL;
-   Evas_Object *edje = NULL;
-   Evas_Coord w, h;
 
    if (!e || !e->edje || !key)
       return (NULL);
 
-   edje = edje_object_add(evas_object_evas_get(e->edje));
    if (e->config->theme && e->config->theme[0] == '/')
       snprintf(buf, PATH_MAX, "%s", e->config->theme);
    else
       snprintf(buf, PATH_MAX, "%s/themes/%s", PACKAGE_DATA_DIR,
                e->config->theme);
-   if ((result = edje_object_file_set(edje, buf, "Session")) > 0)
-   {
-      evas_object_layer_set(edje, 0);
-      evas_object_move(edje, -9999, -9999);
 
-      if (edje_object_part_exists(e->edje, "EntranceSession"))
-      {
-         edje_object_part_geometry_get(e->edje, "EntranceSession", NULL, NULL,
-                                       &w, &h);
-         evas_object_resize(edje, w, h);
-      }
-      else
-         evas_object_resize(edje, 48, 48);
-      if (edje_object_part_exists(edje, "EntranceSessionIcon"))
-      {
-         icon = (char *) evas_hash_find(e->config->sessions.icons, key);
-         if ((o = _entrance_session_icon_load(e->edje, icon)))
-         {
-            if (!strcmp(evas_object_type_get(o), "image"))
-            {
-               Evas_Coord w, h;
-
-               edje_object_part_geometry_get(edje, "EntranceSessionIcon",
-                                             NULL, NULL, &w, &h);
-               evas_object_image_fill_set(o, 0.0, 0.0, w, h);
-            }
-            edje_object_part_swallow(edje, "EntranceSessionIcon", o);
-         }
-      }
-      if (edje_object_part_exists(edje, "EntranceSessionTitle"))
-      {
-         edje_object_part_text_set(edje, "EntranceSessionTitle", key);
-      }
-      edje_object_signal_callback_add(edje, "SessionSelected", "",
-                                      session_item_selected_cb, (char *) key);
-      evas_object_show(edje);
-   }
-   else
-   {
-      fprintf(stderr, "Failed on: %s(%d)\n", key, result);
-      evas_object_del(edje);
-      evas_object_del(o);
-      edje = NULL;
-   }
-   return (edje);
+   icon = (char *) evas_hash_find(e->config->sessions.icons, key);
+   return (entrance_x_session_xsession_load(e->edje, buf, icon, key));
 }
 
+
 /**
  * _entrance_session_user_list_fix : update the user's list with the current
  * user as the new head of the list.  If it's the first time the user has
@@ -698,7 +615,8 @@
             {
                e->config->users.keys =
                   evas_list_prepend(evas_list_remove
-                                    (e->config->users.keys, eu), eu->name);
+                                    (e->config->users.keys, eu->name),
+                                    eu->name);
                entrance_config_user_list_write(e->config);
                return;
             }
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/entrance/src/client/entrance_user.c,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -3 -r1.5 -r1.6
--- entrance_user.c     7 Mar 2004 05:03:54 -0000       1.5
+++ entrance_user.c     7 Mar 2004 12:48:17 -0000       1.6
@@ -96,6 +96,9 @@
       {
          evas_object_layer_set(o, 0);
          evas_object_move(o, -9999, -9999);
+         edje_object_size_min_get(o, &w, &h);
+         if ((w > 0) && (h > 0))
+            evas_object_resize(o, w, h);
 
          if (edje_object_part_exists(o, "EntranceUserIcon"))
          {
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/entrance/src/client/entrance_x_session.c,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -3 -r1.1 -r1.2
--- entrance_x_session.c        7 Mar 2004 11:57:47 -0000       1.1
+++ entrance_x_session.c        7 Mar 2004 12:48:17 -0000       1.2
@@ -41,6 +41,7 @@
          evas_object_image_file_set(result, buf, NULL);
       }
    }
+   evas_object_pass_events_set(result, 1);
    evas_object_move(result, -999, -999);
    evas_object_resize(result, 48, 48);
    evas_object_layer_set(result, 0);
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/entrance/src/client/entrance_x_session.h,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -3 -r1.1 -r1.2
--- entrance_x_session.h        7 Mar 2004 11:57:47 -0000       1.1
+++ entrance_x_session.h        7 Mar 2004 12:48:17 -0000       1.2
@@ -6,6 +6,9 @@
  */
 #include <Evas.h>
 
-Evas_Object *entrance_x_session_xsession_load(Evas_Object * o, const char *themefile, 
const char *icon, const char *name);
+Evas_Object *entrance_x_session_xsession_load(Evas_Object * o,
+                                              const char *themefile,
+                                              const char *icon,
+                                              const char *name);
 
 #endif




-------------------------------------------------------
This SF.Net email is sponsored by: IBM Linux Tutorials
Free Linux tutorial presented by Daniel Robbins, President and CEO of
GenToo technologies. Learn everything from fundamentals to system
administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click
_______________________________________________
enlightenment-cvs mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to