Enlightenment CVS committal

Author  : raster
Project : e17
Module  : apps/e

Dir     : e17/apps/e/src/bin


Modified Files:
        Makefile.am e_border.c e_error.c e_gadman.c e_includes.h 
        e_int_menus.c e_main.c e_menu.c 
Added Files:
        e_theme.c e_theme.h 


Log Message:


add theme finder/class/category wrapper - handles finding theme files for
specific categories, and falling back if not found. it cant check specific
parts in edjes though - maybe i should add that? :)

===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/Makefile.am,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -3 -r1.21 -r1.22
--- Makefile.am 11 Apr 2005 20:25:51 -0000      1.21
+++ Makefile.am 21 Apr 2005 10:09:25 -0000      1.22
@@ -45,7 +45,8 @@
 e_layout.h \
 e_test.h \
 e_font.h \
-e_intl.h
+e_intl.h \
+e_theme.h
 
 enlightenment_SOURCES = \
 e_main.c \
@@ -84,6 +85,7 @@
 e_test.c \
 e_font.c \
 e_intl.c \
+e_theme.c \
 $(ENLIGHTENMENTHEADERS)
 
 enlightenment_LDFLAGS = -export-dynamic @e_libs@ @dlopen_libs@
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_border.c,v
retrieving revision 1.140
retrieving revision 1.141
diff -u -3 -r1.140 -r1.141
--- e_border.c  21 Apr 2005 09:51:38 -0000      1.140
+++ e_border.c  21 Apr 2005 10:09:25 -0000      1.141
@@ -2625,8 +2625,7 @@
          }
         o = edje_object_add(bd->bg_evas);
        bd->bg_object = o;
-       /* FIXME: "default.edj" needs to come from conf */
-       path = e_path_find(path_themes, "default.edj");
+       path = e_theme_file_get("base/theme/borders");
        snprintf(buf, sizeof(buf), "widgets/border/%s/border",
                 bd->client.border.name);
         ok = edje_object_file_set(o, path, buf);
@@ -3422,12 +3421,12 @@
    mi = e_menu_item_new(m);
    e_menu_item_label_set(mi, _("Close"));
    e_menu_item_callback_set(mi, _e_border_menu_cb_close, bd);
-   e_menu_item_icon_edje_set(mi, e_path_find(path_themes, "default.edj"), 
"widgets/border/default/close");
+   e_menu_item_icon_edje_set(mi, e_theme_file_get("base/theme/borders"), 
"widgets/border/default/close");
 
    mi = e_menu_item_new(m);
    e_menu_item_label_set(mi, _("Iconify"));
    e_menu_item_callback_set(mi, _e_border_menu_cb_iconify, bd);
-   e_menu_item_icon_edje_set(mi, e_path_find(path_themes, "default.edj"), 
"widgets/border/default/minimize");
+   e_menu_item_icon_edje_set(mi, e_theme_file_get("base/theme/borders"), 
"widgets/border/default/minimize");
 
    mi = e_menu_item_new(m);
    e_menu_item_separator_set(mi, 1);
@@ -3437,21 +3436,21 @@
    e_menu_item_check_set(mi, 1);
    e_menu_item_toggle_set(mi, (bd->shaded ? 1 : 0));
    e_menu_item_callback_set(mi, _e_border_menu_cb_shade, bd);
-   e_menu_item_icon_edje_set(mi, e_path_find(path_themes, "default.edj"), 
"widgets/border/default/shade");
+   e_menu_item_icon_edje_set(mi, e_theme_file_get("base/theme/borders"), 
"widgets/border/default/shade");
 
    mi = e_menu_item_new(m);
    e_menu_item_label_set(mi, _("Maximized"));
    e_menu_item_check_set(mi, 1);
    e_menu_item_toggle_set(mi, (bd->maximized ? 1 : 0));
    e_menu_item_callback_set(mi, _e_border_menu_cb_maximize, bd);
-   e_menu_item_icon_edje_set(mi, e_path_find(path_themes, "default.edj"), 
"widgets/border/default/maximize");
+   e_menu_item_icon_edje_set(mi, e_theme_file_get("base/theme/borders"), 
"widgets/border/default/maximize");
 
    mi = e_menu_item_new(m);
    e_menu_item_label_set(mi, _("Sticky"));
    e_menu_item_check_set(mi, 1);
    e_menu_item_toggle_set(mi, (bd->sticky ? 1 : 0));
    e_menu_item_callback_set(mi, _e_border_menu_cb_stick, bd);
-   e_menu_item_icon_edje_set(mi, e_path_find(path_themes, "default.edj"), 
"widgets/border/default/stick");
+   e_menu_item_icon_edje_set(mi, e_theme_file_get("base/theme/borders"), 
"widgets/border/default/stick");
 
    mi = e_menu_item_new(m);
    e_menu_item_separator_set(mi, 1);
@@ -3827,7 +3826,7 @@
    ecore_evas_show(resize_ee);
 
    resize_obj = edje_object_add(ecore_evas_get(resize_ee));
-   edje_object_file_set(resize_obj, e_path_find(path_themes, "default.edj"),
+   edje_object_file_set(resize_obj, e_theme_file_get("base/theme/borders"),
                        "widgets/border/default/resize");
    snprintf(buf, sizeof(buf), "9999x9999");
    edje_object_part_text_set(resize_obj, "text", buf);
@@ -3896,7 +3895,7 @@
    ecore_evas_layer_set(move_ee, 999);
 
    move_obj = edje_object_add(ecore_evas_get(move_ee));
-   edje_object_file_set(move_obj, e_path_find(path_themes, "default.edj"),
+   edje_object_file_set(move_obj, e_theme_file_get("base/theme/borders"),
                        "widgets/border/default/move");
    snprintf(buf, sizeof(buf), "9999 9999");
    edje_object_part_text_set(move_obj, "text", buf);
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_error.c,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -3 -r1.15 -r1.16
--- e_error.c   11 Apr 2005 22:01:51 -0000      1.15
+++ e_error.c   21 Apr 2005 10:09:26 -0000      1.16
@@ -79,8 +79,7 @@
 
    o = edje_object_add(e);
    if (!edje_object_file_set(o,
-                            /* FIXME: "default.edj" needs to come from conf */
-                            e_path_find(path_themes, "default.edj"),
+                            e_theme_file_get("base/theme/error"),
                             "error/main"))
 
      {
@@ -259,7 +258,7 @@
 
        snprintf(format, sizeof(format), 
                 "source='%s' font='%s' size=%d wrap=word",
-                e_path_find(path_themes, "default.edj"),
+                e_theme_file_get("base/theme/error"),
                 "fonts/Edje Vera", 10);
        text = evas_object_textblock_add(e);
        evas_object_color_set(text, 0, 0, 0, 255);
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_gadman.c,v
retrieving revision 1.29
retrieving revision 1.30
diff -u -3 -r1.29 -r1.30
--- e_gadman.c  11 Apr 2005 20:25:51 -0000      1.29
+++ e_gadman.c  21 Apr 2005 10:09:26 -0000      1.30
@@ -483,7 +483,8 @@
             e_menu_item_label_set(mi, _("Automatic Width"));
             e_menu_item_check_set(mi, 1);
             e_menu_item_toggle_set(mi, gmc->use_autow);
-            e_menu_item_icon_edje_set(mi, e_path_find(path_icons, 
"default.edj"),
+            e_menu_item_icon_edje_set(mi, 
+                                      e_path_find(path_icons, "default.edj"),
                                       "auto_width");
             e_menu_item_callback_set(mi, _e_gadman_cb_auto_width, gmc);
             mi = e_menu_item_new(m);
@@ -491,12 +492,14 @@
          }
        mi = e_menu_item_new(m);
        e_menu_item_label_set(mi, _("Half Screen Width"));
-       e_menu_item_icon_edje_set(mi, e_path_find(path_icons, "default.edj"),
+       e_menu_item_icon_edje_set(mi, 
+                                 e_path_find(path_icons, "default.edj"),
                                  "half_width");
        e_menu_item_callback_set(mi, _e_gadman_cb_half_width, gmc);
        mi = e_menu_item_new(m);
        e_menu_item_label_set(mi, _("Full Screen Width"));
-       e_menu_item_icon_edje_set(mi, e_path_find(path_icons, "default.edj"),
+       e_menu_item_icon_edje_set(mi, 
+                                 e_path_find(path_icons, "default.edj"),
                                  "full_width");
        e_menu_item_callback_set(mi, _e_gadman_cb_full_width, gmc);
      }
@@ -507,7 +510,8 @@
        seperator = 1;
        mi = e_menu_item_new(m);
        e_menu_item_label_set(mi, _("Center Horizontally"));
-       e_menu_item_icon_edje_set(mi, e_path_find(path_icons, "default.edj"),
+       e_menu_item_icon_edje_set(mi, 
+                                 e_path_find(path_icons, "default.edj"),
                                  "center_horiz");
        e_menu_item_callback_set(mi, _e_gadman_cb_center_horiz, gmc);
      }
@@ -526,20 +530,23 @@
             e_menu_item_label_set(mi, _("Automatic Height"));
             e_menu_item_check_set(mi, 1);
             e_menu_item_toggle_set(mi, gmc->use_autoh);
-            e_menu_item_icon_edje_set(mi, e_path_find(path_icons, 
"default.edj"),
-                                      "auto_eight");
+            e_menu_item_icon_edje_set(mi, 
+                                      e_path_find(path_icons, "default.edj"),
+                                      "auto_height");
             e_menu_item_callback_set(mi, _e_gadman_cb_auto_height, gmc);
             mi = e_menu_item_new(m);
             e_menu_item_separator_set(mi, 1);
          }
        mi = e_menu_item_new(m);
        e_menu_item_label_set(mi, _("Half Screen Height"));
-       e_menu_item_icon_edje_set(mi, e_path_find(path_icons, "default.edj"),
+       e_menu_item_icon_edje_set(mi, 
+                                 e_path_find(path_icons, "default.edj"),
                                  "half_height");
        e_menu_item_callback_set(mi, _e_gadman_cb_half_height, gmc);
        mi = e_menu_item_new(m);
        e_menu_item_label_set(mi, _("Full Screen Height"));
-       e_menu_item_icon_edje_set(mi, e_path_find(path_icons, "default.edj"),
+       e_menu_item_icon_edje_set(mi, 
+                                 e_path_find(path_icons, "default.edj"),
                                  "full_height");
        e_menu_item_callback_set(mi, _e_gadman_cb_full_height, gmc);
      }
@@ -550,7 +557,8 @@
        seperator = 1;
        mi = e_menu_item_new(m);
        e_menu_item_label_set(mi, _("Center Vertically"));
-       e_menu_item_icon_edje_set(mi, e_path_find(path_icons, "default.edj"),
+       e_menu_item_icon_edje_set(mi,
+                                 e_path_find(path_icons, "default.edj"),
                                  "center_vert");
        e_menu_item_callback_set(mi, _e_gadman_cb_center_vert, gmc);
      }
@@ -592,8 +600,7 @@
    evas_object_move(gmc->control_object, gmc->x, gmc->y);
    evas_object_resize(gmc->control_object, gmc->w, gmc->h);
    edje_object_file_set(gmc->control_object,
-                       /* FIXME: "default.edj" needs to come from conf */
-                       e_path_find(path_themes, "default.edj"),
+                       e_theme_file_get("base/theme/gadman"),
                        "gadman/control");
    edje_object_signal_callback_add(gmc->control_object, "move_start", "",
                                   _e_gadman_cb_signal_move_start, gmc);
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_includes.h,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -3 -r1.11 -r1.12
--- e_includes.h        11 Apr 2005 20:25:52 -0000      1.11
+++ e_includes.h        21 Apr 2005 10:09:26 -0000      1.12
@@ -35,3 +35,4 @@
 #include "e_layout.h"
 #include "e_font.h"
 #include "e_intl.h"
+#include "e_theme.h"
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_int_menus.c,v
retrieving revision 1.45
retrieving revision 1.46
diff -u -3 -r1.45 -r1.46
--- e_int_menus.c       13 Apr 2005 06:03:49 -0000      1.45
+++ e_int_menus.c       21 Apr 2005 10:09:26 -0000      1.46
@@ -55,7 +55,8 @@
    dat->apps = subm;
    mi = e_menu_item_new(m);
    e_menu_item_label_set(mi, _("Favorite Applications"));
-   e_menu_item_icon_edje_set(mi, e_path_find(path_icons, "default.edj"),
+   e_menu_item_icon_edje_set(mi,
+                            e_path_find(path_icons, "default.edj"),
                             "favorites");
    e_menu_item_submenu_set(mi, subm);
   
@@ -66,7 +67,8 @@
    dat->modules = subm;
    mi = e_menu_item_new(m);
    e_menu_item_label_set(mi, _("Modules"));
-   e_menu_item_icon_edje_set(mi, e_path_find(path_icons, "default.edj"),
+   e_menu_item_icon_edje_set(mi,
+                            e_path_find(path_icons, "default.edj"),
                             "module");
    e_menu_item_submenu_set(mi, subm);
 
@@ -74,7 +76,8 @@
    dat->desktops = subm;
    mi = e_menu_item_new(m);
    e_menu_item_label_set(mi, _("Desktops"));
-   e_menu_item_icon_edje_set(mi, e_path_find(path_icons, "default.edj"),
+   e_menu_item_icon_edje_set(mi,
+                            e_path_find(path_icons, "default.edj"),
                             "desktops");
    e_menu_item_submenu_set(mi, subm);
   
@@ -82,7 +85,8 @@
    dat->clients = subm;
    mi = e_menu_item_new(m);
    e_menu_item_label_set(mi, _("Windows"));
-   e_menu_item_icon_edje_set(mi, e_path_find(path_icons, "default.edj"),
+   e_menu_item_icon_edje_set(mi,
+                            e_path_find(path_icons, "default.edj"),
                             "windows");
    e_menu_item_submenu_set(mi, subm);
   
@@ -90,7 +94,8 @@
    dat->gadgets = subm;
    mi = e_menu_item_new(m);
    e_menu_item_label_set(mi, _("Gadgets"));
-   e_menu_item_icon_edje_set(mi, e_path_find(path_icons, "default.edj"),
+   e_menu_item_icon_edje_set(mi,
+                            e_path_find(path_icons, "default.edj"),
                             "gadgets");
    e_menu_item_submenu_set(mi, subm);
   
@@ -99,7 +104,8 @@
    
    mi = e_menu_item_new(m);
    e_menu_item_label_set(mi, _("About Enlightenment"));   
-   e_menu_item_icon_edje_set(mi, e_path_find(path_icons, "default.edj"),
+   e_menu_item_icon_edje_set(mi,
+                            e_path_find(path_icons, "default.edj"),
                             "e");
    e_menu_item_callback_set(mi, _e_int_menus_main_about, NULL);
    
@@ -108,13 +114,15 @@
    
    mi = e_menu_item_new(m);
    e_menu_item_label_set(mi, _("Restart Enlightement"));
-   e_menu_item_icon_edje_set(mi, e_path_find(path_icons, "default.edj"),
+   e_menu_item_icon_edje_set(mi,
+                            e_path_find(path_icons, "default.edj"),
                             "reset");
    e_menu_item_callback_set(mi, _e_int_menus_main_restart, NULL);
 
    mi = e_menu_item_new(m);
    e_menu_item_label_set(mi, _("Exit Enlightenment"));
-   e_menu_item_icon_edje_set(mi, e_path_find(path_icons, "default.edj"),
+   e_menu_item_icon_edje_set(mi,
+                            e_path_find(path_icons, "default.edj"),
                             "power");
    e_menu_item_callback_set(mi, _e_int_menus_main_exit, NULL);
    return m;
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_main.c,v
retrieving revision 1.65
retrieving revision 1.66
diff -u -3 -r1.65 -r1.66
--- e_main.c    14 Apr 2005 09:48:36 -0000      1.65
+++ e_main.c    21 Apr 2005 10:09:26 -0000      1.66
@@ -295,6 +295,13 @@
        _e_main_shutdown(-1);
      }
    _e_main_shutdown_push(e_app_shutdown);
+   /* init theme system */
+   if (!e_theme_init())
+     {
+       e_error_message_show(_("Enlightenment cannot set up its theme 
system."));
+       _e_main_shutdown(-1);
+     }
+   _e_main_shutdown_push(e_theme_shutdown);
 
    /* tell the error system that it can use gui dialogs now */
    e_error_gui_set(1);
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_menu.c,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -3 -r1.19 -r1.20
--- e_menu.c    21 Apr 2005 08:06:24 -0000      1.19
+++ e_menu.c    21 Apr 2005 10:09:26 -0000      1.20
@@ -808,8 +808,7 @@
        o = edje_object_add(mi->menu->evas);
        mi->separator_object = o;
        edje_object_file_set(o,
-                            /* FIXME: "default.edj" needs to come from conf */
-                            e_path_find(path_themes, "default.edj"),
+                            e_theme_file_get("base/theme/menus"),
                             "widgets/menu/default/separator");
        evas_object_show(o);
        edje_object_size_min_calc(mi->separator_object, &ww, &hh);
@@ -827,8 +826,7 @@
        if ((mi->submenu) || (mi->submenu_pre_cb.func))
          {
             if (!edje_object_file_set(mi->bg_object,
-                                      /* FIXME: "default.edj" needs to come 
from conf */
-                                      e_path_find(path_themes, "default.edj"),
+                                      e_theme_file_get("base/theme/menus"),
                                       "widgets/menu/default/submenu_bg"))
               goto no_submenu_item;
          }
@@ -836,8 +834,7 @@
          {
             no_submenu_item:
             edje_object_file_set(mi->bg_object,
-                                 /* FIXME: "default.edj" needs to come from 
conf */
-                                 e_path_find(path_themes, "default.edj"),
+                                 e_theme_file_get("base/theme/menus"),
                                  "widgets/menu/default/item_bg");
          }
        evas_object_show(o);
@@ -855,8 +852,7 @@
             o = edje_object_add(mi->menu->evas);
             mi->toggle_object = o;
             edje_object_file_set(o,
-                                 /* FIXME: "default.edj" needs to come from 
conf */
-                                 e_path_find(path_themes, "default.edj"),
+                                 e_theme_file_get("base/theme/menus"),
                                  "widgets/menu/default/check");
             evas_object_pass_events_set(o, 1);
             evas_object_show(o);
@@ -870,8 +866,7 @@
             o = edje_object_add(mi->menu->evas);
             mi->toggle_object = o;
             edje_object_file_set(o,
-                                 /* FIXME: "default.edj" needs to come from 
conf */
-                                 e_path_find(path_themes, "default.edj"),
+                                 e_theme_file_get("base/theme/menus"),
                                  "widgets/menu/default/radio");
             evas_object_pass_events_set(o, 1);
             evas_object_show(o);
@@ -894,8 +889,7 @@
             
             o = edje_object_add(mi->menu->evas);
             if (edje_object_file_set(o,
-                                     /* FIXME: "default.edj" needs to come 
from conf */
-                                     e_path_find(path_themes, "default.edj"),
+                                     e_theme_file_get("base/theme/menus"),
                                      "widgets/menu/default/icon"))
               {
                  mi->icon_bg_object = o;
@@ -963,8 +957,7 @@
             o = edje_object_add(mi->menu->evas);
             mi->label_object = o;
             edje_object_file_set(o,
-                                 /* FIXME: "default.edj" needs to come from 
conf */
-                                 e_path_find(path_themes, "default.edj"),
+                                 e_theme_file_get("base/theme/menus"),
                                  "widgets/menu/default/label");
             /* default label */
             edje_object_part_text_set(o, "label", mi->label);
@@ -988,8 +981,7 @@
             o = edje_object_add(mi->menu->evas);
             mi->submenu_object = o;
             edje_object_file_set(o,
-                                 /* FIXME: "default.edj" needs to come from 
conf */
-                                 e_path_find(path_themes, "default.edj"),
+                                 e_theme_file_get("base/theme/menus"),
                                  "widgets/menu/default/submenu");
             evas_object_pass_events_set(o, 1);
             evas_object_show(o);
@@ -1061,8 +1053,7 @@
    evas_object_move(o, 0, 0);
    evas_object_resize(o, m->cur.w, m->cur.h);
    ok = edje_object_file_set(o,
-                            /* FIXME: "default.edj" needs to come from conf */
-                            e_path_find(path_themes, "default.edj"),
+                             e_theme_file_get("base/theme/menus"),
                             "widgets/menu/default/background");
    if (ok)
      {




-------------------------------------------------------
This SF.Net email is sponsored by: New Crystal Reports XI.
Version 11 adds new functionality designed to reduce time involved in
creating, integrating, and deploying reporting solutions. Free runtime info,
new features, or free trial, at: http://www.businessobjects.com/devxi/728
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to