Enlightenment CVS committal

Author  : onefang
Project : e17
Module  : apps/e

Dir     : e17/apps/e/src/bin


Modified Files:
        e_fm.c e_thumb_main.c 


Log Message:
Experimental bouncy desktops in the fm.  I will move this into
e_app_icon_add when I'm happy with it.

===================================================================
RCS file: /cvs/e/e17/apps/e/src/bin/e_fm.c,v
retrieving revision 1.63
retrieving revision 1.64
diff -u -3 -r1.63 -r1.64
--- e_fm.c      17 Sep 2006 21:29:23 -0000      1.63
+++ e_fm.c      17 Sep 2006 23:13:10 -0000      1.64
@@ -1599,24 +1599,15 @@
               }
             else if (!strcmp(icon, "DESKTOP"))
               {
-                 E_App *app;
-
                  if (ic->info.pseudo_link)
                    snprintf(buf, sizeof(buf), "%s/%s", ic->info.pseudo_dir, 
ic->info.file);
                  else
                    snprintf(buf, sizeof(buf), "%s/%s", ic->sd->realpath, 
ic->info.file);
-/* FIXME FIXME FIXME: e_app_new() is SLOOOOOOOOOOOOOOOOOOOOOOOOOOOOOW. it can
- * be a complete hog. this destroys performance in fm2. :(:(:(
- */
-                  app = e_app_new(buf, 0);
-                 if (app)
-                   {
-/* FIXME: Actually, I think it's the icon searching that is slowing things 
down a lot.
- * That will be fixed by moving it to thumbnailing as planned.  Commented out 
for now.
- */
-//                    ic->obj_icon = 
e_app_icon_add(evas_object_evas_get(ic->sd->obj), app);
-                      e_object_unref(E_OBJECT(app));
-                   }
+                 ic->obj_icon = 
e_thumb_icon_add(evas_object_evas_get(ic->sd->obj));
+                 e_thumb_icon_file_set(ic->obj_icon, buf, 
e_config->icon_theme);
+                 e_thumb_icon_size_set(ic->obj_icon, 128, 128);
+                 evas_object_smart_callback_add(ic->obj_icon, "e_thumb_gen", 
_e_fm2_cb_icon_thumb_gen, ic);
+                 _e_fm2_icon_thumb(ic);
               }
             else if (!strncmp(icon, "e/icons/fileman/mime/", 21))
               {
@@ -1697,24 +1688,21 @@
                      (e_util_glob_case_match(ic->info.file, "*.desktop"))
                      )
               {
-                 E_App *app;
-
                  if (ic->info.pseudo_link)
                    snprintf(buf, sizeof(buf), "%s/%s", ic->info.pseudo_dir, 
ic->info.file);
                  else
                    snprintf(buf, sizeof(buf), "%s/%s", ic->sd->realpath, 
ic->info.file);
-/* FIXME FIXME FIXME: e_app_new() is SLOOOOOOOOOOOOOOOOOOOOOOOOOOOOOW. it can
- * be a complete hog. this destroys performance in fm2. :(:(:(
- */
-                  app = e_app_new(buf, 0);
-                 if (app)
-                   {
-/* FIXME: Actually, I think it's the icon searching that is slowing things 
down a lot.
- * That will be fixed by moving it to thumbnailing as planned.  Commented out 
for now.
- */
-//                    ic->obj_icon = 
e_app_icon_add(evas_object_evas_get(ic->sd->obj), app);
-                      e_object_unref(E_OBJECT(app));
-                   }
+
+                 ic->obj_icon = 
e_thumb_icon_add(evas_object_evas_get(ic->sd->obj));
+// FIXME: Dunno if key_hint is useful here, no one seems to use it.
+//               if (ic->sd->config->icon.key_hint)
+//                  e_thumb_icon_file_set(ic->obj_icon, buf, 
ic->sd->config->icon.key_hint);
+//               else
+                    e_thumb_icon_file_set(ic->obj_icon, buf, 
e_config->icon_theme);
+                 e_thumb_icon_size_set(ic->obj_icon, 128, 96);
+                 evas_object_smart_callback_add(ic->obj_icon, "e_thumb_gen", 
_e_fm2_cb_icon_thumb_gen, ic);
+                 _e_fm2_icon_thumb(ic);
+
                  edje_object_part_swallow(ic->obj, "e.swallow.icon", 
ic->obj_icon);
                  evas_object_show(ic->obj_icon);
               }
===================================================================
RCS file: /cvs/e/e17/apps/e/src/bin/e_thumb_main.c,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -3 -r1.15 -r1.16
--- e_thumb_main.c      17 Sep 2006 21:29:24 -0000      1.15
+++ e_thumb_main.c      17 Sep 2006 23:13:10 -0000      1.16
@@ -9,6 +9,7 @@
 #include <Ecore_Evas.h>
 #include <Ecore_Ipc.h>
 #include <Ecore_File.h>
+#include <Ecore_Desktop.h>
 #include <Evas.h>
 #include <Eet.h>
 #include <Edje.h>
@@ -44,6 +45,7 @@
 int
 main(int argc, char **argv)
 {
+   char buf[4096];
    int i;
 
 /* FIXME: make this configurable */
@@ -71,6 +73,13 @@
    ecore_file_init();
    ecore_ipc_init();
 
+   ecore_desktop_init();
+   ecore_desktop_paths_extras_clear();
+   ecore_desktop_paths_prepend_user(ECORE_DESKTOP_PATHS_ICONS, "~/.e/e/icons");
+//   snprintf(buf, sizeof(buf), "%s/data/icons", e_prefix_data_get());
+   ecore_desktop_paths_append_system(ECORE_DESKTOP_PATHS_ICONS, buf);
+   ecore_desktop_paths_regen();
+
    snprintf(_thumbdir, sizeof(_thumbdir), "%s/.e/e/fileman/thumbnails",
            getenv("HOME"));
    ecore_file_mkpath(_thumbdir);
@@ -82,6 +91,8 @@
        ecore_ipc_server_del(_e_ipc_server);
        _e_ipc_server = NULL;
      }
+
+   ecore_desktop_shutdown();
    ecore_ipc_shutdown();
    ecore_file_shutdown();
    ecore_evas_shutdown();
@@ -324,6 +335,40 @@
        hh = 0;
        alpha = 1;
        ext = strrchr(eth->file, '.');
+
+       if ((ext) && (!strcasecmp(ext, ".desktop")))
+         {
+            Ecore_Desktop *desktop;
+
+             desktop = ecore_desktop_get(eth->file, NULL);
+             free(eth->file);
+            eth->file = NULL;
+            if (desktop)
+               {
+                  if (desktop->icon_path)
+                     eth->file = strdup(desktop->icon_path);
+                  else
+                     eth->file = (char 
*)ecore_desktop_icon_find(desktop->icon_class, NULL, eth->key);
+                   free(eth->key);
+                  eth->key = NULL;
+                  if (eth->file)
+                     {
+                        ext = strrchr(eth->file, '.');
+                        if ((ext) &&
+                            ((!strcasecmp(ext, ".edj")) ||
+                             (!strcasecmp(ext, ".eap")))
+                            )
+                           {
+                              eth->key = strdup("icon");
+                           }
+                     }
+                  else
+                     {
+                        return;
+                     }
+               }
+         }
+
        if ((ext) && (eth->key) &&
            ((!strcasecmp(ext, ".edj")) ||
             (!strcasecmp(ext, ".eap")))



-------------------------------------------------------------------------
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