forked from enlightenment/enlightenment
OK, you can now have individual backgrounds for diffrent directories now.
Just set the full path and file name in the metadata for that directory under the key "/view/background" (you'll have to use efsdsh to set it right now). SVN revision: 5317
This commit is contained in:
parent
89db9d84c8
commit
6228476075
27
src/view.c
27
src/view.c
|
@ -274,7 +274,6 @@ e_bg_down_cb(void *_data, Evas _e, Evas_Object _o, int _b, int _x, int _y)
|
||||||
}
|
}
|
||||||
if( _b == 2 && ev->double_click )
|
if( _b == 2 && ev->double_click )
|
||||||
e_event_loop_quit();
|
e_event_loop_quit();
|
||||||
|
|
||||||
UN(_e);
|
UN(_e);
|
||||||
UN(_o);
|
UN(_o);
|
||||||
}
|
}
|
||||||
|
@ -578,7 +577,7 @@ e_view_icon_exec(E_Icon *ic)
|
||||||
v->size.w = 400;
|
v->size.w = 400;
|
||||||
v->size.h = 300;
|
v->size.h = 300;
|
||||||
v->options.back_pixmap = 0;
|
v->options.back_pixmap = 0;
|
||||||
/* FIXME: load bg here */
|
/* Load default bg then handle bg in metadata */
|
||||||
{
|
{
|
||||||
char buf[4096];
|
char buf[4096];
|
||||||
|
|
||||||
|
@ -1550,7 +1549,8 @@ e_view_handle_fs_restart(void *data)
|
||||||
"/view/w", v->dir, EFSD_INT);
|
"/view/w", v->dir, EFSD_INT);
|
||||||
v->geom_get.h = efsd_get_metadata(e_fs_get_connection(),
|
v->geom_get.h = efsd_get_metadata(e_fs_get_connection(),
|
||||||
"/view/h", v->dir, EFSD_INT);
|
"/view/h", v->dir, EFSD_INT);
|
||||||
}
|
v->getbg = efsd_get_metadata(e_fs_get_connection(), "/view/background", v->dir, EFSD_STRING);
|
||||||
|
}
|
||||||
{
|
{
|
||||||
EfsdOptions *ops;
|
EfsdOptions *ops;
|
||||||
|
|
||||||
|
@ -2178,7 +2178,8 @@ e_view_set_dir(E_View *v, char *dir)
|
||||||
v->geom_get.h = efsd_get_metadata(e_fs_get_connection(),
|
v->geom_get.h = efsd_get_metadata(e_fs_get_connection(),
|
||||||
"/view/h", v->dir, EFSD_INT);
|
"/view/h", v->dir, EFSD_INT);
|
||||||
v->geom_get.busy = 1;
|
v->geom_get.busy = 1;
|
||||||
{
|
v->getbg = efsd_get_metadata(e_fs_get_connection(), "/view/background", v->dir, EFSD_STRING);
|
||||||
|
{
|
||||||
EfsdOptions *ops;
|
EfsdOptions *ops;
|
||||||
|
|
||||||
ops = efsd_ops(2, efsd_op_get_stat(), efsd_op_get_filetype());
|
ops = efsd_ops(2, efsd_op_get_stat(), efsd_op_get_filetype());
|
||||||
|
@ -2582,6 +2583,24 @@ e_view_handle_fs(EfsdEvent *ev)
|
||||||
}
|
}
|
||||||
ok = 1;
|
ok = 1;
|
||||||
}
|
}
|
||||||
|
else if (v->getbg == cmd)
|
||||||
|
{
|
||||||
|
v->getbg = 0;
|
||||||
|
if (efsd_metadata_get_type(ev) == EFSD_STRING)
|
||||||
|
{
|
||||||
|
if (ev->efsd_reply_event.errorcode == 0)
|
||||||
|
{
|
||||||
|
struct stat st;
|
||||||
|
if (stat(efsd_metadata_get_str(ev), &st) != -1 )
|
||||||
|
{
|
||||||
|
printf("Attempted to set background for: %s\n", v->dir);
|
||||||
|
v->bg = e_background_load(efsd_metadata_get_str(ev));
|
||||||
|
e_background_realize(v->bg, v->evas);
|
||||||
|
e_background_set_size(v->bg, v->size.w, v->size.h);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
if (ok)
|
if (ok)
|
||||||
{
|
{
|
||||||
if ((!v->geom_get.x) &&
|
if ((!v->geom_get.x) &&
|
||||||
|
|
|
@ -109,6 +109,8 @@ struct _E_View
|
||||||
|
|
||||||
E_Background *bg;
|
E_Background *bg;
|
||||||
|
|
||||||
|
int getbg;
|
||||||
|
|
||||||
struct {
|
struct {
|
||||||
E_Scrollbar *h, *v;
|
E_Scrollbar *h, *v;
|
||||||
} scrollbar;
|
} scrollbar;
|
||||||
|
|
Loading…
Reference in New Issue