Minor fixes.

SVN revision: 42843
This commit is contained in:
titan 2009-10-01 21:27:27 +00:00 committed by titan
parent aeaad2c5e7
commit 2f9546e05c
3 changed files with 63 additions and 27 deletions

View File

@ -83,6 +83,22 @@ collections
}
parts
{
part
{
name: "ephoto.thumb.area";
type: RECT;
mouse_events: 1;
description
{
state: "default" 0.0;
visible: 1;
rel1.relative: 0.0 0.0;
rel1.offset: 30 75;
rel2.relative: 1.0 1.0;
rel2.offset: -5 -1;
color: 255 255 255 0;
}
}
part
{
name: "ephoto.text.object";

View File

@ -14,7 +14,7 @@ void create_main_window(void)
em = calloc(1, sizeof(Ephoto));
em->sel = NULL;
em->ee = ecore_evas_software_x11_new(0, 0, 0, 0, 950, 530);
em->ee = ecore_evas_software_x11_new(0, 0, 0, 0, 920, 530);
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);
@ -26,7 +26,7 @@ void create_main_window(void)
em->bg = edje_object_add(em->e);
edje_object_file_set(em->bg, PACKAGE_DATA_DIR "/themes/default/ephoto.edj",
"/ephoto/window/background");
evas_object_resize(em->bg, 950, 530);
evas_object_resize(em->bg, 920, 530);
evas_object_move(em->bg, 0, 0);
evas_object_event_callback_add(em->bg, EVAS_CALLBACK_SHOW, window_shown, NULL);
evas_object_show(em->bg);

View File

@ -11,6 +11,8 @@ struct _Smart_Data
int visibleh;
int paddingw;
int paddingh;
int startx;
int starty;
int tw;
int th;
int x;
@ -42,6 +44,7 @@ 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);
@ -166,7 +169,6 @@ 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)
@ -231,10 +233,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->paddingw) >= sd->visiblew)
if (sd->tw+sd->item_w >= sd->visiblew)
{
sd->th += (sd->item_h + sd->paddingh);
sd->tw = 60;
sd->tw = sd->startx;
}
}
@ -250,7 +252,6 @@ void ephoto_table_viewport_set(Evas_Object *obj, int w, int h)
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;
@ -379,8 +380,8 @@ static void _table_smart_change_page(Smart_Data *sd, int direction)
}
}
sd->tw = 60;
sd->th = 75;
sd->tw = sd->startx;
sd->th = sd->starty;
sd->visible_items = 0;
for(j =0; j <= sd->items_per_page && eina_list_data_get(iterator) != NULL; j++)
@ -395,10 +396,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->paddingw) >= sd->visiblew)
if (sd->tw+sd->item_w >= sd->visiblew)
{
sd->th += (sd->item_h+sd->paddingh);
sd->tw = 60;
sd->tw = sd->startx;
}
iterator = eina_list_next(iterator);
@ -448,10 +449,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->paddingw) >= sd->visiblew)
if (sd->tw+sd->item_w >= sd->visiblew)
{
sd->th += (sd->item_h + sd->paddingh);
sd->tw = 60;
sd->tw = sd->startx;
}
iteratorb = eina_list_next(iteratorb);
}
@ -480,8 +481,8 @@ static void _table_smart_reconfigure(Smart_Data *sd)
iteratorb = eina_list_nth_list(sd->images, sd->current_head);
}
sd->tw = 60;
sd->th = 75;
sd->tw = sd->startx;
sd->th = sd->starty;
sd->visible_items = 0;
@ -510,10 +511,10 @@ static void _table_smart_reconfigure(Smart_Data *sd)
sd->tw += (sd->item_w+sd->paddingw);
if (sd->tw+(sd->item_w+sd->paddingw) >= sd->visiblew)
if (sd->tw+sd->item_w >= sd->visiblew)
{
sd->th += (sd->item_h+sd->paddingh);
sd->tw = 60;
sd->tw = sd->startx;
}
}
iterator = eina_list_next(iterator);
@ -563,10 +564,10 @@ static void _table_smart_reconfigure(Smart_Data *sd)
sd->items = eina_list_append(sd->items, img);
if (sd->tw+(sd->item_w + sd->paddingw) >= sd->visiblew)
if (sd->tw+sd->item_w >= sd->visiblew)
{
sd->th += (sd->item_h + sd->paddingh);
sd->tw = 60;
sd->tw = sd->startx;
}
iteratorb = eina_list_next(iteratorb);
}
@ -602,7 +603,6 @@ 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,18 +629,35 @@ 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);
img = edje_object_add(em->e);
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);
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->visibleh / sd->item_h);
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)
@ -682,13 +699,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;
int ibw, ibh, ibx, iby;
sd = evas_object_smart_data_get(obj);
if (!sd)
return;
evas_object_geometry_get(sd->obj, 0, 0, &ibw, &ibh);
edje_object_part_geometry_get(sd->obj, "ephoto.thumb.area", &ibx, &iby, &ibw, &ibh);
if ((w == sd->w) && (h == sd->h))
return;
@ -697,10 +714,13 @@ 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))
if ((ibw == sd->visiblew) && (ibh == sd->visibleh) &&
(ibx == sd->startx) && (iby == sd->starty))
return;
else
ephoto_table_viewport_set(obj, w, h);
sd->startx = ibx;
sd->starty = iby;
ephoto_table_viewport_set(obj, ibw, ibh);
}
static void _table_smart_show(Evas_Object *obj)