summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarsten Haitzler <raster@rasterman.com>2005-04-23 05:16:25 +0000
committerCarsten Haitzler <raster@rasterman.com>2005-04-23 05:16:25 +0000
commit9015e17739b4b768c388fbd7a43da09a97151ac9 (patch)
tree685d452c641120aab940f033313713e40f0b8c61
parent32c3f59f11b4c8d885dd5dcef6b977aa252f34a9 (diff)
fix dropshadow bug
make e_theme stuff check contents of edje files for group requested, if not there, fallback fix shading of windows with shaped windows SVN revision: 14307
-rw-r--r--src/bin/e_border.c101
-rw-r--r--src/bin/e_error.c7
-rw-r--r--src/bin/e_gadman.c5
-rw-r--r--src/bin/e_menu.c45
-rw-r--r--src/bin/e_theme.c215
-rw-r--r--src/bin/e_theme.h7
-rw-r--r--src/modules/battery/e_mod_main.c5
-rw-r--r--src/modules/clock/e_mod_main.c5
-rw-r--r--src/modules/cpufreq/e_mod_main.c5
-rw-r--r--src/modules/dropshadow/e_mod_main.c2
-rw-r--r--src/modules/ibar/e_mod_main.c20
-rw-r--r--src/modules/pager/e_mod_main.c15
-rw-r--r--src/modules/temperature/e_mod_main.c5
13 files changed, 293 insertions, 144 deletions
diff --git a/src/bin/e_border.c b/src/bin/e_border.c
index 7bb4632a3..dd37eb5f4 100644
--- a/src/bin/e_border.c
+++ b/src/bin/e_border.c
@@ -810,6 +810,11 @@ e_border_shade(E_Border *bd, E_Direction dir)
810 bd->changes.pos = 1; 810 bd->changes.pos = 1;
811 } 811 }
812 812
813 if ((bd->shaped) || (bd->client.shaped))
814 {
815 bd->need_shape_merge = 1;
816 bd->need_shape_export = 1;
817 }
813 bd->changes.size = 1; 818 bd->changes.size = 1;
814 bd->shaded = 1; 819 bd->shaded = 1;
815 bd->changes.shaded = 1; 820 bd->changes.shaded = 1;
@@ -892,6 +897,11 @@ e_border_unshade(E_Border *bd, E_Direction dir)
892 bd->x = bd->x - bd->client.w; 897 bd->x = bd->x - bd->client.w;
893 bd->changes.pos = 1; 898 bd->changes.pos = 1;
894 } 899 }
900 if ((bd->shaped) || (bd->client.shaped))
901 {
902 bd->need_shape_merge = 1;
903 bd->need_shape_export = 1;
904 }
895 bd->changes.size = 1; 905 bd->changes.size = 1;
896 bd->shaded = 0; 906 bd->shaded = 0;
897 bd->changes.shaded = 1; 907 bd->changes.shaded = 1;
@@ -2350,8 +2360,6 @@ _e_border_cb_grab_replay(void *data, int type, void *event)
2350static void 2360static void
2351_e_border_eval(E_Border *bd) 2361_e_border_eval(E_Border *bd)
2352{ 2362{
2353 /* FIXME: get min/max/start size etc. gravity etc. */
2354
2355 /* fetch any info queued to be fetched */ 2363 /* fetch any info queued to be fetched */
2356 if (bd->client.icccm.fetch.title) 2364 if (bd->client.icccm.fetch.title)
2357 { 2365 {
@@ -2618,7 +2626,7 @@ _e_border_eval(E_Border *bd)
2618 Evas_Coord cx, cy, cw, ch; 2626 Evas_Coord cx, cy, cw, ch;
2619 int l, r, t, b; 2627 int l, r, t, b;
2620 int ok; 2628 int ok;
2621 2629
2622 if (!bd->client.border.name) 2630 if (!bd->client.border.name)
2623 { 2631 {
2624 bd->client.border.name = strdup("default"); 2632 bd->client.border.name = strdup("default");
@@ -2636,10 +2644,9 @@ _e_border_eval(E_Border *bd)
2636 } 2644 }
2637 o = edje_object_add(bd->bg_evas); 2645 o = edje_object_add(bd->bg_evas);
2638 bd->bg_object = o; 2646 bd->bg_object = o;
2639 path = e_theme_file_get("base/theme/borders");
2640 snprintf(buf, sizeof(buf), "widgets/border/%s/border", 2647 snprintf(buf, sizeof(buf), "widgets/border/%s/border",
2641 bd->client.border.name); 2648 bd->client.border.name);
2642 ok = edje_object_file_set(o, path, buf); 2649 ok = e_theme_edje_object_set(o, "base/theme/borders", buf);
2643 if (ok) 2650 if (ok)
2644 { 2651 {
2645 const char *shape_option; 2652 const char *shape_option;
@@ -2674,7 +2681,7 @@ _e_border_eval(E_Border *bd)
2674 } 2681 }
2675 2682
2676 edje_object_part_text_set(o, "title_text", 2683 edje_object_part_text_set(o, "title_text",
2677// "Japanese (hiragana): いろはにほへとちりぬるを"); 2684// "Japanese (hiragana): いろはにほへとちりぬるを");
2678 bd->client.icccm.title); 2685 bd->client.icccm.title);
2679// printf("SET TITLE2 %s\n", bd->client.icccm.title); 2686// printf("SET TITLE2 %s\n", bd->client.icccm.title);
2680 evas_object_resize(o, 1000, 1000); 2687 evas_object_resize(o, 1000, 1000);
@@ -2715,7 +2722,7 @@ _e_border_eval(E_Border *bd)
2715 edje_object_signal_callback_add(o, "resize_r_start", "*", 2722 edje_object_signal_callback_add(o, "resize_r_start", "*",
2716 _e_border_cb_signal_resize_r_start, bd); 2723 _e_border_cb_signal_resize_r_start, bd);
2717 edje_object_signal_callback_add(o, "resize_br_start", "*", 2724 edje_object_signal_callback_add(o, "resize_br_start", "*",
2718 _e_border_cb_signal_resize_br_start, bd); 2725 _e_border_cb_signal_resize_br_start, bd);
2719 edje_object_signal_callback_add(o, "resize_b_start", "*", 2726 edje_object_signal_callback_add(o, "resize_b_start", "*",
2720 _e_border_cb_signal_resize_b_start, bd); 2727 _e_border_cb_signal_resize_b_start, bd);
2721 edje_object_signal_callback_add(o, "resize_bl_start", "*", 2728 edje_object_signal_callback_add(o, "resize_bl_start", "*",
@@ -2732,7 +2739,7 @@ _e_border_eval(E_Border *bd)
2732 evas_object_resize(o, bd->w, bd->h); 2739 evas_object_resize(o, bd->w, bd->h);
2733 evas_object_show(o); 2740 evas_object_show(o);
2734 bd->client.border.changed = 0; 2741 bd->client.border.changed = 0;
2735 2742
2736 if (bd->icon_object) 2743 if (bd->icon_object)
2737 { 2744 {
2738 if (bd->bg_object) 2745 if (bd->bg_object)
@@ -2746,7 +2753,7 @@ _e_border_eval(E_Border *bd)
2746 } 2753 }
2747 } 2754 }
2748 } 2755 }
2749 2756
2750 if (bd->new_client) 2757 if (bd->new_client)
2751 { 2758 {
2752 E_Event_Border_Add *ev; 2759 E_Event_Border_Add *ev;
@@ -3053,7 +3060,8 @@ _e_border_eval(E_Border *bd)
3053 { 3060 {
3054 if ((bd->shaped) || (bd->client.shaped)) 3061 if ((bd->shaped) || (bd->client.shaped))
3055 { 3062 {
3056 Ecore_X_Window twin; 3063 Ecore_X_Window twin, twin2;
3064 int x, y;
3057 3065
3058 twin = ecore_x_window_override_new(bd->win, 0, 0, bd->w, bd->h); 3066 twin = ecore_x_window_override_new(bd->win, 0, 0, bd->w, bd->h);
3059 if (bd->shaped) 3067 if (bd->shaped)
@@ -3071,18 +3079,41 @@ _e_border_eval(E_Border *bd)
3071 rects[1].x = 0; 3079 rects[1].x = 0;
3072 rects[1].y = bd->client_inset.t; 3080 rects[1].y = bd->client_inset.t;
3073 rects[1].width = bd->client_inset.l; 3081 rects[1].width = bd->client_inset.l;
3074 rects[1].height = bd->client.h; 3082 rects[1].height = bd->h - bd->client_inset.t - bd->client_inset.b;
3075 rects[2].x = bd->w - bd->client_inset.r; 3083 rects[2].x = bd->w - bd->client_inset.r;
3076 rects[2].y = bd->client_inset.t; 3084 rects[2].y = bd->client_inset.t;
3077 rects[2].width = bd->client_inset.r; 3085 rects[2].width = bd->client_inset.r;
3078 rects[2].height = bd->client.h; 3086 rects[2].height = bd->h - bd->client_inset.t - bd->client_inset.b;
3079 rects[3].x = 0; 3087 rects[3].x = 0;
3080 rects[3].y = bd->h - bd->client_inset.b; 3088 rects[3].y = bd->h - bd->client_inset.b;
3081 rects[3].width = bd->w; 3089 rects[3].width = bd->w;
3082 rects[3].height = bd->client_inset.b; 3090 rects[3].height = bd->client_inset.b;
3083 ecore_x_window_shape_rectangles_set(twin, rects, 4); 3091 ecore_x_window_shape_rectangles_set(twin, rects, 4);
3084 } 3092 }
3085 ecore_x_window_shape_window_add_xy(twin, bd->client.win, bd->client_inset.l, bd->client_inset.t); 3093 /* FIXME: need to clip client shape to client container
3094 * with offset for shading, if shading/shaded
3095 */
3096 twin2 = ecore_x_window_override_new(bd->win, 0, 0,
3097 bd->w - bd->client_inset.l - bd->client_inset.r,
3098 bd->h - bd->client_inset.t - bd->client_inset.b);
3099 x = 0;
3100 y = 0;
3101 if ((bd->shading) || (bd->shaded))
3102 {
3103 if (bd->shade.dir == E_DIRECTION_UP)
3104 y = bd->h - bd->client_inset.t - bd->client_inset.b - bd->client.h;
3105 else if (bd->shade.dir == E_DIRECTION_LEFT)
3106 x = bd->w - bd->client_inset.l - bd->client_inset.r - bd->client.w;
3107 }
3108 ecore_x_window_shape_window_set_xy(twin2, bd->client.win,
3109 x, y);
3110 ecore_x_window_shape_rectangle_clip(twin2, 0, 0,
3111 bd->w - bd->client_inset.l - bd->client_inset.r,
3112 bd->h - bd->client_inset.t - bd->client_inset.b);
3113 ecore_x_window_shape_window_add_xy(twin, twin2,
3114 bd->client_inset.l,
3115 bd->client_inset.t);
3116 ecore_x_window_del(twin2);
3086 ecore_x_window_shape_window_set(bd->win, twin); 3117 ecore_x_window_shape_window_set(bd->win, twin);
3087 ecore_x_window_del(twin); 3118 ecore_x_window_del(twin);
3088 } 3119 }
@@ -3369,7 +3400,11 @@ _e_border_shade_animator(void *data)
3369 bd->changes.pos = 1; 3400 bd->changes.pos = 1;
3370 } 3401 }
3371 3402
3372 3403 if ((bd->shaped) || (bd->client.shaped))
3404 {
3405 bd->need_shape_merge = 1;
3406 bd->need_shape_export = 1;
3407 }
3373 bd->changes.size = 1; 3408 bd->changes.size = 1;
3374 bd->changed = 1; 3409 bd->changed = 1;
3375 3410
@@ -3432,12 +3467,18 @@ _e_border_menu_show(E_Border *bd, Evas_Coord x, Evas_Coord y)
3432 mi = e_menu_item_new(m); 3467 mi = e_menu_item_new(m);
3433 e_menu_item_label_set(mi, _("Close")); 3468 e_menu_item_label_set(mi, _("Close"));
3434 e_menu_item_callback_set(mi, _e_border_menu_cb_close, bd); 3469 e_menu_item_callback_set(mi, _e_border_menu_cb_close, bd);
3435 e_menu_item_icon_edje_set(mi, e_theme_file_get("base/theme/borders"), "widgets/border/default/close"); 3470 e_menu_item_icon_edje_set(mi,
3471 e_theme_edje_file_get("base/theme/borders",
3472 "widgets/border/default/close"),
3473 "widgets/border/default/close");
3436 3474
3437 mi = e_menu_item_new(m); 3475 mi = e_menu_item_new(m);
3438 e_menu_item_label_set(mi, _("Iconify")); 3476 e_menu_item_label_set(mi, _("Iconify"));
3439 e_menu_item_callback_set(mi, _e_border_menu_cb_iconify, bd); 3477 e_menu_item_callback_set(mi, _e_border_menu_cb_iconify, bd);
3440 e_menu_item_icon_edje_set(mi, e_theme_file_get("base/theme/borders"), "widgets/border/default/minimize"); 3478 e_menu_item_icon_edje_set(mi,
3479 e_theme_edje_file_get("base/theme/borders",
3480 "widgets/border/default/minimize"),
3481 "widgets/border/default/minimize");
3441 3482
3442 mi = e_menu_item_new(m); 3483 mi = e_menu_item_new(m);
3443 e_menu_item_separator_set(mi, 1); 3484 e_menu_item_separator_set(mi, 1);
@@ -3447,21 +3488,30 @@ _e_border_menu_show(E_Border *bd, Evas_Coord x, Evas_Coord y)
3447 e_menu_item_check_set(mi, 1); 3488 e_menu_item_check_set(mi, 1);
3448 e_menu_item_toggle_set(mi, (bd->shaded ? 1 : 0)); 3489 e_menu_item_toggle_set(mi, (bd->shaded ? 1 : 0));
3449 e_menu_item_callback_set(mi, _e_border_menu_cb_shade, bd); 3490 e_menu_item_callback_set(mi, _e_border_menu_cb_shade, bd);
3450 e_menu_item_icon_edje_set(mi, e_theme_file_get("base/theme/borders"), "widgets/border/default/shade"); 3491 e_menu_item_icon_edje_set(mi,
3492 e_theme_edje_file_get("base/theme/borders",
3493 "widgets/border/default/shade"),
3494 "widgets/border/default/shade");
3451 3495
3452 mi = e_menu_item_new(m); 3496 mi = e_menu_item_new(m);
3453 e_menu_item_label_set(mi, _("Maximized")); 3497 e_menu_item_label_set(mi, _("Maximized"));
3454 e_menu_item_check_set(mi, 1); 3498 e_menu_item_check_set(mi, 1);
3455 e_menu_item_toggle_set(mi, (bd->maximized ? 1 : 0)); 3499 e_menu_item_toggle_set(mi, (bd->maximized ? 1 : 0));
3456 e_menu_item_callback_set(mi, _e_border_menu_cb_maximize, bd); 3500 e_menu_item_callback_set(mi, _e_border_menu_cb_maximize, bd);
3457 e_menu_item_icon_edje_set(mi, e_theme_file_get("base/theme/borders"), "widgets/border/default/maximize"); 3501 e_menu_item_icon_edje_set(mi,
3502 e_theme_edje_file_get("base/theme/borders",
3503 "widgets/border/default/maximize"),
3504 "widgets/border/default/maximize");
3458 3505
3459 mi = e_menu_item_new(m); 3506 mi = e_menu_item_new(m);
3460 e_menu_item_label_set(mi, _("Sticky")); 3507 e_menu_item_label_set(mi, _("Sticky"));
3461 e_menu_item_check_set(mi, 1); 3508 e_menu_item_check_set(mi, 1);
3462 e_menu_item_toggle_set(mi, (bd->sticky ? 1 : 0)); 3509 e_menu_item_toggle_set(mi, (bd->sticky ? 1 : 0));
3463 e_menu_item_callback_set(mi, _e_border_menu_cb_stick, bd); 3510 e_menu_item_callback_set(mi, _e_border_menu_cb_stick, bd);
3464 e_menu_item_icon_edje_set(mi, e_theme_file_get("base/theme/borders"), "widgets/border/default/stick"); 3511 e_menu_item_icon_edje_set(mi,
3512 e_theme_edje_file_get("base/theme/borders",
3513 "widgets/border/default/stick"),
3514 "widgets/border/default/stick");
3465 3515
3466 mi = e_menu_item_new(m); 3516 mi = e_menu_item_new(m);
3467 e_menu_item_separator_set(mi, 1); 3517 e_menu_item_separator_set(mi, 1);
@@ -3469,7 +3519,10 @@ _e_border_menu_show(E_Border *bd, Evas_Coord x, Evas_Coord y)
3469 mi = e_menu_item_new(m); 3519 mi = e_menu_item_new(m);
3470 e_menu_item_label_set(mi, _("Send To")); 3520 e_menu_item_label_set(mi, _("Send To"));
3471 e_menu_item_submenu_pre_callback_set(mi, _e_border_menu_sendto_pre_cb, bd); 3521 e_menu_item_submenu_pre_callback_set(mi, _e_border_menu_sendto_pre_cb, bd);
3472 e_menu_item_icon_edje_set(mi, e_path_find(path_themes, "default.edj"), "widgets/border/default/sendto"); 3522 e_menu_item_icon_edje_set(mi,
3523 e_theme_edje_file_get("base/theme/borders",
3524 "widgets/border/default/sendto"),
3525 "widgets/border/default/sendto");
3473 3526
3474 mi = e_menu_item_new(m); 3527 mi = e_menu_item_new(m);
3475 e_menu_item_separator_set(mi, 1); 3528 e_menu_item_separator_set(mi, 1);
@@ -3869,8 +3922,8 @@ _e_border_resize_begin(E_Border *bd)
3869 ecore_evas_show(resize_ee); 3922 ecore_evas_show(resize_ee);
3870 3923
3871 resize_obj = edje_object_add(ecore_evas_get(resize_ee)); 3924 resize_obj = edje_object_add(ecore_evas_get(resize_ee));
3872 edje_object_file_set(resize_obj, e_theme_file_get("base/theme/borders"), 3925 e_theme_edje_object_set(resize_obj, "base/theme/borders",
3873 "widgets/border/default/resize"); 3926 "widgets/border/default/resize");
3874 snprintf(buf, sizeof(buf), "9999x9999"); 3927 snprintf(buf, sizeof(buf), "9999x9999");
3875 edje_object_part_text_set(resize_obj, "text", buf); 3928 edje_object_part_text_set(resize_obj, "text", buf);
3876 3929
@@ -3940,8 +3993,8 @@ _e_border_move_begin(E_Border *bd)
3940 ecore_evas_layer_set(move_ee, 255); 3993 ecore_evas_layer_set(move_ee, 255);
3941 3994
3942 move_obj = edje_object_add(ecore_evas_get(move_ee)); 3995 move_obj = edje_object_add(ecore_evas_get(move_ee));
3943 edje_object_file_set(move_obj, e_theme_file_get("base/theme/borders"), 3996 e_theme_edje_object_set(move_obj, "base/theme/borders",
3944 "widgets/border/default/move"); 3997 "widgets/border/default/move");
3945 snprintf(buf, sizeof(buf), "9999 9999"); 3998 snprintf(buf, sizeof(buf), "9999 9999");
3946 edje_object_part_text_set(move_obj, "text", buf); 3999 edje_object_part_text_set(move_obj, "text", buf);
3947 4000
diff --git a/src/bin/e_error.c b/src/bin/e_error.c
index 3cd8540bf..0f83665d3 100644
--- a/src/bin/e_error.c
+++ b/src/bin/e_error.c
@@ -78,10 +78,7 @@ e_error_message_manager_show(E_Manager *man, char *title, char *txt)
78 e_pointer_ecore_evas_set(ee); 78 e_pointer_ecore_evas_set(ee);
79 79
80 o = edje_object_add(e); 80 o = edje_object_add(e);
81 if (!edje_object_file_set(o, 81 if (!e_theme_edje_object_set(o, "base/theme/error", "error/main"))
82 e_theme_file_get("base/theme/error"),
83 "error/main"))
84
85 { 82 {
86 Evas_Coord tw, th; 83 Evas_Coord tw, th;
87 char *newstr; 84 char *newstr;
@@ -258,7 +255,7 @@ e_error_message_manager_show(E_Manager *man, char *title, char *txt)
258 255
259 snprintf(format, sizeof(format), 256 snprintf(format, sizeof(format),
260 "source='%s' font='%s' size=%d wrap=word", 257 "source='%s' font='%s' size=%d wrap=word",
261 e_theme_file_get("base/theme/error"), 258 e_theme_edje_file_get("base/theme/error", "error/main"),
262 "fonts/Edje Vera", 10); 259 "fonts/Edje Vera", 10);
263 text = evas_object_textblock_add(e); 260 text = evas_object_textblock_add(e);
264 evas_object_color_set(text, 0, 0, 0, 255); 261 evas_object_color_set(text, 0, 0, 0, 255);
diff --git a/src/bin/e_gadman.c b/src/bin/e_gadman.c
index 7e9e8b0b0..b5055540e 100644
--- a/src/bin/e_gadman.c
+++ b/src/bin/e_gadman.c
@@ -599,9 +599,8 @@ _e_gadman_client_edit_begin(E_Gadman_Client *gmc)
599 evas_object_layer_set(gmc->control_object, 100); 599 evas_object_layer_set(gmc->control_object, 100);
600 evas_object_move(gmc->control_object, gmc->x, gmc->y); 600 evas_object_move(gmc->control_object, gmc->x, gmc->y);
601 evas_object_resize(gmc->control_object, gmc->w, gmc->h); 601 evas_object_resize(gmc->control_object, gmc->w, gmc->h);
602 edje_object_file_set(gmc->control_object, 602 e_theme_edje_object_set(gmc->control_object, "base/theme/gadman",
603 e_theme_file_get("base/theme/gadman"), 603 "gadman/control");
604 "gadman/control");
605 edje_object_signal_callback_add(gmc->control_object, "move_start", "", 604 edje_object_signal_callback_add(gmc->control_object, "move_start", "",
606 _e_gadman_cb_signal_move_start, gmc); 605 _e_gadman_cb_signal_move_start, gmc);
607 edje_object_signal_callback_add(gmc->control_object, "move_stop", "", 606 edje_object_signal_callback_add(gmc->control_object, "move_stop", "",
diff --git a/src/bin/e_menu.c b/src/bin/e_menu.c
index 683d348f0..1fce44dd9 100644
--- a/src/bin/e_menu.c
+++ b/src/bin/e_menu.c
@@ -807,9 +807,8 @@ _e_menu_item_realize(E_Menu_Item *mi)
807 { 807 {
808 o = edje_object_add(mi->menu->evas); 808 o = edje_object_add(mi->menu->evas);
809 mi->separator_object = o; 809 mi->separator_object = o;
810 edje_object_file_set(o, 810 e_theme_edje_object_set(o, "base/theme/menus",
811 e_theme_file_get("base/theme/menus"), 811 "widgets/menu/default/separator");
812 "widgets/menu/default/separator");
813 evas_object_show(o); 812 evas_object_show(o);
814 edje_object_size_min_calc(mi->separator_object, &ww, &hh); 813 edje_object_size_min_calc(mi->separator_object, &ww, &hh);
815 mi->separator_w = ww; 814 mi->separator_w = ww;
@@ -825,17 +824,15 @@ _e_menu_item_realize(E_Menu_Item *mi)
825 824
826 if ((mi->submenu) || (mi->submenu_pre_cb.func)) 825 if ((mi->submenu) || (mi->submenu_pre_cb.func))
827 { 826 {
828 if (!edje_object_file_set(mi->bg_object, 827 if (!e_theme_edje_object_set(mi->bg_object, "base/theme/menus",
829 e_theme_file_get("base/theme/menus"), 828 "widgets/menu/default/submenu_bg"))
830 "widgets/menu/default/submenu_bg"))
831 goto no_submenu_item; 829 goto no_submenu_item;
832 } 830 }
833 else 831 else
834 { 832 {
835 no_submenu_item: 833 no_submenu_item:
836 edje_object_file_set(mi->bg_object, 834 e_theme_edje_object_set(mi->bg_object, "base/theme/menus",
837 e_theme_file_get("base/theme/menus"), 835 "widgets/menu/default/item_bg");
838 "widgets/menu/default/item_bg");
839 } 836 }
840 evas_object_show(o); 837 evas_object_show(o);
841 838
@@ -851,9 +848,8 @@ _e_menu_item_realize(E_Menu_Item *mi)
851 { 848 {
852 o = edje_object_add(mi->menu->evas); 849 o = edje_object_add(mi->menu->evas);
853 mi->toggle_object = o; 850 mi->toggle_object = o;
854 edje_object_file_set(o, 851 e_theme_edje_object_set(o, "base/theme/menus",
855 e_theme_file_get("base/theme/menus"), 852 "widgets/menu/default/check");
856 "widgets/menu/default/check");
857 evas_object_pass_events_set(o, 1); 853 evas_object_pass_events_set(o, 1);
858 evas_object_show(o); 854 evas_object_show(o);
859 e_box_pack_end(mi->container_object, o); 855 e_box_pack_end(mi->container_object, o);
@@ -865,9 +861,8 @@ _e_menu_item_realize(E_Menu_Item *mi)
865 { 861 {
866 o = edje_object_add(mi->menu->evas); 862 o = edje_object_add(mi->menu->evas);
867 mi->toggle_object = o; 863 mi->toggle_object = o;
868 edje_object_file_set(o, 864 e_theme_edje_object_set(o, "base/theme/menus",
869 e_theme_file_get("base/theme/menus"), 865 "widgets/menu/default/radio");
870 "widgets/menu/default/radio");
871 evas_object_pass_events_set(o, 1); 866 evas_object_pass_events_set(o, 1);
872 evas_object_show(o); 867 evas_object_show(o);
873 e_box_pack_end(mi->container_object, o); 868 e_box_pack_end(mi->container_object, o);
@@ -888,9 +883,8 @@ _e_menu_item_realize(E_Menu_Item *mi)
888 int icon_w, icon_h; 883 int icon_w, icon_h;
889 884
890 o = edje_object_add(mi->menu->evas); 885 o = edje_object_add(mi->menu->evas);
891 if (edje_object_file_set(o, 886 if (e_theme_edje_object_set(o, "base/theme/menus",
892 e_theme_file_get("base/theme/menus"), 887 "widgets/menu/default/icon"))
893 "widgets/menu/default/icon"))
894 { 888 {
895 mi->icon_bg_object = o; 889 mi->icon_bg_object = o;
896 evas_object_show(o); 890 evas_object_show(o);
@@ -956,9 +950,8 @@ _e_menu_item_realize(E_Menu_Item *mi)
956 { 950 {
957 o = edje_object_add(mi->menu->evas); 951 o = edje_object_add(mi->menu->evas);
958 mi->label_object = o; 952 mi->label_object = o;
959 edje_object_file_set(o, 953 e_theme_edje_object_set(o, "base/theme/menus",
960 e_theme_file_get("base/theme/menus"), 954 "widgets/menu/default/label");
961 "widgets/menu/default/label");
962 /* default label */ 955 /* default label */
963 edje_object_part_text_set(o, "label", mi->label); 956 edje_object_part_text_set(o, "label", mi->label);
964 evas_object_pass_events_set(o, 1); 957 evas_object_pass_events_set(o, 1);
@@ -980,9 +973,8 @@ _e_menu_item_realize(E_Menu_Item *mi)
980 { 973 {
981 o = edje_object_add(mi->menu->evas); 974 o = edje_object_add(mi->menu->evas);
982 mi->submenu_object = o; 975 mi->submenu_object = o;
983 edje_object_file_set(o, 976 e_theme_edje_object_set(o, "base/theme/menus",
984 e_theme_file_get("base/theme/menus"), 977 "widgets/menu/default/submenu");
985 "widgets/menu/default/submenu");
986 evas_object_pass_events_set(o, 1); 978 evas_object_pass_events_set(o, 1);
987 evas_object_show(o); 979 evas_object_show(o);
988 e_box_pack_end(mi->container_object, o); 980 e_box_pack_end(mi->container_object, o);
@@ -1052,9 +1044,8 @@ _e_menu_realize(E_Menu *m)
1052 evas_object_data_set(o, "e_menu", m); 1044 evas_object_data_set(o, "e_menu", m);
1053 evas_object_move(o, 0, 0); 1045 evas_object_move(o, 0, 0);
1054 evas_object_resize(o, m->cur.w, m->cur.h); 1046 evas_object_resize(o, m->cur.w, m->cur.h);
1055 ok = edje_object_file_set(o, 1047 ok = e_theme_edje_object_set(o, "base/theme/menus",
1056 e_theme_file_get("base/theme/menus"), 1048 "widgets/menu/default/background");
1057 "widgets/menu/default/background");
1058 if (ok) 1049 if (ok)
1059 { 1050 {
1060 const char *shape_option; 1051 const char *shape_option;
diff --git a/src/bin/e_theme.c b/src/bin/e_theme.c
index bcc060761..5f0e42a02 100644
--- a/src/bin/e_theme.c
+++ b/src/bin/e_theme.c
@@ -3,42 +3,37 @@
3 */ 3 */
4#include "e.h" 4#include "e.h"
5 5
6/* FIXME: need to make wrapper that can not just find the file but
7 * detect if the edj has that named group and if not, fall back
8 */
9
10/* local subsystem functions */ 6/* local subsystem functions */
11typedef struct _E_Theme_Result E_Theme_Result; 7typedef struct _E_Theme_Result E_Theme_Result;
12 8
13struct _E_Theme_Result 9struct _E_Theme_Result
14{ 10{
15 unsigned char generated : 1;
16 char *file; 11 char *file;
17 char *cache; 12 char *cache;
18}; 13};
19 14
20static const char *_e_theme_file_get_internal(char *category, int recursion); 15static Evas_Bool _e_theme_mappings_free_cb(Evas_Hash *hash, const char *key, void *data, void *fdata);
21 16
22/* local subsystem globals */ 17/* local subsystem globals */
23static Evas_Hash *mappings = NULL; 18static Evas_Hash *mappings = NULL;
19static Evas_Hash *group_cache = NULL;
24 20
25/* externally accessible functions */ 21/* externally accessible functions */
26 22
27int 23int
28e_theme_init(void) 24e_theme_init(void)
29{ 25{
30 /* this is a fallback that is ALWAYS there */ 26 /* this is a fallback that is ALWAYS there - if all fails things will */
27 /* always fall back to the default theme. the rest after this are config */
28 /* values users can set */
31 e_theme_file_set("base", "default.edj"); 29 e_theme_file_set("base", "default.edj");
32 /* now add more */ 30 /* now add more */
33 /* FIXME: load these from a config */ 31 /* FIXME: load these from a config and save them to a config x*/
34 e_theme_file_set("base/theme", "default.edj"); 32 e_theme_file_set("base/theme", "default.edj");
35 e_theme_file_set("base/theme/borders", "default.edj"); 33 e_theme_file_set("base/theme/borders", "default.edj");
36 e_theme_file_set("base/theme/menus", "default.edj"); 34 e_theme_file_set("base/theme/menus", "default.edj");
37 e_theme_file_set("base/theme/background", "default.edj");
38 e_theme_file_set("base/theme/error", "default.edj"); 35 e_theme_file_set("base/theme/error", "default.edj");
39 e_theme_file_set("base/theme/gadman", "default.edj"); 36 e_theme_file_set("base/theme/gadman", "default.edj");
40 e_theme_file_set("base/theme/icons", "default.edj");
41 e_theme_file_set("base/theme/cursors", "default.edj");
42 e_theme_file_set("base/theme/modules", "default.edj"); 37 e_theme_file_set("base/theme/modules", "default.edj");
43 e_theme_file_set("base/theme/modules/pager", "default.edj"); 38 e_theme_file_set("base/theme/modules/pager", "default.edj");
44 e_theme_file_set("base/theme/modules/ibar", "default.edj"); 39 e_theme_file_set("base/theme/modules/ibar", "default.edj");
@@ -46,33 +41,181 @@ e_theme_init(void)
46 e_theme_file_set("base/theme/modules/battery", "default.edj"); 41 e_theme_file_set("base/theme/modules/battery", "default.edj");
47 e_theme_file_set("base/theme/modules/cpufreq", "default.edj"); 42 e_theme_file_set("base/theme/modules/cpufreq", "default.edj");
48 e_theme_file_set("base/theme/modules/temperature", "default.edj"); 43 e_theme_file_set("base/theme/modules/temperature", "default.edj");
49 /* FIXME: need to not just load, but save TO the config too */
50 return 1; 44 return 1;
51} 45}
52 46
53int 47int
54e_theme_shutdown(void) 48e_theme_shutdown(void)
55{ 49{
56 /* FIXME; clear out mappings hash */ 50 if (mappings)
51 {
52 evas_hash_foreach(mappings, _e_theme_mappings_free_cb, NULL);
53 evas_hash_free(mappings);
54 mappings = NULL;
55 }
56 if (group_cache)
57 {
58 evas_hash_free(group_cache);
59 group_cache = NULL;
60 }
57 return 1; 61 return 1;
58} 62}
59 63
64int
65e_theme_edje_object_set(Evas_Object *o, char *category, char *group)
66{
67 E_Theme_Result *res;
68 char buf[256];
69 char *p;
70
71 /* find category -> edje mapping */
72 res = evas_hash_find(mappings, category);
73 if (res)
74 {
75 char *str;
76
77 /* if found check cached path */
78 str = res->cache;
79 if (!str)
80 {
81 /* no cached path */
82 str = res->file;
83 /* if its not an absolute path find it */
84 if (str[0] != '/')
85 str = e_path_find(path_themes, str);
86 /* save cached value */
87 if (str)
88 res->cache = strdup(str);
89 }
90 if (str)
91 {
92 void *tres;
93 int ok;
94
95 snprintf(buf, sizeof(buf), "%s/::/%s", str, group);
96 tres = evas_hash_find(group_cache, buf);
97 if (!tres)
98 {
99 ok = edje_object_file_set(o, str, group);
100 /* save in the group cache hash */
101 if (ok)
102 group_cache = evas_hash_add(group_cache, buf, res);
103 else
104 group_cache = evas_hash_add(group_cache, buf, (void *)1);
105 }
106 else if (tres == (void *)1)
107 ok = 0;
108 else
109 ok = 1;
110 if (ok)
111 {
112 if (tres)
113 edje_object_file_set(o, str, group);
114 return 1;
115 }
116 }
117 }
118 /* no mapping or set failed - fall back */
119 strncpy(buf, category, sizeof(buf) - 1);
120 buf[sizeof(buf) - 1] = 0;
121 /* shorten string up to and not including last / char */
122 p = strrchr(buf, '/');
123 if (p) *p = 0;
124 /* no / anymore - we are already as far back as we can go */
125 else return 0;
126 /* try this category */
127 return e_theme_edje_object_set(o, buf, group);
128}
129
60const char * 130const char *
61e_theme_file_get(char *category) 131e_theme_edje_file_get(char *category, char *group)
62{ 132{
63 return _e_theme_file_get_internal(category, 0); 133 E_Theme_Result *res;
134 char buf[4096];
135 char *p;
136
137 /* find category -> edje mapping */
138 res = evas_hash_find(mappings, category);
139 if (res)
140 {
141 char *str;
142
143 /* if found check cached path */
144 str = res->cache;
145 if (!str)
146 {
147 /* no cached path */
148 str = res->file;
149 /* if its not an absolute path find it */
150 if (str[0] != '/')
151 str = e_path_find(path_themes, str);
152 /* save cached value */
153 if (str)
154 res->cache = strdup(str);
155 }
156 if (str)
157 {
158 void *tres;
159 Evas_List *coll, *l;
160 int ok;
161
162 snprintf(buf, sizeof(buf), "%s/::/%s", str, group);
163 tres = evas_hash_find(group_cache, buf);
164 if (!tres)
165 {
166 /* if the group exists - return */
167 coll = edje_file_collection_list(str);
168 ok = 0;
169 for (l = coll; l; l = l->next)
170 {
171 if (!strcmp(coll->data, group))
172 {
173 ok = 1;
174 break;
175 }
176 }
177 if (coll) edje_file_collection_list_free(coll);
178 /* save in the group cache hash */
179 if (ok)
180 group_cache = evas_hash_add(group_cache, buf, res);
181 else
182 group_cache = evas_hash_add(group_cache, buf, (void *)1);
183 }
184 else if (tres == (void *)1) /* special pointer "1" == not there */
185 ok = 0;
186 else
187 ok = 1;
188 if (ok) return str;
189 }
190 }
191 /* no mapping or set failed - fall back */
192 strncpy(buf, category, sizeof(buf) - 1);
193 buf[sizeof(buf) - 1] = 0;
194 /* shorten string up to and not including last / char */
195 p = strrchr(buf, '/');
196 if (p) *p = 0;
197 /* no / anymore - we are already as far back as we can go */
198 else return "";
199 /* try this category */
200 return e_theme_edje_file_get(buf, group);
64} 201}
65 202
66void 203void
67e_theme_file_set(char *category, char *file) 204e_theme_file_set(char *category, char *file)
68{ 205{
69 E_Theme_Result *res; 206 E_Theme_Result *res;
70 207
208 if (group_cache)
209 {
210 evas_hash_free(group_cache);
211 group_cache = NULL;
212 }
71 res = evas_hash_find(mappings, category); 213 res = evas_hash_find(mappings, category);
72 if (res) 214 if (res)
73 { 215 {
74 mappings = evas_hash_del(mappings, category, res); 216 mappings = evas_hash_del(mappings, category, res);
75 free(res->file); 217 E_FREE(res->file);
218 E_FREE(res->cache);
76 free(res); 219 free(res);
77 } 220 }
78 res = calloc(1, sizeof(E_Theme_Result)); 221 res = calloc(1, sizeof(E_Theme_Result));
@@ -82,38 +225,14 @@ e_theme_file_set(char *category, char *file)
82 225
83/* local subsystem functions */ 226/* local subsystem functions */
84 227
85static const char * 228static Evas_Bool
86_e_theme_file_get_internal(char *category, int recursion) 229_e_theme_mappings_free_cb(Evas_Hash *hash, const char *key, void *data, void *fdata)
87{ 230{
88 const char *str;
89 E_Theme_Result *res; 231 E_Theme_Result *res;
90 232
91 if (strlen(category) == 0) return NULL; 233 res = data;
92 res = evas_hash_find(mappings, category); 234 E_FREE(res->file);
93 if (!res) 235 E_FREE(res->cache);
94 { 236 free(res);
95 char buf[256]; 237 return 1;
96 char *p;
97
98 strncpy(buf, category, sizeof(buf) - 1);
99 buf[sizeof(buf) - 1] = 0;
100 p = strrchr(buf, '/');
101 if (p)
102 {
103 *p = 0;
104 return
105 _e_theme_file_get_internal(buf, recursion + 1);
106 }
107 return NULL;
108 }
109 str = res->cache;
110 if (!str)
111 {
112 str = res->file;
113 if (str[0] != '/')
114 str = e_path_find(path_themes, str);
115 if (str)
116 res->cache = strdup(str);
117 }
118 return str;
119} 238}
diff --git a/src/bin/e_theme.h b/src/bin/e_theme.h
index b20250d52..bf3987c0d 100644
--- a/src/bin/e_theme.h
+++ b/src/bin/e_theme.h
@@ -6,10 +6,11 @@
6#ifndef E_THEME_H 6#ifndef E_THEME_H
7#define E_THEME_H 7#define E_THEME_H
8 8
9EAPI int e_theme_init(void); 9EAPI int e_theme_init(void);
10EAPI int e_theme_shutdown(void); 10EAPI int e_theme_shutdown(void);
11 11
12EAPI const char *e_theme_file_get(char *category); 12EAPI int e_theme_edje_object_set(Evas_Object *o, char *category, char *group);
13EAPI const char *e_theme_edje_file_get(char *category, char *group);
13EAPI void e_theme_file_set(char *category, char *file); 14EAPI void e_theme_file_set(char *category, char *file);
14 15
15#endif 16#endif
diff --git a/src/modules/battery/e_mod_main.c b/src/modules/battery/e_mod_main.c
index c7ca64e3c..68c13f369 100644
--- a/src/modules/battery/e_mod_main.c
+++ b/src/modules/battery/e_mod_main.c
@@ -492,9 +492,8 @@ _battery_face_new(E_Container *con)
492 o = edje_object_add(con->bg_evas); 492 o = edje_object_add(con->bg_evas);
493 ef->bat_object = o; 493 ef->bat_object = o;
494 494
495 edje_object_file_set(o, 495 e_theme_edje_object_set(o, "base/theme/modules/battery",
496 e_theme_file_get("base/theme/modules/battery"), 496 "modules/battery/main");
497 "modules/battery/main");
498 evas_object_show(o); 497 evas_object_show(o);
499 498
500 o = evas_object_rectangle_add(con->bg_evas); 499 o = evas_object_rectangle_add(con->bg_evas);
diff --git a/src/modules/clock/e_mod_main.c b/src/modules/clock/e_mod_main.c
index 5a662bd60..d2fe59e20 100644
--- a/src/modules/clock/e_mod_main.c
+++ b/src/modules/clock/e_mod_main.c
@@ -220,9 +220,8 @@ _clock_face_new(E_Container *con)
220 o = edje_object_add(con->bg_evas); 220 o = edje_object_add(con->bg_evas);
221 face->clock_object = o; 221 face->clock_object = o;
222 222
223 edje_object_file_set(o, 223 e_theme_edje_object_set(o, "base/theme/modules/clock",
224 e_theme_file_get("base/theme/modules/clock"), 224 "modules/clock/main");
225 "modules/clock/main");
226 evas_object_show(o); 225 evas_object_show(o);
227 226
228 o = evas_object_rectangle_add(con->bg_evas); 227 o = evas_object_rectangle_add(con->bg_evas);
diff --git a/src/modules/cpufreq/e_mod_main.c b/src/modules/cpufreq/e_mod_main.c
index 664733186..fafa3307c 100644
--- a/src/modules/cpufreq/e_mod_main.c
+++ b/src/modules/cpufreq/e_mod_main.c
@@ -741,9 +741,8 @@ _cpufreq_face_new(E_Container *con, Cpufreq *owner)
741 741
742 o = edje_object_add(con->bg_evas); 742 o = edje_object_add(con->bg_evas);
743 ef->freq_object = o; 743 ef->freq_object = o;
744 edje_object_file_set(o, 744 e_theme_edje_object_set(o, "base/theme/modules/cpufreq",
745 e_theme_file_get("base/theme/modules/cpufreq"), 745 "modules/cpufreq/main");
746 "modules/cpufreq/main");
747 edje_object_signal_callback_add(o, "next_governor", "governor", _cpufreq_face_cb_set_governor, owner); 746 edje_object_signal_callback_add(o, "next_governor", "governor", _cpufreq_face_cb_set_governor, owner);
748 edje_object_signal_callback_add(o, "increase_frequency", "frequency", _cpufreq_face_cb_set_frequency, owner); 747 edje_object_signal_callback_add(o, "increase_frequency", "frequency", _cpufreq_face_cb_set_frequency, owner);
749 edje_object_signal_callback_add(o, "decrease_frequency", "frequency", _cpufreq_face_cb_set_frequency, owner); 748 edje_object_signal_callback_add(o, "decrease_frequency", "frequency", _cpufreq_face_cb_set_frequency, owner);
diff --git a/src/modules/dropshadow/e_mod_main.c b/src/modules/dropshadow/e_mod_main.c
index c67536491..1e0eabc3d 100644
--- a/src/modules/dropshadow/e_mod_main.c
+++ b/src/modules/dropshadow/e_mod_main.c
@@ -974,7 +974,7 @@ _ds_edge_scan(Shpix *sp, Tilebuf *tb, int bsz, int q, int x1, int y1, int x2, in
974 ((bsz + 1) * 2) / q, 974 ((bsz + 1) * 2) / q,
975 ((bsz + 1) * 2) / q); 975 ((bsz + 1) * 2) / q);
976 ptr += sp->w; 976 ptr += sp->w;
977 pptr += sp->h; 977 pptr += sp->w;
978 } 978 }
979 } 979 }
980 else if (y1 == y2) /* scan horiz */ 980 else if (y1 == y2) /* scan horiz */
diff --git a/src/modules/ibar/e_mod_main.c b/src/modules/ibar/e_mod_main.c
index 5bc4f0e19..9ed9936d7 100644
--- a/src/modules/ibar/e_mod_main.c
+++ b/src/modules/ibar/e_mod_main.c
@@ -427,17 +427,15 @@ _ibar_bar_new(IBar *ib, E_Container *con)
427 evas_event_freeze(ibb->evas); 427 evas_event_freeze(ibb->evas);
428 o = edje_object_add(ibb->evas); 428 o = edje_object_add(ibb->evas);
429 ibb->bar_object = o; 429 ibb->bar_object = o;
430 edje_object_file_set(o, 430 e_theme_edje_object_set(o, "base/theme/modules/ibar",
431 e_theme_file_get("base/theme/modules/ibar"), 431 "modules/ibar/main");
432 "modules/ibar/main");
433 evas_object_show(o); 432 evas_object_show(o);
434 433
435 o = edje_object_add(ibb->evas); 434 o = edje_object_add(ibb->evas);
436 ibb->overlay_object = o; 435 ibb->overlay_object = o;
437 evas_object_layer_set(o, 1); 436 evas_object_layer_set(o, 1);
438 edje_object_file_set(o, 437 e_theme_edje_object_set(o, "base/theme/modules/ibar",
439 e_theme_file_get("base/theme/modules/ibar"), 438 "modules/ibar/follower");
440 "modules/ibar/follower");
441 evas_object_show(o); 439 evas_object_show(o);
442 440
443 o = evas_object_rectangle_add(ibb->evas); 441 o = evas_object_rectangle_add(ibb->evas);
@@ -610,9 +608,8 @@ _ibar_icon_new(IBar_Bar *ibb, E_App *a)
610 ic->bg_object = o; 608 ic->bg_object = o;
611 evas_object_intercept_move_callback_add(o, _ibar_icon_cb_intercept_move, ic); 609 evas_object_intercept_move_callback_add(o, _ibar_icon_cb_intercept_move, ic);
612 evas_object_intercept_resize_callback_add(o, _ibar_icon_cb_intercept_resize, ic); 610 evas_object_intercept_resize_callback_add(o, _ibar_icon_cb_intercept_resize, ic);
613 edje_object_file_set(o, 611 e_theme_edje_object_set(o, "base/theme/modules/ibar",
614 e_theme_file_get("base/theme/modules/ibar"), 612 "modules/ibar/icon");
615 "modules/ibar/icon");
616 evas_object_show(o); 613 evas_object_show(o);
617 614
618 o = edje_object_add(ibb->evas); 615 o = edje_object_add(ibb->evas);
@@ -628,9 +625,8 @@ _ibar_icon_new(IBar_Bar *ibb, E_App *a)
628 ic->overlay_object = o; 625 ic->overlay_object = o;
629 evas_object_intercept_move_callback_add(o, _ibar_icon_cb_intercept_move, ic); 626 evas_object_intercept_move_callback_add(o, _ibar_icon_cb_intercept_move, ic);
630 evas_object_intercept_resize_callback_add(o, _ibar_icon_cb_intercept_resize, ic); 627 evas_object_intercept_resize_callback_add(o, _ibar_icon_cb_intercept_resize, ic);
631 edje_object_file_set(o, 628 e_theme_edje_object_set(o, "base/theme/modules/ibar",
632 e_theme_file_get("base/theme/modules/ibar"), 629 "modules/ibar/icon_overlay");
633 "modules/ibar/icon_overlay");
634 evas_object_show(o); 630 evas_object_show(o);
635 631
636 o = edje_object_add(ibb->evas); 632 o = edje_object_add(ibb->evas);
diff --git a/src/modules/pager/e_mod_main.c b/src/modules/pager/e_mod_main.c
index 1232e036c..8d1ae3304 100644
--- a/src/modules/pager/e_mod_main.c
+++ b/src/modules/pager/e_mod_main.c
@@ -329,9 +329,8 @@ _pager_face_new(E_Zone *zone)
329 /* the bg */ 329 /* the bg */
330 o = edje_object_add(face->evas); 330 o = edje_object_add(face->evas);
331 face->pager_object = o; 331 face->pager_object = o;
332 edje_object_file_set(o, 332 e_theme_edje_object_set(o, "base/theme/modules/pager",
333 e_theme_file_get("base/theme/modules/pager"), 333 "modules/pager/main");
334 "modules/pager/main");
335 evas_object_show(o); 334 evas_object_show(o);
336 335
337 o = e_table_add(face->evas); 336 o = e_table_add(face->evas);
@@ -510,9 +509,8 @@ _pager_desk_new(Pager_Face *face, E_Desk *desk, int xpos, int ypos)
510 509
511 o = edje_object_add(face->evas); 510 o = edje_object_add(face->evas);
512 pd->desk_object = o; 511 pd->desk_object = o;
513 edje_object_file_set(o, 512 e_theme_edje_object_set(o, "base/theme/modules/pager",
514 e_theme_file_get("base/theme/modules/pager"), 513 "modules/pager/desk");
515 "modules/pager/desk");
516 e_table_pack(face->table_object, o, xpos, ypos, 1, 1); 514 e_table_pack(face->table_object, o, xpos, ypos, 1, 1);
517 e_table_pack_options_set(o, 1, 1, 1, 1, 0.5, 0.5, 0, 0, -1, -1); 515 e_table_pack_options_set(o, 1, 1, 1, 1, 0.5, 0.5, 0, 0, -1, -1);
518 evas_object_show(o); 516 evas_object_show(o);
@@ -589,9 +587,8 @@ _pager_window_new(Pager_Desk *pd, E_Border *border)
589 587
590 o = edje_object_add(pd->face->evas); 588 o = edje_object_add(pd->face->evas);
591 pw->window_object = o; 589 pw->window_object = o;
592 edje_object_file_set(o, 590 e_theme_edje_object_set(o, "base/theme/modules/pager",
593 e_theme_file_get("base/theme/modules/pager"), 591 "modules/pager/window");
594 "modules/pager/window");
595 if (visible) evas_object_show(o); 592 if (visible) evas_object_show(o);
596 e_layout_pack(pd->layout_object, pw->window_object); 593 e_layout_pack(pd->layout_object, pw->window_object);
597 e_layout_child_raise(pw->window_object); 594 e_layout_child_raise(pw->window_object);
diff --git a/src/modules/temperature/e_mod_main.c b/src/modules/temperature/e_mod_main.c
index 856ee5077..3f879003e 100644
--- a/src/modules/temperature/e_mod_main.c
+++ b/src/modules/temperature/e_mod_main.c
@@ -635,9 +635,8 @@ _temperature_face_new(E_Container *con)
635 o = edje_object_add(con->bg_evas); 635 o = edje_object_add(con->bg_evas);
636 ef->temp_object = o; 636 ef->temp_object = o;
637 637
638 edje_object_file_set(o, 638 e_theme_edje_object_set(o, "base/theme/modules/temperature",
639 e_theme_file_get("base/theme/modules/temperature"), 639 "modules/temperature/main");
640 "modules/temperature/main");
641 evas_object_show(o); 640 evas_object_show(o);
642 641
643 o = evas_object_rectangle_add(con->bg_evas); 642 o = evas_object_rectangle_add(con->bg_evas);