fdo menu icons now scales.
authorGustavo Sverzut Barbieri <barbieri@gmail.com>
Wed, 4 Mar 2009 00:39:49 +0000 (00:39 +0000)
committerGustavo Sverzut Barbieri <barbieri@gmail.com>
Wed, 4 Mar 2009 00:39:49 +0000 (00:39 +0000)
SVN revision: 39353

src/bin/e_fm.c
src/bin/e_utils.c
src/bin/e_utils.h

index 0b7c4be44bef0353d735da29275d1d26e76458c4..6ba15f7c08b23da0107fb6fcf189e15c3086cacc 100644 (file)
@@ -1817,15 +1817,7 @@ _e_fm2_icon_mime_type_special_match(const E_Fm2_Icon *ic)
 static inline unsigned int
 _e_fm2_icon_mime_size_normalize(const E_Fm2_Icon *ic)
 {
-   const unsigned int *itr, known_sizes[] = {
-     16, 22, 24, 32, 36, 48, 64, 72, 96, 128, 192, -1
-   };
-   unsigned int desired = _e_fm2_icon_w_get(ic->sd);
-   for (itr = known_sizes; *itr > 0; itr++)
-     if (*itr >= desired)
-       return *itr;
-
-   return 256; /* largest know size? */
+   return e_util_icon_size_normalize(_e_fm2_icon_w_get(ic->sd));
 }
 
 /**
index 9537d68dacaed369aee3ec2e351fcad321539a7a..84a0a2b4339ccda0a2ce80e1b6a9f9e87d42377b 100644 (file)
@@ -397,13 +397,28 @@ e_util_menu_item_edje_icon_set(E_Menu_Item *mi, const char *name)
    return 0;
 }
 
+EAPI unsigned int
+e_util_icon_size_normalize(unsigned int desired)
+{
+   const unsigned int *itr, known_sizes[] = {
+     16, 22, 24, 32, 36, 48, 64, 72, 96, 128, 192, 256, -1
+   };
+   for (itr = known_sizes; *itr > 0; itr++)
+     if (*itr >= desired)
+       return *itr;
+
+   return 256; /* largest know size? */
+}
+
 EAPI int
 e_util_menu_item_fdo_icon_set(E_Menu_Item *mi, const char *icon)
 {
    char *path = NULL;
+   unsigned int size;
 
    if ((!icon) || (!icon[0])) return 0;
-   path = efreet_icon_path_find(e_config->icon_theme, icon, 16);
+   size = e_util_icon_size_normalize(16 * e_scale);
+   path = efreet_icon_path_find(e_config->icon_theme, icon, size);
    if (!path) return 0;
    e_menu_item_icon_file_set(mi, path);
    E_FREE(path);
index 4c904dc234ef17474e7bc4f81f1e71a0dcec54be..c2dd72226b380cadaea515ea20e4cb903513de5e 100644 (file)
@@ -33,6 +33,7 @@ EAPI int          e_util_menu_item_edje_icon_list_set(E_Menu_Item *mi, const cha
 EAPI int          e_util_edje_icon_check(const char *name);
 EAPI int          e_util_edje_icon_set(Evas_Object *obj, const char *name);
 EAPI int          e_util_menu_item_edje_icon_set(E_Menu_Item *mi, const char *name);
+EAPI unsigned int e_util_icon_size_normalize(unsigned int desired);
 EAPI int          e_util_menu_item_fdo_icon_set(E_Menu_Item *mi, const char *icon);
 EAPI E_Container *e_util_container_window_find(Ecore_X_Window win);
 EAPI E_Border    *e_util_desk_border_above(E_Border *bd);