diff --git a/TODO b/TODO index 4c1af5f41..83511251e 100644 --- a/TODO +++ b/TODO @@ -37,11 +37,11 @@ Some of the things (in very short form) that need to be done to E17... ESSENTIAL FEATURES ------------------------------------------------------------------------------- -* fm2 fwin windows need to use icon for that dir on window +* fm2 fwin windows need to use icon for that dir on window border * fm2 needs to use different theme elements for desktop * fm2 theme needs to not suck * fm2 custom icon view mode needs to have cleanup,align etc. -* fm2 custom icon view mode initial placement needs tome fixing +* fm2 custom icon view mode initial placement needs some fixing * fm2 fwin needs options for view mode * fm2 needs a way to specify a multiplier, explicit size or "use original icon" config per icon and per dir @@ -55,8 +55,7 @@ overlay - to exec or do things (eg go to parent) * fm2 on desktop needs option to turn off and select which dir on which zone * fm2 needs to show icons again if drag was aborted * fm2 needs to handle dnd of e apps too -* fm2 slave needs to rate limit file changes/adds/dels -* need a default desktop file setup +* need a default desktop dir & file setup * fm2 needs to auto-scroll if dnd hovers on edge of fm2 for a while * fm2 needs spring-loaded folder opens * fm2 needs to be able to specify dir customisations other than magic dot file @@ -66,11 +65,12 @@ the fs * fm2 needs to display symlink info on files somehow * fm2 needs to display more than 1 file being dragged (if more than 1 is being dragged) +& fm2 needs to drag other files in mult-drag to the right location * fm2 needs a way of mapping a internal e actions to do (like add as wallpaper etc.) * fm2 needs a way to bypass thumb gen anim on just a unrealize/realize as well as change state instantly if it already was selected -* fm2 needs to not unrealize then re-realize on resort/arraneg - keep objects +* fm2 needs to not unrealize then re-realize on re-sort/arrange - keep objects around. * fm2 needs a mime/extension/glob filter * dnd needs to do xdnd properly. diff --git a/data/themes/default_fileman.edc b/data/themes/default_fileman.edc index 0d116b60a..070b39338 100644 --- a/data/themes/default_fileman.edc +++ b/data/themes/default_fileman.edc @@ -6043,29 +6043,6 @@ group { } } } - part { - name: "conf_over"; - mouse_events: 0; - description { - state: "default" 0.0; - rel1 { -// to: "bg"; - offset: -5 -5; - } - rel2 { -// to: "bg"; - offset: 4 4; - } - image { - normal: "e17_ibar_over_v.png"; - border: 13 13 13 13; - middle: 0; - } - fill { - smooth : 0; - } - } - } part { name: "sb_vbar"; type: RECT; diff --git a/src/bin/e_fm.c b/src/bin/e_fm.c index 27c3214a8..2212d4e0f 100644 --- a/src/bin/e_fm.c +++ b/src/bin/e_fm.c @@ -284,8 +284,8 @@ static int _e_fm2_cb_live_idler(void *data); static int _e_fm2_cb_live_timer(void *data); static const char *_e_fm2_removable_dev_label_get(const char *uuid); -static void _e_fm2_removable_dev_add(const char *uuid); -static void _e_fm2_removable_dev_del(const char *uuid); +static void _e_fm2_removable_dev_add(const char *uuid, const char *label); +static void _e_fm2_removable_dev_del(const char *uuid, const char *label); static void _e_fm2_removable_path_mount(const char *path); static void _e_fm2_removable_path_umount(const char *path); static void _e_fm2_removable_dev_mount(const char *uuid); @@ -971,8 +971,9 @@ e_fm2_icon_get(Evas *evas, const char *realpath, { oic = edje_object_add(evas); if (!edje_object_file_set(oic, ici->icon, "icon")) - _e_fm2_theme_edje_object_set(ic->sd, oic, "base/theme/fileman", - "e/icons/fileman/file"); + _e_fm2_theme_edje_object_set(ic->sd, oic, + "base/theme/fileman", + "e/icons/fileman/file"); } else { @@ -1015,8 +1016,9 @@ e_fm2_icon_get(Evas *evas, const char *realpath, if (S_ISDIR(ici->statinfo.st_mode)) { oic = edje_object_add(evas); - _e_fm2_theme_edje_object_set(ic->sd, oic, "base/theme/fileman", - "e/icons/fileman/folder"); + _e_fm2_theme_edje_object_set(ic->sd, oic, + "base/theme/fileman", + "e/icons/fileman/folder"); } else { @@ -1044,8 +1046,9 @@ e_fm2_icon_get(Evas *evas, const char *realpath, if (!icon) { oic = edje_object_add(evas); - _e_fm2_theme_edje_object_set(ic->sd, oic, "base/theme/fileman", - "e/icons/fileman/file"); + _e_fm2_theme_edje_object_set(ic->sd, oic, + "base/theme/fileman", + "e/icons/fileman/file"); if (type_ret) *type_ret = "FILE_TYPE"; } else if (!strcmp(icon, "THUMB")) @@ -1083,8 +1086,9 @@ e_fm2_icon_get(Evas *evas, const char *realpath, if (!_e_fm2_theme_edje_object_set(ic->sd, oic, "base/theme/fileman", icon)) - _e_fm2_theme_edje_object_set(ic->sd, oic, "base/theme/fileman", - "e/icons/fileman/file"); + _e_fm2_theme_edje_object_set(ic->sd, oic, + "base/theme/fileman", + "e/icons/fileman/file"); if (type_ret) *type_ret = "THEME"; } else @@ -1094,8 +1098,9 @@ e_fm2_icon_get(Evas *evas, const char *realpath, { oic = edje_object_add(evas); if (!edje_object_file_set(oic, icon, "icon")) - _e_fm2_theme_edje_object_set(ic->sd, oic, "base/theme/fileman", - "e/icons/fileman/file"); + _e_fm2_theme_edje_object_set(ic->sd, oic, + "base/theme/fileman", + "e/icons/fileman/file"); } else { @@ -1174,8 +1179,9 @@ e_fm2_icon_get(Evas *evas, const char *realpath, if (oic == NULL) { oic = edje_object_add(evas); - _e_fm2_theme_edje_object_set(ic->sd, oic, "base/theme/fileman", - "e/icons/fileman/file"); + _e_fm2_theme_edje_object_set(ic->sd, oic, + "base/theme/fileman", + "e/icons/fileman/file"); if (type_ret) *type_ret = "FILE_TYPE"; } else @@ -1186,43 +1192,49 @@ e_fm2_icon_get(Evas *evas, const char *realpath, else if (S_ISCHR(ici->statinfo.st_mode)) { oic = edje_object_add(evas); - _e_fm2_theme_edje_object_set(ic->sd, oic, "base/theme/fileman", - "e/icons/fileman/file"); + _e_fm2_theme_edje_object_set(ic->sd, oic, + "base/theme/fileman", + "e/icons/fileman/file"); if (type_ret) *type_ret = "FILE_TYPE"; } else if (S_ISBLK(ici->statinfo.st_mode)) { oic = edje_object_add(evas); - _e_fm2_theme_edje_object_set(ic->sd, oic, "base/theme/fileman", - "e/icons/fileman/file"); + _e_fm2_theme_edje_object_set(ic->sd, oic, + "base/theme/fileman", + "e/icons/fileman/file"); if (type_ret) *type_ret = "FILE_TYPE"; } else if (S_ISFIFO(ici->statinfo.st_mode)) { oic = edje_object_add(evas); - _e_fm2_theme_edje_object_set(ic->sd, oic, "base/theme/fileman", - "e/icons/fileman/file"); + _e_fm2_theme_edje_object_set(ic->sd, oic, + "base/theme/fileman", + "e/icons/fileman/file"); if (type_ret) *type_ret = "FILE_TYPE"; } else if (S_ISSOCK(ici->statinfo.st_mode)) { oic = edje_object_add(evas); - _e_fm2_theme_edje_object_set(ic->sd, oic, "base/theme/fileman", - "e/icons/fileman/file"); + _e_fm2_theme_edje_object_set(ic->sd, oic, + "base/theme/fileman", + "e/icons/fileman/file"); if (type_ret) *type_ret = "FILE_TYPE"; } else if (ecore_file_can_exec(buf)) { oic = edje_object_add(evas); - _e_fm2_theme_edje_object_set(ic->sd, oic, "base/theme/fileman", - "e/icons/fileman/file"); + _e_fm2_theme_edje_object_set(ic->sd, oic, + "base/theme/fileman", + "e/icons/fileman/file"); if (type_ret) *type_ret = "FILE_TYPE"; } else { oic = edje_object_add(evas); - _e_fm2_theme_edje_object_set(ic->sd, oic, "base/theme/fileman", - "e/icons/fileman/file"); + _e_fm2_theme_edje_object_set(ic->sd, oic, + "base/theme/fileman", + "e/icons/fileman/file"); if (type_ret) *type_ret = "FILE_TYPE"; } } @@ -2823,10 +2835,12 @@ _e_fm2_icon_fill(E_Fm2_Icon *ic, E_Fm2_Finfo *finf) { obj = edje_object_add(evas_object_evas_get(ic->sd->obj)); if ((ic->sd->config->icon.fixed.w) && (ic->sd->config->icon.fixed.h)) - _e_fm2_theme_edje_object_set(ic->sd, obj, "base/theme/fileman", + _e_fm2_theme_edje_object_set(ic->sd, obj, + "base/theme/fileman", "e/fileman/icon/fixed"); else - _e_fm2_theme_edje_object_set(ic->sd, obj, "base/theme/fileman", + _e_fm2_theme_edje_object_set(ic->sd, obj, + "base/theme/fileman", "e/fileman/icon/variable"); ic->sd->tmp.obj = obj; // printf("CALC OBJ %p\n", ic->sd->tmp.obj); @@ -2860,8 +2874,9 @@ _e_fm2_icon_fill(E_Fm2_Icon *ic, E_Fm2_Finfo *finf) obj = edje_object_add(evas_object_evas_get(ic->sd->obj)); // vairable sized list items are pretty usless - ignore. // if (ic->sd->config->icon.fixed.w) - _e_fm2_theme_edje_object_set(ic->sd, obj, "base/theme/fileman", - "e/fileman/list/fixed"); + _e_fm2_theme_edje_object_set(ic->sd, obj, + "base/theme/fileman", + "e/fileman/list/fixed"); // else // _e_fm2_theme_edje_object_set(ic->sd, obj, "base/theme/fileman", // "e/fileman/list/variable"); @@ -2950,11 +2965,13 @@ _e_fm2_icon_realize(E_Fm2_Icon *ic) { // if (ic->sd->config->icon.fixed.w) // { - if (ic->odd) - _e_fm2_theme_edje_object_set(ic->sd, ic->obj, "base/theme/widgets", + if (ic->odd) + _e_fm2_theme_edje_object_set(ic->sd, ic->obj, + "base/theme/widgets", "e/fileman/list_odd/fixed"); - else - _e_fm2_theme_edje_object_set(ic->sd, ic->obj, "base/theme/widgets", + else + _e_fm2_theme_edje_object_set(ic->sd, ic->obj, + "base/theme/widgets", "e/fileman/list/fixed"); // } // else @@ -2970,11 +2987,13 @@ _e_fm2_icon_realize(E_Fm2_Icon *ic) else { if (ic->sd->config->icon.fixed.w) - _e_fm2_theme_edje_object_set(ic->sd, ic->obj, "base/theme/fileman", - "e/fileman/icon/fixed"); + _e_fm2_theme_edje_object_set(ic->sd, ic->obj, + "base/theme/fileman", + "e/fileman/icon/fixed"); else - _e_fm2_theme_edje_object_set(ic->sd, ic->obj, "base/theme/fileman", - "e/fileman/icon/variable"); + _e_fm2_theme_edje_object_set(ic->sd, ic->obj, + "base/theme/fileman", + "e/fileman/icon/variable"); } _e_fm2_icon_label_set(ic, ic->obj); evas_object_clip_set(ic->obj, ic->sd->clip); @@ -4416,30 +4435,36 @@ _e_fm2_cb_icon_mouse_move(void *data, Evas *e, Evas_Object *obj, void *event_inf if (ic->sd->config->icon.fixed.w) { if (ic->odd) - _e_fm2_theme_edje_object_set(ic->sd, o, "base/theme/widgets", - "e/fileman/list_odd/fixed"); + _e_fm2_theme_edje_object_set(ic->sd, o, + "base/theme/widgets", + "e/fileman/list_odd/fixed"); else - _e_fm2_theme_edje_object_set(ic->sd, o, "base/theme/widgets", - "e/fileman/list/fixed"); + _e_fm2_theme_edje_object_set(ic->sd, o, + "base/theme/widgets", + "e/fileman/list/fixed"); } else { if (ic->odd) - _e_fm2_theme_edje_object_set(ic->sd, o, "base/theme/widgets", - "e/fileman/list_odd/variable"); + _e_fm2_theme_edje_object_set(ic->sd, o, + "base/theme/widgets", + "e/fileman/list_odd/variable"); else - _e_fm2_theme_edje_object_set(ic->sd, o, "base/theme/widgets", - "e/fileman/list/variable"); + _e_fm2_theme_edje_object_set(ic->sd, o, + "base/theme/widgets", + "e/fileman/list/variable"); } } else { if (ic->sd->config->icon.fixed.w) - _e_fm2_theme_edje_object_set(ic->sd, o, "base/theme/fileman", - "e/fileman/icon/fixed"); + _e_fm2_theme_edje_object_set(ic->sd, o, + "base/theme/fileman", + "e/fileman/icon/fixed"); else - _e_fm2_theme_edje_object_set(ic->sd, o, "base/theme/fileman", - "e/fileman/icon/variable"); + _e_fm2_theme_edje_object_set(ic->sd, o, + "base/theme/fileman", + "e/fileman/icon/variable"); } _e_fm2_icon_label_set(ic, o); o2 = _e_fm2_icon_icon_direct_set(ic, o, @@ -4989,22 +5014,25 @@ _e_fm2_smart_add(Evas_Object *obj) sd->drop = edje_object_add(evas_object_evas_get(obj)); evas_object_clip_set(sd->drop, sd->clip); - _e_fm2_theme_edje_object_set(sd, sd->drop, "base/theme/fileman", - "e/fileman/list/drop_between"); + _e_fm2_theme_edje_object_set(sd, sd->drop, + "base/theme/fileman", + "e/fileman/list/drop_between"); evas_object_smart_member_add(sd->drop, obj); evas_object_show(sd->drop); sd->drop_in = edje_object_add(evas_object_evas_get(obj)); evas_object_clip_set(sd->drop_in, sd->clip); - _e_fm2_theme_edje_object_set(sd, sd->drop_in, "base/theme/fileman", - "e/fileman/list/drop_in"); + _e_fm2_theme_edje_object_set(sd, sd->drop_in, + "base/theme/fileman", + "e/fileman/list/drop_in"); evas_object_smart_member_add(sd->drop_in, obj); evas_object_show(sd->drop_in); sd->overlay = edje_object_add(evas_object_evas_get(obj)); evas_object_clip_set(sd->overlay, sd->clip); - _e_fm2_theme_edje_object_set(sd, sd->overlay, "base/theme/fileman", - "e/fileman/overlay"); + _e_fm2_theme_edje_object_set(sd, sd->overlay, + "base/theme/fileman", + "e/fileman/overlay"); evas_object_smart_member_add(sd->overlay, obj); evas_object_show(sd->overlay); @@ -6147,9 +6175,9 @@ _e_fm2_event_removable_add_free(void *data, void *ev) E_Fm2_Removable_Add *e; e = ev; - evas_stringshare_del(e->uuid); - evas_stringshare_del(e->label); - evas_stringshare_del(e->mount); + if (e->uuid) evas_stringshare_del(e->uuid); + if (e->label) evas_stringshare_del(e->label); + if (e->mount) evas_stringshare_del(e->mount); free(e); } @@ -6166,22 +6194,40 @@ _e_fm2_event_removable_del_free(void *data, void *ev) } static void -_e_fm2_removable_dev_add(const char *uuid) +_e_fm2_removable_dev_add(const char *uuid, const char *label) { E_Fm2_Removable *rem; FILE *f; char buf[PATH_MAX], buf2[PATH_MAX]; /* remove it - in case, so we don't add it twice */ - _e_fm2_removable_dev_del(uuid); - printf("ADD DEV ------- %s\n", uuid); + _e_fm2_removable_dev_del(uuid, label); + printf("ADD DEV ------- %s %s\n", uuid, label); rem = E_NEW(E_Fm2_Removable, 1); - rem->uuid = evas_stringshare_add(uuid); - rem->label = _e_fm2_removable_dev_label_get(uuid); - snprintf(buf, sizeof(buf), "/media/disk_by-uuid_%s", uuid); - rem->mount = evas_stringshare_add(buf); - snprintf(buf, sizeof(buf), "%s/.e/e/fileman/favorites/|%s.desktop", - e_user_homedir_get(), uuid); + if (uuid) + { + rem->uuid = evas_stringshare_add(uuid); + rem->label = _e_fm2_removable_dev_label_get(uuid); + snprintf(buf, sizeof(buf), "/media/disk_by-uuid_%s", uuid); + rem->mount = evas_stringshare_add(buf); + snprintf(buf, sizeof(buf), "%s/.e/e/fileman/favorites/|%s.desktop", + e_user_homedir_get(), uuid); + snprintf(buf2, sizeof(buf2), "%s/Desktop/|%s.desktop", + e_user_homedir_get(), uuid); + ecore_file_symlink(buf, buf2); + } + else if (label) + { + rem->uuid = NULL; + rem->label = evas_stringshare_add(label); + snprintf(buf, sizeof(buf), "/media/disk_by-label_%s", label); + rem->mount = evas_stringshare_add(buf); + snprintf(buf, sizeof(buf), "%s/.e/e/fileman/favorites/|%s.desktop", + e_user_homedir_get(), label); + snprintf(buf2, sizeof(buf2), "%s/Desktop/|%s.desktop", + e_user_homedir_get(), label); + ecore_file_symlink(buf, buf2); + } _e_fm2_removables = evas_list_append(_e_fm2_removables, rem); f = fopen(buf, "w"); if (f) @@ -6204,9 +6250,6 @@ _e_fm2_removable_dev_add(const char *uuid) rem->mount); fclose(f); } - snprintf(buf2, sizeof(buf2), "%s/Desktop/|%s.desktop", - e_user_homedir_get(), uuid); - ecore_file_symlink(buf, buf2); // FIXME: need to maybe have some popup, dialog or other indicator pop up // and maybe allow to click to open new removable device - maybe event // and broadcast as below then have a module listen and pop up a popup @@ -6216,21 +6259,21 @@ _e_fm2_removable_dev_add(const char *uuid) E_Fm2_Removable_Add *ev; ev = E_NEW(E_Fm2_Removable_Add, 1); - ev->uuid = evas_stringshare_add(rem->uuid); - ev->label = evas_stringshare_add(rem->label); - ev->mount = evas_stringshare_add(rem->mount); + if (rem->uuid) ev->uuid = evas_stringshare_add(rem->uuid); + if (rem->label) ev->label = evas_stringshare_add(rem->label); + if (rem->mount) ev->mount = evas_stringshare_add(rem->mount); ecore_event_add(E_EVENT_REMOVABLE_ADD, ev, _e_fm2_event_removable_add_free, NULL); } } static void -_e_fm2_removable_dev_del(const char *uuid) +_e_fm2_removable_dev_del(const char *uuid, const char *label) { E_Fm2_Removable *rem; Evas_List *l; char buf[4096]; - printf("DEL DEV ------- %s\n", uuid); + printf("DEL DEV ------- %s %s\n", uuid, label); // FIXME: need to find all fm views for this dev and close them _e_fm2_removable_dev_umount(uuid); /* FIXME: move to e_fm_main */ @@ -6243,7 +6286,8 @@ _e_fm2_removable_dev_del(const char *uuid) for (l = _e_fm2_removables; l; l = l->next) { rem = l->data; - if (!strcmp(uuid, rem->uuid)) + if (((uuid) && (!strcmp(uuid, rem->uuid))) || + ((label) && (!strcmp(label, rem->label)))) { // FIXME: need to display popup or some other status here maybe // using module to listen to the below event? @@ -6251,14 +6295,14 @@ _e_fm2_removable_dev_del(const char *uuid) E_Fm2_Removable_Del *ev; ev = E_NEW(E_Fm2_Removable_Del, 1); - ev->uuid = evas_stringshare_add(rem->uuid); - ev->label = evas_stringshare_add(rem->label); - ev->mount = evas_stringshare_add(rem->mount); + if (rem->uuid) ev->uuid = evas_stringshare_add(rem->uuid); + if (rem->label) ev->label = evas_stringshare_add(rem->label); + if (rem->mount) ev->mount = evas_stringshare_add(rem->mount); ecore_event_add(E_EVENT_REMOVABLE_DEL, ev, _e_fm2_event_removable_del_free, NULL); } - evas_stringshare_del(rem->uuid); - evas_stringshare_del(rem->label); - evas_stringshare_del(rem->mount); + if (rem->uuid) evas_stringshare_del(rem->uuid); + if (rem->label) evas_stringshare_del(rem->label); + if (rem->mount) evas_stringshare_del(rem->mount); free(rem); _e_fm2_removables = evas_list_remove_list(_e_fm2_removables, l); break; @@ -6409,9 +6453,14 @@ _e_fm2_cb_dbus_event_server_signal(void *data, int ev_type, void *ev) if (event->server == _e_fm2_dbus) { const char *bstr = "/org/freedesktop/Hal/devices/volume_uuid_"; - int blen; + const char *bstr2 = "/org/freedesktop/Hal/devices/volume_label_"; + const char *bstr3 = "/org/freedesktop/Hal/devices/storage_serial_"; + // /org/freedesktop/Hal/devices/storage_serial_PLEXTOR_DVDR_PX_740A_00D0A905301025695 + int blen, blen2, blen3; blen = strlen(bstr); + blen2 = strlen(bstr2); + blen3 = strlen(bstr3); if (!strcmp(event->header.member, "DeviceAdded")) { printf("E FM: DBus dev add:\n %s\n", @@ -6421,13 +6470,36 @@ _e_fm2_cb_dbus_event_server_signal(void *data, int ev_type, void *ev) char *uuid, *p; uuid = strdup(((char *)event->args[0].value) + blen); + printf("E FM: uuid = %s\n", uuid); for (p = uuid; *p; p++) { if (*p == '_') *p = '-'; } - _e_fm2_removable_dev_add(uuid); + printf("E FM: uuid-post = %s\n", uuid); + _e_fm2_removable_dev_add(uuid, NULL); free(uuid); } + /* cd/dvd's turn up as volumes only when inserted. also abov + * bstr3 is what the cd/dvd device itself turns up as + * when plugged in but no disk is in yet. volume label bstr2 + * is what determinies that + */ +/* + else if (!strncmp((char *)event->args[0].value, bstr2, blen2)) + { + char *label, *p; + + label = strdup(((char *)event->args[0].value) + blen2); + printf("E FM: label = %s\n", label); + for (p = label; *p; p++) + { + if (*p == '_') *p = '-'; + } + printf("E FM: label-post = %s\n", label); + _e_fm2_removable_dev_add(NULL, label); + free(label); + } + */ } else if (!strcmp(event->header.member, "DeviceRemoved")) { @@ -6442,9 +6514,23 @@ _e_fm2_cb_dbus_event_server_signal(void *data, int ev_type, void *ev) { if (*p == '_') *p = '-'; } - _e_fm2_removable_dev_del(uuid); + _e_fm2_removable_dev_del(uuid, NULL); free(uuid); } +/* + else if (!strncmp((char *)event->args[0].value, bstr2, blen2)) + { + char *label, *p; + + label = strdup(((char *)event->args[0].value) + blen2); + for (p = label; *p; p++) + { + if (*p == '_') *p = '-'; + } + _e_fm2_removable_dev_del(NULL, label); + free(label); + } + */ } } return 1; diff --git a/src/bin/e_fwin.c b/src/bin/e_fwin.c index 1ecc19f0b..006b9092d 100644 --- a/src/bin/e_fwin.c +++ b/src/bin/e_fwin.c @@ -268,6 +268,8 @@ e_fwin_zone_new(E_Zone *zone, const char *dev, const char *path) evas_object_show(o); o = e_scrollframe_add(zone->container->bg_evas); + e_scrollframe_custom_theme_set(o, "base/theme/fileman", + "e/fileman/scrollframe/desktop"); /* FIXME: this theme object will have more versions and options later * for things like swallowing widgets/buttons ot providing them - a * gadcon for starters for fm widgets. need to register the owning @@ -283,8 +285,6 @@ e_fwin_zone_new(E_Zone *zone, const char *dev, const char *path) * same as currently done for bg & overlay. also add to fm2 the ability * to specify the .edj files to get the list and icon theme stuff from */ - e_scrollframe_custom_theme_set(o, "base/theme/fileman", - "e/fileman/scrollframe/desktop"); evas_object_data_set(fwin->fm_obj, "fwin", fwin); e_scrollframe_extern_pan_set(o, fwin->fm_obj, _e_fwin_pan_set, @@ -294,7 +294,7 @@ e_fwin_zone_new(E_Zone *zone, const char *dev, const char *path) evas_object_propagate_events_set(fwin->fm_obj, 0); fwin->scrollframe_obj = o; evas_object_move(o, fwin->zone->x, fwin->zone->y); - evas_object_resize(fwin->scrollframe_obj, fwin->zone->w, fwin->zone->h); + evas_object_resize(o, fwin->zone->w, fwin->zone->h); evas_object_show(o); e_fm2_window_object_set(fwin->fm_obj, E_OBJECT(fwin->zone)); @@ -446,9 +446,16 @@ _e_fwin_changed(void *data, Evas_Object *obj, void *event_info) (char *)fwin->scrollframe_file, "e/fileman/scrollframe/default"); else - e_scrollframe_custom_theme_set(fwin->scrollframe_obj, - "base/theme/fileman", - "e/fileman/scrollframe/default"); + { + if (fwin->zone) + e_scrollframe_custom_theme_set(fwin->scrollframe_obj, + "base/theme/fileman", + "e/fileman/scrollframe/desktop"); + else + e_scrollframe_custom_theme_set(fwin->scrollframe_obj, + "base/theme/fileman", + "e/fileman/scrollframe/default"); + } e_scrollframe_child_pos_set(fwin->scrollframe_obj, 0, 0); } if ((fwin->theme_file) && (ecore_file_exists(fwin->theme_file))) diff --git a/src/bin/e_scrollframe.c b/src/bin/e_scrollframe.c index c8482f006..3ed753380 100644 --- a/src/bin/e_scrollframe.c +++ b/src/bin/e_scrollframe.c @@ -164,7 +164,7 @@ EAPI void e_scrollframe_custom_theme_set(Evas_Object *obj, char *custom_category, char *custom_group) { API_ENTRY return; - + e_theme_edje_object_set(sd->edje_obj, custom_category, custom_group); if (sd->pan_obj) edje_object_part_swallow(sd->edje_obj, "e.swallow.content", sd->pan_obj);