remove frame shadow for desktop - custom scrollframe.

SVN revision: 30051
This commit is contained in:
Carsten Haitzler 2007-05-21 14:12:48 +00:00
parent d4b9eaa1ae
commit e9d5e13066
5 changed files with 191 additions and 121 deletions

10
TODO
View File

@ -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.

View File

@ -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;

View File

@ -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;

View File

@ -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)))

View File

@ -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);