Bah just digging a deeper hole. going to revert and give myself some time to think about this.
SVN revision: 42847
This commit is contained in:
parent
8e54bffad6
commit
d5a8240854
|
@ -11,8 +11,6 @@ struct _Smart_Data
|
|||
int visibleh;
|
||||
int paddingw;
|
||||
int paddingh;
|
||||
int startx;
|
||||
int starty;
|
||||
int tw;
|
||||
int th;
|
||||
int x;
|
||||
|
@ -44,7 +42,6 @@ static void _table_smart_color_set(Evas_Object *obj, int r, int g, int b, int a)
|
|||
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 @@ void ephoto_table_padding_set(Evas_Object *obj, int paddingw, int paddingh)
|
|||
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 @@ void ephoto_table_pack(Evas_Object *obj, char *image)
|
|||
|
||||
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 @@ void ephoto_table_viewport_set(Evas_Object *obj, int w, int h)
|
|||
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 @@ static void _table_smart_change_page(Smart_Data *sd, int direction)
|
|||
}
|
||||
}
|
||||
|
||||
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 @@ static void _table_smart_change_page(Smart_Data *sd, int direction)
|
|||
|
||||
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 @@ static void _table_smart_change_page(Smart_Data *sd, int direction)
|
|||
|
||||
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 @@ static void _table_smart_reconfigure(Smart_Data *sd)
|
|||
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 @@ static void _table_smart_reconfigure(Smart_Data *sd)
|
|||
|
||||
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 @@ static void _table_smart_reconfigure(Smart_Data *sd)
|
|||
|
||||
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_init(void)
|
|||
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 @@ static void _table_smart_add(Evas_Object *obj)
|
|||
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_move(Evas_Object *obj, Evas_Coord x, Evas_Coord y)
|
|||
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 @@ static void _table_smart_resize(Evas_Object *obj, Evas_Coord w, Evas_Coord h)
|
|||
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)
|
||||
|
|
Loading…
Reference in New Issue