From: Enlightenment C. <no...@cv...> - 2007-11-04 09:33:06
|
Enlightenment CVS committal Author : englebass Project : e17 Module : libs/efreet Dir : e17/libs/efreet/src/bin Modified Files: Makefile.am ef_desktop.c ef_icon_theme.c ef_ini.c ef_locale.c ef_menu.c ef_mime.c ef_utils.c main.c Log Message: EAPI =================================================================== RCS file: /cvs/e/e17/libs/efreet/src/bin/Makefile.am,v retrieving revision 1.5 retrieving revision 1.6 diff -u -3 -r1.5 -r1.6 --- Makefile.am 6 Sep 2007 16:15:09 -0000 1.5 +++ Makefile.am 4 Nov 2007 09:32:35 -0000 1.6 @@ -17,13 +17,16 @@ ef_data_dirs.c \ ef_icon_theme.c \ ef_ini.c \ -ef_locale.c \ ef_desktop.c \ ef_menu.c \ -ef_utils.c \ ef_mime.c \ main.c +if DEFAULT_VISIBILITY +efreet_test_SOURCES += \ +ef_utils.c \ +ef_locale.c +endif efreet_spec_test_DEPENDENCIES = $(top_builddir)/src/lib/libefreet.la efreet_spec_test_LDADD = $(top_builddir)/src/lib/libefreet.la =================================================================== RCS file: /cvs/e/e17/libs/efreet/src/bin/ef_desktop.c,v retrieving revision 1.8 retrieving revision 1.9 diff -u -3 -r1.8 -r1.9 --- ef_desktop.c 6 Sep 2007 16:15:09 -0000 1.8 +++ ef_desktop.c 4 Nov 2007 09:32:35 -0000 1.9 @@ -5,7 +5,9 @@ #include <stdlib.h> #include <unistd.h> #include <limits.h> -#include "../lib/efreet_private.h" + +#define IF_FREE(x) do { if (x) free(x); x = NULL; } while (0); +#define NEW(x, c) calloc(c, sizeof(x)) static void _cb_command(void *data, Efreet_Desktop *desktop, char *exec, int remaining); =================================================================== RCS file: /cvs/e/e17/libs/efreet/src/bin/ef_icon_theme.c,v retrieving revision 1.7 retrieving revision 1.8 diff -u -3 -r1.7 -r1.8 --- ef_icon_theme.c 6 Sep 2007 16:15:09 -0000 1.7 +++ ef_icon_theme.c 4 Nov 2007 09:32:35 -0000 1.8 @@ -1,5 +1,4 @@ #include "Efreet.h" -#include "efreet_private.h" #include <stdio.h> #include <string.h> #include <stdlib.h> @@ -11,6 +10,7 @@ #define SIZE "128x128" #define THEME "Tango" +#define FREE(x) do { free(x); x = NULL; } while (0); static void ef_icon_theme_themes_find(const char *search_dir, Ecore_Hash *themes); =================================================================== RCS file: /cvs/e/e17/libs/efreet/src/bin/ef_ini.c,v retrieving revision 1.2 retrieving revision 1.3 diff -u -3 -r1.2 -r1.3 --- ef_ini.c 6 Sep 2007 16:15:09 -0000 1.2 +++ ef_ini.c 4 Nov 2007 09:32:35 -0000 1.3 @@ -1,8 +1,8 @@ #include "Efreet.h" -#include "efreet_private.h" #include "config.h" #include <stdio.h> #include <string.h> +#include <stdlib.h> int ef_cb_ini_parse(void) =================================================================== RCS file: /cvs/e/e17/libs/efreet/src/bin/ef_locale.c,v retrieving revision 1.2 retrieving revision 1.3 diff -u -3 -r1.2 -r1.3 --- ef_locale.c 6 Sep 2007 16:15:09 -0000 1.2 +++ ef_locale.c 4 Nov 2007 09:32:35 -0000 1.3 @@ -1,5 +1,8 @@ -#include <Efreet.h> +#include "Efreet.h" #include "efreet_private.h" +#include <stdlib.h> +#include <stdio.h> +#include <string.h> int ef_cb_locale(void) =================================================================== RCS file: /cvs/e/e17/libs/efreet/src/bin/ef_menu.c,v retrieving revision 1.8 retrieving revision 1.9 diff -u -3 -r1.8 -r1.9 --- ef_menu.c 6 Sep 2007 16:15:09 -0000 1.8 +++ ef_menu.c 4 Nov 2007 09:32:35 -0000 1.9 @@ -1,11 +1,13 @@ /* vim: set sw=4 ts=4 sts=4 et: */ #include "Efreet.h" -#include "efreet_private.h" +#include "config.h" +#include <stdio.h> +#include <unistd.h> +#if 0 static void ef_menu_desktop_exec(Efreet_Menu *menu) { -#if 0 if (menu->entries) { Efreet_Desktop *desktop; @@ -22,8 +24,8 @@ while ((sub_menu = ecore_list_next(menu->sub_menus))) ef_menu_desktop_exec(sub_menu); } -#endif } +#endif int ef_cb_menu_get(void) =================================================================== RCS file: /cvs/e/e17/libs/efreet/src/bin/ef_mime.c,v retrieving revision 1.6 retrieving revision 1.7 diff -u -3 -r1.6 -r1.7 --- ef_mime.c 6 Sep 2007 16:15:09 -0000 1.6 +++ ef_mime.c 4 Nov 2007 09:32:35 -0000 1.7 @@ -1,8 +1,9 @@ /* vim: set sw=4 ts=4 sts=4 et: */ #include "Efreet.h" #include "Efreet_Mime.h" -#include "efreet_private.h" +#include "config.h" #include <stdio.h> +#include <string.h> #include <sys/types.h> #include <sys/time.h> =================================================================== RCS file: /cvs/e/e17/libs/efreet/src/bin/ef_utils.c,v retrieving revision 1.6 retrieving revision 1.7 diff -u -3 -r1.6 -r1.7 --- ef_utils.c 3 Jun 2007 19:53:08 -0000 1.6 +++ ef_utils.c 4 Nov 2007 09:32:35 -0000 1.7 @@ -1,23 +1,16 @@ /* vim: set sw=4 ts=4 sts=4 et: */ #include "Efreet.h" #include "efreet_private.h" +#include <stdio.h> int ef_cb_utils(void) { Efreet_Desktop *desktop; - char *tmp1; const char *tmp2; if (!efreet_util_init()) return 0; printf("\n"); - tmp1 = efreet_util_path_in_default("applications", - "/usr/share/applications/test.desktop"); - if (tmp1) - { - printf("%s\n", tmp1); - free(tmp1); - } tmp2 = efreet_util_path_to_file_id("/usr/share/applications/this/tmp/test.desktop"); if (tmp2) printf("%s\n", tmp2); =================================================================== RCS file: /cvs/e/e17/libs/efreet/src/bin/main.c,v retrieving revision 1.10 retrieving revision 1.11 diff -u -3 -r1.10 -r1.11 --- main.c 6 Sep 2007 16:15:09 -0000 1.10 +++ main.c 4 Nov 2007 09:32:35 -0000 1.11 @@ -15,7 +15,10 @@ int ef_cb_efreet_icon_theme_list(void); int ef_cb_efreet_icon_match(void); int ef_cb_ini_parse(void); +int ef_cb_ini_long_line(void); +#if DEFAULT_VISIBILITY int ef_cb_locale(void); +#endif int ef_cb_desktop_parse(void); int ef_cb_desktop_save(void); int ef_cb_desktop_command_get(void); @@ -29,8 +32,9 @@ #if 0 int ef_cb_menu_edit(void); #endif -int ef_cb_ini_long_line(void); +#ifndef HIDDEN_VISIBILITY int ef_cb_utils(void); +#endif int ef_mime_cb_get(void); typedef struct Efreet_Test Efreet_Test; @@ -51,7 +55,9 @@ {"Icon Matching", ef_cb_efreet_icon_match}, {"INI Parsing", ef_cb_ini_parse}, {"INI Long Line Parsing", ef_cb_ini_long_line}, +#if DEFAULT_VISIBILITY {"Locale Parsing", ef_cb_locale}, +#endif {"Desktop Parsing", ef_cb_desktop_parse}, {"Desktop Type Parsing", ef_cb_desktop_type_parse}, {"Desktop Save", ef_cb_desktop_save}, @@ -65,7 +71,9 @@ #if 0 {"Menu Edit", ef_cb_menu_edit}, #endif +#if DEFAULT_VISIBILITY {"Utils", ef_cb_utils}, +#endif {"Mime", ef_mime_cb_get}, {NULL, NULL} }; |
From: Enlightenment C. <no...@cv...> - 2007-11-04 10:16:06
|
Enlightenment CVS committal Author : englebass Project : e17 Module : libs/efreet Dir : e17/libs/efreet/src/lib Modified Files: efreet_private.h efreet_utils.c efreet_utils.h Log Message: Don't hide this function. =================================================================== RCS file: /cvs/e/e17/libs/efreet/src/lib/efreet_private.h,v retrieving revision 1.11 retrieving revision 1.12 diff -u -3 -r1.11 -r1.12 --- efreet_private.h 4 Nov 2007 09:32:35 -0000 1.11 +++ efreet_private.h 4 Nov 2007 10:16:02 -0000 1.12 @@ -207,8 +207,6 @@ const char *efreet_desktop_environment_get(void); -const char *efreet_util_path_to_file_id(const char *path); - /** * @} */ =================================================================== RCS file: /cvs/e/e17/libs/efreet/src/lib/efreet_utils.c,v retrieving revision 1.46 retrieving revision 1.47 diff -u -3 -r1.46 -r1.47 --- efreet_utils.c 4 Nov 2007 09:32:35 -0000 1.46 +++ efreet_utils.c 4 Nov 2007 10:16:02 -0000 1.47 @@ -197,7 +197,7 @@ return ret; } -const char * +EAPI const char * efreet_util_path_to_file_id(const char *path) { size_t len; =================================================================== RCS file: /cvs/e/e17/libs/efreet/src/lib/efreet_utils.h,v retrieving revision 1.24 retrieving revision 1.25 diff -u -3 -r1.24 -r1.25 --- efreet_utils.h 4 Nov 2007 09:32:35 -0000 1.24 +++ efreet_utils.h 4 Nov 2007 10:16:02 -0000 1.25 @@ -23,6 +23,8 @@ EAPI int efreet_util_init(void); EAPI int efreet_util_shutdown(void); +EAPI const char *efreet_util_path_to_file_id(const char *path); + EAPI Ecore_List *efreet_util_desktop_mime_list(const char *mime); EAPI Efreet_Desktop *efreet_util_desktop_wm_class_find(const char *wmname, const char *wmclass); |
From: Enlightenment C. <no...@cv...> - 2007-11-04 10:16:06
|
Enlightenment CVS committal Author : englebass Project : e17 Module : libs/efreet Dir : e17/libs/efreet/src/bin Modified Files: Makefile.am main.c Log Message: Don't hide this function. =================================================================== RCS file: /cvs/e/e17/libs/efreet/src/bin/Makefile.am,v retrieving revision 1.6 retrieving revision 1.7 diff -u -3 -r1.6 -r1.7 --- Makefile.am 4 Nov 2007 09:32:35 -0000 1.6 +++ Makefile.am 4 Nov 2007 10:16:02 -0000 1.7 @@ -17,6 +17,7 @@ ef_data_dirs.c \ ef_icon_theme.c \ ef_ini.c \ +ef_utils.c \ ef_desktop.c \ ef_menu.c \ ef_mime.c \ @@ -24,7 +25,6 @@ if DEFAULT_VISIBILITY efreet_test_SOURCES += \ -ef_utils.c \ ef_locale.c endif =================================================================== RCS file: /cvs/e/e17/libs/efreet/src/bin/main.c,v retrieving revision 1.11 retrieving revision 1.12 diff -u -3 -r1.11 -r1.12 --- main.c 4 Nov 2007 09:32:35 -0000 1.11 +++ main.c 4 Nov 2007 10:16:02 -0000 1.12 @@ -32,9 +32,7 @@ #if 0 int ef_cb_menu_edit(void); #endif -#ifndef HIDDEN_VISIBILITY int ef_cb_utils(void); -#endif int ef_mime_cb_get(void); typedef struct Efreet_Test Efreet_Test; @@ -71,9 +69,7 @@ #if 0 {"Menu Edit", ef_cb_menu_edit}, #endif -#if DEFAULT_VISIBILITY {"Utils", ef_cb_utils}, -#endif {"Mime", ef_mime_cb_get}, {NULL, NULL} }; |
From: Enlightenment C. <no...@cv...> - 2007-11-04 11:20:27
|
Enlightenment CVS committal Author : englebass Project : e17 Module : libs/efreet Dir : e17/libs/efreet/src/lib Modified Files: Efreet_Mime.h Log Message: define EAPI =================================================================== RCS file: /cvs/e/e17/libs/efreet/src/lib/Efreet_Mime.h,v retrieving revision 1.8 retrieving revision 1.9 diff -u -3 -r1.8 -r1.9 --- Efreet_Mime.h 4 Nov 2007 09:32:35 -0000 1.8 +++ Efreet_Mime.h 4 Nov 2007 11:19:55 -0000 1.9 @@ -18,6 +18,27 @@ * Freedesktop.org Shared Mime Info standard. */ +#ifdef EAPI +#undef EAPI +#endif +#ifdef _MSC_VER +# ifdef BUILDING_DLL +# define EAPI __declspec(dllexport) +# else +# define EAPI __declspec(dllimport) +# endif +#else +# ifdef __GNUC__ +# if __GNUC__ >= 4 +# define EAPI __attribute__ ((visibility("default"))) +# else +# define EAPI +# endif +# else +# define EAPI +# endif +#endif + #ifdef __cplusplus extern "C" { #endif |
From: Enlightenment C. <no...@cv...> - 2007-11-23 06:57:40
|
Enlightenment CVS committal Author : englebass Project : e17 Module : libs/efreet Dir : e17/libs/efreet/src/lib Modified Files: efreet_desktop.c Log Message: Store X- keys =================================================================== RCS file: /cvs/e/e17/libs/efreet/src/lib/efreet_desktop.c,v retrieving revision 1.31 retrieving revision 1.32 diff -u -3 -r1.31 -r1.32 --- efreet_desktop.c 16 Nov 2007 04:55:40 -0000 1.31 +++ efreet_desktop.c 23 Nov 2007 06:57:39 -0000 1.32 @@ -63,6 +63,8 @@ Efreet_Ini *ini); static void efreet_desktop_x_fields_parse(Ecore_Hash_Node *node, Efreet_Desktop *desktop); +static void efreet_desktop_x_fields_save(Ecore_Hash_Node *node, + Efreet_Ini *ini); static int efreet_desktop_environment_check(Efreet_Ini *ini); static char *efreet_string_append(char *dest, int *size, int *len, const char *src); @@ -981,6 +983,10 @@ efreet_ini_boolean_set(ini, "NoDisplay", desktop->no_display); efreet_ini_boolean_set(ini, "Hidden", desktop->hidden); + + if (desktop->x) ecore_hash_for_each_node(desktop->x, + ECORE_FOR_EACH(efreet_desktop_x_fields_save), + ini); } /** @@ -988,7 +994,7 @@ * @param node: The node to work with * @param desktop: The desktop file to work with * @return Returns no value - * @brief Parses out an X- deys from @a node and stores in @a desktop + * @brief Parses out an X- key from @a node and stores in @a desktop */ static void efreet_desktop_x_fields_parse(Ecore_Hash_Node *node, Efreet_Desktop *desktop) @@ -1005,6 +1011,19 @@ } ecore_hash_set(desktop->x, (void *)ecore_string_instance(node->key), (void *)ecore_string_instance(node->value)); +} + +/** + * @internal + * @param node: The node to work with + * @param ini: The ini file to work with + * @return Returns no value + * @brief Stores an X- key from @a node and stores in @a ini + */ +static void +efreet_desktop_x_fields_save(Ecore_Hash_Node *node, Efreet_Ini *ini) +{ + efreet_ini_string_set(ini, node->key, node->value); } |
From: Enlightenment C. <no...@cv...> - 2008-01-17 22:38:49
|
Enlightenment CVS committal Author : englebass Project : e17 Module : libs/efreet Dir : e17/libs/efreet/src/lib Modified Files: efreet_menu.c Log Message: A submenu needs real entries to be non empty. =================================================================== RCS file: /cvs/e/e17/libs/efreet/src/lib/efreet_menu.c,v retrieving revision 1.25 retrieving revision 1.26 diff -u -3 -r1.25 -r1.26 --- efreet_menu.c 4 Nov 2007 09:32:35 -0000 1.25 +++ efreet_menu.c 17 Jan 2008 22:38:46 -0000 1.26 @@ -264,6 +264,7 @@ static Efreet_Menu *efreet_menu_layout_desktop(Efreet_Menu_Desktop *md); static void efreet_menu_layout_entries_get(Efreet_Menu *entry, Efreet_Menu_Internal *internal, Efreet_Menu_Layout *layout); +static int efreet_menu_layout_is_empty(Efreet_Menu *entry); static Efreet_Menu_Internal *efreet_menu_internal_new(void); static void efreet_menu_internal_free(Efreet_Menu_Internal *internal); @@ -3712,7 +3713,7 @@ if (!(sub->directory && sub->directory->no_display) && !sub->deleted) { sub_entry = efreet_menu_layout_menu(sub); - if (!show_empty && !sub_entry->entries) + if (!show_empty && efreet_menu_layout_is_empty(sub_entry)) efreet_menu_free(sub_entry); else if (in_line && ((inline_limit == 0) || @@ -3815,7 +3816,7 @@ if (!sub_entry) { sub_entry = efreet_menu_layout_menu(sub); - if (!internal->show_empty && !sub_entry->entries) + if (!internal->show_empty && efreet_menu_layout_is_empty(sub_entry)) efreet_menu_free(sub_entry); else if (internal->in_line && ((internal->inline_limit == 0) || @@ -3909,4 +3910,20 @@ efreet_menu_cb_move_compare(Efreet_Menu_Move *move, const char *old) { return ecore_str_compare(move->old_name, old); +} + +static int +efreet_menu_layout_is_empty(Efreet_Menu *entry) +{ + Efreet_Menu *sub_entry; + + if (!entry->entries) return 1; + + ecore_list_first_goto(entry->entries); + while ((sub_entry = ecore_list_next(entry->entries))) + { + if (sub_entry->type == EFREET_MENU_ENTRY_MENU) return 0; + if (sub_entry->type == EFREET_MENU_ENTRY_DESKTOP) return 0; + } + return 1; } |
From: Enlightenment C. <no...@cv...> - 2008-02-24 19:12:54
|
Enlightenment CVS committal Author : englebass Project : e17 Module : libs/efreet Dir : e17/libs/efreet/src/lib Modified Files: efreet_desktop.c Log Message: Fix callback to match changed function prototype. =================================================================== RCS file: /cvs/e/e17/libs/efreet/src/lib/efreet_desktop.c,v retrieving revision 1.35 retrieving revision 1.36 diff -u -3 -r1.35 -r1.36 --- efreet_desktop.c 20 Feb 2008 15:39:03 -0000 1.35 +++ efreet_desktop.c 24 Feb 2008 19:12:49 -0000 1.36 @@ -97,7 +97,7 @@ long int ultotal, long int ulnow); -static void efreet_desktop_exec_cb(void *data, Efreet_Desktop *desktop, +static void *efreet_desktop_exec_cb(void *data, Efreet_Desktop *desktop, char *exec, int remaining); static void efreet_desktop_type_info_free(Efreet_Desktop_Type_Info *info); @@ -520,12 +520,13 @@ efreet_desktop_command_get(desktop, files, efreet_desktop_exec_cb, data); } -static void +static void * efreet_desktop_exec_cb(void *data, Efreet_Desktop *desktop __UNUSED__, char *exec, int remaining __UNUSED__) { ecore_exe_run(exec, data); free(exec); + return NULL; } /** |
From: Enlightenment C. <no...@cv...> - 2008-02-24 19:14:16
|
Enlightenment CVS committal Author : englebass Project : e17 Module : libs/efreet Dir : e17/libs/efreet/src/bin Modified Files: ef_desktop.c Log Message: Fix function to match callback prototype. =================================================================== RCS file: /cvs/e/e17/libs/efreet/src/bin/ef_desktop.c,v retrieving revision 1.9 retrieving revision 1.10 diff -u -3 -r1.9 -r1.10 --- ef_desktop.c 4 Nov 2007 09:32:35 -0000 1.9 +++ ef_desktop.c 24 Feb 2008 19:14:14 -0000 1.10 @@ -9,7 +9,7 @@ #define IF_FREE(x) do { if (x) free(x); x = NULL; } while (0); #define NEW(x, c) calloc(c, sizeof(x)) -static void _cb_command(void *data, Efreet_Desktop *desktop, char *exec, int remaining); +static void *_cb_command(void *data, Efreet_Desktop *desktop, char *exec, int remaining); int @@ -326,7 +326,7 @@ return ret; } -static void +static void * _cb_command(void *data, Efreet_Desktop *desktop, char *exec, int remaining) { Test_Info *info = data; @@ -348,6 +348,7 @@ } free(exec); + return NULL; } static void * |
From: Enlightenment C. <no...@cv...> - 2008-02-24 19:20:10
|
Enlightenment CVS committal Author : englebass Project : e17 Module : libs/efreet Dir : e17/libs/efreet/src/lib Modified Files: efreet_desktop.c Log Message: TODO++ =================================================================== RCS file: /cvs/e/e17/libs/efreet/src/lib/efreet_desktop.c,v retrieving revision 1.36 retrieving revision 1.37 diff -u -3 -r1.36 -r1.37 --- efreet_desktop.c 24 Feb 2008 19:12:49 -0000 1.36 +++ efreet_desktop.c 24 Feb 2008 19:20:08 -0000 1.37 @@ -1766,6 +1766,7 @@ { Ecore_List *execs; execs = efreet_desktop_command_build(f->command); + /* TODO: Need to handle the return value from efreet_desktop_command_execs_process */ efreet_desktop_command_execs_process(f->command, execs); ecore_list_destroy(execs); efreet_desktop_command_free(f->command); |
From: Enlightenment C. <no...@cv...> - 2008-04-07 05:52:50
|
Enlightenment CVS committal Author : englebass Project : e17 Module : libs/efreet Dir : e17/libs/efreet/src/lib Modified Files: efreet_mime.c Log Message: formatting =================================================================== RCS file: /cvs/e/e17/libs/efreet/src/lib/efreet_mime.c,v retrieving revision 1.35 retrieving revision 1.36 diff -u -3 -r1.35 -r1.36 --- efreet_mime.c 6 Apr 2008 23:02:54 -0000 1.35 +++ efreet_mime.c 7 Apr 2008 05:52:45 -0000 1.36 @@ -921,8 +921,8 @@ } else { - short tshort; - + short tshort; + if (!mime) continue; if (!entry) { @@ -954,8 +954,8 @@ case '=': ptr++; - - memcpy(&tshort, ptr, sizeof(short)); + + memcpy(&tshort, ptr, sizeof(short)); entry->value_len = ntohs(tshort); ptr += 2; |
From: Enlightenment C. <no...@cv...> - 2008-07-06 14:06:34
|
Enlightenment CVS committal Author : englebass Project : e17 Module : libs/efreet Dir : e17/libs/efreet/src/lib Modified Files: efreet_desktop.c Log Message: Fix single quouting, patch from ÐÑÑев ФÑÐ´Ð¾Ñ =================================================================== RCS file: /cvs/e/e17/libs/efreet/src/lib/efreet_desktop.c,v retrieving revision 1.38 retrieving revision 1.39 diff -u -3 -r1.38 -r1.39 --- efreet_desktop.c 18 Mar 2008 04:01:41 -0000 1.38 +++ efreet_desktop.c 6 Jul 2008 14:06:31 -0000 1.39 @@ -1467,7 +1467,7 @@ while (*p) { if (*p == '\'') - dest = efreet_string_append_char(dest, size, len, '\\'); + dest = efreet_string_append(dest, size, len, "\'\\\'"); dest = efreet_string_append_char(dest, size, len, *p); p++; |
From: Enlightenment C. <no...@cv...> - 2008-07-16 19:45:17
|
Enlightenment CVS committal Author : englebass Project : e17 Module : libs/efreet Dir : e17/libs/efreet/src/lib Modified Files: Makefile.am Added Files: Efreet_Trash.h efreet_trash.c Log Message: FDO Trash. =================================================================== RCS file: /cvs/e/e17/libs/efreet/src/lib/Makefile.am,v retrieving revision 1.10 retrieving revision 1.11 diff -u -3 -r1.10 -r1.11 --- Makefile.am 4 Nov 2007 10:28:23 -0000 1.10 +++ Makefile.am 16 Jul 2008 19:45:12 -0000 1.11 @@ -6,7 +6,7 @@ -I$(top_srcdir) \ @ECORE_CFLAGS@ -lib_LTLIBRARIES = libefreet.la libefreet_mime.la +lib_LTLIBRARIES = libefreet.la libefreet_mime.la libefreet_trash.la EFREETHEADERS = \ Efreet.h \ @@ -43,10 +43,23 @@ libefreet_mime_la_SOURCES = \ $(EFREETMIMESOURCES) + +EFREETTRASHHEADERS = \ +Efreet_Trash.h + +EFREETTRASHSOURCES = \ +efreet_trash.c \ +$(EFREETTRASHHEADERS) + +libefreet_trash_la_SOURCES = \ +$(EFREETTRASHSOURCES) + + installed_headersdir = $(prefix)/include/efreet -installed_headers_DATA = $(EFREETHEADERS) $(EFREETMIMEHEADERS) +installed_headers_DATA = $(EFREETHEADERS) $(EFREETMIMEHEADERS) $(EFREETTRASHHEADERS) libefreet_la_LIBADD = @ECORE_LIBS@ libefreet_la_LDFLAGS = -version-info @version_info@ libefreet_mime_la_LIBADD = @ECORE_LIBS@ libefreet.la +libefreet_trash_la_LIBADD = @ECORE_LIBS@ libefreet.la |
From: Enlightenment C. <no...@cv...> - 2008-07-16 19:45:51
|
Enlightenment CVS committal Author : englebass Project : e17 Module : libs/efreet Dir : e17/libs/efreet Modified Files: configure.in Added Files: efreet-trash.pc.in Log Message: FDO Trash. =================================================================== RCS file: /cvs/e/e17/libs/efreet/configure.in,v retrieving revision 1.21 retrieving revision 1.22 diff -u -3 -r1.21 -r1.22 --- configure.in 19 May 2008 00:07:11 -0000 1.21 +++ configure.in 16 Jul 2008 19:45:11 -0000 1.22 @@ -1,6 +1,6 @@ rm -f config.cache -AC_INIT(efreet, 0.5.0.043, enl...@li...) +AC_INIT(efreet, 0.5.0.044, enl...@li...) AC_PREREQ(2.52) AC_CONFIG_SRCDIR(configure.in) AC_CANONICAL_BUILD @@ -69,6 +69,7 @@ efreet.spec efreet.pc efreet-mime.pc +efreet-trash.pc Makefile src/Makefile src/lib/Makefile |
From: Enlightenment C. <no...@cv...> - 2008-07-16 19:45:51
|
Enlightenment CVS committal Author : englebass Project : e17 Module : libs/efreet Dir : e17/libs/efreet/doc Modified Files: head.html Log Message: FDO Trash. =================================================================== RCS file: /cvs/e/e17/libs/efreet/doc/head.html,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 --- head.html 6 Dec 2007 16:58:41 -0000 1.3 +++ head.html 16 Jul 2008 19:45:12 -0000 1.4 @@ -23,6 +23,7 @@ <table border="0" cellpadding="0" cellspacing="4px"> <tr> <td class='nav'><a class='nav' href="index.html">Main Page</a></td> + <td class='nav'><a class='nav' href="modules.html">Modules</a></td> <td class="nav"><a class="nav" href="annotated.html">Data Structures</a></td> <td class="nav"><a class="nav" href="classes.html">Index</a></td> </tr> |
From: Enlightenment C. <no...@cv...> - 2008-07-29 18:52:33
|
Enlightenment CVS committal Author : englebass Project : e17 Module : libs/efreet Dir : e17/libs/efreet/src/lib Modified Files: efreet_icon.c Log Message: Reduce the needed amount of ecore_strlcpy. =================================================================== RCS file: /cvs/e/e17/libs/efreet/src/lib/efreet_icon.c,v retrieving revision 1.30 retrieving revision 1.31 diff -u -3 -r1.30 -r1.31 --- efreet_icon.c 4 Nov 2007 09:32:35 -0000 1.30 +++ efreet_icon.c 29 Jul 2008 18:52:27 -0000 1.31 @@ -697,7 +697,6 @@ * @param theme: The theme to use * @param dir: The theme directory to look in * @param icon_name: The icon name to look for - * @param size: The icon size to look for * @return Returns the icon cloest matching the given information or NULL if * none found * @brief Tries to find the file closest matching the given icon @@ -845,28 +844,28 @@ { char *icon = NULL; char path[PATH_MAX], *ext; + const char *icon_path[] = { dir, "/", icon_name, NULL }; + size_t size; if (!dir || !icon_name) return NULL; + size = efreet_array_cat(path, sizeof(path), icon_path); ecore_list_first_goto(efreet_icon_extensions); while ((ext = ecore_list_next(efreet_icon_extensions))) { - const char *icon_path[] = { dir, "/", icon_name, ext, NULL }; - efreet_array_cat(path, sizeof(path), icon_path); + ecore_strlcpy(path + size, ext, sizeof(path) - size); if (ecore_file_exists(path)) { icon = strdup(path); if (icon) break; } + *(path + size) = '\0'; } /* This is to catch non-conforming .desktop files */ #ifdef SLOPPY_SPEC if (!icon) { - const char *icon_path[] = { dir, "/", icon_name, NULL }; - efreet_array_cat(path, sizeof(path), icon_path); - if (ecore_file_exists(path)) { icon = strdup(path); @@ -896,13 +895,15 @@ { char *icon = NULL; char file_path[PATH_MAX]; - const char *ext, *path_strs[] = { path, "/", dir->name, "/", icon_name, NULL, NULL }; + const char *ext, *path_strs[] = { path, "/", dir->name, "/", icon_name, NULL }; + size_t len; + + len = efreet_array_cat(file_path, sizeof(file_path), path_strs); ecore_list_first_goto(efreet_icon_extensions); while ((ext = ecore_list_next(efreet_icon_extensions))) { - path_strs[5] = ext; - efreet_array_cat(file_path, sizeof(file_path), path_strs); + ecore_strlcpy(file_path + len, ext, sizeof(file_path) - len); if (ecore_file_exists(file_path)) { |
From: Enlightenment C. <no...@cv...> - 2008-07-29 18:55:43
|
Enlightenment CVS committal Author : englebass Project : e17 Module : libs/efreet Dir : e17/libs/efreet/src/lib Modified Files: efreet_icon.c Log Message: remove uneeded variable. =================================================================== RCS file: /cvs/e/e17/libs/efreet/src/lib/efreet_icon.c,v retrieving revision 1.31 retrieving revision 1.32 diff -u -3 -r1.31 -r1.32 --- efreet_icon.c 29 Jul 2008 18:52:27 -0000 1.31 +++ efreet_icon.c 29 Jul 2008 18:55:41 -0000 1.32 @@ -1407,7 +1407,6 @@ if (tmp) { char *t, *s, *p; - int last = 0; theme->directories = ecore_list_new(); ecore_list_free_cb_set(theme->directories, @@ -1417,17 +1416,16 @@ s = t; p = s; - while (!last) + while (p) { p = strchr(s, ','); - if (!p) last = 1; - else *p = '\0'; + if (p) *p = '\0'; ecore_list_append(theme->directories, efreet_icon_theme_directory_new(ini, s)); - if (!last) s = ++p; + if (p) s = ++p; } FREE(t); |
From: Enlightenment C. <no...@cv...> - 2008-08-14 16:59:48
|
Enlightenment CVS committal Author : englebass Project : e17 Module : libs/efreet Dir : e17/libs/efreet/src/lib Modified Files: efreet_icon.c efreet_icon.h Log Message: ignore missing icons for 5 seconds. =================================================================== RCS file: /cvs/e/e17/libs/efreet/src/lib/efreet_icon.c,v retrieving revision 1.33 retrieving revision 1.34 diff -u -3 -r1.33 -r1.34 --- efreet_icon.c 2 Aug 2008 21:48:44 -0000 1.33 +++ efreet_icon.c 14 Aug 2008 16:59:41 -0000 1.34 @@ -344,13 +344,20 @@ if (cache) { ecore_list_remove(efreet_icon_cache); - if (!stat(cache->path, &st) && st.st_mtime == cache->lasttime) + if (!cache->path) + { + if (ecore_time_get() < (cache->lasttime + 5)) + { + ecore_list_prepend(efreet_icon_cache, cache); + return NULL; + } + } + else if (!stat(cache->path, &st) && st.st_mtime == cache->lasttime) { ecore_list_prepend(efreet_icon_cache, cache); return strdup(cache->path); } - else - efreet_icon_cache_free(cache); + efreet_icon_cache_free(cache); } theme = efreet_icon_find_theme_check(theme_name); @@ -372,17 +379,17 @@ */ if (!value) value = efreet_icon_fallback_icon(icon); + cache = NEW(Efreet_Icon_Cache, 1); + cache->key = strdup(key); if ((value) && !stat(value, &st)) { - Efreet_Icon_Cache *cache; - - cache = NEW(Efreet_Icon_Cache, 1); - cache->key = strdup(key); cache->path = strdup(value); cache->lasttime = st.st_mtime; - ecore_list_prepend(efreet_icon_cache, cache); - efreet_icon_cache_flush(); } + else + cache->lasttime = ecore_time_get(); + ecore_list_prepend(efreet_icon_cache, cache); + efreet_icon_cache_flush(); return value; } @@ -451,11 +458,11 @@ * @brief Retrieves all of the information about the given icon. */ EAPI Efreet_Icon * -efreet_icon_find(const char *theme, const char *icon, const char *size) +efreet_icon_find(const char *theme_name, const char *icon, const char *size) { char *path; - path = efreet_icon_path_find(theme, icon, size); + path = efreet_icon_path_find(theme_name, icon, size); if (path) { Efreet_Icon *icon; =================================================================== RCS file: /cvs/e/e17/libs/efreet/src/lib/efreet_icon.h,v retrieving revision 1.7 retrieving revision 1.8 diff -u -3 -r1.7 -r1.8 --- efreet_icon.h 4 Nov 2007 09:32:35 -0000 1.7 +++ efreet_icon.h 14 Aug 2008 16:59:41 -0000 1.8 @@ -170,7 +170,7 @@ EAPI char *efreet_icon_list_find(const char *theme_name, Ecore_List *icons, const char *size); -EAPI char *efreet_icon_path_find(const char *theme, +EAPI char *efreet_icon_path_find(const char *theme_name, const char *icon, const char *size); EAPI void efreet_icon_free(Efreet_Icon *icon); |
From: Enlightenment C. <no...@cv...> - 2008-08-14 19:47:51
|
Enlightenment CVS committal Author : englebass Project : e17 Module : libs/efreet Dir : e17/libs/efreet/src/lib Modified Files: efreet_icon.c Log Message: Make the icon cache work for efreet_icon_list_find. =================================================================== RCS file: /cvs/e/e17/libs/efreet/src/lib/efreet_icon.c,v retrieving revision 1.34 retrieving revision 1.35 diff -u -3 -r1.34 -r1.35 --- efreet_icon.c 14 Aug 2008 16:59:41 -0000 1.34 +++ efreet_icon.c 14 Aug 2008 19:47:48 -0000 1.35 @@ -4,11 +4,10 @@ static char *efreet_icon_deprecated_user_dir = NULL; static char *efreet_icon_user_dir = NULL; -static Ecore_Hash *efreet_icon_dirs_cached = NULL; static Ecore_Hash *efreet_icon_themes = NULL; -Ecore_List *efreet_icon_extensions = NULL; +static Ecore_List *efreet_icon_extensions = NULL; static Ecore_List *efreet_extra_icon_dirs = NULL; -static Ecore_List *efreet_icon_cache = NULL; +static Ecore_Hash *efreet_icon_cache = NULL; static int efreet_icon_init_count = 0; @@ -75,8 +74,10 @@ const char *dir); static int efreet_icon_cache_find(Efreet_Icon_Cache *value, const char *key); -static void efreet_icon_cache_flush(void); +static void efreet_icon_cache_flush(Ecore_List *list); static void efreet_icon_cache_free(Efreet_Icon_Cache *value); +static char *efreet_icon_cache_check(Efreet_Icon_Theme *theme, const char *icon, const char *size); +static void efreet_icon_cache_add(Efreet_Icon_Theme *theme, const char *icon, const char *size, const char *value); /** * @internal @@ -112,8 +113,8 @@ ECORE_FREE_CB(efreet_icon_theme_free)); efreet_extra_icon_dirs = ecore_list_new(); - efreet_icon_cache = ecore_list_new(); - ecore_list_free_cb_set(efreet_icon_cache, ECORE_FREE_CB(efreet_icon_cache_free)); + efreet_icon_cache = ecore_hash_new(ecore_direct_hash, ecore_direct_compare); + ecore_hash_free_value_cb_set(efreet_icon_cache, ECORE_FREE_CB(ecore_list_destroy)); } return 1; @@ -135,10 +136,9 @@ IF_FREE_LIST(efreet_icon_extensions); IF_FREE_HASH(efreet_icon_themes); - IF_FREE_HASH(efreet_icon_dirs_cached); IF_FREE_LIST(efreet_extra_icon_dirs); - IF_FREE_LIST(efreet_icon_cache); + IF_FREE_HASH(efreet_icon_cache); ecore_shutdown(); efreet_icon_init_count = 0; @@ -333,33 +333,9 @@ EAPI char * efreet_icon_path_find(const char *theme_name, const char *icon, const char *size) { - struct stat st; char *value = NULL; - char key[4096]; - Efreet_Icon_Cache *cache; Efreet_Icon_Theme *theme; - snprintf(key, sizeof(key), "%s %s %s", theme_name, icon, size); - cache = ecore_list_find(efreet_icon_cache, ECORE_COMPARE_CB(efreet_icon_cache_find), key); - if (cache) - { - ecore_list_remove(efreet_icon_cache); - if (!cache->path) - { - if (ecore_time_get() < (cache->lasttime + 5)) - { - ecore_list_prepend(efreet_icon_cache, cache); - return NULL; - } - } - else if (!stat(cache->path, &st) && st.st_mtime == cache->lasttime) - { - ecore_list_prepend(efreet_icon_cache, cache); - return strdup(cache->path); - } - efreet_icon_cache_free(cache); - } - theme = efreet_icon_find_theme_check(theme_name); #ifdef SLOPPY_SPEC @@ -377,20 +353,9 @@ /* we didn't find the icon in the theme or in the inherited directories * then just look for a non theme icon */ - if (!value) value = efreet_icon_fallback_icon(icon); - - cache = NEW(Efreet_Icon_Cache, 1); - cache->key = strdup(key); - if ((value) && !stat(value, &st)) - { - cache->path = strdup(value); - cache->lasttime = st.st_mtime; - } - else - cache->lasttime = ecore_time_get(); - ecore_list_prepend(efreet_icon_cache, cache); - efreet_icon_cache_flush(); + if (!value || (value == (void *)-1)) value = efreet_icon_fallback_icon(icon); + if (value == (void *)-1) value = NULL; return value; } @@ -436,16 +401,18 @@ /* we didn't find the icons in the theme or in the inherited directories * then just look for a non theme icon */ - if (!value) + if (!value || (value == (void *)-1)) { ecore_list_first_goto(icons); while ((icon = ecore_list_next(icons))) { - if ((value = efreet_icon_fallback_icon(icon))) + value = efreet_icon_fallback_icon(icon); + if (value && (value != (void *)-1)) break; } } + if (value == (void *)-1) value = NULL; return value; } @@ -502,7 +469,7 @@ if ((!parent_theme) || (parent_theme == theme)) continue; value = efreet_icon_find_helper(parent_theme, icon, size); - if (value) break; + if (value && (value != (void *)-1)) break; } } /* if this isn't the hicolor theme, and we have no other fallbacks @@ -547,7 +514,7 @@ value = efreet_icon_lookup_icon(theme, icon, size); /* we didin't find the image check the inherited themes */ - if (!value) + if (!value || (value == (void *)-1)) value = efreet_icon_find_fallback(theme, icon, size); recurse--; @@ -582,7 +549,7 @@ value = efreet_icon_list_find_helper(parent_theme, icons, size); - if (value) break; + if (value && (value != (void *)-1)) break; } } @@ -631,12 +598,13 @@ ecore_list_first_goto(icons); while ((icon = ecore_list_next(icons))) { - if ((value = efreet_icon_lookup_icon(theme, icon, size))) + value = efreet_icon_lookup_icon(theme, icon, size); + if (value && (value != (void *)-1)) break; } /* we didn't find the image check the inherited themes */ - if (!value) + if (!value || (value == (void *)-1)) value = efreet_icon_list_find_fallback(theme, icons, size); recurse--; @@ -664,6 +632,8 @@ if (!theme || (theme->paths.count == 0) || !icon_name || !size) return NULL; + icon = efreet_icon_cache_check(theme, icon_name, size); + if (icon) return icon; real_size = atoi(size); /* search for allowed size == requested size */ @@ -673,7 +643,11 @@ if (!efreet_icon_directory_size_match(dir, real_size)) continue; icon = efreet_icon_lookup_directory(theme, dir, icon_name); - if (icon) return icon; + if (icon) + { + efreet_icon_cache_add(theme, icon_name, size, icon); + return icon; + } } /* search for any icon that matches */ @@ -695,6 +669,7 @@ } } + efreet_icon_cache_add(theme, icon_name, size, icon); return icon; } @@ -806,6 +781,8 @@ char *icon; if (!icon_name) return NULL; + icon = efreet_icon_cache_check(NULL, icon_name, NULL); + if (icon) return icon; icon = efreet_icon_fallback_dir_scan(efreet_icon_deprecated_user_dir_get(), icon_name); if (!icon) @@ -820,7 +797,11 @@ while ((dir = ecore_list_next(efreet_extra_icon_dirs))) { icon = efreet_icon_fallback_dir_scan(dir, icon_name); - if (icon) return icon; + if (icon) + { + efreet_icon_cache_add(NULL, icon_name, NULL, icon); + return icon; + } } xdg_dirs = efreet_data_dirs_get(); @@ -829,12 +810,17 @@ { snprintf(path, PATH_MAX, "%s/icons", dir); icon = efreet_icon_fallback_dir_scan(path, icon_name); - if (icon) return icon; + if (icon) + { + efreet_icon_cache_add(NULL, icon_name, NULL, icon); + return icon; + } } icon = efreet_icon_fallback_dir_scan("/usr/share/pixmaps", icon_name); } + efreet_icon_cache_add(NULL, icon_name, NULL, icon); return icon; } @@ -1212,6 +1198,7 @@ break; } } + theme->last_cache_check = new_check; } /** @@ -1230,8 +1217,7 @@ /* have we modified this directory since our last cache check? */ if (stat(dir, &buf) || (buf.st_mtime > theme->last_cache_check)) { - if (efreet_icon_dirs_cached) - ecore_hash_remove(efreet_icon_dirs_cached, dir); + ecore_hash_remove(efreet_icon_cache, theme); return 0; } @@ -1564,17 +1550,17 @@ } static void -efreet_icon_cache_flush(void) +efreet_icon_cache_flush(Ecore_List *list) { /* TODO: * * Dynamic cache size * * Maybe add references to cache, so that we sort on how often a value is used */ - while (ecore_list_count(efreet_icon_cache) > 100) + while (ecore_list_count(list) > 100) { Efreet_Icon_Cache *cache; - cache = ecore_list_last_remove(efreet_icon_cache); + cache = ecore_list_last_remove(list); efreet_icon_cache_free(cache); } } @@ -1587,4 +1573,71 @@ IF_FREE(value->key); IF_FREE(value->path); free(value); +} + +static char * +efreet_icon_cache_check(Efreet_Icon_Theme *theme, const char *icon, const char *size) +{ + Ecore_List *list; + Efreet_Icon_Cache *cache; + char key[4096]; + struct stat st; + + list = ecore_hash_get(efreet_icon_cache, theme); + if (!list) + { + list = ecore_list_new(); + ecore_list_free_cb_set(list, ECORE_FREE_CB(efreet_icon_cache_free)); + ecore_hash_set(efreet_icon_cache, theme, list); + return NULL; + } + + snprintf(key, sizeof(key), "%s %s", icon, size); + cache = ecore_list_find(list, ECORE_COMPARE_CB(efreet_icon_cache_find), key); + if (cache) + { + ecore_list_remove(list); + if (!cache->path) + { + ecore_list_prepend(list, cache); + return (void *)-1; + } + else if (!stat(cache->path, &st) && st.st_mtime == cache->lasttime) + { + ecore_list_prepend(list, cache); + return strdup(cache->path); + } + efreet_icon_cache_free(cache); + } + return NULL; +} + +static void +efreet_icon_cache_add(Efreet_Icon_Theme *theme, const char *icon, const char *size, const char *value) +{ + Ecore_List *list; + Efreet_Icon_Cache *cache; + char key[4096]; + struct stat st; + + list = ecore_hash_get(efreet_icon_cache, theme); + if (!list) + { + list = ecore_list_new(); + ecore_list_free_cb_set(list, ECORE_FREE_CB(efreet_icon_cache_free)); + ecore_hash_set(efreet_icon_cache, theme, list); + } + + snprintf(key, sizeof(key), "%s %s", icon, size); + cache = NEW(Efreet_Icon_Cache, 1); + cache->key = strdup(key); + if ((value) && !stat(value, &st)) + { + cache->path = strdup(value); + cache->lasttime = st.st_mtime; + } + else + cache->lasttime = ecore_time_get(); + ecore_list_prepend(list, cache); + efreet_icon_cache_flush(list); } |
From: Enlightenment C. <no...@cv...> - 2008-08-14 20:02:08
|
Enlightenment CVS committal Author : englebass Project : e17 Module : libs/efreet Dir : e17/libs/efreet/src/lib Modified Files: efreet_icon.c Log Message: Do atoi only once for each query. =================================================================== RCS file: /cvs/e/e17/libs/efreet/src/lib/efreet_icon.c,v retrieving revision 1.35 retrieving revision 1.36 diff -u -3 -r1.35 -r1.36 --- efreet_icon.c 14 Aug 2008 19:47:48 -0000 1.35 +++ efreet_icon.c 14 Aug 2008 20:02:07 -0000 1.36 @@ -25,16 +25,16 @@ static char *efreet_icon_find_fallback(Efreet_Icon_Theme *theme, const char *icon, - const char *size); + unsigned int size); static char *efreet_icon_list_find_fallback(Efreet_Icon_Theme *theme, Ecore_List *icons, - const char *size); + unsigned int size); static char *efreet_icon_find_helper(Efreet_Icon_Theme *theme, - const char *icon, const char *size); + const char *icon, unsigned int size); static char *efreet_icon_list_find_helper(Efreet_Icon_Theme *theme, - Ecore_List *icons, const char *size); + Ecore_List *icons, unsigned int size); static char *efreet_icon_lookup_icon(Efreet_Icon_Theme *theme, - const char *icon_name, const char *size); + const char *icon_name, unsigned int size); static char *efreet_icon_fallback_icon(const char *icon_name); static char *efreet_icon_fallback_dir_scan(const char *dir, const char *icon_name); @@ -76,8 +76,8 @@ static int efreet_icon_cache_find(Efreet_Icon_Cache *value, const char *key); static void efreet_icon_cache_flush(Ecore_List *list); static void efreet_icon_cache_free(Efreet_Icon_Cache *value); -static char *efreet_icon_cache_check(Efreet_Icon_Theme *theme, const char *icon, const char *size); -static void efreet_icon_cache_add(Efreet_Icon_Theme *theme, const char *icon, const char *size, const char *value); +static char *efreet_icon_cache_check(Efreet_Icon_Theme *theme, const char *icon, unsigned int size); +static void efreet_icon_cache_add(Efreet_Icon_Theme *theme, const char *icon, unsigned int size, const char *value); /** * @internal @@ -335,19 +335,21 @@ { char *value = NULL; Efreet_Icon_Theme *theme; + unsigned int real_size; theme = efreet_icon_find_theme_check(theme_name); + real_size = atoi(size); #ifdef SLOPPY_SPEC { char *tmp; tmp = efreet_icon_remove_extension(icon); - value = efreet_icon_find_helper(theme, tmp, size); + value = efreet_icon_find_helper(theme, tmp, real_size); FREE(tmp); } #else - value = efreet_icon_find_helper(theme, icon, size); + value = efreet_icon_find_helper(theme, icon, real_size); #endif /* we didn't find the icon in the theme or in the inherited directories @@ -377,8 +379,10 @@ const char *icon = NULL; char *value = NULL; Efreet_Icon_Theme *theme; + unsigned int real_size; theme = efreet_icon_find_theme_check(theme_name); + real_size = atoi(size); ecore_list_first_goto(icons); #ifdef SLOPPY_SPEC @@ -391,11 +395,11 @@ while ((icon = ecore_list_next(icons))) ecore_list_append(tmps, efreet_icon_remove_extension(icon)); - value = efreet_icon_list_find_helper(theme, tmps, size); + value = efreet_icon_list_find_helper(theme, tmps, real_size); ecore_list_destroy(tmps); } #else - value = efreet_icon_list_find_helper(theme, icons, size); + value = efreet_icon_list_find_helper(theme, icons, real_size); #endif /* we didn't find the icons in the theme or in the inherited directories @@ -453,7 +457,7 @@ */ static char * efreet_icon_find_fallback(Efreet_Icon_Theme *theme, - const char *icon, const char *size) + const char *icon, unsigned int size) { char *parent = NULL; char *value = NULL; @@ -497,7 +501,7 @@ */ static char * efreet_icon_find_helper(Efreet_Icon_Theme *theme, - const char *icon, const char *size) + const char *icon, unsigned int size) { char *value; static int recurse = 0; @@ -532,7 +536,7 @@ */ static char * efreet_icon_list_find_fallback(Efreet_Icon_Theme *theme, - Ecore_List *icons, const char *size) + Ecore_List *icons, unsigned int size) { char *parent = NULL; char *value = NULL; @@ -580,7 +584,7 @@ */ static char * efreet_icon_list_find_helper(Efreet_Icon_Theme *theme, - Ecore_List *icons, const char *size) + Ecore_List *icons, unsigned int size) { char *value = NULL; const char *icon = NULL; @@ -622,25 +626,23 @@ */ static char * efreet_icon_lookup_icon(Efreet_Icon_Theme *theme, const char *icon_name, - const char *size) + unsigned int size) { char *icon = NULL, *tmp = NULL; Efreet_Icon_Theme_Directory *dir; int minimal_size = INT_MAX; - unsigned int real_size; if (!theme || (theme->paths.count == 0) || !icon_name || !size) return NULL; icon = efreet_icon_cache_check(theme, icon_name, size); if (icon) return icon; - real_size = atoi(size); /* search for allowed size == requested size */ ecore_list_first_goto(theme->directories); while ((dir = ecore_list_next(theme->directories))) { - if (!efreet_icon_directory_size_match(dir, real_size)) continue; + if (!efreet_icon_directory_size_match(dir, size)) continue; icon = efreet_icon_lookup_directory(theme, dir, icon_name); if (icon) @@ -656,7 +658,7 @@ { int distance; - distance = efreet_icon_directory_size_distance(dir, real_size); + distance = efreet_icon_directory_size_distance(dir, size); if (distance >= minimal_size) continue; tmp = efreet_icon_lookup_directory(theme, dir, @@ -781,7 +783,7 @@ char *icon; if (!icon_name) return NULL; - icon = efreet_icon_cache_check(NULL, icon_name, NULL); + icon = efreet_icon_cache_check(NULL, icon_name, 0); if (icon) return icon; icon = efreet_icon_fallback_dir_scan(efreet_icon_deprecated_user_dir_get(), icon_name); @@ -799,7 +801,7 @@ icon = efreet_icon_fallback_dir_scan(dir, icon_name); if (icon) { - efreet_icon_cache_add(NULL, icon_name, NULL, icon); + efreet_icon_cache_add(NULL, icon_name, 0, icon); return icon; } } @@ -812,7 +814,7 @@ icon = efreet_icon_fallback_dir_scan(path, icon_name); if (icon) { - efreet_icon_cache_add(NULL, icon_name, NULL, icon); + efreet_icon_cache_add(NULL, icon_name, 0, icon); return icon; } } @@ -820,7 +822,7 @@ icon = efreet_icon_fallback_dir_scan("/usr/share/pixmaps", icon_name); } - efreet_icon_cache_add(NULL, icon_name, NULL, icon); + efreet_icon_cache_add(NULL, icon_name, 0, icon); return icon; } @@ -1576,7 +1578,7 @@ } static char * -efreet_icon_cache_check(Efreet_Icon_Theme *theme, const char *icon, const char *size) +efreet_icon_cache_check(Efreet_Icon_Theme *theme, const char *icon, unsigned int size) { Ecore_List *list; Efreet_Icon_Cache *cache; @@ -1592,7 +1594,7 @@ return NULL; } - snprintf(key, sizeof(key), "%s %s", icon, size); + snprintf(key, sizeof(key), "%s %d", icon, size); cache = ecore_list_find(list, ECORE_COMPARE_CB(efreet_icon_cache_find), key); if (cache) { @@ -1613,7 +1615,7 @@ } static void -efreet_icon_cache_add(Efreet_Icon_Theme *theme, const char *icon, const char *size, const char *value) +efreet_icon_cache_add(Efreet_Icon_Theme *theme, const char *icon, unsigned int size, const char *value) { Ecore_List *list; Efreet_Icon_Cache *cache; @@ -1628,7 +1630,7 @@ ecore_hash_set(efreet_icon_cache, theme, list); } - snprintf(key, sizeof(key), "%s %s", icon, size); + snprintf(key, sizeof(key), "%s %d", icon, size); cache = NEW(Efreet_Icon_Cache, 1); cache->key = strdup(key); if ((value) && !stat(value, &st)) |
From: Enlightenment C. <no...@cv...> - 2008-08-14 20:48:42
|
Enlightenment CVS committal Author : englebass Project : e17 Module : libs/efreet Dir : e17/libs/efreet/src/lib Modified Files: Efreet_Mime.h efreet_icon.c efreet_icon.h efreet_mime.c Log Message: Pass icon size as unsigned int. =================================================================== RCS file: /cvs/e/e17/libs/efreet/src/lib/Efreet_Mime.h,v retrieving revision 1.10 retrieving revision 1.11 diff -u -3 -r1.10 -r1.11 --- Efreet_Mime.h 2 Aug 2008 21:48:44 -0000 1.10 +++ Efreet_Mime.h 14 Aug 2008 20:48:40 -0000 1.11 @@ -50,7 +50,7 @@ EAPI const char *efreet_mime_fallback_type_get(const char *file); EAPI char *efreet_mime_type_icon_get(const char *mime, const char *theme, - const char *size); + unsigned int size); /** * @} =================================================================== RCS file: /cvs/e/e17/libs/efreet/src/lib/efreet_icon.c,v retrieving revision 1.36 retrieving revision 1.37 diff -u -3 -r1.36 -r1.37 --- efreet_icon.c 14 Aug 2008 20:02:07 -0000 1.36 +++ efreet_icon.c 14 Aug 2008 20:48:41 -0000 1.37 @@ -331,25 +331,23 @@ * @brief Retrives the path to the given icon. */ EAPI char * -efreet_icon_path_find(const char *theme_name, const char *icon, const char *size) +efreet_icon_path_find(const char *theme_name, const char *icon, unsigned int size) { char *value = NULL; Efreet_Icon_Theme *theme; - unsigned int real_size; theme = efreet_icon_find_theme_check(theme_name); - real_size = atoi(size); #ifdef SLOPPY_SPEC { char *tmp; tmp = efreet_icon_remove_extension(icon); - value = efreet_icon_find_helper(theme, tmp, real_size); + value = efreet_icon_find_helper(theme, tmp, size); FREE(tmp); } #else - value = efreet_icon_find_helper(theme, icon, real_size); + value = efreet_icon_find_helper(theme, icon, size); #endif /* we didn't find the icon in the theme or in the inherited directories @@ -374,15 +372,13 @@ */ EAPI char * efreet_icon_list_find(const char *theme_name, Ecore_List *icons, - const char *size) + unsigned int size) { const char *icon = NULL; char *value = NULL; Efreet_Icon_Theme *theme; - unsigned int real_size; theme = efreet_icon_find_theme_check(theme_name); - real_size = atoi(size); ecore_list_first_goto(icons); #ifdef SLOPPY_SPEC @@ -395,11 +391,11 @@ while ((icon = ecore_list_next(icons))) ecore_list_append(tmps, efreet_icon_remove_extension(icon)); - value = efreet_icon_list_find_helper(theme, tmps, real_size); + value = efreet_icon_list_find_helper(theme, tmps, size); ecore_list_destroy(tmps); } #else - value = efreet_icon_list_find_helper(theme, icons, real_size); + value = efreet_icon_list_find_helper(theme, icons, size); #endif /* we didn't find the icons in the theme or in the inherited directories @@ -429,7 +425,7 @@ * @brief Retrieves all of the information about the given icon. */ EAPI Efreet_Icon * -efreet_icon_find(const char *theme_name, const char *icon, const char *size) +efreet_icon_find(const char *theme_name, const char *icon, unsigned int size) { char *path; =================================================================== RCS file: /cvs/e/e17/libs/efreet/src/lib/efreet_icon.h,v retrieving revision 1.8 retrieving revision 1.9 diff -u -3 -r1.8 -r1.9 --- efreet_icon.h 14 Aug 2008 16:59:41 -0000 1.8 +++ efreet_icon.h 14 Aug 2008 20:48:41 -0000 1.9 @@ -166,13 +166,13 @@ EAPI Efreet_Icon_Theme *efreet_icon_theme_find(const char *theme_name); EAPI Efreet_Icon *efreet_icon_find(const char *theme_name, const char *icon, - const char *size); + unsigned int size); EAPI char *efreet_icon_list_find(const char *theme_name, Ecore_List *icons, - const char *size); + unsigned int size); EAPI char *efreet_icon_path_find(const char *theme_name, const char *icon, - const char *size); + unsigned int size); EAPI void efreet_icon_free(Efreet_Icon *icon); /** =================================================================== RCS file: /cvs/e/e17/libs/efreet/src/lib/efreet_mime.c,v retrieving revision 1.39 retrieving revision 1.40 diff -u -3 -r1.39 -r1.40 --- efreet_mime.c 2 Aug 2008 22:09:04 -0000 1.39 +++ efreet_mime.c 14 Aug 2008 20:48:41 -0000 1.40 @@ -175,7 +175,7 @@ * @brief Retreive the mime type icon for a file */ EAPI char * -efreet_mime_type_icon_get(const char *mime, const char *theme, const char *size) +efreet_mime_type_icon_get(const char *mime, const char *theme, unsigned int size) { char *icon = NULL; Ecore_List *icons = NULL; |
From: Enlightenment C. <no...@cv...> - 2008-08-14 20:49:15
|
Enlightenment CVS committal Author : englebass Project : e17 Module : libs/efreet Dir : e17/libs/efreet/src/bin/compare Modified Files: comp.h Log Message: Pass icon size as unsigned int. =================================================================== RCS file: /cvs/e/e17/libs/efreet/src/bin/compare/comp.h,v retrieving revision 1.4 retrieving revision 1.5 diff -u -3 -r1.4 -r1.5 --- comp.h 6 Sep 2007 16:15:09 -0000 1.4 +++ comp.h 14 Aug 2008 20:48:40 -0000 1.5 @@ -3,7 +3,7 @@ #define LOOPS 1000 #define THEME "Tango" -#define SIZE "16x16" +#define SIZE 16 #define ADDRESS_BOOK_NEW "address-book-new" #define APPLICATION_EXIT "application-exit" |
From: Enlightenment C. <no...@cv...> - 2008-08-14 20:49:15
|
Enlightenment CVS committal Author : englebass Project : e17 Module : libs/efreet Dir : e17/libs/efreet/src/bin Modified Files: ef_icon_theme.c Log Message: Pass icon size as unsigned int. =================================================================== RCS file: /cvs/e/e17/libs/efreet/src/bin/ef_icon_theme.c,v retrieving revision 1.9 retrieving revision 1.10 diff -u -3 -r1.9 -r1.10 --- ef_icon_theme.c 7 May 2008 02:48:06 -0000 1.9 +++ ef_icon_theme.c 14 Aug 2008 20:48:40 -0000 1.10 @@ -8,8 +8,8 @@ #define PATH_MAX 4096 #endif -#define SIZE "128x128" -#define THEME "Tango" +#define SIZE 128 +#define THEME "Human" #define FREE(x) do { free(x); x = NULL; } while (0); static void ef_icon_theme_themes_find(const char *search_dir, @@ -262,6 +262,7 @@ "accessories-text-editor", "help-browser", "multimedia-volume-control", +#if 0 "preferences-desktop-accessibility", "preferences-desktop-font", "preferences-desktop-keyboard", @@ -416,6 +417,7 @@ "weather-showers-scattered", "weather-snow", "weather-storm", +#endif NULL }; @@ -449,6 +451,7 @@ ef_icons_find(theme, themes, icon_hash); ecore_list_destroy(themes); + double start = ecore_time_get(); for (i = 0; icons[i] != NULL; i++) { char *path, *s; @@ -457,11 +460,13 @@ if (!path) { +#if 0 if (ecore_hash_get(icon_hash, icons[i])) { printf("NOT FOUND %s\n", icons[i]); ret = 0; } +#endif continue; } @@ -477,7 +482,31 @@ } free(path); } + printf("Time: %f\n", (ecore_time_get() - start)); ecore_hash_destroy(icon_hash); + + start = ecore_time_get(); + for (i = 0; icons[i] != NULL; i++) + { + char *path, *s; + + path = efreet_icon_path_find(THEME, icons[i], SIZE); + + if (!path) continue; + + s = strrchr(path, '.'); + if (s) *s = '\0'; + s = strrchr(path, '/'); + if (s) s++; + + if (s && strcmp(s, icons[i])) + { + printf("Name mismatch name (%s) vs ef (%s)\n", icons[i], s); + ret = 0; + } + free(path); + } + printf("Time: %f\n", (ecore_time_get() - start)); return ret; } |