forked from enlightenment/enlightenment
Move e_view_machine_get_model functionality into e_view_set_dir in view.c
where it makes more sense. SVN revision: 5996
This commit is contained in:
parent
706a10b1db
commit
4efdf11ee6
93
src/border.c
93
src/border.c
|
@ -728,56 +728,51 @@ e_mouse_move(Ecore_Event * ev)
|
||||||
static void
|
static void
|
||||||
e_mouse_in(Ecore_Event * ev)
|
e_mouse_in(Ecore_Event * ev)
|
||||||
{
|
{
|
||||||
Ecore_Event_Window_Enter *e;
|
Ecore_Event_Window_Enter *e;
|
||||||
|
E_Border *b;
|
||||||
D_ENTER;
|
|
||||||
|
|
||||||
|
D_ENTER;
|
||||||
current_ev = ev;
|
current_ev = ev;
|
||||||
e = ev->event;
|
e = ev->event;
|
||||||
{
|
if ( (b = e_border_find_by_window(e->win)) )
|
||||||
E_Border *b;
|
{
|
||||||
|
if (e->win == b->win.main)
|
||||||
b = e_border_find_by_window(e->win);
|
e_cb_border_mouse_in(b, ev);
|
||||||
if (b)
|
else if (e->win == b->win.input)
|
||||||
{
|
{
|
||||||
if (e->win == b->win.main) e_cb_border_mouse_in(b, ev);
|
int x, y;
|
||||||
if (e->win == b->win.input)
|
Evas evas;
|
||||||
{
|
|
||||||
int x, y;
|
|
||||||
Evas evas;
|
|
||||||
|
|
||||||
evas = b->evas.l;
|
|
||||||
ecore_window_get_root_relative_location(evas_get_window(evas), &x, &y);
|
|
||||||
x = e->rx - x;
|
|
||||||
y = e->ry - y;
|
|
||||||
evas_event_move(evas, x, y);
|
|
||||||
evas_event_enter(evas);
|
|
||||||
|
|
||||||
evas = b->evas.r;
|
|
||||||
ecore_window_get_root_relative_location(evas_get_window(evas), &x, &y);
|
|
||||||
x = e->rx - x;
|
|
||||||
y = e->ry - y;
|
|
||||||
evas_event_move(evas, x, y);
|
|
||||||
evas_event_enter(evas);
|
|
||||||
|
|
||||||
evas = b->evas.t;
|
|
||||||
ecore_window_get_root_relative_location(evas_get_window(evas), &x, &y);
|
|
||||||
x = e->rx - x;
|
|
||||||
y = e->ry - y;
|
|
||||||
evas_event_move(evas, x, y);
|
|
||||||
evas_event_enter(evas);
|
|
||||||
|
|
||||||
evas = b->evas.b;
|
|
||||||
ecore_window_get_root_relative_location(evas_get_window(evas), &x, &y);
|
|
||||||
x = e->rx - x;
|
|
||||||
y = e->ry - y;
|
|
||||||
evas_event_move(evas, x, y);
|
|
||||||
evas_event_enter(evas);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
current_ev = NULL;
|
|
||||||
|
|
||||||
|
evas = b->evas.l;
|
||||||
|
ecore_window_get_root_relative_location(evas_get_window(evas), &x, &y);
|
||||||
|
x = e->rx - x;
|
||||||
|
y = e->ry - y;
|
||||||
|
evas_event_move(evas, x, y);
|
||||||
|
evas_event_enter(evas);
|
||||||
|
|
||||||
|
evas = b->evas.r;
|
||||||
|
ecore_window_get_root_relative_location(evas_get_window(evas), &x, &y);
|
||||||
|
x = e->rx - x;
|
||||||
|
y = e->ry - y;
|
||||||
|
evas_event_move(evas, x, y);
|
||||||
|
evas_event_enter(evas);
|
||||||
|
|
||||||
|
evas = b->evas.t;
|
||||||
|
ecore_window_get_root_relative_location(evas_get_window(evas), &x, &y);
|
||||||
|
x = e->rx - x;
|
||||||
|
y = e->ry - y;
|
||||||
|
evas_event_move(evas, x, y);
|
||||||
|
evas_event_enter(evas);
|
||||||
|
|
||||||
|
evas = b->evas.b;
|
||||||
|
ecore_window_get_root_relative_location(evas_get_window(evas), &x, &y);
|
||||||
|
x = e->rx - x;
|
||||||
|
y = e->ry - y;
|
||||||
|
evas_event_move(evas, x, y);
|
||||||
|
evas_event_enter(evas);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
current_ev = NULL;
|
||||||
D_RETURN;
|
D_RETURN;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -808,7 +803,6 @@ e_mouse_out(Ecore_Event * ev)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
current_ev = NULL;
|
current_ev = NULL;
|
||||||
current_ev = NULL;
|
|
||||||
|
|
||||||
D_RETURN;
|
D_RETURN;
|
||||||
}
|
}
|
||||||
|
@ -818,15 +812,14 @@ static void
|
||||||
e_window_expose(Ecore_Event * ev)
|
e_window_expose(Ecore_Event * ev)
|
||||||
{
|
{
|
||||||
Ecore_Event_Window_Expose *e;
|
Ecore_Event_Window_Expose *e;
|
||||||
|
|
||||||
D_ENTER;
|
D_ENTER;
|
||||||
|
|
||||||
current_ev = ev;
|
current_ev = ev;
|
||||||
e = ev->event;
|
e = ev->event;
|
||||||
{
|
{
|
||||||
Evas_List l;
|
Evas_List l;
|
||||||
E_Border *b;
|
E_Border *b;
|
||||||
|
|
||||||
for (l = evases; l; l = l->next)
|
for (l = evases; l; l = l->next)
|
||||||
{
|
{
|
||||||
Evas evas;
|
Evas evas;
|
||||||
|
|
|
@ -44,8 +44,8 @@ e_view_machine_unregister_view(E_View *v)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static E_View_Model *
|
E_View_Model *
|
||||||
view_model_lookup(char *path)
|
e_view_machine_model_lookup(char *path)
|
||||||
{
|
{
|
||||||
E_View_Model *m;
|
E_View_Model *m;
|
||||||
Evas_List l;
|
Evas_List l;
|
||||||
|
@ -77,54 +77,4 @@ view_model_lookup(char *path)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void
|
|
||||||
e_view_machine_get_model(E_View *v, char *path, int is_desktop)
|
|
||||||
{
|
|
||||||
E_View_Model *m = NULL;
|
|
||||||
char buf[PATH_MAX];
|
|
||||||
|
|
||||||
D_ENTER;
|
|
||||||
|
|
||||||
if (!v || !path || *path == 0)
|
|
||||||
D_RETURN;
|
|
||||||
|
|
||||||
if (!(m = view_model_lookup(path)))
|
|
||||||
{
|
|
||||||
D("Model for this dir doesn't exist, make a new one\n");
|
|
||||||
|
|
||||||
m = e_view_model_new();
|
|
||||||
VM->models = evas_list_append(VM->models, m);
|
|
||||||
e_view_model_set_dir(m, path);
|
|
||||||
|
|
||||||
snprintf(buf, PATH_MAX, "%s/.e_background.bg.db", m->dir);
|
|
||||||
if (!e_file_exists(buf))
|
|
||||||
{
|
|
||||||
if (is_desktop)
|
|
||||||
{
|
|
||||||
snprintf(buf, PATH_MAX, "%s/default.bg.db", e_config_get("backgrounds"));
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
snprintf(buf, PATH_MAX, "%s/view.bg.db", e_config_get("backgrounds"));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
e_strdup(m->bg_file, buf);
|
|
||||||
m->is_desktop = is_desktop;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (m)
|
|
||||||
{
|
|
||||||
v->model = m;
|
|
||||||
v->model->views = evas_list_append(v->model->views, v);
|
|
||||||
/* FIXME do a real naming scheme here */
|
|
||||||
snprintf(buf, PATH_MAX, "%s:%d", v->model->dir, e_object_get_usecount(E_OBJECT(v->model)));
|
|
||||||
e_strdup(v->name, buf);
|
|
||||||
D("assigned name to view: %s\n",v->name);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
/* FIXME error handling */
|
|
||||||
}
|
|
||||||
|
|
||||||
D_RETURN;
|
|
||||||
}
|
|
||||||
|
|
|
@ -12,5 +12,5 @@ typedef struct _e_view_machine E_View_Machine;
|
||||||
void e_view_machine_init(void);
|
void e_view_machine_init(void);
|
||||||
void e_view_machine_register_view(E_View *v);
|
void e_view_machine_register_view(E_View *v);
|
||||||
void e_view_machine_unregister_view(E_View *v);
|
void e_view_machine_unregister_view(E_View *v);
|
||||||
void e_view_machine_get_model(E_View *v, char *path, int is_desktop);
|
E_View_Model *e_view_machine_model_lookup(char *path);
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -891,7 +891,6 @@ e_icon_exec(E_Icon *ic)
|
||||||
e_file_can_exec(&ic->file->stat))
|
e_file_can_exec(&ic->file->stat))
|
||||||
{
|
{
|
||||||
E_View *v;
|
E_View *v;
|
||||||
E_Border *b;
|
|
||||||
char buf[PATH_MAX];
|
char buf[PATH_MAX];
|
||||||
|
|
||||||
v = e_view_new();
|
v = e_view_new();
|
||||||
|
@ -910,6 +909,6 @@ e_icon_exec(E_Icon *ic)
|
||||||
ecore_window_set_min_size(v->win.base, 8, 8);
|
ecore_window_set_min_size(v->win.base, 8, 8);
|
||||||
}
|
}
|
||||||
e_icon_deselect(ic);
|
e_icon_deselect(ic);
|
||||||
|
|
||||||
D_RETURN;
|
D_RETURN;
|
||||||
}
|
}
|
||||||
|
|
78
src/view.c
78
src/view.c
|
@ -1683,25 +1683,69 @@ _member.r = _r; _member.g = _g; _member.b = _b; _member.a = _a;
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
e_view_set_dir(E_View *v, char *dir, int is_desktop)
|
e_view_set_dir(E_View *v, char *path, int is_desktop)
|
||||||
{
|
{
|
||||||
|
E_View_Model *m = NULL;
|
||||||
|
char buf[PATH_MAX];
|
||||||
|
|
||||||
D_ENTER;
|
D_ENTER;
|
||||||
e_view_machine_get_model(v, dir, is_desktop);
|
|
||||||
/* Request metadata via efsd */
|
if (!v || !path || *path == 0)
|
||||||
v->geom_get.x = efsd_get_metadata(e_fs_get_connection(),
|
D_RETURN;
|
||||||
"/view/x", v->model->dir, EFSD_INT);
|
|
||||||
v->geom_get.y = efsd_get_metadata(e_fs_get_connection(),
|
if (!(m = e_view_machine_model_lookup(path)))
|
||||||
"/view/y", v->model->dir, EFSD_INT);
|
{
|
||||||
v->geom_get.w = efsd_get_metadata(e_fs_get_connection(),
|
D("Model for this dir doesn't exist, make a new one\n");
|
||||||
"/view/w", v->model->dir, EFSD_INT);
|
|
||||||
v->geom_get.h = efsd_get_metadata(e_fs_get_connection(),
|
m = e_view_model_new();
|
||||||
"/view/h", v->model->dir, EFSD_INT);
|
VM->models = evas_list_append(VM->models, m);
|
||||||
/* FIXME currently, we dont use this anyway */
|
e_view_model_set_dir(m, path);
|
||||||
/*
|
|
||||||
* v->getbg = efsd_get_metadata(e_fs_get_connection(),
|
snprintf(buf, PATH_MAX, "%s/.e_background.bg.db", m->dir);
|
||||||
* "/view/background", v->model->dir, EFSD_STRING);
|
if (!e_file_exists(buf))
|
||||||
*/
|
{
|
||||||
v->geom_get.busy = 1;
|
if (is_desktop)
|
||||||
|
{
|
||||||
|
snprintf(buf, PATH_MAX, "%s/default.bg.db", e_config_get("backgrounds"));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
snprintf(buf, PATH_MAX, "%s/view.bg.db", e_config_get("backgrounds"));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
e_strdup(m->bg_file, buf);
|
||||||
|
m->is_desktop = is_desktop;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (m)
|
||||||
|
{
|
||||||
|
v->model = m;
|
||||||
|
v->model->views = evas_list_append(v->model->views, v);
|
||||||
|
/* FIXME do a real naming scheme here */
|
||||||
|
snprintf(buf, PATH_MAX, "%s:%d", v->model->dir, e_object_get_usecount(E_OBJECT(v->model)));
|
||||||
|
e_strdup(v->name, buf);
|
||||||
|
D("assigned name to view: %s\n",v->name);
|
||||||
|
|
||||||
|
/* Request metadata via efsd */
|
||||||
|
v->geom_get.x = efsd_get_metadata(e_fs_get_connection(),
|
||||||
|
"/view/x", v->model->dir, EFSD_INT);
|
||||||
|
v->geom_get.y = efsd_get_metadata(e_fs_get_connection(),
|
||||||
|
"/view/y", v->model->dir, EFSD_INT);
|
||||||
|
v->geom_get.w = efsd_get_metadata(e_fs_get_connection(),
|
||||||
|
"/view/w", v->model->dir, EFSD_INT);
|
||||||
|
v->geom_get.h = efsd_get_metadata(e_fs_get_connection(),
|
||||||
|
"/view/h", v->model->dir, EFSD_INT);
|
||||||
|
/* FIXME currently, we dont use this anyway */
|
||||||
|
/*
|
||||||
|
* v->getbg = efsd_get_metadata(e_fs_get_connection(),
|
||||||
|
* "/view/background", v->model->dir, EFSD_STRING);
|
||||||
|
*/
|
||||||
|
v->geom_get.busy = 1;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
/* FIXME error handling */
|
||||||
|
}
|
||||||
D_RETURN;
|
D_RETURN;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue