From 4efdf11ee65cc71efbd69f523127d95c0a22036d Mon Sep 17 00:00:00 2001 From: Till Adam Date: Wed, 27 Feb 2002 22:46:14 +0000 Subject: [PATCH] Move e_view_machine_get_model functionality into e_view_set_dir in view.c where it makes more sense. SVN revision: 5996 --- src/border.c | 93 ++++++++++++++++++++------------------------ src/e_view_machine.c | 54 +------------------------ src/e_view_machine.h | 2 +- src/icons.c | 3 +- src/view.c | 78 +++++++++++++++++++++++++++++-------- 5 files changed, 108 insertions(+), 122 deletions(-) diff --git a/src/border.c b/src/border.c index 7cd8c79ee..21186cf96 100644 --- a/src/border.c +++ b/src/border.c @@ -728,56 +728,51 @@ e_mouse_move(Ecore_Event * ev) static void e_mouse_in(Ecore_Event * ev) { - Ecore_Event_Window_Enter *e; - - D_ENTER; + Ecore_Event_Window_Enter *e; + E_Border *b; + D_ENTER; current_ev = ev; e = ev->event; - { - E_Border *b; - - b = e_border_find_by_window(e->win); - if (b) - { - if (e->win == b->win.main) e_cb_border_mouse_in(b, ev); - if (e->win == b->win.input) - { - 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; + if ( (b = e_border_find_by_window(e->win)) ) + { + if (e->win == b->win.main) + e_cb_border_mouse_in(b, ev); + else if (e->win == b->win.input) + { + 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; D_RETURN; } @@ -808,7 +803,6 @@ e_mouse_out(Ecore_Event * ev) } } current_ev = NULL; - current_ev = NULL; D_RETURN; } @@ -818,15 +812,14 @@ static void e_window_expose(Ecore_Event * ev) { Ecore_Event_Window_Expose *e; - + D_ENTER; current_ev = ev; e = ev->event; { Evas_List l; - E_Border *b; - + E_Border *b; for (l = evases; l; l = l->next) { Evas evas; diff --git a/src/e_view_machine.c b/src/e_view_machine.c index e222b9cf0..2f51bf273 100644 --- a/src/e_view_machine.c +++ b/src/e_view_machine.c @@ -44,8 +44,8 @@ e_view_machine_unregister_view(E_View *v) } -static E_View_Model * -view_model_lookup(char *path) +E_View_Model * +e_view_machine_model_lookup(char *path) { E_View_Model *m; 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; -} diff --git a/src/e_view_machine.h b/src/e_view_machine.h index b4336d8f3..c5166aada 100644 --- a/src/e_view_machine.h +++ b/src/e_view_machine.h @@ -12,5 +12,5 @@ typedef struct _e_view_machine E_View_Machine; void e_view_machine_init(void); void e_view_machine_register_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 diff --git a/src/icons.c b/src/icons.c index 956e8214c..cf0650191 100644 --- a/src/icons.c +++ b/src/icons.c @@ -891,7 +891,6 @@ e_icon_exec(E_Icon *ic) e_file_can_exec(&ic->file->stat)) { E_View *v; - E_Border *b; char buf[PATH_MAX]; v = e_view_new(); @@ -910,6 +909,6 @@ e_icon_exec(E_Icon *ic) ecore_window_set_min_size(v->win.base, 8, 8); } e_icon_deselect(ic); - + D_RETURN; } diff --git a/src/view.c b/src/view.c index dd0484e85..8d079f502 100644 --- a/src/view.c +++ b/src/view.c @@ -1683,25 +1683,69 @@ _member.r = _r; _member.g = _g; _member.b = _b; _member.a = _a; } 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; - e_view_machine_get_model(v, dir, is_desktop); - /* 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; + + if (!v || !path || *path == 0) + D_RETURN; + + if (!(m = e_view_machine_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); + + /* 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; }