From 4a7584f4fc951f0ca190eb843ddbac9cf8d846e0 Mon Sep 17 00:00:00 2001 From: Carsten Haitzler Date: Sun, 18 Feb 2001 22:17:01 +0000 Subject: [PATCH] shelf can clip icons... and move them with it.. try resizing (by the lower-right corner of the shelf) and them move it around.. :) you'll see what i mean... again - this is me just testing stuff... i think i now know enough works and what i need to do to go around and fix thing sup so they are done "right" :) SVN revision: 4250 --- .../default/shelves/default.bits.db | Bin 589824 -> 593920 bytes src/e.h | 2 ++ src/icons.c | 15 +++++++++++++++ src/shelf.c | 3 ++- src/util.c | 7 +++++++ src/view.c | 2 ++ 6 files changed, 28 insertions(+), 1 deletion(-) diff --git a/data/config/appearance/default/shelves/default.bits.db b/data/config/appearance/default/shelves/default.bits.db index 5d9771fd5ed438a822500ecf3fb79b3923fe19ac..509f6640a3294d636fef83e345e56c3615b606c5 100644 GIT binary patch delta 12515 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 G>iPc(?j2JA delta 4063 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 diff --git a/src/e.h b/src/e.h index 4b13daf68..edee29cd9 100644 --- a/src/e.h +++ b/src/e.h @@ -12,6 +12,7 @@ #include #include #include +#include #ifdef WITH_DMALLOC #include #endif @@ -610,6 +611,7 @@ char *e_file_real(char *file); char *e_file_get_file(char *file); char *e_file_get_dir(char *file); void *e_memdup(void *data, int size); +int e_glob_matches(char *str, char *glob); void e_exec_set_args(int argc, char **argv); void e_exec_restart(void); diff --git a/src/icons.c b/src/icons.c index f6ef64916..e829a84ee 100644 --- a/src/icons.c +++ b/src/icons.c @@ -160,6 +160,8 @@ e_icon_set_filename(E_Icon *icon, char *file) void e_icon_update(E_Icon *icon) { + int obj_new = 0; + if (!icon->changed) return; if (((icon->current.icon) && (icon->previous.icon) && (strcmp(icon->current.icon, icon->previous.icon))) || @@ -176,6 +178,7 @@ e_icon_update(E_Icon *icon) evas_set_layer(icon->view->evas, icon->obj.filename, 10); icon->previous.x = icon->current.x - 1; icon->previous.visible = icon->current.visible - 1; + obj_new = 1; } if (!icon->obj.icon) { @@ -183,6 +186,18 @@ e_icon_update(E_Icon *icon) evas_set_layer(icon->view->evas, icon->obj.icon, 10); icon->previous.x = icon->current.x - 1; icon->previous.visible = icon->current.visible - 1; + obj_new = 1; + } + if (obj_new) + { + if (icon->shelf) + { + E_Shelf *sh; + + sh = icon->shelf; + e_shelf_del_icon(sh, icon); + e_shelf_add_icon(sh, icon); + } } if ((icon->previous.x != icon->current.x) || (icon->previous.y != icon->current.y)) diff --git a/src/shelf.c b/src/shelf.c index 8f02f07af..83aa8e63d 100644 --- a/src/shelf.c +++ b/src/shelf.c @@ -245,8 +245,8 @@ e_shelf_move_by(E_Shelf *sh, int dx, int dy) pl = pr = pt = pb = 0; if (sh->bit.border) ebits_get_insets(sh->bit.border, &pl, &pr, &pt, &pb); evas_move(sh->view->evas, sh->obj.clipper, sh->x + pl, sh->y + pt); + printf("move to %i %i\n", sh->x + pl, sh->y + pt); } - return; for (l = sh->view->icons; l; l = l->next) { E_Icon *icon; @@ -274,6 +274,7 @@ e_shelf_resize(E_Shelf *sh, int w, int h) pl = pr = pt = pb = 0; if (sh->bit.border) ebits_get_insets(sh->bit.border, &pl, &pr, &pt, &pb); evas_resize(sh->view->evas, sh->obj.clipper, sh->w - pl - pr, sh->h - pt - pb); + printf("resize to %i %i\n", sh->w - pl - pr, sh->h - pt - pb); } } diff --git a/src/util.c b/src/util.c index 24159b652..65bcb8eb4 100644 --- a/src/util.c +++ b/src/util.c @@ -122,3 +122,10 @@ e_memdup(void *data, int size) memcpy(data_dup, data, size); return data_dup; } + +int +e_glob_matches(char *str, char *glob) +{ + if (!fnmatch(glob, str, 0)) return 1; + return 0; +} diff --git a/src/view.c b/src/view.c index 3d53c1a8f..3b9fff0fc 100644 --- a/src/view.c +++ b/src/view.c @@ -686,12 +686,14 @@ e_view_add_icon(E_View *v, E_Icon *icon) e_icon_realize(icon); v->changed = 1; v->icons = evas_list_append(v->icons, icon); + e_shelf_add_icon(v->shelves->data, icon); } void e_view_del_icon(E_View *v, E_Icon *icon) { if (!icon->view) return; + e_shelf_del_icon(v->shelves->data, icon); e_icon_unrealize(icon); OBJ_UNREF(icon); icon->view = NULL;