From: Enlightenment S. <no-...@en...> - 2010-01-30 22:22:53
|
Log: Ecore_Str.h -> Eina Author: englebass Date: 2010-01-30 14:22:46 -0800 (Sat, 30 Jan 2010) New Revision: 45745 Modified: trunk/TMP/st/elementary/src/lib/elc_fileselector.c Modified: trunk/TMP/st/elementary/src/lib/elc_fileselector.c =================================================================== --- trunk/TMP/st/elementary/src/lib/elc_fileselector.c 2010-01-30 22:21:24 UTC (rev 45744) +++ trunk/TMP/st/elementary/src/lib/elc_fileselector.c 2010-01-30 22:22:46 UTC (rev 45745) @@ -9,7 +9,6 @@ * write docs */ -#include <Ecore_Str.h> #include <Elementary.h> #include "elm_priv.h" @@ -232,22 +231,22 @@ //~ printf("ANCHORIZE...\n"); buf[0] = '\0'; - tok = ecore_str_split(path, "/", 0); + tok = eina_str_split(path, "/", 0); for (i = 0; tok[i]; i++) { if (strlen(tok[i]) < 1) continue; //~ printf("TOK: %s\n", tok[i]); - ecore_strlcat(buf, "/<a href=", sizeof(buf)); + eina_strlcat(buf, "/<a href=", sizeof(buf)); for (j = 0; j <= i; j++) { if (strlen(tok[j]) < 1) continue; //~ printf("REV: %s\n",tok[j]); - ecore_strlcat(buf, "/", sizeof(buf)); - ecore_strlcat(buf, tok[j], sizeof(buf)); + eina_strlcat(buf, "/", sizeof(buf)); + eina_strlcat(buf, tok[j], sizeof(buf)); } - ecore_strlcat(buf, ">", sizeof(buf)); - ecore_strlcat(buf, tok[i], sizeof(buf)); - ecore_strlcat(buf, "</a>", sizeof(buf)); + eina_strlcat(buf, ">", sizeof(buf)); + eina_strlcat(buf, tok[i], sizeof(buf)); + eina_strlcat(buf, "</a>", sizeof(buf)); } free(tok[0]); free(tok); |
From: Enlightenment S. <no-...@en...> - 2010-11-26 09:05:20
|
Log: Search for icon theme in elm_need_efreet When searching for an icon in a theme, efreet needs to load the specific cache for the theme. So if an icon doesn't exist, this will be a huge overhead. So it is better to find a theme on init, and then stick with it. Author: englebass Date: 2010-11-26 01:05:12 -0800 (Fri, 26 Nov 2010) New Revision: 55004 Modified: trunk/TMP/st/elementary/src/lib/elm_icon.c trunk/TMP/st/elementary/src/lib/elm_main.c trunk/TMP/st/elementary/src/lib/elm_priv.h Modified: trunk/TMP/st/elementary/src/lib/elm_icon.c =================================================================== --- trunk/TMP/st/elementary/src/lib/elm_icon.c 2010-11-26 08:06:19 UTC (rev 55003) +++ trunk/TMP/st/elementary/src/lib/elm_icon.c 2010-11-26 09:05:12 UTC (rev 55004) @@ -292,19 +292,8 @@ const char *path; elm_need_efreet(); - path = efreet_icon_path_find(getenv("E_ICON_THEME"), name, size); - if (!path) - { - const char **itr; - static const char *themes[] = { - "default", "highcolor", "hicolor", "gnome", "Human", "oxygen", NULL - }; - for (itr = themes; (!path) && (*itr); itr++) - { - path = efreet_icon_path_find(*itr, name, size); - if (path) break; - } - } + if (!icon_theme) return EINA_FALSE; + path = efreet_icon_path_find(icon_theme->name.internal, name, size); wd->freedesktop.use = !!path; if (wd->freedesktop.use) { Modified: trunk/TMP/st/elementary/src/lib/elm_main.c =================================================================== --- trunk/TMP/st/elementary/src/lib/elm_main.c 2010-11-26 08:06:19 UTC (rev 55003) +++ trunk/TMP/st/elementary/src/lib/elm_main.c 2010-11-26 09:05:12 UTC (rev 55004) @@ -390,6 +390,7 @@ #ifdef ELM_EFREET static int _elm_need_efreet = 0; +Efreet_Icon_Theme *icon_theme = NULL; #endif EAPI Eina_Bool elm_need_efreet(void) @@ -399,8 +400,21 @@ efreet_init(); efreet_mime_init(); efreet_trash_init(); - /* + icon_theme = efreet_icon_theme_find(getenv("E_ICON_THEME")); + if (!icon_theme) { + const char **itr; + static const char *themes[] = { + "default", "highcolor", "hicolor", "gnome", "Human", "oxygen", NULL + }; + for (itr = themes; *itr; itr++) + { + icon_theme = efreet_icon_theme_find(*itr); + if (icon_theme) break; + } + } + /* + { Eina_List **list; list = efreet_icon_extra_list_get(); @@ -425,6 +439,7 @@ #ifdef ELM_EFREET if (--_elm_need_efreet) return; + icon_theme = NULL; _elm_need_efreet = 0; efreet_trash_shutdown(); efreet_mime_shutdown(); Modified: trunk/TMP/st/elementary/src/lib/elm_priv.h =================================================================== --- trunk/TMP/st/elementary/src/lib/elm_priv.h 2010-11-26 08:06:19 UTC (rev 55003) +++ trunk/TMP/st/elementary/src/lib/elm_priv.h 2010-11-26 09:05:12 UTC (rev 55004) @@ -196,5 +196,8 @@ extern const char *_elm_lib_dir; extern int _elm_log_dom; extern Eina_List *_elm_win_list; +#ifdef ELM_EFREET +extern Efreet_Icon_Theme *icon_theme; +#endif #endif |
From: Enlightenment S. <no-...@en...> - 2010-11-26 09:56:52
|
Log: default and highcolor aren't icon themes And set hicolor last, as all themes inherit from it. Author: englebass Date: 2010-11-26 01:56:45 -0800 (Fri, 26 Nov 2010) New Revision: 55005 Modified: trunk/TMP/st/elementary/src/lib/elm_main.c Modified: trunk/TMP/st/elementary/src/lib/elm_main.c =================================================================== --- trunk/TMP/st/elementary/src/lib/elm_main.c 2010-11-26 09:05:12 UTC (rev 55004) +++ trunk/TMP/st/elementary/src/lib/elm_main.c 2010-11-26 09:56:45 UTC (rev 55005) @@ -405,7 +405,7 @@ { const char **itr; static const char *themes[] = { - "default", "highcolor", "hicolor", "gnome", "Human", "oxygen", NULL + "gnome", "Human", "oxygen", "hicolor", NULL }; for (itr = themes; *itr; itr++) { |
From: Enlightenment S. <no-...@en...> - 2010-11-26 10:16:08
|
Log: _icon_freedesktop_set sets freedesktop.use and add some TODO's Author: englebass Date: 2010-11-26 02:16:00 -0800 (Fri, 26 Nov 2010) New Revision: 55007 Modified: trunk/TMP/st/elementary/src/lib/elm_icon.c Modified: trunk/TMP/st/elementary/src/lib/elm_icon.c =================================================================== --- trunk/TMP/st/elementary/src/lib/elm_icon.c 2010-11-26 10:01:18 UTC (rev 55006) +++ trunk/TMP/st/elementary/src/lib/elm_icon.c 2010-11-26 10:16:00 UTC (rev 55007) @@ -130,8 +130,7 @@ request another, higher resolution, icon. FIXME: Find a better heuristic to determine if there should be an icon with a different resolution. */ - if (!_icon_freedesktop_set(wd, obj, wd->stdicon, w)) - wd->freedesktop.use = EINA_TRUE; + _icon_freedesktop_set(wd, obj, wd->stdicon, w); } #endif _els_smart_icon_scale_up_set(wd->img, wd->scale_up); @@ -265,6 +264,7 @@ if (_elm_theme_object_icon_set(obj, wd->img, name, "default")) { #ifdef ELM_EFREET + /* TODO: elm_unneed_efreet() */ wd->freedesktop.use = EINA_FALSE; #endif return EINA_TRUE; @@ -278,6 +278,7 @@ if (elm_icon_file_set(obj, path, NULL)) { #ifdef ELM_EFREET + /* TODO: elm_unneed_efreet() */ wd->freedesktop.use = EINA_FALSE; #endif return EINA_TRUE; |
From: Enlightenment S. <no-...@en...> - 2010-11-26 11:44:35
|
Log: Fetch theme on first call to _icon_freedesktop_set Author: englebass Date: 2010-11-26 03:37:45 -0800 (Fri, 26 Nov 2010) New Revision: 55009 Modified: trunk/TMP/st/elementary/src/lib/elm_icon.c trunk/TMP/st/elementary/src/lib/elm_main.c trunk/TMP/st/elementary/src/lib/elm_priv.h Modified: trunk/TMP/st/elementary/src/lib/elm_icon.c =================================================================== --- trunk/TMP/st/elementary/src/lib/elm_icon.c 2010-11-26 10:27:41 UTC (rev 55008) +++ trunk/TMP/st/elementary/src/lib/elm_icon.c 2010-11-26 11:37:45 UTC (rev 55009) @@ -1,6 +1,11 @@ #include <Elementary.h> #include "elm_priv.h" +#ifdef ELM_EFREET +#define NON_EXISTING (void *)-1 +static Efreet_Icon_Theme *icon_theme = NULL; +#endif + /** * @defgroup Icon Icon * @@ -293,7 +298,28 @@ const char *path; elm_need_efreet(); - if (!icon_theme) return EINA_FALSE; + if (icon_theme == NON_EXISTING) return EINA_FALSE; + if (!icon_theme) + { + icon_theme = efreet_icon_theme_find(getenv("E_ICON_THEME")); + if (!icon_theme) + { + const char **itr; + static const char *themes[] = { + "gnome", "Human", "oxygen", "hicolor", NULL + }; + for (itr = themes; *itr; itr++) + { + icon_theme = efreet_icon_theme_find(*itr); + if (icon_theme) break; + } + } + } + if (!icon_theme) + { + icon_theme = NON_EXISTING; + return EINA_FALSE; + } path = efreet_icon_path_find(icon_theme->name.internal, name, size); wd->freedesktop.use = !!path; if (wd->freedesktop.use) Modified: trunk/TMP/st/elementary/src/lib/elm_main.c =================================================================== --- trunk/TMP/st/elementary/src/lib/elm_main.c 2010-11-26 10:27:41 UTC (rev 55008) +++ trunk/TMP/st/elementary/src/lib/elm_main.c 2010-11-26 11:37:45 UTC (rev 55009) @@ -390,7 +390,6 @@ #ifdef ELM_EFREET static int _elm_need_efreet = 0; -Efreet_Icon_Theme *icon_theme = NULL; #endif EAPI Eina_Bool elm_need_efreet(void) @@ -400,19 +399,6 @@ efreet_init(); efreet_mime_init(); efreet_trash_init(); - icon_theme = efreet_icon_theme_find(getenv("E_ICON_THEME")); - if (!icon_theme) - { - const char **itr; - static const char *themes[] = { - "gnome", "Human", "oxygen", "hicolor", NULL - }; - for (itr = themes; *itr; itr++) - { - icon_theme = efreet_icon_theme_find(*itr); - if (icon_theme) break; - } - } /* { Eina_List **list; @@ -439,7 +425,6 @@ #ifdef ELM_EFREET if (--_elm_need_efreet) return; - icon_theme = NULL; _elm_need_efreet = 0; efreet_trash_shutdown(); efreet_mime_shutdown(); Modified: trunk/TMP/st/elementary/src/lib/elm_priv.h =================================================================== --- trunk/TMP/st/elementary/src/lib/elm_priv.h 2010-11-26 10:27:41 UTC (rev 55008) +++ trunk/TMP/st/elementary/src/lib/elm_priv.h 2010-11-26 11:37:45 UTC (rev 55009) @@ -196,8 +196,5 @@ extern const char *_elm_lib_dir; extern int _elm_log_dom; extern Eina_List *_elm_win_list; -#ifdef ELM_EFREET -extern Efreet_Icon_Theme *icon_theme; -#endif #endif |
From: Enlightenment S. <no-...@en...> - 2010-12-10 20:29:58
|
Log: Store only theme name Not safe to keep Efreet_Icon_Theme around, it is mmap'ed Author: englebass Date: 2010-12-10 12:29:50 -0800 (Fri, 10 Dec 2010) New Revision: 55467 Trac: http://trac.enlightenment.org/e/changeset/55467 Modified: trunk/TMP/st/elementary/src/lib/elm_icon.c Modified: trunk/TMP/st/elementary/src/lib/elm_icon.c =================================================================== --- trunk/TMP/st/elementary/src/lib/elm_icon.c 2010-12-10 17:50:49 UTC (rev 55466) +++ trunk/TMP/st/elementary/src/lib/elm_icon.c 2010-12-10 20:29:50 UTC (rev 55467) @@ -3,7 +3,7 @@ #ifdef ELM_EFREET #define NON_EXISTING (void *)-1 -static Efreet_Icon_Theme *icon_theme = NULL; +static const char *icon_theme = NULL; #endif /** @@ -304,8 +304,9 @@ if (icon_theme == NON_EXISTING) return EINA_FALSE; if (!icon_theme) { - icon_theme = efreet_icon_theme_find(getenv("E_ICON_THEME")); - if (!icon_theme) + Efreet_Icon_Theme *theme; + theme = efreet_icon_theme_find(getenv("E_ICON_THEME")); + if (!theme) { const char **itr; static const char *themes[] = { @@ -313,17 +314,20 @@ }; for (itr = themes; *itr; itr++) { - icon_theme = efreet_icon_theme_find(*itr); - if (icon_theme) break; + theme = efreet_icon_theme_find(*itr); + if (theme) break; } } + + if (!theme) + { + icon_theme = NON_EXISTING; + return EINA_FALSE; + } + else + icon_theme = eina_stringshare_add(theme->name.internal); } - if (!icon_theme) - { - icon_theme = NON_EXISTING; - return EINA_FALSE; - } - path = efreet_icon_path_find(icon_theme->name.internal, name, size); + path = efreet_icon_path_find(icon_theme, name, size); wd->freedesktop.use = !!path; if (wd->freedesktop.use) { |
From: Enlightenment S. <no-...@en...> - 2010-12-10 22:06:15
|
Log: TODO++ Author: englebass Date: 2010-12-10 14:06:02 -0800 (Fri, 10 Dec 2010) New Revision: 55471 Trac: http://trac.enlightenment.org/e/changeset/55471 Modified: trunk/TMP/st/elementary/src/lib/elm_icon.c Modified: trunk/TMP/st/elementary/src/lib/elm_icon.c =================================================================== --- trunk/TMP/st/elementary/src/lib/elm_icon.c 2010-12-10 21:15:05 UTC (rev 55470) +++ trunk/TMP/st/elementary/src/lib/elm_icon.c 2010-12-10 22:06:02 UTC (rev 55471) @@ -305,6 +305,7 @@ if (!icon_theme) { Efreet_Icon_Theme *theme; + /* TODO: Listen for EFREET_EVENT_ICON_CACHE_UPDATE */ theme = efreet_icon_theme_find(getenv("E_ICON_THEME")); if (!theme) { |