From: Enlightenment S. <no-...@en...> - 2008-09-30 08:22:26
|
Log: Fix advanced window to show its buttons. Author: titan Date: 2008-09-30 01:22:20 -0700 (Tue, 30 Sep 2008) New Revision: 36346 Modified: trunk/ephoto/src/bin/ephoto_single_view.c Modified: trunk/ephoto/src/bin/ephoto_single_view.c =================================================================== --- trunk/ephoto/src/bin/ephoto_single_view.c 2008-09-30 08:18:41 UTC (rev 36345) +++ trunk/ephoto/src/bin/ephoto_single_view.c 2008-09-30 08:22:20 UTC (rev 36346) @@ -170,24 +170,35 @@ static void show_advanced(void) { - Ewl_Widget *fbox, *button; + Ewl_Widget *vbox, *fbox, *button; em->ewin = add_window("Ephoto Advanced Image Tools!", - 240, 185, destroy, NULL); + 230, 100, destroy, NULL); + vbox = add_box(em->ewin, EWL_ORIENTATION_VERTICAL, 1); + ewl_object_fill_policy_set(EWL_OBJECT(vbox), EWL_FLAG_FILL_ALL); + fbox = ewl_hfreebox_new(); ewl_object_alignment_set(EWL_OBJECT(fbox), EWL_FLAG_ALIGN_CENTER); ewl_object_fill_policy_set(EWL_OBJECT(fbox), EWL_FLAG_FILL_ALL); - ewl_container_child_append(EWL_CONTAINER(em->ewin), fbox); + ewl_container_child_append(EWL_CONTAINER(vbox), fbox); ewl_widget_show(fbox); button = add_button(fbox, "Grayscale", NULL, image_grayscale, em->simage); - + ewl_object_fill_policy_set(EWL_OBJECT(button), EWL_FLAG_FILL_ALL); + ewl_object_minimum_w_set(EWL_OBJECT(button), 75); + button = add_button(fbox, "Sepia", NULL, image_sepia, em->simage); + ewl_object_fill_policy_set(EWL_OBJECT(button), EWL_FLAG_FILL_ALL); + ewl_object_minimum_w_set(EWL_OBJECT(button), 75); button = add_button(fbox, "Blur", NULL, image_blur, em->simage); + ewl_object_fill_policy_set(EWL_OBJECT(button), EWL_FLAG_FILL_ALL); + ewl_object_minimum_w_set(EWL_OBJECT(button), 75); button = add_button(fbox, "Sharpen", NULL, image_sharpen, em->simage); + ewl_object_fill_policy_set(EWL_OBJECT(button), EWL_FLAG_FILL_ALL); + ewl_object_minimum_w_set(EWL_OBJECT(button), 75); return; } |
From: Enlightenment S. <no-...@en...> - 2009-02-17 23:15:41
|
Log: Add a function to check if an image has exif data. Author: titan Date: 2009-02-17 14:12:07 -0800 (Tue, 17 Feb 2009) New Revision: 39064 Modified: trunk/ephoto/src/bin/ephoto_exif.c trunk/ephoto/src/bin/ephoto_exif.h Modified: trunk/ephoto/src/bin/ephoto_exif.c =================================================================== --- trunk/ephoto/src/bin/ephoto_exif.c 2009-02-17 21:47:48 UTC (rev 39063) +++ trunk/ephoto/src/bin/ephoto_exif.c 2009-02-17 22:12:07 UTC (rev 39064) @@ -1,6 +1,27 @@ #ifdef BUILD_EXIF_SUPPORT #include "ephoto_exif.h" +int image_has_exif_data(const char *file) { + const char **args; + ExifData *data; + ExifLoader *loader; + + args = calloc(1, sizeof(const char *)); + args[0] = file; + + loader = exif_loader_new(); + exif_loader_write_file(loader, *args); + + data = exif_loader_get_data(loader); + if (!data) { + return 0; + } + exif_loader_unref(loader); + exif_data_unref(data); + + return 1; +} + Ecore_Hash *get_exif_data(const char *file) { const char **args, *title; char value[1024]; Modified: trunk/ephoto/src/bin/ephoto_exif.h =================================================================== --- trunk/ephoto/src/bin/ephoto_exif.h 2009-02-17 21:47:48 UTC (rev 39063) +++ trunk/ephoto/src/bin/ephoto_exif.h 2009-02-17 22:12:07 UTC (rev 39064) @@ -6,6 +6,7 @@ #include <libexif/exif-data.h> #include <libexif/exif-loader.h> +int image_has_exif_data(const char *file); Ecore_Hash *get_exif_data(const char *file); #endif |
From: Enlightenment S. <no-...@en...> - 2009-02-18 00:29:48
|
Log: Change the sepia formula a bit. Author: titan Date: 2009-02-17 16:29:44 -0800 (Tue, 17 Feb 2009) New Revision: 39067 Modified: trunk/ephoto/src/bin/ephoto_imaging.c Modified: trunk/ephoto/src/bin/ephoto_imaging.c =================================================================== --- trunk/ephoto/src/bin/ephoto_imaging.c 2009-02-18 00:29:07 UTC (rev 39066) +++ trunk/ephoto/src/bin/ephoto_imaging.c 2009-02-18 00:29:44 UTC (rev 39067) @@ -299,10 +299,10 @@ r = r * (255 / a); } - rr = (int)(((r + g + b)/3)+40); + rr = (int)(((r + g + b)/3)+30); if (rr < 0) rr = 0; if (rr > 255) rr = 255; - gg = (int)(((r + g + b)/3)+2); + gg = (int)(((r + g + b)/3)+10); if (gg < 0) gg = 0; if (gg > 255) gg = 255; bb = (int)(((r + g + b)/3)+2); |
From: Enlightenment S. <no-...@en...> - 2009-02-18 18:57:11
|
Log: Free image_data that is lying around after effects have been applied. Author: titan Date: 2009-02-18 10:57:06 -0800 (Wed, 18 Feb 2009) New Revision: 39082 Modified: trunk/ephoto/src/bin/ephoto_imaging.c trunk/ephoto/src/bin/ephoto_single_view.c Modified: trunk/ephoto/src/bin/ephoto_imaging.c =================================================================== --- trunk/ephoto/src/bin/ephoto_imaging.c 2009-02-18 17:42:49 UTC (rev 39081) +++ trunk/ephoto/src/bin/ephoto_imaging.c 2009-02-18 18:57:06 UTC (rev 39082) @@ -82,6 +82,7 @@ index++; } } + return im_data_new; } @@ -108,6 +109,7 @@ index++; } } + return im_data_new; } @@ -245,6 +247,7 @@ p1++; } } + return im_data_new; } @@ -275,6 +278,7 @@ im_data_new[i] = (a << 24) | (gray << 16) | (gray << 8) | gray; } + return im_data_new; } @@ -317,6 +321,7 @@ im_data_new[i] = (a << 24) | (rr << 16) | (gg << 8) | bb; } + return im_data_new; } Modified: trunk/ephoto/src/bin/ephoto_single_view.c =================================================================== --- trunk/ephoto/src/bin/ephoto_single_view.c 2009-02-18 17:42:49 UTC (rev 39081) +++ trunk/ephoto/src/bin/ephoto_single_view.c 2009-02-18 18:57:06 UTC (rev 39082) @@ -4,6 +4,7 @@ static void show_effects(Ewl_Widget *w, void *event, void *data); static void destroy_window(Ewl_Widget *w, void *event, void *data); static void return_to_normal(Ewl_Widget *w, void *event, void *data); +static void undo_changes(Ewl_Widget *w, void *event, void *data); static void zoom_in(Ewl_Widget *w, void *event, void *data); static void zoom_out(Ewl_Widget *w, void *event, void *data); static void rotate_image_left(Ewl_Widget *w, void *event, void *data); @@ -12,6 +13,8 @@ static void flip_vert(Ewl_Widget *w, void *event, void *data); static void image_grayscale(Ewl_Widget *w, void *event, void *data); static void image_sepia(Ewl_Widget *w, void *event, void *data); +unsigned int *image_data_old = NULL; +unsigned int *image_data = NULL; void add_single_view(Ewl_Widget *c) { Ewl_Widget *sbox, *box, *hbox, *ibox, *image, *button; @@ -98,6 +101,17 @@ ewl_callback_append(button, EWL_CALLBACK_CLICKED, show_effects, NULL); ewl_widget_show(button); + + button = ewl_button_new(); + ewl_button_label_set(EWL_BUTTON(button), "Undo Changes"); + ewl_button_image_set(EWL_BUTTON(button), + PACKAGE_DATA_DIR "/images/dialog-close.png", + NULL); + ewl_button_image_size_set(EWL_BUTTON(button), 18, 18); + ewl_container_child_append(EWL_CONTAINER(hbox), button); + ewl_callback_append(button, EWL_CALLBACK_CLICKED, undo_changes, + NULL); + ewl_widget_show(button); } static void destroy_window(Ewl_Widget *w, void *event, void *data) { @@ -200,22 +214,33 @@ void show_single_view(Ewl_Widget *w, void *event, void *data) { const char *path; + Ewl_Image *image; + image = EWL_IMAGE(ephoto_get_single_image()); + path = (const char *)data; ewl_notebook_visible_page_set(EWL_NOTEBOOK(ephoto_get_view_box()), ephoto_get_single_vbox()); - ewl_image_file_path_set(EWL_IMAGE(ephoto_get_single_image()), path); + ewl_image_file_set(EWL_IMAGE(ephoto_get_single_image()), path, NULL); } static void return_to_normal(Ewl_Widget *w, void *event, void *data) { destroy_window(NULL, NULL, NULL); + ewl_image_file_set(EWL_IMAGE(ephoto_get_single_image()), + NULL, NULL); + if (image_data) + free(image_data); ewl_notebook_visible_page_set(EWL_NOTEBOOK(ephoto_get_view_box()), ephoto_get_normal_vbox()); } +static void undo_changes(Ewl_Widget *w, void *event, void *data) { + +} + static void zoom_in(Ewl_Widget *w, void *event, void *data) { Ewl_Widget *simage; - int wid, h; + int wid, h; simage = ephoto_get_single_image(); wid = ewl_object_current_w_get(EWL_OBJECT(simage)); @@ -234,13 +259,14 @@ } static void rotate_image_left(Ewl_Widget *w, void *event, void *data) { - unsigned int *image_data; - int nw, nh; + int nw, nh; Ewl_Image *image; Ewl_Widget *simage; simage = ephoto_get_single_image(); + image_data_old = image_data; + evas_object_image_size_get(EWL_IMAGE(simage)->image, &nh, &nw); image_data = rotate_left(simage); image = EWL_IMAGE(simage); @@ -251,17 +277,21 @@ ewl_object_preferred_inner_size_set(EWL_OBJECT(simage), nw, nh); ewl_widget_configure(simage->parent); + if (image_data_old) + free(image_data_old); + return; } static void rotate_image_right(Ewl_Widget *w, void *event, void *data) { - unsigned int *image_data; int nw, nh; Ewl_Image *image; Ewl_Widget *simage; simage = ephoto_get_single_image(); + image_data_old = image_data; + evas_object_image_size_get(EWL_IMAGE(simage)->image, &nh, &nw); image_data = rotate_right(simage); update_image(simage, nw, nh, image_data); @@ -272,68 +302,87 @@ ewl_object_preferred_inner_size_set(EWL_OBJECT(simage), nw, nh); ewl_widget_configure(simage->parent); + if (image_data_old) + free(image_data_old); + return; } static void flip_horiz(Ewl_Widget *w, void *event, void *data) { - unsigned int *image_data; int nw, nh; Ewl_Widget *simage; simage = ephoto_get_single_image(); + image_data_old = image_data; + image_data = flip_horizontal(simage); evas_object_image_size_get(EWL_IMAGE(simage)->image, &nw, &nh); update_image(simage, nw, nh, image_data); ewl_widget_configure(simage->parent); + if (image_data_old) + free(image_data_old); + return; } static void flip_vert(Ewl_Widget *w, void *event, void *data) { - unsigned int *image_data; int nw, nh; Ewl_Widget *simage; simage = ephoto_get_single_image(); + image_data_old = image_data; + image_data = flip_vertical(simage); evas_object_image_size_get(EWL_IMAGE(simage)->image, &nw, &nh); update_image(simage, nw, nh, image_data); ewl_widget_configure(simage->parent); + if (image_data_old) + free(image_data_old); + return; } static void image_grayscale(Ewl_Widget *w, void *event, void *data) { - unsigned int *image_data; int nw, nh; Ewl_Widget *simage; simage = ephoto_get_single_image(); + image_data_old = image_data; + image_data = grayscale_image(simage); evas_object_image_size_get(EWL_IMAGE(simage)->image, &nw, &nh); update_image(simage, nw, nh, image_data); ewl_widget_configure(simage->parent); + if (image_data_old) + free(image_data_old); + return; } static void image_sepia(Ewl_Widget *w, void *event, void *data) { - unsigned int *image_data; int nw, nh; Ewl_Widget *simage; simage = ephoto_get_single_image(); + image_data_old = image_data; + image_data = sepia_image(simage); evas_object_image_size_get(EWL_IMAGE(simage)->image, &nw, &nh); update_image(simage, nw, nh, image_data); ewl_widget_configure(simage->parent); - + + if (image_data_old) + free(image_data_old); + return; } |
From: Enlightenment S. <no-...@en...> - 2009-02-18 19:02:13
|
Log: Remove .deps folder, thanks vtorri Author: titan Date: 2009-02-18 11:02:07 -0800 (Wed, 18 Feb 2009) New Revision: 39083 Removed: trunk/ephoto/src/bin/.deps/ |
From: Enlightenment S. <no-...@en...> - 2009-02-19 00:15:42
|
Log: Small bug fix. Author: titan Date: 2009-02-18 14:06:40 -0800 (Wed, 18 Feb 2009) New Revision: 39084 Modified: trunk/ephoto/src/bin/ephoto_single_view.c Modified: trunk/ephoto/src/bin/ephoto_single_view.c =================================================================== --- trunk/ephoto/src/bin/ephoto_single_view.c 2009-02-18 19:02:07 UTC (rev 39083) +++ trunk/ephoto/src/bin/ephoto_single_view.c 2009-02-18 22:06:40 UTC (rev 39084) @@ -230,6 +230,7 @@ NULL, NULL); if (image_data) free(image_data); + image_data = NULL; ewl_notebook_visible_page_set(EWL_NOTEBOOK(ephoto_get_view_box()), ephoto_get_normal_vbox()); } |
From: Enlightenment S. <no-...@en...> - 2009-02-21 22:37:40
|
Log: Some autofoo changes. Author: titan Date: 2009-02-21 14:37:25 -0800 (Sat, 21 Feb 2009) New Revision: 39128 Modified: trunk/ephoto/src/bin/Makefile.am trunk/ephoto/src/bin/config.h.in Modified: trunk/ephoto/src/bin/Makefile.am =================================================================== --- trunk/ephoto/src/bin/Makefile.am 2009-02-21 17:25:23 UTC (rev 39127) +++ trunk/ephoto/src/bin/Makefile.am 2009-02-21 22:37:25 UTC (rev 39128) @@ -3,11 +3,10 @@ MAINTAINERCLEANFILES = *.o ephoto config.h.in config.h Makefile.in Makefile \ stamp-h1 -AM_CFLAGS = -Wall -g - bin_PROGRAMS = ephoto -ephoto_SOURCES = ephoto.c \ +ephoto_SOURCES = \ + ephoto.c \ ephoto_exif.c \ ephoto_fsystem.c \ ephoto_global.c \ @@ -22,5 +21,5 @@ ephoto_imaging.h \ ephoto_utils.h -ephoto_CFLAGS= @EWL_CFLAGS@ @EXIF_CFLAGS@ @EFREET_MIME_CFLAGS@ @EPSILON_CFLAGS@ -ephoto_LDFLAGS = @EWL_LIBS@ @EXIF_LIBS@ @EFREET_MIME_LIBS@ @EPSILON_LIBS@ +ephoto_CFLAGS= @EWL_CFLAGS@ @EXIF_CFLAGS@ @EFREET_MIME_CFLAGS@ @EPSILON_CFLAGS@ -Wall -g +ephoto_LDADD = @EWL_LIBS@ @EXIF_LIBS@ @EFREET_MIME_LIBS@ @EPSILON_LIBS@ Modified: trunk/ephoto/src/bin/config.h.in =================================================================== --- trunk/ephoto/src/bin/config.h.in 2009-02-21 17:25:23 UTC (rev 39127) +++ trunk/ephoto/src/bin/config.h.in 2009-02-21 22:37:25 UTC (rev 39128) @@ -47,10 +47,6 @@ /* Define to 1 if you have the <unistd.h> header file. */ #undef HAVE_UNISTD_H -/* Define to the sub-directory in which libtool stores uninstalled libraries. - */ -#undef LT_OBJDIR - /* Name of package */ #undef PACKAGE |
From: Enlightenment S. <no-...@en...> - 2009-09-27 16:52:17
|
Log: Thumbnail discovery on an idler. Author: titan Date: 2009-09-27 09:51:59 -0700 (Sun, 27 Sep 2009) New Revision: 42741 Modified: trunk/ephoto/src/bin/ephoto_image_browser.c Modified: trunk/ephoto/src/bin/ephoto_image_browser.c =================================================================== --- trunk/ephoto/src/bin/ephoto_image_browser.c 2009-09-27 14:21:29 UTC (rev 42740) +++ trunk/ephoto/src/bin/ephoto_image_browser.c 2009-09-27 16:51:59 UTC (rev 42741) @@ -2,7 +2,9 @@ static void move_left(void *data, Evas_Object *obj, const char *emission, const char *source); static void move_right(void *data, Evas_Object *obj, const char *emission, const char *source); -static Eina_List *get_image_files(const char *directory); +static int get_thumbnails(void *data); +static Ecore_Idler *idler; +static DIR *direc; /*Show the Image Browser*/ void show_image_browser(void) @@ -51,53 +53,48 @@ /*They will be passed to create_thumbnail for creation*/ void populate_thumbnails(void) { - char *dir, *image; - char cwd[PATH_MAX]; + char *dir, cwd[PATH_MAX]; dir = getcwd(cwd, PATH_MAX); - em->images = get_image_files(cwd); - - while(eina_list_data_get(em->images)) - { - image = eina_list_data_get(em->images); - - ephoto_table_pack(em->image_browser_tbl, image); - em->images = eina_list_next(em->images); - } + direc = opendir(dir); + idler = ecore_idler_add(get_thumbnails, strdup(dir)); } -/*Get Images From A Certain Directory*/ -/*Parameter Directory Is The Directory To Get Images From*/ -static Eina_List *get_image_files(const char *directory) +static int get_thumbnails(void *data) { - Eina_List *ls; - Eina_List *images = NULL; - char path[PATH_MAX], *file; + const char *type; + char *dir, path[PATH_MAX]; + int i; + struct dirent *d; - if (ecore_file_is_dir(directory)) + dir = data; + + for (i = 0; i <= 8; i++) { - ls = ecore_file_ls(directory); - file = eina_list_data_get(ls); - while (file) + d = readdir(direc); + if (!d) { - const char *type; - - if (strcmp(directory, "/")) - snprintf(path, PATH_MAX, "%s/%s", - directory, file); - else - snprintf(path, PATH_MAX, "%s%s", - directory, file); + ecore_idler_del(idler); + closedir(direc); + return 0; + } + else + { + if (strcmp(dir, "/")) + snprintf(path, PATH_MAX, "%s/%s", + dir, d->d_name); + else + snprintf(path, PATH_MAX, "%s%s", + dir, d->d_name); type = efreet_mime_type_get((const char *)path); if (!strncmp(type, "image", 5)) - images = eina_list_append(images, strdup(path)); - ls = eina_list_next(ls); - file = eina_list_data_get(ls); + { + em->images = eina_list_append(em->images, strdup(path)); + ephoto_table_pack(em->image_browser_tbl, strdup(path)); + } } - eina_list_free(ls); } - else - images = NULL; - return images; + + return 1; } |
From: Enlightenment S. <no-...@en...> - 2009-09-30 02:17:07
|
Log: Get aspect working. Author: titan Date: 2009-09-29 19:16:53 -0700 (Tue, 29 Sep 2009) New Revision: 42809 Modified: trunk/ephoto/src/bin/ephoto_image.c trunk/ephoto/src/bin/ephoto_table.c Modified: trunk/ephoto/src/bin/ephoto_image.c =================================================================== --- trunk/ephoto/src/bin/ephoto_image.c 2009-09-29 21:03:23 UTC (rev 42808) +++ trunk/ephoto/src/bin/ephoto_image.c 2009-09-30 02:16:53 UTC (rev 42809) @@ -5,14 +5,12 @@ struct _Image_Smart_Data { - Evas_Object *edje; Evas_Object *image; Evas_Object *border; Evas_Coord x, y, w, h; Evas_Object *obj; char fill_inside : 1; char use_border: 1; - int preferredw, preferredh; }; static void ephoto_image_smart_reconfigure(Ephoto_Image_Smart_Data *sd); @@ -48,8 +46,6 @@ evas_object_image_file_set(sd->image, file, NULL); evas_object_image_preload(sd->image, TRUE); ephoto_image_smart_reconfigure(sd); - sd->preferredw = w; - sd->preferredh = h; } void ephoto_image_fill_inside_set(Evas_Object *obj, int fill) @@ -68,15 +64,6 @@ ephoto_image_smart_reconfigure(sd); } -Evas_Object *ephoto_image_edje_object_get(Evas_Object *obj) -{ - Ephoto_Image_Smart_Data *sd; - - sd = evas_object_smart_data_get(obj); - - return sd->edje; -} - void ephoto_image_size_get(Evas_Object *obj, int *w, int *h) { Ephoto_Image_Smart_Data *sd; @@ -118,11 +105,9 @@ x = sd->x + ((sd->w - w) / 2); y = sd->y + ((sd->h - h) / 2); - evas_object_move(sd->edje, x, y); - evas_object_resize(sd->edje, sd->preferredw, sd->preferredh); evas_object_move(sd->image, x, y); - evas_object_image_fill_set(sd->image, 0, 0, sd->preferredw, sd->preferredh); - evas_object_resize(sd->image, sd->preferredw, sd->preferredh); + evas_object_image_fill_set(sd->image, 0, 0, w, h); + evas_object_resize(sd->image, w, h); } static void ephoto_image_smart_init(void) @@ -160,21 +145,13 @@ if (!sd) return; - sd->edje = edje_object_add(em->e); - edje_object_file_set(sd->edje, PACKAGE_DATA_DIR "/themes/default/ephoto.edj", "/ephoto/thumb/image"); - edje_object_signal_emit(sd->edje, "ephoto.thumb.visible", "ephoto"); - evas_object_smart_member_add(sd->edje, obj); - - sd->image = evas_object_image_filled_add(em->e); + sd->image = evas_object_image_add(em->e); evas_object_image_smooth_scale_set(sd->image, TRUE); sd->x = 0; sd->y = 0; sd->w = 0; sd->h = 0; sd->fill_inside = 1; - sd->preferredw = 0; - sd->preferredh = 0; - edje_object_part_swallow(sd->edje, "ephoto.swallow.content", sd->image); evas_object_smart_member_add(sd->image, obj); evas_object_smart_data_set(obj, sd); } @@ -185,7 +162,6 @@ sd = evas_object_smart_data_get(obj); evas_object_del(sd->image); - evas_object_del(sd->edje); free(sd); } @@ -220,7 +196,6 @@ Ephoto_Image_Smart_Data *sd; sd = evas_object_smart_data_get(obj); - evas_object_show(sd->edje); evas_object_show(sd->image); } @@ -229,7 +204,6 @@ Ephoto_Image_Smart_Data *sd; sd = evas_object_smart_data_get(obj); - evas_object_hide(sd->edje); evas_object_hide(sd->image); } @@ -247,7 +221,7 @@ Ephoto_Image_Smart_Data *sd; sd = evas_object_smart_data_get(obj); - evas_object_clip_set(sd->edje, clip); + evas_object_clip_set(sd->image, clip); } static void ephoto_image_smart_clip_unset(Evas_Object *obj) @@ -255,5 +229,5 @@ Ephoto_Image_Smart_Data *sd; sd = evas_object_smart_data_get(obj); - evas_object_clip_unset(sd->edje); + evas_object_clip_unset(sd->image); } Modified: trunk/ephoto/src/bin/ephoto_table.c =================================================================== --- trunk/ephoto/src/bin/ephoto_table.c 2009-09-29 21:03:23 UTC (rev 42808) +++ trunk/ephoto/src/bin/ephoto_table.c 2009-09-30 02:16:53 UTC (rev 42809) @@ -79,22 +79,27 @@ Eina_Bool success) { Evas_Imaging_Image *i; - Evas_Object *img, *timg, *o; + Evas_Object *img, *edje, *o; int tmiw, tmih, tmaw, tmah, w, h; if (success) { img = data; + edje = edje_object_add(em->e); + edje_object_file_set(edje, PACKAGE_DATA_DIR "/themes/default/ephoto.edj", "/ephoto/thumb/image"); + edje_object_signal_emit(edje, "ephoto.thumb.visible", "ephoto"); + evas_object_show(edje); + o = ephoto_image_add(); + evas_object_event_callback_add(o, EVAS_CALLBACK_MOUSE_UP, image_clicked, img); evas_object_show(o); + edje_object_part_swallow(edje, "ephoto.swallow.content", o); + edje_object_part_swallow(img, "ephoto.swallow.content", edje); - timg = ephoto_image_edje_object_get(o); - edje_object_part_swallow(img, "ephoto.swallow.content", timg); + edje_object_size_min_get(edje, &tmiw, &tmih); + edje_object_size_max_get(edje, &tmaw, &tmah); - edje_object_size_min_get(timg, &tmiw, &tmih); - edje_object_size_max_get(timg, &tmaw, &tmah); - i = evas_imaging_image_load(file, NULL); evas_imaging_image_size_get(i, &w, &h); @@ -105,6 +110,9 @@ evas_object_resize(o, tmiw, tmih); evas_object_size_hint_min_set(o, tmiw, tmih); evas_object_size_hint_max_set(o, tmiw, tmih); + evas_object_resize(edje, tmiw, tmih); + evas_object_size_hint_min_set(edje, tmiw, tmih); + evas_object_size_hint_max_set(edje, tmiw, tmih); } else { @@ -113,19 +121,25 @@ evas_object_resize(o, tmiw, tmih); evas_object_size_hint_min_set(o, tmiw, tmih); evas_object_size_hint_max_set(o, tmiw, tmih); + evas_object_resize(edje, tmiw, tmih); + evas_object_size_hint_min_set(edje, tmiw, tmih); + evas_object_size_hint_max_set(edje, tmiw, tmih); } } } static void image_clicked(void *data, Evas *e, Evas_Object *obj, void *event_info) { + Evas_Object *img; + + img = data; + + if (img == em->sel) + return; if (em->sel) edje_object_signal_emit(em->sel, "ephoto.thumb.deselected", "ephoto"); - edje_object_signal_emit(obj, "ephoto.thumb.selected", "ephoto"); - evas_object_resize(obj, 214, 156); - evas_object_size_hint_min_set(obj, 214, 156); - evas_object_size_hint_max_set(obj, 214, 156); - em->sel = obj; + edje_object_signal_emit(img, "ephoto.thumb.selected", "ephoto"); + em->sel = img; } void ephoto_table_pack(Evas_Object *obj, char *image) @@ -159,7 +173,6 @@ edje_object_file_set(img, PACKAGE_DATA_DIR "/themes/default/ephoto.edj", "/ephoto/thumb/shadow"); evas_object_move(img, sd->tw, sd->th); evas_object_show(img); - evas_object_event_callback_add(img, EVAS_CALLBACK_MOUSE_UP, image_clicked, NULL); edje_object_signal_emit(img, "ephoto.thumb.visible", "ephoto"); evas_object_resize(img, sd->item_w, sd->item_h); |
From: Enlightenment S. <no-...@en...> - 2009-09-30 02:46:13
|
Log: Fix thumbnailing! Author: titan Date: 2009-09-29 19:45:58 -0700 (Tue, 29 Sep 2009) New Revision: 42812 Modified: trunk/ephoto/src/bin/ephoto_table.c Modified: trunk/ephoto/src/bin/ephoto_table.c =================================================================== --- trunk/ephoto/src/bin/ephoto_table.c 2009-09-30 02:34:42 UTC (rev 42811) +++ trunk/ephoto/src/bin/ephoto_table.c 2009-09-30 02:45:58 UTC (rev 42812) @@ -148,6 +148,7 @@ Evas_Imaging_Image *i; Evas_Object *img; int w, h; + const char *thumb; sd = evas_object_smart_data_get(obj); @@ -185,7 +186,13 @@ if (w > 120 || h > 120) { ethumb_client_file_set(em->thumb_cli, image, NULL); - ethumb_client_generate(em->thumb_cli, thumb_generated, img, NULL); + if (!ethumb_client_thumb_exists(em->thumb_cli)) + ethumb_client_generate(em->thumb_cli, thumb_generated, img, NULL); + else + { + ethumb_client_thumb_path_get(em->thumb_cli, &thumb, NULL); + thumb_generated(img, em->thumb_cli, 0, image, NULL, thumb, NULL, EINA_TRUE); + } } else thumb_generated(img, em->thumb_cli, 0, image, NULL, image, NULL, EINA_TRUE); @@ -257,6 +264,7 @@ Evas_Imaging_Image *im; Evas_Object *i, *img; char *image, text[PATH_MAX]; + const char *thumb; int w, h, j, vis, head, back, pages, remain; Eina_List *iterator, *iteratorb; @@ -395,7 +403,13 @@ if (w > 120 || h > 120) { ethumb_client_file_set(em->thumb_cli, image, NULL); - ethumb_client_generate(em->thumb_cli, thumb_generated, img, NULL); + if (!ethumb_client_thumb_exists(em->thumb_cli)) + ethumb_client_generate(em->thumb_cli, thumb_generated, img, NULL); + else + { + ethumb_client_thumb_path_get(em->thumb_cli, &thumb, NULL); + thumb_generated(img, em->thumb_cli, 0, image, NULL, thumb, NULL, EINA_TRUE); + } } else thumb_generated(img, em->thumb_cli, 0, image, NULL, image, NULL, EINA_TRUE); @@ -423,6 +437,7 @@ Evas_Imaging_Image *im; Evas_Object *i, *img; char *image; + const char *thumb; int w, h, j; Eina_List *iterator, *iteratorb; @@ -496,7 +511,13 @@ if (w > 120 || h > 120) { ethumb_client_file_set(em->thumb_cli, image, NULL); - ethumb_client_generate(em->thumb_cli, thumb_generated, img, NULL); + if (!ethumb_client_thumb_exists(em->thumb_cli)) + ethumb_client_generate(em->thumb_cli, thumb_generated, img, NULL); + else + { + ethumb_client_thumb_path_get(em->thumb_cli, &thumb, NULL); + thumb_generated(img, em->thumb_cli, 0, image, NULL, thumb, NULL, EINA_TRUE); + } } else thumb_generated(img, em->thumb_cli, 0, image, NULL, image, NULL, EINA_TRUE); |
From: Enlightenment S. <no-...@en...> - 2009-10-01 04:55:03
|
Log: add a flow browser Author: titan Date: 2009-09-30 21:54:48 -0700 (Wed, 30 Sep 2009) New Revision: 42827 Added: trunk/ephoto/src/bin/ephoto_flow.c trunk/ephoto/src/bin/ephoto_flow_browser.c Modified: trunk/ephoto/src/bin/Makefile.am trunk/ephoto/src/bin/ephoto.h trunk/ephoto/src/bin/ephoto_image_browser.c trunk/ephoto/src/bin/ephoto_main.c trunk/ephoto/src/bin/ephoto_table.c Modified: trunk/ephoto/src/bin/Makefile.am =================================================================== --- trunk/ephoto/src/bin/Makefile.am 2009-10-01 04:54:38 UTC (rev 42826) +++ trunk/ephoto/src/bin/Makefile.am 2009-10-01 04:54:48 UTC (rev 42827) @@ -11,6 +11,8 @@ ephoto_main.c \ ephoto_image.c \ ephoto_image_browser.c \ + ephoto_flow.c \ + ephoto_flow_browser.c \ ephoto_table.c ephoto_CFLAGS = @EVAS_CFLAGS@ @EDJE_CFLAGS@ @EINA_CFLAGS@ @EFREET_MIME_CFLAGS@ @ETHUMB_CFLAGS@ -Wall -g Modified: trunk/ephoto/src/bin/ephoto.h =================================================================== --- trunk/ephoto/src/bin/ephoto.h 2009-10-01 04:54:38 UTC (rev 42826) +++ trunk/ephoto/src/bin/ephoto.h 2009-10-01 04:54:48 UTC (rev 42827) @@ -32,10 +32,21 @@ void create_main_window(void); /*Ephoto Image Browser*/ +void add_image_browser(void); void show_image_browser(void); void hide_image_browser(void); void populate_thumbnails(void); +/*Ephoto Flow Browser*/ +void add_flow_view(void); +void show_flow_view(Eina_List *node, Eina_List *list); +void hide_flow_view(void); + +/*Ephoto Flow*/ +Evas_Object *ephoto_flow_add(Evas *e); +void ephoto_flow_current_node_set(Evas_Object *obj, Eina_List *node); +void ephoto_flow_item_list_set(Evas_Object *obj, Eina_List *list); + /*Ephoto Image*/ Evas_Object *ephoto_image_add(); void ephoto_image_file_set(Evas_Object *obj, const char *file, int w, int h); @@ -51,6 +62,7 @@ void ephoto_table_viewport_set(Evas_Object *obj, int w, int h); void ephoto_table_next_page(Evas_Object *obj); void ephoto_table_prev_page(Evas_Object *obj); +void reshow_table_items(Evas_Object *obj); typedef struct _Ephoto Ephoto; struct _Ephoto @@ -61,6 +73,7 @@ Evas_Object *bg; Evas_Object *image_browser; Evas_Object *image_browser_tbl; + Evas_Object *flow; Evas_Object *sel; Eina_List *images; }; Modified: trunk/ephoto/src/bin/ephoto_image_browser.c =================================================================== --- trunk/ephoto/src/bin/ephoto_image_browser.c 2009-10-01 04:54:38 UTC (rev 42826) +++ trunk/ephoto/src/bin/ephoto_image_browser.c 2009-10-01 04:54:48 UTC (rev 42827) @@ -7,23 +7,19 @@ static DIR *direc; /*Show the Image Browser*/ -void show_image_browser(void) +void add_image_browser(void) { Evas_Object *o; int x, y, w, h; o = edje_object_add(em->e); edje_object_file_set(o, PACKAGE_DATA_DIR "/themes/default/ephoto.edj", "/ephoto/image/browser"); - edje_object_part_swallow(em->bg, "ephoto.swallow.content", o); - evas_object_show(o); em->image_browser = o; edje_object_part_geometry_get(em->bg, "ephoto.swallow.content", &x, &y, &w, &h); o = ephoto_table_add(em->e); ephoto_table_padding_set(o, 20, 20); - ephoto_table_viewport_set(o, w, h); - evas_object_show(o); edje_object_part_swallow(em->image_browser, "ephoto.swallow.content", o); em->image_browser_tbl = o; @@ -32,9 +28,22 @@ edje_object_signal_callback_add(em->image_browser, "mouse,up,1", "move_right", move_right, NULL); } +void show_image_browser(void) +{ + int w, h; + evas_object_show(em->image_browser); + evas_object_show(em->image_browser_tbl); + edje_object_part_swallow(em->bg, "ephoto.swallow.content", em->image_browser); + edje_object_part_geometry_get(em->bg, "ephoto.swallow.content", 0, 0, &w, &h); + reshow_table_items(em->image_browser_tbl); + ephoto_table_viewport_set(em->image_browser_tbl, w, h); +} + void hide_image_browser(void) { evas_object_hide(em->image_browser); + evas_object_hide(em->image_browser_tbl); + edje_object_part_unswallow(em->bg, em->image_browser); } static void move_left(void *data, Evas_Object *obj, const char *emission, const char *source) Modified: trunk/ephoto/src/bin/ephoto_main.c =================================================================== --- trunk/ephoto/src/bin/ephoto_main.c 2009-10-01 04:54:38 UTC (rev 42826) +++ trunk/ephoto/src/bin/ephoto_main.c 2009-10-01 04:54:48 UTC (rev 42827) @@ -35,6 +35,8 @@ static void window_shown(void *data, Evas *e, Evas_Object *obj, void *event_info) { + add_image_browser(); + add_flow_view(); show_image_browser(); evas_object_event_callback_del(em->bg, EVAS_CALLBACK_SHOW, window_shown); } Modified: trunk/ephoto/src/bin/ephoto_table.c =================================================================== --- trunk/ephoto/src/bin/ephoto_table.c 2009-10-01 04:54:38 UTC (rev 42826) +++ trunk/ephoto/src/bin/ephoto_table.c 2009-10-01 04:54:48 UTC (rev 42827) @@ -47,23 +47,6 @@ const char *thumb_path, const char *thumb_key, Eina_Bool success); -Evas_Object *ephoto_table_add(Evas *e) -{ - _table_smart_init(); - return evas_object_smart_add(e, _smart); -} - -void ephoto_table_padding_set(Evas_Object *obj, int paddingw, int paddingh) -{ - Smart_Data *sd; - - sd = evas_object_smart_data_get(obj); - if (!sd) - return; - sd->paddingw = paddingw; - sd->paddingh = paddingh; -} - static void connect_callback(void *data, Ethumb_Client *client, Eina_Bool success) { printf("Connected to ethumb client: %d\n", success); @@ -85,6 +68,7 @@ if (success) { img = data; + evas_object_event_callback_add(img, EVAS_CALLBACK_MOUSE_DOWN, image_clicked, NULL); edje = edje_object_add(em->e); edje_object_file_set(edje, PACKAGE_DATA_DIR "/themes/default/ephoto.edj", "/ephoto/thumb/image"); @@ -92,7 +76,6 @@ evas_object_show(edje); o = ephoto_image_add(); - evas_object_event_callback_add(o, EVAS_CALLBACK_MOUSE_UP, image_clicked, img); evas_object_show(o); edje_object_part_swallow(edje, "ephoto.swallow.content", o); edje_object_part_swallow(img, "ephoto.swallow.content", edje); @@ -130,18 +113,89 @@ static void image_clicked(void *data, Evas *e, Evas_Object *obj, void *event_info) { - Evas_Object *img; + Eina_List *node; + Evas_Event_Mouse_Down *ev; + Smart_Data *sd; - img = data; + ev = event_info; + sd = evas_object_smart_data_get(em->image_browser_tbl); - if (img == em->sel) + if (ev->flags == EVAS_BUTTON_DOUBLE_CLICK) + { + edje_object_signal_emit(em->image_browser, "ephoto.browser.hidden", "ephoto"); + node = evas_object_data_get(obj, "image"); + if (sd->items) + { + Eina_List *iterator; + Evas_Object *o, *i;; + + iterator = sd->items; + + while(eina_list_data_get(iterator)) + { + o = eina_list_data_get(iterator); + i = edje_object_part_swallow_get(o, "ephoto.swallow.content"); + edje_object_signal_emit(i, "ephoto.thumb.hidden", "ephoto"); + edje_object_signal_emit(o, "ephoto.thumb.hidden", "ephoto"); + iterator = eina_list_next(iterator); + } + } + hide_image_browser(); + show_flow_view(node, sd->images); return; + } + + if (obj == em->sel) + return; if (em->sel) edje_object_signal_emit(em->sel, "ephoto.thumb.deselected", "ephoto"); - edje_object_signal_emit(img, "ephoto.thumb.selected", "ephoto"); - em->sel = img; + edje_object_signal_emit(obj, "ephoto.thumb.selected", "ephoto"); + em->sel = obj; } +void reshow_table_items(Evas_Object *obj) +{ + Smart_Data *sd; + + sd = evas_object_smart_data_get(obj); + if (!sd) + return; + if (sd->items) + { + Eina_List *iterator; + Evas_Object *o, *i;; + + iterator = sd->items; + + while(eina_list_data_get(iterator)) + { + o = eina_list_data_get(iterator); + i = edje_object_part_swallow_get(o, "ephoto.swallow.content"); + edje_object_signal_emit(i, "ephoto.thumb.visible", "ephoto"); + edje_object_signal_emit(o, "ephoto.thumb.visible", "ephoto"); + iterator = eina_list_next(iterator); + } + } +} + + +Evas_Object *ephoto_table_add(Evas *e) +{ + _table_smart_init(); + return evas_object_smart_add(e, _smart); +} + +void ephoto_table_padding_set(Evas_Object *obj, int paddingw, int paddingh) +{ + Smart_Data *sd; + + sd = evas_object_smart_data_get(obj); + if (!sd) + return; + sd->paddingw = paddingw; + sd->paddingh = paddingh; +} + void ephoto_table_pack(Evas_Object *obj, char *image) { Smart_Data *sd; @@ -151,6 +205,7 @@ const char *thumb; sd = evas_object_smart_data_get(obj); + sd->images = eina_list_append(sd->images, strdup(image)); @@ -175,6 +230,7 @@ evas_object_move(img, sd->tw, sd->th); evas_object_show(img); edje_object_signal_emit(img, "ephoto.thumb.visible", "ephoto"); + evas_object_data_set(img, "image", eina_list_nth_list(sd->images, eina_list_count(sd->images)-1)); evas_object_resize(img, sd->item_w, sd->item_h); evas_object_size_hint_min_set(img, sd->item_w, sd->item_h); @@ -392,6 +448,7 @@ evas_object_show(img); evas_object_event_callback_add(img, EVAS_CALLBACK_MOUSE_UP, image_clicked, NULL); edje_object_signal_emit(img, "ephoto.thumb.visible", "ephoto"); + evas_object_data_set(img, "image", iteratorb); evas_object_resize(img, sd->item_w, sd->item_h); evas_object_size_hint_min_set(img, sd->item_w, sd->item_h); @@ -469,6 +526,7 @@ else { evas_object_show(i); + edje_object_signal_emit(i, "ephoto.thumb.visible", "ephoto"); evas_object_move(i, sd->tw, sd->th); edje_object_signal_emit(i, "ephoto.thumb.visible", "ephoto"); @@ -500,6 +558,7 @@ evas_object_show(img); evas_object_event_callback_add(img, EVAS_CALLBACK_MOUSE_UP, image_clicked, NULL); edje_object_signal_emit(img, "ephoto.thumb.visible", "ephoto"); + evas_object_data_set(img, "image", iteratorb); evas_object_resize(img, sd->item_w, sd->item_h); evas_object_size_hint_min_set(img, sd->item_w, sd->item_h); @@ -672,6 +731,7 @@ sd = evas_object_smart_data_get(obj); if (!sd) return; + evas_object_show(sd->obj); } @@ -682,6 +742,7 @@ sd = evas_object_smart_data_get(obj); if (!sd) return; + evas_object_hide(sd->obj); } |
From: Enlightenment S. <no-...@en...> - 2009-10-01 17:45:51
|
Log: Fix a bug on resizing. Author: titan Date: 2009-10-01 10:45:35 -0700 (Thu, 01 Oct 2009) New Revision: 42838 Modified: trunk/ephoto/src/bin/ephoto.h trunk/ephoto/src/bin/ephoto_image_browser.c trunk/ephoto/src/bin/ephoto_main.c trunk/ephoto/src/bin/ephoto_table.c Modified: trunk/ephoto/src/bin/ephoto.h =================================================================== --- trunk/ephoto/src/bin/ephoto.h 2009-10-01 10:22:27 UTC (rev 42837) +++ trunk/ephoto/src/bin/ephoto.h 2009-10-01 17:45:35 UTC (rev 42838) @@ -62,7 +62,6 @@ void ephoto_table_viewport_set(Evas_Object *obj, int w, int h); void ephoto_table_next_page(Evas_Object *obj); void ephoto_table_prev_page(Evas_Object *obj); -void reshow_table_items(Evas_Object *obj); typedef struct _Ephoto Ephoto; struct _Ephoto @@ -72,7 +71,6 @@ Ethumb_Client *thumb_cli; Evas_Object *bg; Evas_Object *image_browser; - Evas_Object *image_browser_tbl; Evas_Object *flow; Evas_Object *sel; Eina_List *images; Modified: trunk/ephoto/src/bin/ephoto_image_browser.c =================================================================== --- trunk/ephoto/src/bin/ephoto_image_browser.c 2009-10-01 10:22:27 UTC (rev 42837) +++ trunk/ephoto/src/bin/ephoto_image_browser.c 2009-10-01 17:45:35 UTC (rev 42838) @@ -1,7 +1,5 @@ #include "ephoto.h" -static void move_left(void *data, Evas_Object *obj, const char *emission, const char *source); -static void move_right(void *data, Evas_Object *obj, const char *emission, const char *source); static int get_thumbnails(void *data); static Ecore_Idler *idler; static DIR *direc; @@ -10,54 +8,27 @@ void add_image_browser(void) { Evas_Object *o; - int x, y, w, h; - o = edje_object_add(em->e); - edje_object_file_set(o, PACKAGE_DATA_DIR "/themes/default/ephoto.edj", "/ephoto/image/browser"); - em->image_browser = o; - - edje_object_part_geometry_get(em->bg, "ephoto.swallow.content", &x, &y, &w, &h); - o = ephoto_table_add(em->e); ephoto_table_padding_set(o, 20, 20); - edje_object_part_swallow(em->image_browser, "ephoto.swallow.content", o); - em->image_browser_tbl = o; - - edje_object_signal_callback_add(em->image_browser, "mouse,up,1", "move_left", move_left, NULL); - - edje_object_signal_callback_add(em->image_browser, "mouse,up,1", "move_right", move_right, NULL); + em->image_browser = o; } void show_image_browser(void) { int w, h; evas_object_show(em->image_browser); - evas_object_show(em->image_browser_tbl); edje_object_part_swallow(em->bg, "ephoto.swallow.content", em->image_browser); edje_object_part_geometry_get(em->bg, "ephoto.swallow.content", 0, 0, &w, &h); - reshow_table_items(em->image_browser_tbl); - ephoto_table_viewport_set(em->image_browser_tbl, w, h); + ephoto_table_viewport_set(em->image_browser, w, h); } void hide_image_browser(void) { evas_object_hide(em->image_browser); - evas_object_hide(em->image_browser_tbl); edje_object_part_unswallow(em->bg, em->image_browser); } -static void move_left(void *data, Evas_Object *obj, const char *emission, const char *source) -{ - ephoto_table_prev_page(em->image_browser_tbl); - printf("Left\n"); -} - -static void move_right(void *data, Evas_Object *obj, const char *emission, const char *source) -{ - ephoto_table_next_page(em->image_browser_tbl); - printf("Right\n"); -} - /*Get a list of images and begin to thumbnail them*/ /*They will be passed to create_thumbnail for creation*/ void populate_thumbnails(void) @@ -99,7 +70,7 @@ if (!strncmp(type, "image", 5)) { em->images = eina_list_append(em->images, strdup(path)); - ephoto_table_pack(em->image_browser_tbl, strdup(path)); + ephoto_table_pack(em->image_browser, strdup(path)); } } } Modified: trunk/ephoto/src/bin/ephoto_main.c =================================================================== --- trunk/ephoto/src/bin/ephoto_main.c 2009-10-01 10:22:27 UTC (rev 42837) +++ trunk/ephoto/src/bin/ephoto_main.c 2009-10-01 17:45:35 UTC (rev 42838) @@ -44,7 +44,8 @@ /*The window has been closed, free and quit*/ static void window_close(Ecore_Evas *ee) { - evas_object_del(em->image_browser_tbl); + evas_object_del(em->image_browser); + evas_object_del(em->flow); if (em->images) eina_list_free(em->images); free(em); Modified: trunk/ephoto/src/bin/ephoto_table.c =================================================================== --- trunk/ephoto/src/bin/ephoto_table.c 2009-10-01 10:22:27 UTC (rev 42837) +++ trunk/ephoto/src/bin/ephoto_table.c 2009-10-01 17:45:35 UTC (rev 42838) @@ -42,11 +42,25 @@ static void _table_smart_clip_set(Evas_Object *obj, Evas_Object *clip); static void _table_smart_clip_unset(Evas_Object *obj); +static void move_left(void *data, Evas_Object *obj, const char *emission, const char *source); +static void move_right(void *data, Evas_Object *obj, const char *emission, const char *source); static void connect_callback(void *data, Ethumb_Client *client, Eina_Bool success); static void thumb_generated(void *data, Ethumb_Client *client, int id, const char *file, const char *key, const char *thumb_path, const char *thumb_key, Eina_Bool success); +static void move_left(void *data, Evas_Object *obj, const char *emission, const char *source) +{ + ephoto_table_prev_page(em->image_browser); + printf("Left\n"); +} + +static void move_right(void *data, Evas_Object *obj, const char *emission, const char *source) +{ + ephoto_table_next_page(em->image_browser); + printf("Right\n"); +} + static void connect_callback(void *data, Ethumb_Client *client, Eina_Bool success) { printf("Connected to ethumb client: %d\n", success); @@ -118,28 +132,12 @@ Smart_Data *sd; ev = event_info; - sd = evas_object_smart_data_get(em->image_browser_tbl); + sd = evas_object_smart_data_get(em->image_browser); if (ev->flags == EVAS_BUTTON_DOUBLE_CLICK) { edje_object_signal_emit(em->image_browser, "ephoto.browser.hidden", "ephoto"); node = evas_object_data_get(obj, "image"); - if (sd->items) - { - Eina_List *iterator; - Evas_Object *o, *i;; - - iterator = sd->items; - - while(eina_list_data_get(iterator)) - { - o = eina_list_data_get(iterator); - i = edje_object_part_swallow_get(o, "ephoto.swallow.content"); - edje_object_signal_emit(i, "ephoto.thumb.hidden", "ephoto"); - edje_object_signal_emit(o, "ephoto.thumb.hidden", "ephoto"); - iterator = eina_list_next(iterator); - } - } hide_image_browser(); show_flow_view(node, sd->images); return; @@ -153,32 +151,6 @@ em->sel = obj; } -void reshow_table_items(Evas_Object *obj) -{ - Smart_Data *sd; - - sd = evas_object_smart_data_get(obj); - if (!sd) - return; - if (sd->items) - { - Eina_List *iterator; - Evas_Object *o, *i;; - - iterator = sd->items; - - while(eina_list_data_get(iterator)) - { - o = eina_list_data_get(iterator); - i = edje_object_part_swallow_get(o, "ephoto.swallow.content"); - edje_object_signal_emit(i, "ephoto.thumb.visible", "ephoto"); - edje_object_signal_emit(o, "ephoto.thumb.visible", "ephoto"); - iterator = eina_list_next(iterator); - } - } -} - - Evas_Object *ephoto_table_add(Evas *e) { _table_smart_init(); @@ -194,6 +166,7 @@ return; sd->paddingw = paddingw; sd->paddingh = paddingh; + sd->items_per_page = (sd->visiblew / (sd->item_w+sd->paddingw)) * (sd->visibleh / (sd->item_h+sd->paddingh)); } void ephoto_table_pack(Evas_Object *obj, char *image) @@ -205,7 +178,6 @@ const char *thumb; sd = evas_object_smart_data_get(obj); - sd->images = eina_list_append(sd->images, strdup(image)); @@ -220,15 +192,15 @@ pages++; sd->total_pages = pages; snprintf(text, PATH_MAX, "Page: %d of %d", sd->current_page, sd->total_pages); - edje_object_part_text_set(em->image_browser, "ephoto.text.object", text); + edje_object_part_text_set(sd->obj, "ephoto.text.object", text); return; } img = edje_object_add(em->e); edje_object_file_set(img, PACKAGE_DATA_DIR "/themes/default/ephoto.edj", "/ephoto/thumb/shadow"); - evas_object_move(img, sd->tw, sd->th); evas_object_show(img); + evas_object_move(img, sd->tw, sd->th); edje_object_signal_emit(img, "ephoto.thumb.visible", "ephoto"); evas_object_data_set(img, "image", eina_list_nth_list(sd->images, eina_list_count(sd->images)-1)); @@ -276,11 +248,10 @@ if ((sd->visiblew == w) && (sd->visibleh == h)) return; sd->visiblew = w; - sd->visibleh = h; - evas_object_resize(sd->obj, w, h); - evas_object_resize(em->image_browser, w, h); - sd->items_per_page = (sd->visiblew / sd->item_w) * (sd->visibleh / sd->item_h); - if (!eina_list_count(sd->items)) + sd->visibleh = h; + sd->items_per_page = (sd->visiblew / (sd->item_w+sd->paddingw)) * (sd->visibleh / (sd->item_h+sd->paddingh)); + evas_object_resize(sd->obj, sd->visiblew, sd->visibleh); + if (!eina_list_count(sd->images)) return; pages = eina_list_count(sd->images)/sd->items_per_page; @@ -292,7 +263,7 @@ else sd->total_pages = pages; snprintf(text, PATH_MAX, "Page: %d of %d", sd->current_page, sd->total_pages); - edje_object_part_text_set(em->image_browser, "ephoto.text.object", text); + edje_object_part_text_set(sd->obj, "ephoto.text.object", text); _table_smart_reconfigure(sd); } @@ -367,7 +338,7 @@ return; snprintf(text, PATH_MAX, "Page: %d of %d", sd->current_page, sd->total_pages); - edje_object_part_text_set(em->image_browser, "ephoto.text.object", text); + edje_object_part_text_set(sd->obj, "ephoto.text.object", text); for (j = 0; j <= sd->items_per_page; j++) { @@ -595,7 +566,6 @@ iteratorb = eina_list_next(iteratorb); } } - return; } @@ -620,7 +590,6 @@ NULL, NULL }; - em->thumb_cli = ethumb_client_connect(connect_callback, NULL, NULL); _smart = evas_smart_class_new(&sc); } } @@ -635,8 +604,8 @@ if (!sd) return; - evas_object_geometry_get(em->image_browser, 0, 0, &w, &h); - + edje_object_part_geometry_get(em->bg, "ephoto.swallow.content", 0, 0, &w, &h); + sd->visiblew = w; sd->visibleh = h; sd->tw = 60; @@ -652,16 +621,21 @@ sd->visible_items = 0; sd->total_pages = 1; - sd->obj = evas_object_rectangle_add(em->e); - evas_object_color_set(sd->obj, 255, 255, 255, 0); + sd->obj = edje_object_add(em->e); + edje_object_file_set(sd->obj, PACKAGE_DATA_DIR "/themes/default/ephoto.edj", "/ephoto/image/browser"); evas_object_smart_data_set(obj, sd); + edje_object_signal_callback_add(sd->obj, "mouse,up,1", "move_left", move_left, NULL); + + edje_object_signal_callback_add(sd->obj, "mouse,up,1", "move_right", move_right, NULL); + img = edje_object_add(em->e); edje_object_file_set(img, PACKAGE_DATA_DIR "/themes/default/ephoto.edj", "/ephoto/thumb/shadow"); edje_object_size_min_get(img, &sd->item_w, &sd->item_h); evas_object_del(img); - sd->items_per_page = (sd->visiblew / sd->item_w) * (sd->visibleh / sd->item_h); + sd->items_per_page = (sd->visiblew / sd->item_w+sd->paddingw) * (sd->visibleh / sd->item_h+sd->paddingh); + em->thumb_cli = ethumb_client_connect(connect_callback, NULL, NULL); } static void _table_smart_del(Evas_Object *obj) @@ -709,19 +683,19 @@ if (!sd) return; - evas_object_geometry_get(em->image_browser, 0, 0, &ibw, &ibh); + evas_object_geometry_get(sd->obj, 0, 0, &ibw, &ibh); if ((w == sd->w) && (h == sd->h)) return; sd->w = w; sd->h = h; evas_object_resize(sd->obj, w, h); - if (!eina_list_count(sd->items)) + if (!eina_list_count(sd->images)) return; if ((ibw == sd->visiblew) && (ibh == sd->visibleh)) return; else - ephoto_table_viewport_set(obj, ibw, ibh); + ephoto_table_viewport_set(obj, w, h); } static void _table_smart_show(Evas_Object *obj) @@ -731,18 +705,28 @@ sd = evas_object_smart_data_get(obj); if (!sd) return; - evas_object_show(sd->obj); + _table_smart_reconfigure(sd); } static void _table_smart_hide(Evas_Object *obj) { + Eina_List *iterator; + Evas_Object *o; Smart_Data *sd; sd = evas_object_smart_data_get(obj); if (!sd) return; - + iterator = sd->items; + while (eina_list_data_get(iterator)) + { + + o = eina_list_data_get(iterator); + edje_object_signal_emit(o, "ephoto.thumb.hidden", "ephoto"); + evas_object_hide(o); + iterator = eina_list_next(iterator); + } evas_object_hide(sd->obj); } |
From: Enlightenment S. <no-...@en...> - 2009-10-01 18:15:13
|
Log: Whoops, messed up some calculations. Author: titan Date: 2009-10-01 11:14:58 -0700 (Thu, 01 Oct 2009) New Revision: 42840 Modified: trunk/ephoto/src/bin/ephoto_image_browser.c trunk/ephoto/src/bin/ephoto_table.c Modified: trunk/ephoto/src/bin/ephoto_image_browser.c =================================================================== --- trunk/ephoto/src/bin/ephoto_image_browser.c 2009-10-01 18:04:55 UTC (rev 42839) +++ trunk/ephoto/src/bin/ephoto_image_browser.c 2009-10-01 18:14:58 UTC (rev 42840) @@ -17,10 +17,11 @@ void show_image_browser(void) { int w, h; - evas_object_show(em->image_browser); + edje_object_part_swallow(em->bg, "ephoto.swallow.content", em->image_browser); edje_object_part_geometry_get(em->bg, "ephoto.swallow.content", 0, 0, &w, &h); ephoto_table_viewport_set(em->image_browser, w, h); + evas_object_show(em->image_browser); } void hide_image_browser(void) Modified: trunk/ephoto/src/bin/ephoto_table.c =================================================================== --- trunk/ephoto/src/bin/ephoto_table.c 2009-10-01 18:04:55 UTC (rev 42839) +++ trunk/ephoto/src/bin/ephoto_table.c 2009-10-01 18:14:58 UTC (rev 42840) @@ -166,7 +166,7 @@ return; sd->paddingw = paddingw; sd->paddingh = paddingh; - sd->items_per_page = (sd->visiblew / (sd->item_w+sd->paddingw)) * (sd->visibleh / (sd->item_h+sd->paddingh)); + sd->items_per_page = (sd->visiblew / sd->item_w) * (sd->visibleh / sd->item_h); } void ephoto_table_pack(Evas_Object *obj, char *image) @@ -249,9 +249,9 @@ return; sd->visiblew = w; sd->visibleh = h; - sd->items_per_page = (sd->visiblew / (sd->item_w+sd->paddingw)) * (sd->visibleh / (sd->item_h+sd->paddingh)); + sd->items_per_page = (sd->visiblew / sd->item_w) * (sd->visibleh / sd->item_h); evas_object_resize(sd->obj, sd->visiblew, sd->visibleh); - if (!eina_list_count(sd->images)) + if (!eina_list_count(sd->items)) return; pages = eina_list_count(sd->images)/sd->items_per_page; @@ -634,7 +634,7 @@ edje_object_size_min_get(img, &sd->item_w, &sd->item_h); evas_object_del(img); - sd->items_per_page = (sd->visiblew / sd->item_w+sd->paddingw) * (sd->visibleh / sd->item_h+sd->paddingh); + sd->items_per_page = (sd->visiblew / sd->item_w) * (sd->visibleh / sd->item_h); em->thumb_cli = ethumb_client_connect(connect_callback, NULL, NULL); } |
From: Enlightenment S. <no-...@en...> - 2009-10-01 18:34:55
|
Log: More calculation fixes. Author: titan Date: 2009-10-01 11:34:45 -0700 (Thu, 01 Oct 2009) New Revision: 42841 Modified: trunk/ephoto/src/bin/ephoto_table.c Modified: trunk/ephoto/src/bin/ephoto_table.c =================================================================== --- trunk/ephoto/src/bin/ephoto_table.c 2009-10-01 18:14:58 UTC (rev 42840) +++ trunk/ephoto/src/bin/ephoto_table.c 2009-10-01 18:34:45 UTC (rev 42841) @@ -491,8 +491,13 @@ if (sd->visible_items+1 > sd->items_per_page) { - evas_object_hide(i); - edje_object_signal_emit(i, "ephoto.thumb.hidden", "ephoto"); + while(eina_list_data_get(iterator) != NULL) + { + i = eina_list_data_get(iterator); + evas_object_hide(i); + edje_object_signal_emit(i, "ephoto.thumb.hidden", "ephoto"); + iterator = eina_list_next(iterator); + } } else { |
From: Enlightenment S. <no-...@en...> - 2009-10-01 21:54:45
|
Log: Calculate padding. Author: titan Date: 2009-10-01 14:54:35 -0700 (Thu, 01 Oct 2009) New Revision: 42844 Modified: trunk/ephoto/src/bin/ephoto_table.c Modified: trunk/ephoto/src/bin/ephoto_table.c =================================================================== --- trunk/ephoto/src/bin/ephoto_table.c 2009-10-01 21:27:27 UTC (rev 42843) +++ trunk/ephoto/src/bin/ephoto_table.c 2009-10-01 21:54:35 UTC (rev 42844) @@ -251,7 +251,7 @@ return; sd->visiblew = w; sd->visibleh = h; - sd->items_per_page = (sd->visiblew / sd->item_w) * (sd->visibleh / sd->item_h); + sd->items_per_page = (sd->visiblew / (sd->item_w+sd->paddingw)) * (sd->visibleh / (sd->item_h+sd->paddingh)); if (!eina_list_count(sd->items)) return; @@ -656,7 +656,7 @@ edje_object_size_min_get(img, &sd->item_w, &sd->item_h); evas_object_del(img); - sd->items_per_page = (sd->visiblew / sd->item_w) * (sd->visibleh / sd->item_h); + sd->items_per_page = (sd->visiblew / (sd->item_w+sd->paddingw)) * (sd->visibleh / (sd->item_h+sd->paddingh)); em->thumb_cli = ethumb_client_connect(connect_callback, NULL, NULL); } |
From: Enlightenment S. <no-...@en...> - 2009-10-01 22:08:32
|
Log: More calculation fixes. jeeze. Author: titan Date: 2009-10-01 15:08:22 -0700 (Thu, 01 Oct 2009) New Revision: 42845 Modified: trunk/ephoto/src/bin/ephoto_table.c Modified: trunk/ephoto/src/bin/ephoto_table.c =================================================================== --- trunk/ephoto/src/bin/ephoto_table.c 2009-10-01 21:54:35 UTC (rev 42844) +++ trunk/ephoto/src/bin/ephoto_table.c 2009-10-01 22:08:22 UTC (rev 42845) @@ -251,7 +251,7 @@ return; sd->visiblew = w; sd->visibleh = h; - sd->items_per_page = (sd->visiblew / (sd->item_w+sd->paddingw)) * (sd->visibleh / (sd->item_h+sd->paddingh)); + sd->items_per_page = (sd->visiblew / (sd->item_w+sd->paddingw+3)) * (sd->visibleh / (sd->item_h+sd->paddingh)); if (!eina_list_count(sd->items)) return; @@ -656,7 +656,7 @@ edje_object_size_min_get(img, &sd->item_w, &sd->item_h); evas_object_del(img); - sd->items_per_page = (sd->visiblew / (sd->item_w+sd->paddingw)) * (sd->visibleh / (sd->item_h+sd->paddingh)); + sd->items_per_page = (sd->visiblew / (sd->item_w+sd->paddingw+3)) * (sd->visibleh / (sd->item_h+sd->paddingh)); em->thumb_cli = ethumb_client_connect(connect_callback, NULL, NULL); } |
From: Enlightenment S. <no-...@en...> - 2009-10-01 22:41:49
|
Log: Bah just digging a deeper hole. going to revert and give myself some time to think about this. Author: titan Date: 2009-10-01 15:41:37 -0700 (Thu, 01 Oct 2009) New Revision: 42847 Modified: trunk/ephoto/src/bin/ephoto_table.c Modified: trunk/ephoto/src/bin/ephoto_table.c =================================================================== --- trunk/ephoto/src/bin/ephoto_table.c 2009-10-01 22:31:45 UTC (rev 42846) +++ trunk/ephoto/src/bin/ephoto_table.c 2009-10-01 22:41:37 UTC (rev 42847) @@ -11,8 +11,6 @@ int visibleh; int paddingw; int paddingh; - int startx; - int starty; int tw; int th; int x; @@ -44,7 +42,6 @@ static void _table_smart_clip_set(Evas_Object *obj, Evas_Object *clip); static void _table_smart_clip_unset(Evas_Object *obj); -static void browser_shown(void *data, Evas *e, Evas_Object *obj, void *event_info); static void move_left(void *data, Evas_Object *obj, const char *emission, const char *source); static void move_right(void *data, Evas_Object *obj, const char *emission, const char *source); static void connect_callback(void *data, Ethumb_Client *client, Eina_Bool success); @@ -169,6 +166,7 @@ return; sd->paddingw = paddingw; sd->paddingh = paddingh; + sd->items_per_page = (sd->visiblew / sd->item_w) * (sd->visibleh / sd->item_h); } void ephoto_table_pack(Evas_Object *obj, char *image) @@ -233,10 +231,10 @@ sd->items = eina_list_append(sd->items, img); - if (sd->tw+sd->item_w >= sd->visiblew) + if (sd->tw+(sd->item_w + sd->paddingw) >= sd->visiblew) { sd->th += (sd->item_h + sd->paddingh); - sd->tw = sd->startx; + sd->tw = 60; } } @@ -251,7 +249,8 @@ return; sd->visiblew = w; sd->visibleh = h; - sd->items_per_page = (sd->visiblew / (sd->item_w+sd->paddingw+3)) * (sd->visibleh / (sd->item_h+sd->paddingh)); + sd->items_per_page = (sd->visiblew / sd->item_w) * (sd->visibleh / sd->item_h); + evas_object_resize(sd->obj, sd->visiblew, sd->visibleh); if (!eina_list_count(sd->items)) return; @@ -380,8 +379,8 @@ } } - sd->tw = sd->startx; - sd->th = sd->starty; + sd->tw = 60; + sd->th = 75; sd->visible_items = 0; for(j =0; j <= sd->items_per_page && eina_list_data_get(iterator) != NULL; j++) @@ -396,10 +395,10 @@ sd->tw += (sd->item_w+sd->paddingw); - if (sd->tw+sd->item_w >= sd->visiblew) + if (sd->tw+(sd->item_w+sd->paddingw) >= sd->visiblew) { sd->th += (sd->item_h+sd->paddingh); - sd->tw = sd->startx; + sd->tw = 60; } iterator = eina_list_next(iterator); @@ -449,10 +448,10 @@ sd->items = eina_list_append(sd->items, img); - if (sd->tw+sd->item_w >= sd->visiblew) + if (sd->tw+(sd->item_w + sd->paddingw) >= sd->visiblew) { sd->th += (sd->item_h + sd->paddingh); - sd->tw = sd->startx; + sd->tw = 60; } iteratorb = eina_list_next(iteratorb); } @@ -481,8 +480,8 @@ iteratorb = eina_list_nth_list(sd->images, sd->current_head); } - sd->tw = sd->startx; - sd->th = sd->starty; + sd->tw = 60; + sd->th = 75; sd->visible_items = 0; @@ -511,10 +510,10 @@ sd->tw += (sd->item_w+sd->paddingw); - if (sd->tw+sd->item_w >= sd->visiblew) + if (sd->tw+(sd->item_w+sd->paddingw) >= sd->visiblew) { sd->th += (sd->item_h+sd->paddingh); - sd->tw = sd->startx; + sd->tw = 60; } } iterator = eina_list_next(iterator); @@ -564,10 +563,10 @@ sd->items = eina_list_append(sd->items, img); - if (sd->tw+sd->item_w >= sd->visiblew) + if (sd->tw+(sd->item_w + sd->paddingw) >= sd->visiblew) { sd->th += (sd->item_h + sd->paddingh); - sd->tw = sd->startx; + sd->tw = 60; } iteratorb = eina_list_next(iteratorb); } @@ -603,6 +602,7 @@ static void _table_smart_add(Evas_Object *obj) { Smart_Data *sd; + Evas_Object *img; int w, h; sd = calloc(1, sizeof(Smart_Data)); @@ -629,35 +629,18 @@ sd->obj = edje_object_add(em->e); edje_object_file_set(sd->obj, PACKAGE_DATA_DIR "/themes/default/ephoto.edj", "/ephoto/image/browser"); evas_object_smart_data_set(obj, sd); - evas_object_event_callback_add(sd->obj, EVAS_CALLBACK_SHOW, browser_shown, sd); -} -static void browser_shown(void *data, Evas *e, Evas_Object *obj, void *event_info) -{ - Evas_Object *img; - Smart_Data *sd; - int ibx, iby, ibw, ibh; - - sd = data; - edje_object_signal_callback_add(sd->obj, "mouse,up,1", "ephoto.move.left", move_left, NULL); edje_object_signal_callback_add(sd->obj, "mouse,up,1", "ephoto.move.right", move_right, NULL); - edje_object_part_geometry_get(sd->obj, "ephoto.thumb.area", &ibx, &iby, &ibw, &ibh); - - sd->visiblew = ibw; - sd->visibleh = ibh; - sd->startx = ibx; - sd->starty = iby; - - img = edje_object_add(em->e); + img = edje_object_add(em->e); edje_object_file_set(img, PACKAGE_DATA_DIR "/themes/default/ephoto.edj", "/ephoto/thumb/shadow"); edje_object_size_min_get(img, &sd->item_w, &sd->item_h); - evas_object_del(img); + evas_object_del(img); - sd->items_per_page = (sd->visiblew / (sd->item_w+sd->paddingw+3)) * (sd->visibleh / (sd->item_h+sd->paddingh)); - em->thumb_cli = ethumb_client_connect(connect_callback, NULL, NULL); + sd->items_per_page = (sd->visiblew / sd->item_w) * (sd->visibleh / sd->item_h); + em->thumb_cli = ethumb_client_connect(connect_callback, NULL, NULL); } static void _table_smart_del(Evas_Object *obj) @@ -699,13 +682,13 @@ static void _table_smart_resize(Evas_Object *obj, Evas_Coord w, Evas_Coord h) { Smart_Data *sd; - int ibw, ibh, ibx, iby; + int ibw, ibh; sd = evas_object_smart_data_get(obj); if (!sd) return; - edje_object_part_geometry_get(sd->obj, "ephoto.thumb.area", &ibx, &iby, &ibw, &ibh); + evas_object_geometry_get(sd->obj, 0, 0, &ibw, &ibh); if ((w == sd->w) && (h == sd->h)) return; @@ -714,13 +697,10 @@ evas_object_resize(sd->obj, w, h); if (!eina_list_count(sd->images)) return; - if ((ibw == sd->visiblew) && (ibh == sd->visibleh) && - (ibx == sd->startx) && (iby == sd->starty)) + if ((ibw == sd->visiblew) && (ibh == sd->visibleh)) return; else - sd->startx = ibx; - sd->starty = iby; - ephoto_table_viewport_set(obj, ibw, ibh); + ephoto_table_viewport_set(obj, w, h); } static void _table_smart_show(Evas_Object *obj) |
From: Enlightenment S. <no-...@en...> - 2009-10-04 23:31:46
|
Log: Get maximize working. Author: titan Date: 2009-10-04 16:31:31 -0700 (Sun, 04 Oct 2009) New Revision: 42880 Modified: trunk/ephoto/src/bin/ephoto.h trunk/ephoto/src/bin/ephoto_main.c Modified: trunk/ephoto/src/bin/ephoto.h =================================================================== --- trunk/ephoto/src/bin/ephoto.h 2009-10-04 23:05:50 UTC (rev 42879) +++ trunk/ephoto/src/bin/ephoto.h 2009-10-04 23:31:31 UTC (rev 42880) @@ -74,6 +74,7 @@ Evas_Object *flow; Evas_Object *sel; Eina_List *images; + int maximized; }; extern Ephoto *em; Modified: trunk/ephoto/src/bin/ephoto_main.c =================================================================== --- trunk/ephoto/src/bin/ephoto_main.c 2009-10-04 23:05:50 UTC (rev 42879) +++ trunk/ephoto/src/bin/ephoto_main.c 2009-10-04 23:31:31 UTC (rev 42880) @@ -3,6 +3,7 @@ /*General Callbacks */ static void window_close(Ecore_Evas *ee); static void window_resize(Ecore_Evas *ee); +static void window_move(Ecore_Evas *ee); static void window_shown(void *data, Evas *e, Evas_Object *obj, void *event_info); /*Ephoto Main Global*/ @@ -13,12 +14,14 @@ { em = calloc(1, sizeof(Ephoto)); em->sel = NULL; + em->maximized = 0; em->ee = ecore_evas_software_x11_new(0, 0, 0, 0, 955, 540); ecore_evas_title_set(em->ee, "Ephoto"); ecore_evas_name_class_set(em->ee, "Ephoto", "Ephoto"); ecore_evas_callback_destroy_set(em->ee, window_close); ecore_evas_callback_resize_set(em->ee, window_resize); + ecore_evas_callback_move_set(em->ee, window_move); ecore_evas_show(em->ee); em->e = ecore_evas_get(em->ee); @@ -62,3 +65,20 @@ evas_object_move(em->bg, 0, 0); } +static void window_move(Ecore_Evas *ee) +{ + int w, h; + + if (ecore_evas_maximized_get(em->ee) != em->maximized) + { + evas_object_geometry_get(em->bg, 0, 0, &w, &h); + if (evas_object_visible_get(em->image_browser)) + evas_object_resize(em->image_browser, w, h); + if (evas_object_visible_get(em->flow)) + evas_object_resize(em->flow, w, h); + em->maximized = ecore_evas_maximized_get(em->ee); + } + + return; +} + |
From: Enlightenment S. <no-...@en...> - 2009-10-05 00:38:56
|
Log: Fix maximize completely. Author: titan Date: 2009-10-04 17:38:45 -0700 (Sun, 04 Oct 2009) New Revision: 42881 Modified: trunk/ephoto/src/bin/ephoto.h trunk/ephoto/src/bin/ephoto_main.c Modified: trunk/ephoto/src/bin/ephoto.h =================================================================== --- trunk/ephoto/src/bin/ephoto.h 2009-10-04 23:31:31 UTC (rev 42880) +++ trunk/ephoto/src/bin/ephoto.h 2009-10-05 00:38:45 UTC (rev 42881) @@ -74,7 +74,7 @@ Evas_Object *flow; Evas_Object *sel; Eina_List *images; - int maximized; + int width, height; }; extern Ephoto *em; Modified: trunk/ephoto/src/bin/ephoto_main.c =================================================================== --- trunk/ephoto/src/bin/ephoto_main.c 2009-10-04 23:31:31 UTC (rev 42880) +++ trunk/ephoto/src/bin/ephoto_main.c 2009-10-05 00:38:45 UTC (rev 42881) @@ -3,7 +3,6 @@ /*General Callbacks */ static void window_close(Ecore_Evas *ee); static void window_resize(Ecore_Evas *ee); -static void window_move(Ecore_Evas *ee); static void window_shown(void *data, Evas *e, Evas_Object *obj, void *event_info); /*Ephoto Main Global*/ @@ -14,14 +13,14 @@ { em = calloc(1, sizeof(Ephoto)); em->sel = NULL; - em->maximized = 0; + em->width = 955; + em->height = 540; em->ee = ecore_evas_software_x11_new(0, 0, 0, 0, 955, 540); ecore_evas_title_set(em->ee, "Ephoto"); ecore_evas_name_class_set(em->ee, "Ephoto", "Ephoto"); ecore_evas_callback_destroy_set(em->ee, window_close); ecore_evas_callback_resize_set(em->ee, window_resize); - ecore_evas_callback_move_set(em->ee, window_move); ecore_evas_show(em->ee); em->e = ecore_evas_get(em->ee); @@ -61,24 +60,13 @@ int w, h; ecore_evas_geometry_get(ee, NULL, NULL, &w, &h); + em->width = w; + em->height = h; evas_object_resize(em->bg, w, h); evas_object_move(em->bg, 0, 0); + if (evas_object_visible_get(em->image_browser)) + ephoto_table_viewport_set(em->image_browser, w, h); + if (evas_object_visible_get(em->flow)) + evas_object_resize(em->flow, w, h); } -static void window_move(Ecore_Evas *ee) -{ - int w, h; - - if (ecore_evas_maximized_get(em->ee) != em->maximized) - { - evas_object_geometry_get(em->bg, 0, 0, &w, &h); - if (evas_object_visible_get(em->image_browser)) - evas_object_resize(em->image_browser, w, h); - if (evas_object_visible_get(em->flow)) - evas_object_resize(em->flow, w, h); - em->maximized = ecore_evas_maximized_get(em->ee); - } - - return; -} - |
From: Enlightenment S. <no-...@en...> - 2009-10-08 20:15:55
|
Log: Fix resizing. Author: titan Date: 2009-10-08 13:15:35 -0700 (Thu, 08 Oct 2009) New Revision: 42967 Modified: trunk/ephoto/src/bin/ephoto_table.c Modified: trunk/ephoto/src/bin/ephoto_table.c =================================================================== --- trunk/ephoto/src/bin/ephoto_table.c 2009-10-08 19:55:22 UTC (rev 42966) +++ trunk/ephoto/src/bin/ephoto_table.c 2009-10-08 20:15:35 UTC (rev 42967) @@ -1,28 +1,38 @@ #include "ephoto.h" static void image_clicked(void *data, Evas *e, Evas_Object *obj, void *event_info); +static void move_left(void *data, Evas_Object *obj, const char *emission, const char *source); +static void move_right(void *data, Evas_Object *obj, const char *emission, const char *source); +static void connect_callback(void *data, Ethumb_Client *client, Eina_Bool success); +static void thumb_generated(void *data, Ethumb_Client *client, int id, const char *file, const char *key, + const char *thumb_path, const char *thumb_key, + Eina_Bool success); typedef struct _Smart_Data Smart_Data; struct _Smart_Data { Evas_Object *obj; - int visiblew; - int visibleh; - int paddingw; - int paddingh; + int itemw; + int itemh; + int pagew; + int pageh; + int padw; + int padh; + int w; + int h; + int x; + int y; + int columns; + int rows; + int cur_col; + int cur_row; int tw; int th; - int x; - int y; - int w; - int h; + int items_per_page; int current_head; int current_page; - int item_w, item_h; - int items_per_page; int total_pages; - int visible_items; Eina_List *items; Eina_List *images; }; @@ -42,23 +52,40 @@ static void _table_smart_clip_set(Evas_Object *obj, Evas_Object *clip); static void _table_smart_clip_unset(Evas_Object *obj); -static void move_left(void *data, Evas_Object *obj, const char *emission, const char *source); -static void move_right(void *data, Evas_Object *obj, const char *emission, const char *source); -static void connect_callback(void *data, Ethumb_Client *client, Eina_Bool success); -static void thumb_generated(void *data, Ethumb_Client *client, int id, const char *file, const char *key, - const char *thumb_path, const char *thumb_key, - Eina_Bool success); +static void image_clicked(void *data, Evas *e, Evas_Object *obj, void *event_info) +{ + Eina_List *node; + Evas_Event_Mouse_Down *ev; + Smart_Data *sd; + ev = event_info; + sd = evas_object_smart_data_get(em->image_browser); + + if (ev->flags == EVAS_BUTTON_DOUBLE_CLICK) + { + edje_object_signal_emit(em->image_browser, "ephoto.browser.hidden", "ephoto"); + node = evas_object_data_get(obj, "image"); + hide_image_browser(); + show_flow_view(node, sd->images); + return; + } + + if (obj == em->sel) + return; + if (em->sel) + edje_object_signal_emit(em->sel, "ephoto.thumb.deselected", "ephoto"); + edje_object_signal_emit(obj, "ephoto.thumb.selected", "ephoto"); + em->sel = obj; +} + static void move_left(void *data, Evas_Object *obj, const char *emission, const char *source) { ephoto_table_prev_page(em->image_browser); - printf("Left\n"); } static void move_right(void *data, Evas_Object *obj, const char *emission, const char *source) { ephoto_table_next_page(em->image_browser); - printf("Right\n"); } static void connect_callback(void *data, Ethumb_Client *client, Eina_Bool success) @@ -125,32 +152,6 @@ } } -static void image_clicked(void *data, Evas *e, Evas_Object *obj, void *event_info) -{ - Eina_List *node; - Evas_Event_Mouse_Down *ev; - Smart_Data *sd; - - ev = event_info; - sd = evas_object_smart_data_get(em->image_browser); - - if (ev->flags == EVAS_BUTTON_DOUBLE_CLICK) - { - edje_object_signal_emit(em->image_browser, "ephoto.browser.hidden", "ephoto"); - node = evas_object_data_get(obj, "image"); - hide_image_browser(); - show_flow_view(node, sd->images); - return; - } - - if (obj == em->sel) - return; - if (em->sel) - edje_object_signal_emit(em->sel, "ephoto.thumb.deselected", "ephoto"); - edje_object_signal_emit(obj, "ephoto.thumb.selected", "ephoto"); - em->sel = obj; -} - Evas_Object *ephoto_table_add(Evas *e) { _table_smart_init(); @@ -164,11 +165,42 @@ sd = evas_object_smart_data_get(obj); if (!sd) return; - sd->paddingw = paddingw; - sd->paddingh = paddingh; - sd->items_per_page = (sd->visiblew / sd->item_w) * (sd->visibleh / sd->item_h); + sd->padw = paddingw; + sd->padh = paddingh; + if (sd->pagew && sd->pageh) + ephoto_table_viewport_set(obj, sd->pagew, sd->pageh); } +void ephoto_table_viewport_set(Evas_Object *obj, int w, int h) +{ + Smart_Data *sd; + char text[PATH_MAX]; + int pages, remain; + + sd = evas_object_smart_data_get(obj); + if (!sd) + return; + evas_object_resize(sd->obj, w, h); + sd->pagew = w; + sd->pageh = h; + + sd->rows = sd->pageh/(sd->padh+sd->itemh); + sd->columns = sd->pagew/(sd->padw+sd->itemw); + sd->items_per_page = sd->rows*sd->columns; + pages = eina_list_count(sd->images)/sd->items_per_page; + remain = eina_list_count(sd->images)%sd->items_per_page; + if (remain > 0) + pages++; + if (pages <= sd->current_page) + sd->total_pages = sd->current_page; + else + sd->total_pages = pages; + snprintf(text, PATH_MAX, "Page: %d of %d", sd->current_page, sd->total_pages); + edje_object_part_text_set(sd->obj, "ephoto.text.object", text); + + _table_smart_reconfigure(sd); +} + void ephoto_table_pack(Evas_Object *obj, char *image) { Smart_Data *sd; @@ -178,10 +210,12 @@ const char *thumb; sd = evas_object_smart_data_get(obj); - + if (!sd) + return; + sd->images = eina_list_append(sd->images, strdup(image)); - if (sd->visible_items+1 > sd->items_per_page) + if (sd->cur_row > sd->rows) { char text[PATH_MAX]; int pages, remain; @@ -204,10 +238,9 @@ edje_object_signal_emit(img, "ephoto.thumb.visible", "ephoto"); evas_object_data_set(img, "image", eina_list_nth_list(sd->images, eina_list_count(sd->images)-1)); - evas_object_resize(img, sd->item_w, sd->item_h); - evas_object_size_hint_min_set(img, sd->item_w, sd->item_h); - evas_object_size_hint_max_set(img, sd->item_w, sd->item_h); - sd->visible_items++; + evas_object_resize(img, sd->itemw, sd->itemh); + evas_object_size_hint_min_set(img, sd->itemw, sd->itemh); + evas_object_size_hint_max_set(img, sd->itemw, sd->itemh); i = evas_imaging_image_load(image, NULL); evas_imaging_image_size_get(i, &w, &h); @@ -227,45 +260,24 @@ evas_imaging_image_free(i); - sd->tw += (sd->item_w + sd->paddingw); - sd->items = eina_list_append(sd->items, img); - if (sd->tw+(sd->item_w + sd->paddingw) >= sd->visiblew) + if (sd->cur_col == sd->columns) { - sd->th += (sd->item_h + sd->paddingh); - sd->tw = 60; + sd->tw += sd->itemw; + if (sd->cur_row == sd->rows) + sd->th += sd->itemh; + else + sd->th += (sd->itemh + sd->padh); + sd->tw = 60; + sd->cur_row++; + sd->cur_col = 1; } -} - -void ephoto_table_viewport_set(Evas_Object *obj, int w, int h) -{ - Smart_Data *sd; - char text[PATH_MAX]; - int pages, remain; - - sd = evas_object_smart_data_get(obj); - if ((sd->visiblew == w) && (sd->visibleh == h)) - return; - sd->visiblew = w; - sd->visibleh = h; - sd->items_per_page = (sd->visiblew / sd->item_w) * (sd->visibleh / sd->item_h); - evas_object_resize(sd->obj, sd->visiblew, sd->visibleh); - if (!eina_list_count(sd->items)) - return; - - pages = eina_list_count(sd->images)/sd->items_per_page; - remain = eina_list_count(sd->images)%sd->items_per_page; - if (remain > 0) - pages++; - if (pages <= sd->current_page) - sd->total_pages = sd->current_page; else - sd->total_pages = pages; - snprintf(text, PATH_MAX, "Page: %d of %d", sd->current_page, sd->total_pages); - edje_object_part_text_set(sd->obj, "ephoto.text.object", text); - - _table_smart_reconfigure(sd); + { + sd->cur_col++; + sd->tw += (sd->itemw + sd->padw); + } } void ephoto_table_next_page(Evas_Object *obj) @@ -381,50 +393,61 @@ sd->tw = 60; sd->th = 75; - sd->visible_items = 0; - - for(j =0; j <= sd->items_per_page && eina_list_data_get(iterator) != NULL; j++) + + sd->cur_row = 1; + sd->cur_col = 1; + + for(j = 0; (j <= sd->items_per_page) && eina_list_data_get(iterator) != NULL; j++) { i = eina_list_data_get(iterator); - evas_object_show(i); - evas_object_move(i, sd->tw, sd->th); - edje_object_signal_emit(i, "ephoto.thumb.visible", "ephoto"); - - sd->visible_items++; + if (sd->cur_row <= sd->rows) + { + i = eina_list_data_get(iterator); + evas_object_show(i); + evas_object_move(i, sd->tw, sd->th); + edje_object_signal_emit(i, "ephoto.thumb.visible", "ephoto"); - sd->tw += (sd->item_w+sd->paddingw); + if (sd->cur_col == sd->columns) + sd->tw += sd->itemw; + else + sd->tw += (sd->itemw + sd->padw); - if (sd->tw+(sd->item_w+sd->paddingw) >= sd->visiblew) - { - sd->th += (sd->item_h+sd->paddingh); - sd->tw = 60; - } - + if (sd->cur_col == sd->columns) + { + if (sd->cur_row == sd->rows) + sd->th += sd->itemh; + else + sd->th += (sd->itemh + sd->padh); + sd->tw = 60; + sd->cur_row++; + sd->cur_col = 1; + } + else + sd->cur_col++; + }; iterator = eina_list_next(iterator); iteratorb = eina_list_next(iteratorb); } - if (sd->visible_items < sd->items_per_page) + if (sd->cur_row <= sd->rows) { - for (j=0; j <= sd->items_per_page && eina_list_data_get(iteratorb) != NULL; j++) + for (j = 0; (j <= sd->items_per_page) && eina_list_data_get(iterator) != NULL; j++) { - if (sd->visible_items+1 > sd->items_per_page) + if (sd->cur_row > sd->rows) return; - + image = eina_list_data_get(iteratorb); img = edje_object_add(em->e); edje_object_file_set(img, PACKAGE_DATA_DIR "/themes/default/ephoto.edj", "/ephoto/thumb/shadow"); + evas_object_show(img); evas_object_move(img, sd->tw, sd->th); - evas_object_show(img); - evas_object_event_callback_add(img, EVAS_CALLBACK_MOUSE_UP, image_clicked, NULL); edje_object_signal_emit(img, "ephoto.thumb.visible", "ephoto"); - evas_object_data_set(img, "image", iteratorb); + evas_object_data_set(img, "image", eina_list_nth_list(sd->images, eina_list_count(sd->images)-1)); - evas_object_resize(img, sd->item_w, sd->item_h); - evas_object_size_hint_min_set(img, sd->item_w, sd->item_h); - evas_object_size_hint_max_set(img, sd->item_w, sd->item_h); - sd->visible_items++; + evas_object_resize(img, sd->itemw, sd->itemh); + evas_object_size_hint_min_set(img, sd->itemw, sd->itemh); + evas_object_size_hint_max_set(img, sd->itemw, sd->itemh); im = evas_imaging_image_load(image, NULL); evas_imaging_image_size_get(im, &w, &h); @@ -432,34 +455,43 @@ { ethumb_client_file_set(em->thumb_cli, image, NULL); if (!ethumb_client_thumb_exists(em->thumb_cli)) - ethumb_client_generate(em->thumb_cli, thumb_generated, img, NULL); - else - { - ethumb_client_thumb_path_get(em->thumb_cli, &thumb, NULL); - thumb_generated(img, em->thumb_cli, 0, image, NULL, thumb, NULL, EINA_TRUE); - } + ethumb_client_generate(em->thumb_cli, thumb_generated, img, NULL); + else + { + ethumb_client_thumb_path_get(em->thumb_cli, &thumb, NULL); + thumb_generated(img, em->thumb_cli, 0, image, NULL, thumb, NULL, EINA_TRUE); + } } else thumb_generated(img, em->thumb_cli, 0, image, NULL, image, NULL, EINA_TRUE); evas_imaging_image_free(im); - sd->tw += (sd->item_w + sd->paddingw); - - sd->items = eina_list_append(sd->items, img); + if (sd->cur_col == sd->columns) + sd->tw += sd->itemw; + else + sd->tw += (sd->itemw + sd->padw); - if (sd->tw+(sd->item_w + sd->paddingw) >= sd->visiblew) + sd->items = eina_list_append(sd->items, img); + + if (sd->cur_col == sd->columns) { - sd->th += (sd->item_h + sd->paddingh); - sd->tw = 60; + if (sd->cur_row == sd->rows) + sd->th += sd->itemh; + else + sd->th += (sd->itemh + sd->padh); + sd->tw = 60; + sd->cur_row++; + sd->cur_col = 1; } + else + sd->cur_col++; iteratorb = eina_list_next(iteratorb); } } - - return; } + static void _table_smart_reconfigure(Smart_Data *sd) { Evas_Imaging_Image *im; @@ -469,6 +501,9 @@ int w, h, j; Eina_List *iterator, *iteratorb; + if (!sd->images) + return; + if (sd->current_page == 1) { iterator = sd->items; @@ -483,13 +518,14 @@ sd->tw = 60; sd->th = 75; - sd->visible_items = 0; + sd->cur_row = 1; + sd->cur_col = 1; - for(j =0; j <= sd->items_per_page && eina_list_data_get(iterator) != NULL; j++) + for(j = 0; (j <= sd->items_per_page) && eina_list_data_get(iterator) != NULL; j++) { i = eina_list_data_get(iterator); - if (sd->visible_items+1 > sd->items_per_page) + if (sd->cur_row > sd->rows) { while(eina_list_data_get(iterator) != NULL) { @@ -506,40 +542,46 @@ evas_object_move(i, sd->tw, sd->th); edje_object_signal_emit(i, "ephoto.thumb.visible", "ephoto"); - sd->visible_items++; + if (sd->cur_col == sd->columns) + sd->tw += sd->itemw; + else + sd->tw += (sd->itemw + sd->padw); - sd->tw += (sd->item_w+sd->paddingw); - - if (sd->tw+(sd->item_w+sd->paddingw) >= sd->visiblew) - { - sd->th += (sd->item_h+sd->paddingh); - sd->tw = 60; - } + if (sd->cur_col == sd->columns) + { + if (sd->cur_row == sd->rows) + sd->th += sd->itemh; + else + sd->th += (sd->itemh + sd->padh); + sd->tw = 60; + sd->cur_row++; + sd->cur_col = 1; + } + else + sd->cur_col++; } iterator = eina_list_next(iterator); iteratorb = eina_list_next(iteratorb); } - if (sd->visible_items < sd->items_per_page) + if (sd->cur_row <= sd->rows) { - for (j=0; j <= sd->items_per_page && eina_list_data_get(iteratorb) != NULL; j++) + for (j = 0; (j <= sd->items_per_page) && eina_list_data_get(iteratorb) != NULL; j++) { - if (sd->visible_items+1 > sd->items_per_page) + if (sd->cur_row > sd->rows) return; image = eina_list_data_get(iteratorb); img = edje_object_add(em->e); edje_object_file_set(img, PACKAGE_DATA_DIR "/themes/default/ephoto.edj", "/ephoto/thumb/shadow"); + evas_object_show(img); evas_object_move(img, sd->tw, sd->th); - evas_object_show(img); - evas_object_event_callback_add(img, EVAS_CALLBACK_MOUSE_UP, image_clicked, NULL); edje_object_signal_emit(img, "ephoto.thumb.visible", "ephoto"); - evas_object_data_set(img, "image", iteratorb); + evas_object_data_set(img, "image", eina_list_nth_list(sd->images, eina_list_count(sd->images)-1)); - evas_object_resize(img, sd->item_w, sd->item_h); - evas_object_size_hint_min_set(img, sd->item_w, sd->item_h); - evas_object_size_hint_max_set(img, sd->item_w, sd->item_h); - sd->visible_items++; + evas_object_resize(img, sd->itemw, sd->itemh); + evas_object_size_hint_min_set(img, sd->itemw, sd->itemh); + evas_object_size_hint_max_set(img, sd->itemw, sd->itemh); im = evas_imaging_image_load(image, NULL); evas_imaging_image_size_get(im, &w, &h); @@ -547,31 +589,40 @@ { ethumb_client_file_set(em->thumb_cli, image, NULL); if (!ethumb_client_thumb_exists(em->thumb_cli)) - ethumb_client_generate(em->thumb_cli, thumb_generated, img, NULL); - else - { - ethumb_client_thumb_path_get(em->thumb_cli, &thumb, NULL); - thumb_generated(img, em->thumb_cli, 0, image, NULL, thumb, NULL, EINA_TRUE); - } + ethumb_client_generate(em->thumb_cli, thumb_generated, img, NULL); + else + { + ethumb_client_thumb_path_get(em->thumb_cli, &thumb, NULL); + thumb_generated(img, em->thumb_cli, 0, image, NULL, thumb, NULL, EINA_TRUE); + } } else thumb_generated(img, em->thumb_cli, 0, image, NULL, image, NULL, EINA_TRUE); evas_imaging_image_free(im); - sd->tw += (sd->item_w + sd->paddingw); - - sd->items = eina_list_append(sd->items, img); + if (sd->cur_col == sd->columns) + sd->tw += sd->itemw; + else + sd->tw += (sd->itemw + sd->padw); - if (sd->tw+(sd->item_w + sd->paddingw) >= sd->visiblew) + sd->items = eina_list_append(sd->items, img); + + if (sd->cur_col == sd->columns) { - sd->th += (sd->item_h + sd->paddingh); - sd->tw = 60; + if (sd->cur_row == sd->rows) + sd->th += sd->itemh; + else + sd->th += (sd->itemh + sd->padh); + sd->tw = 60; + sd->cur_row++; + sd->cur_col = 1; } + else + sd->cur_col++; iteratorb = eina_list_next(iteratorb); } } - return; } static void _table_smart_init(void) @@ -611,19 +662,19 @@ edje_object_part_geometry_get(em->bg, "ephoto.swallow.content", 0, 0, &w, &h); - sd->visiblew = w; - sd->visibleh = h; + sd->pagew = w; + sd->pageh = h; sd->tw = 60; sd->th = 75; - sd->paddingw = 0; - sd->paddingh = 0; - sd->w = 0; - sd->h = 0; - sd->x = 0; - sd->y = 0; + sd->padw = 0; + sd->padh = 0; + sd->rows = 0; + sd->columns = 0; + sd->cur_row = 1; + sd->cur_col = 1; + sd->items_per_page = 0; sd->current_head = 0; sd->current_page = 1; - sd->visible_items = 0; sd->total_pages = 1; sd->obj = edje_object_add(em->e); @@ -636,10 +687,12 @@ img = edje_object_add(em->e); edje_object_file_set(img, PACKAGE_DATA_DIR "/themes/default/ephoto.edj", "/ephoto/thumb/shadow"); - edje_object_size_min_get(img, &sd->item_w, &sd->item_h); + edje_object_size_min_get(img, &sd->itemw, &sd->itemh); evas_object_del(img); - sd->items_per_page = (sd->visiblew / sd->item_w) * (sd->visibleh / sd->item_h); + sd->columns = (sd->pagew / (sd->itemw+sd->padw)); + sd->rows = (sd->pageh / (sd->itemh+sd->padh)); + sd->items_per_page = sd->columns*sd->rows; em->thumb_cli = ethumb_client_connect(connect_callback, NULL, NULL); } @@ -694,10 +747,9 @@ return; sd->w = w; sd->h = h; - evas_object_resize(sd->obj, w, h); if (!eina_list_count(sd->images)) return; - if ((ibw == sd->visiblew) && (ibh == sd->visibleh)) + if ((ibw == sd->pagew) && (ibh == sd->pageh)) return; else ephoto_table_viewport_set(obj, w, h); @@ -769,3 +821,4 @@ return; } + |
From: Enlightenment S. <no-...@en...> - 2009-10-08 20:38:11
|
Log: Fix seg when window is resized too small. Author: titan Date: 2009-10-08 13:38:00 -0700 (Thu, 08 Oct 2009) New Revision: 42968 Modified: trunk/ephoto/src/bin/ephoto_table.c Modified: trunk/ephoto/src/bin/ephoto_table.c =================================================================== --- trunk/ephoto/src/bin/ephoto_table.c 2009-10-08 20:15:35 UTC (rev 42967) +++ trunk/ephoto/src/bin/ephoto_table.c 2009-10-08 20:38:00 UTC (rev 42968) @@ -187,6 +187,8 @@ sd->rows = sd->pageh/(sd->padh+sd->itemh); sd->columns = sd->pagew/(sd->padw+sd->itemw); sd->items_per_page = sd->rows*sd->columns; + if (sd->items_per_page == 0) + return; pages = eina_list_count(sd->images)/sd->items_per_page; remain = eina_list_count(sd->images)%sd->items_per_page; if (remain > 0) @@ -213,6 +215,9 @@ if (!sd) return; + if (sd->items_per_page == 0) + return; + sd->images = eina_list_append(sd->images, strdup(image)); if (sd->cur_row > sd->rows) @@ -307,6 +312,9 @@ int w, h, j, vis, head, back, pages, remain; Eina_List *iterator, *iteratorb; + if (sd->items_per_page == 0) + return; + pages = eina_list_count(sd->images)/sd->items_per_page; remain = eina_list_count(sd->images)%sd->items_per_page; if (remain > 0) @@ -501,6 +509,9 @@ int w, h, j; Eina_List *iterator, *iteratorb; + if (sd->items_per_page == 0) + return; + if (!sd->images) return; |
From: Enlightenment S. <no-...@en...> - 2009-10-08 21:09:07
|
Log: Whoops, little typo, fix changing pages. Author: titan Date: 2009-10-08 14:08:52 -0700 (Thu, 08 Oct 2009) New Revision: 42969 Modified: trunk/ephoto/src/bin/ephoto_table.c Modified: trunk/ephoto/src/bin/ephoto_table.c =================================================================== --- trunk/ephoto/src/bin/ephoto_table.c 2009-10-08 20:38:00 UTC (rev 42968) +++ trunk/ephoto/src/bin/ephoto_table.c 2009-10-08 21:08:52 UTC (rev 42969) @@ -409,41 +409,39 @@ { i = eina_list_data_get(iterator); - if (sd->cur_row <= sd->rows) - { - i = eina_list_data_get(iterator); - evas_object_show(i); - evas_object_move(i, sd->tw, sd->th); - edje_object_signal_emit(i, "ephoto.thumb.visible", "ephoto"); + evas_object_show(i); + edje_object_signal_emit(i, "ephoto.thumb.visible", "ephoto"); + evas_object_move(i, sd->tw, sd->th); + edje_object_signal_emit(i, "ephoto.thumb.visible", "ephoto"); - if (sd->cur_col == sd->columns) - sd->tw += sd->itemw; - else - sd->tw += (sd->itemw + sd->padw); + if (sd->cur_col == sd->columns) + sd->tw += sd->itemw; + else + sd->tw += (sd->itemw + sd->padw); - if (sd->cur_col == sd->columns) - { - if (sd->cur_row == sd->rows) - sd->th += sd->itemh; - else - sd->th += (sd->itemh + sd->padh); - sd->tw = 60; - sd->cur_row++; - sd->cur_col = 1; - } + if (sd->cur_col == sd->columns) + { + if (sd->cur_row == sd->rows) + sd->th += sd->itemh; else - sd->cur_col++; - }; + sd->th += (sd->itemh + sd->padh); + sd->tw = 60; + sd->cur_row++; + sd->cur_col = 1; + } + else + sd->cur_col++; + iterator = eina_list_next(iterator); iteratorb = eina_list_next(iteratorb); } if (sd->cur_row <= sd->rows) { - for (j = 0; (j <= sd->items_per_page) && eina_list_data_get(iterator) != NULL; j++) + for (j = 0; (j <= sd->items_per_page) && eina_list_data_get(iteratorb) != NULL; j++) { if (sd->cur_row > sd->rows) return; - + image = eina_list_data_get(iteratorb); img = edje_object_add(em->e); @@ -475,15 +473,11 @@ evas_imaging_image_free(im); - if (sd->cur_col == sd->columns) - sd->tw += sd->itemw; - else - sd->tw += (sd->itemw + sd->padw); - sd->items = eina_list_append(sd->items, img); if (sd->cur_col == sd->columns) { + sd->tw += sd->itemw; if (sd->cur_row == sd->rows) sd->th += sd->itemh; else @@ -493,7 +487,10 @@ sd->cur_col = 1; } else + { + sd->tw += (sd->itemw + sd->padw); sd->cur_col++; + } iteratorb = eina_list_next(iteratorb); } } @@ -612,15 +609,11 @@ evas_imaging_image_free(im); - if (sd->cur_col == sd->columns) - sd->tw += sd->itemw; - else - sd->tw += (sd->itemw + sd->padw); - sd->items = eina_list_append(sd->items, img); if (sd->cur_col == sd->columns) { + sd->tw += sd->itemw; if (sd->cur_row == sd->rows) sd->th += sd->itemh; else @@ -630,7 +623,10 @@ sd->cur_col = 1; } else + { + sd->tw += (sd->itemw + sd->padw); sd->cur_col++; + } iteratorb = eina_list_next(iteratorb); } } |
From: Enlightenment S. <no-...@en...> - 2009-10-08 21:20:01
|
Log: Fix flow image bug. Author: titan Date: 2009-10-08 14:19:48 -0700 (Thu, 08 Oct 2009) New Revision: 42973 Modified: trunk/ephoto/src/bin/ephoto_table.c Modified: trunk/ephoto/src/bin/ephoto_table.c =================================================================== --- trunk/ephoto/src/bin/ephoto_table.c 2009-10-08 21:17:21 UTC (rev 42972) +++ trunk/ephoto/src/bin/ephoto_table.c 2009-10-08 21:19:48 UTC (rev 42973) @@ -449,7 +449,7 @@ evas_object_show(img); evas_object_move(img, sd->tw, sd->th); edje_object_signal_emit(img, "ephoto.thumb.visible", "ephoto"); - evas_object_data_set(img, "image", eina_list_nth_list(sd->images, eina_list_count(sd->images)-1)); + evas_object_data_set(img, "image", iteratorb); evas_object_resize(img, sd->itemw, sd->itemh); evas_object_size_hint_min_set(img, sd->itemw, sd->itemh); @@ -585,7 +585,7 @@ evas_object_show(img); evas_object_move(img, sd->tw, sd->th); edje_object_signal_emit(img, "ephoto.thumb.visible", "ephoto"); - evas_object_data_set(img, "image", eina_list_nth_list(sd->images, eina_list_count(sd->images)-1)); + evas_object_data_set(img, "image", iteratorb); evas_object_resize(img, sd->itemw, sd->itemh); evas_object_size_hint_min_set(img, sd->itemw, sd->itemh); |
From: Enlightenment S. <no-...@en...> - 2009-10-11 23:09:35
|
Log: Remove debug printfs. Author: titan Date: 2009-10-11 16:09:21 -0700 (Sun, 11 Oct 2009) New Revision: 43028 Modified: trunk/ephoto/src/bin/ephoto_flow.c trunk/ephoto/src/bin/ephoto_flow_browser.c Modified: trunk/ephoto/src/bin/ephoto_flow.c =================================================================== --- trunk/ephoto/src/bin/ephoto_flow.c 2009-10-11 21:03:08 UTC (rev 43027) +++ trunk/ephoto/src/bin/ephoto_flow.c 2009-10-11 23:09:21 UTC (rev 43028) @@ -43,7 +43,6 @@ else sd->current_node = eina_list_last(sd->list); _flow_smart_reconfigure(sd); - printf("Left\n"); } static void move_right(void *data, Evas_Object *obj, const char *emission, const char *source) @@ -57,7 +56,6 @@ else sd->current_node = sd->list; _flow_smart_reconfigure(sd); - printf("Right\n"); } static void go_back(void *data, Evas_Object *obj, const char *emission, const char *source) Modified: trunk/ephoto/src/bin/ephoto_flow_browser.c =================================================================== --- trunk/ephoto/src/bin/ephoto_flow_browser.c 2009-10-11 21:03:08 UTC (rev 43027) +++ trunk/ephoto/src/bin/ephoto_flow_browser.c 2009-10-11 23:09:21 UTC (rev 43028) @@ -17,7 +17,7 @@ } void hide_flow_view(void) -{ + evas_object_hide(em->flow); edje_object_part_unswallow(em->bg, em->flow); } |
From: Enlightenment S. <no-...@en...> - 2009-10-11 23:11:13
|
Log: Whoops! Fix typo! Author: titan Date: 2009-10-11 16:11:01 -0700 (Sun, 11 Oct 2009) New Revision: 43029 Modified: trunk/ephoto/src/bin/ephoto_flow_browser.c Modified: trunk/ephoto/src/bin/ephoto_flow_browser.c =================================================================== --- trunk/ephoto/src/bin/ephoto_flow_browser.c 2009-10-11 23:09:21 UTC (rev 43028) +++ trunk/ephoto/src/bin/ephoto_flow_browser.c 2009-10-11 23:11:01 UTC (rev 43029) @@ -17,7 +17,7 @@ } void hide_flow_view(void) - +{ evas_object_hide(em->flow); edje_object_part_unswallow(em->bg, em->flow); } |