From: Enlightenment S. <no-...@en...> - 2012-03-11 21:56:43
|
Log: if the tooltip is huge, this isn't an error Author: discomfitor Date: 2012-03-11 14:56:36 -0700 (Sun, 11 Mar 2012) New Revision: 69205 Trac: http://trac.enlightenment.org/e/changeset/69205 Modified: trunk/elementary/src/lib/els_tooltip.c Modified: trunk/elementary/src/lib/els_tooltip.c =================================================================== --- trunk/elementary/src/lib/els_tooltip.c 2012-03-11 21:50:02 UTC (rev 69204) +++ trunk/elementary/src/lib/els_tooltip.c 2012-03-11 21:56:36 UTC (rev 69205) @@ -445,7 +445,7 @@ else if (ty < 0) ty -= tt->pad.by; else if (ty > ch) ty += tt->pad.by; TTDBG("PAD (BORDER): tx=%d,ty=%d\n", tx, ty); - if ((tx < 0) || (ty < 0)) + if (((tx < 0) && (tw < cw)) || ((ty < 0) && (th < ch))) { TTDBG("POSITIONING FAILED! THIS IS A BUG SOMEWHERE!\n"); abort(); |
From: Enlightenment S. <no-...@en...> - 2012-03-11 22:02:02
|
Log: more TTDBG Author: discomfitor Date: 2012-03-11 15:01:55 -0700 (Sun, 11 Mar 2012) New Revision: 69207 Trac: http://trac.enlightenment.org/e/changeset/69207 Modified: trunk/elementary/src/lib/els_tooltip.c Modified: trunk/elementary/src/lib/els_tooltip.c =================================================================== --- trunk/elementary/src/lib/els_tooltip.c 2012-03-11 22:00:22 UTC (rev 69206) +++ trunk/elementary/src/lib/els_tooltip.c 2012-03-11 22:01:55 UTC (rev 69207) @@ -67,6 +67,7 @@ _elm_tooltip_content_changed_hints_cb(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) { _elm_tooltip_reconfigure_job_start(data); + TTDBG("HINTS CHANGED\n"); } static void @@ -83,6 +84,7 @@ { Elm_Tooltip *tt = data; _elm_tooltip_reconfigure_job_start(tt); + TTDBG("TT MOVED\n"); } static void @@ -90,6 +92,7 @@ { Elm_Tooltip *tt = data; _elm_tooltip_reconfigure_job_start(tt); + TTDBG("TT RESIZE\n"); } static void @@ -97,6 +100,7 @@ { Elm_Tooltip *tt = data; _elm_tooltip_reconfigure_job_start(tt); + TTDBG("MOUSE MOVED\n"); } static void @@ -105,9 +109,11 @@ _elm_tooltip_show_timer_stop(tt); _elm_tooltip_hide_anim_stop(tt); + TTDBG("TT SHOW\n"); if (tt->tooltip) { _elm_tooltip_reconfigure_job_start(tt); + TTDBG("RECURSIVE JOB\n"); return; } if (tt->free_size) @@ -162,6 +168,7 @@ _elm_tooltip_hide(Elm_Tooltip *tt) { Evas_Object *del; + TTDBG("TT HIDE\n"); _elm_tooltip_show_timer_stop(tt); _elm_tooltip_hide_anim_stop(tt); _elm_tooltip_reconfigure_job_stop(tt); @@ -509,8 +516,8 @@ if ((tt->show_timer) || (tt->tooltip)) return; - tt->show_timer = ecore_timer_add - (_elm_config->tooltip_delay, _elm_tooltip_timer_show_cb, tt); + tt->show_timer = ecore_timer_add(_elm_config->tooltip_delay, _elm_tooltip_timer_show_cb, tt); + TTDBG("MOUSE IN\n"); } static void @@ -524,6 +531,7 @@ return; } _elm_tooltip_hide_anim_start(tt); + TTDBG("MOUSE OUT\n"); } static void _elm_tooltip_obj_free_cb(void *data, Evas *e __UNUSED__, Evas_Object *obj, void *event_info __UNUSED__); |
From: Enlightenment S. <no-...@en...> - 2012-03-11 22:13:31
|
Log: significantly improve look of tooltips during mouse movement Author: discomfitor Date: 2012-03-11 15:13:24 -0700 (Sun, 11 Mar 2012) New Revision: 69208 Trac: http://trac.enlightenment.org/e/changeset/69208 Modified: trunk/elementary/src/lib/els_tooltip.c Modified: trunk/elementary/src/lib/els_tooltip.c =================================================================== --- trunk/elementary/src/lib/els_tooltip.c 2012-03-11 22:01:55 UTC (rev 69207) +++ trunk/elementary/src/lib/els_tooltip.c 2012-03-11 22:13:24 UTC (rev 69208) @@ -42,6 +42,7 @@ Ecore_Timer *show_timer; Ecore_Timer *hide_timer; Ecore_Job *reconfigure_job; + Evas_Coord mouse_x, mouse_y; struct { Evas_Coord x, y, bx, by; } pad; @@ -96,11 +97,21 @@ } static void -_elm_tooltip_obj_mouse_move_cb(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) +_elm_tooltip_obj_mouse_move_cb(Elm_Tooltip *tt, Evas *e __UNUSED__, Evas_Object *obj __UNUSED__, Evas_Event_Mouse_Move *ev) { - Elm_Tooltip *tt = data; + if (tt->mouse_x || tt->mouse_y) + { + if ((abs(ev->cur.output.x - tt->mouse_x) < 3) && + (abs(ev->cur.output.y - tt->mouse_y) < 3)) + { + TTDBG("MOUSE MOVE REJECTED!\n"); + return; + } + } + tt->mouse_x = ev->cur.output.x; + tt->mouse_y = ev->cur.output.y; + TTDBG("MOUSE MOVED\n"); _elm_tooltip_reconfigure_job_start(tt); - TTDBG("MOUSE MOVED\n"); } static void @@ -141,7 +152,7 @@ evas_object_event_callback_add (tt->eventarea, EVAS_CALLBACK_RESIZE, _elm_tooltip_obj_resize_cb, tt); evas_object_event_callback_add - (tt->eventarea, EVAS_CALLBACK_MOUSE_MOVE, _elm_tooltip_obj_mouse_move_cb, tt); + (tt->eventarea, EVAS_CALLBACK_MOUSE_MOVE, (Evas_Object_Event_Cb)_elm_tooltip_obj_mouse_move_cb, tt); tt->changed_style = EINA_TRUE; _elm_tooltip_reconfigure_job_start(tt); @@ -183,7 +194,7 @@ evas_object_event_callback_del_full (tt->eventarea, EVAS_CALLBACK_RESIZE, _elm_tooltip_obj_resize_cb, tt); evas_object_event_callback_del_full - (tt->eventarea, EVAS_CALLBACK_MOUSE_MOVE, _elm_tooltip_obj_mouse_move_cb, tt); + (tt->eventarea, EVAS_CALLBACK_MOUSE_MOVE, (Evas_Object_Event_Cb)_elm_tooltip_obj_mouse_move_cb, tt); del = tt->tt_win ?: tt->tooltip; |
From: Enlightenment S. <no-...@en...> - 2012-03-11 22:21:47
|
Log: even more TTDBG Author: discomfitor Date: 2012-03-11 15:21:41 -0700 (Sun, 11 Mar 2012) New Revision: 69209 Trac: http://trac.enlightenment.org/e/changeset/69209 Modified: trunk/elementary/src/lib/els_tooltip.c Modified: trunk/elementary/src/lib/els_tooltip.c =================================================================== --- trunk/elementary/src/lib/els_tooltip.c 2012-03-11 22:13:24 UTC (rev 69208) +++ trunk/elementary/src/lib/els_tooltip.c 2012-03-11 22:21:41 UTC (rev 69209) @@ -163,6 +163,7 @@ { if (!tt->content) return; + TTDBG("CONTENT DEL\n"); evas_object_event_callback_del_full (tt->content, EVAS_CALLBACK_CHANGED_SIZE_HINTS, _elm_tooltip_content_changed_hints_cb, tt); @@ -241,6 +242,7 @@ { double extra = 0; if (tt->hide_timer) return; + TTDBG("HIDE START\n"); /* hide slightly faster when in window mode to look less stupid */ if ((tt->hide_timeout > 0) && tt->tt_win) extra = 0.1; edje_object_signal_emit(tt->tooltip, "elm,action,hide", "elm"); @@ -471,6 +473,7 @@ } evas_object_move(tt->tt_win ? : tt->tooltip, tx, ty); evas_object_resize(tt->tt_win ? : tt->tooltip, tw, th); + TTDBG("FINAL: tx=%d,ty=%d,tw=%d,th=%d\n", tx, ty, tw, th); evas_object_show(tt->tooltip); if (inside_eventarea) |
From: Enlightenment S. <no-...@en...> - 2012-03-16 03:35:22
|
Log: properly #ifdef out entire function Author: discomfitor Date: 2012-03-15 20:35:14 -0700 (Thu, 15 Mar 2012) New Revision: 69445 Trac: http://trac.enlightenment.org/e/changeset/69445 Modified: trunk/elementary/src/lib/elc_player.c Modified: trunk/elementary/src/lib/elc_player.c =================================================================== --- trunk/elementary/src/lib/elc_player.c 2012-03-16 03:04:10 UTC (rev 69444) +++ trunk/elementary/src/lib/elc_player.c 2012-03-16 03:35:14 UTC (rev 69445) @@ -451,11 +451,11 @@ } #endif +#ifdef HAVE_EMOTION static void _content_set_hook(Evas_Object *obj, const char *part, Evas_Object *content) { if (part && strcmp(part, "video")) return; -#ifdef HAVE_EMOTION ELM_CHECK_WIDTYPE(obj, widtype); Widget_Data *wd = elm_widget_data_get(obj); @@ -514,13 +514,9 @@ _play_finished, obj); /* FIXME: track info from video */ -#else - (void) obj; - (void) content; +} #endif -} - EAPI Evas_Object * elm_player_add(Evas_Object *parent) { |
From: Enlightenment S. <no-...@en...> - 2012-03-19 16:50:18
|
Log: disable annoying hover menu when clicking anchors in desktop profile; enforcing a mandatory menu for right clicking was not one of the better ideas we have had Author: discomfitor Date: 2012-03-19 09:50:01 -0700 (Mon, 19 Mar 2012) New Revision: 69509 Trac: http://trac.enlightenment.org/e/changeset/69509 Modified: trunk/elementary/src/lib/elm_entry.c Modified: trunk/elementary/src/lib/elm_entry.c =================================================================== --- trunk/elementary/src/lib/elm_entry.c 2012-03-19 12:58:12 UTC (rev 69508) +++ trunk/elementary/src/lib/elm_entry.c 2012-03-19 16:50:01 UTC (rev 69509) @@ -1857,7 +1857,8 @@ { evas_object_smart_callback_call(data, SIG_ANCHOR_CLICKED, &ei); - _entry_hover_anchor_clicked(data, data, &ei); + if (!_elm_config->desktop_entry) + _entry_hover_anchor_clicked(data, data, &ei); } } |
From: Enlightenment S. <no-...@en...> - 2012-03-19 16:56:38
|
Log: again, mandatory hover menus are not suitable for desktop profiles. applications will want to provide their own menus, and having a whole menu to provide functionality available by clicking and dragging is not the best idea Author: discomfitor Date: 2012-03-19 09:56:28 -0700 (Mon, 19 Mar 2012) New Revision: 69510 Trac: http://trac.enlightenment.org/e/changeset/69510 Modified: trunk/elementary/src/lib/elm_entry.c Modified: trunk/elementary/src/lib/elm_entry.c =================================================================== --- trunk/elementary/src/lib/elm_entry.c 2012-03-19 16:50:01 UTC (rev 69509) +++ trunk/elementary/src/lib/elm_entry.c 2012-03-19 16:56:28 UTC (rev 69510) @@ -1400,7 +1400,8 @@ { Widget_Data *wd = elm_widget_data_get(data); if (!wd) return ECORE_CALLBACK_CANCEL; - _menu_press(data); + if (!_elm_config->desktop_entry) + _menu_press(data); wd->longpress_timer = NULL; evas_object_smart_callback_call(data, SIG_LONGPRESSED, NULL); return ECORE_CALLBACK_CANCEL; @@ -1438,7 +1439,7 @@ wd->longpress_timer = NULL; } } - else if (ev->button == 3) + else if ((ev->button == 3) && (!_elm_config->desktop_entry)) { wd->usedown = 1; _menu_press(data); |
From: Enlightenment S. <no-...@en...> - 2012-03-30 01:15:33
|
Log: this is not actually unused... Author: discomfitor Date: 2012-03-29 18:15:26 -0700 (Thu, 29 Mar 2012) New Revision: 69775 Trac: http://trac.enlightenment.org/e/changeset/69775 Modified: trunk/elementary/src/lib/elm_flip.c Modified: trunk/elementary/src/lib/elm_flip.c =================================================================== --- trunk/elementary/src/lib/elm_flip.c 2012-03-29 23:59:03 UTC (rev 69774) +++ trunk/elementary/src/lib/elm_flip.c 2012-03-30 01:15:26 UTC (rev 69775) @@ -170,7 +170,7 @@ } static Slice * -_slice_new(Widget_Data *st __UNUSED__, Evas_Object *obj) +_slice_new(Widget_Data *st, Evas_Object *obj) { Slice *sl; |
From: Enlightenment S. <no-...@en...> - 2012-03-30 01:17:11
|
Log: also rename widget data variable to be consistent with every other occurrence Author: discomfitor Date: 2012-03-29 18:17:04 -0700 (Thu, 29 Mar 2012) New Revision: 69776 Trac: http://trac.enlightenment.org/e/changeset/69776 Modified: trunk/elementary/src/lib/elm_flip.c Modified: trunk/elementary/src/lib/elm_flip.c =================================================================== --- trunk/elementary/src/lib/elm_flip.c 2012-03-30 01:15:26 UTC (rev 69775) +++ trunk/elementary/src/lib/elm_flip.c 2012-03-30 01:17:04 UTC (rev 69776) @@ -58,7 +58,7 @@ static void _changed_size_hints(void *data, Evas *e, Evas_Object *obj, void *event_info); static void _sub_del(void *data, Evas_Object *obj, void *event_info); -static void _state_slices_clear(Widget_Data *st); +static void _state_slices_clear(Widget_Data *wd); static void _configure(Evas_Object *obj); static const char SIG_ANIMATE_BEGIN[] = "animate,begin"; @@ -170,16 +170,16 @@ } static Slice * -_slice_new(Widget_Data *st, Evas_Object *obj) +_slice_new(Widget_Data *wd, Evas_Object *obj) { Slice *sl; sl = calloc(1, sizeof(Slice)); if (!sl) return NULL; sl->obj = evas_object_image_add(evas_object_evas_get(obj)); - elm_widget_sub_object_add(st->obj, sl->obj); - evas_object_clip_set(sl->obj, evas_object_clip_get(st->obj)); - evas_object_smart_member_add(sl->obj, st->obj); + elm_widget_sub_object_add(wd->obj, sl->obj); + evas_object_clip_set(sl->obj, evas_object_clip_get(wd->obj)); + evas_object_smart_member_add(sl->obj, wd->obj); evas_object_image_smooth_scale_set(sl->obj, EINA_FALSE); evas_object_pass_events_set(sl->obj, EINA_TRUE); evas_object_image_source_set(sl->obj, obj); @@ -194,7 +194,7 @@ } static void -_slice_apply(Widget_Data *st, Slice *sl, Evas_Coord x __UNUSED__, +_slice_apply(Widget_Data *wd, Slice *sl, Evas_Coord x __UNUSED__, Evas_Coord y __UNUSED__, Evas_Coord w, Evas_Coord h __UNUSED__, Evas_Coord ox, Evas_Coord oy, Evas_Coord ow, Evas_Coord oh) { @@ -207,28 +207,28 @@ for (i = 0; i < 4; i++) { evas_map_point_color_set(m, i, 255, 255, 255, 255); - if (st->dir == 0) + if (wd->dir == 0) { int p[4] = { 0, 1, 2, 3 }; evas_map_point_coord_set(m, i, ox + sl->x[p[i]], oy + sl->y[p[i]], sl->z[p[i]]); evas_map_point_image_uv_set(m, i, sl->u[p[i]] , sl->v[p[i]]); } - else if (st->dir == 1) + else if (wd->dir == 1) { int p[4] = { 1, 0, 3, 2 }; evas_map_point_coord_set(m, i, ox + (w - sl->x[p[i]]), oy + sl->y[p[i]], sl->z[p[i]]); evas_map_point_image_uv_set(m, i, ow - sl->u[p[i]], sl->v[p[i]]); } - else if (st->dir == 2) + else if (wd->dir == 2) { int p[4] = { 1, 0, 3, 2 }; evas_map_point_coord_set(m, i, ox + sl->y[p[i]], oy + sl->x[p[i]], sl->z[p[i]]); evas_map_point_image_uv_set(m, i, sl->v[p[i]] , sl->u[p[i]]); } - else/* if (st->dir == 3) will be this anyway */ + else/* if (wd->dir == 3) will be this anyway */ { int p[4] = { 0, 1, 2, 3 }; evas_map_point_coord_set(m, i, ox + sl->y[p[i]], @@ -243,7 +243,7 @@ } static void -_slice_3d(Widget_Data *st __UNUSED__, Slice *sl, Evas_Coord x, Evas_Coord y, +_slice_3d(Widget_Data *wd __UNUSED__, Slice *sl, Evas_Coord x, Evas_Coord y, Evas_Coord w, Evas_Coord h) { Evas_Map *m = (Evas_Map *)evas_object_map_get(sl->obj); @@ -264,7 +264,7 @@ } static void -_slice_light(Widget_Data *st __UNUSED__, Slice *sl, Evas_Coord x, Evas_Coord y, Evas_Coord w, Evas_Coord h) +_slice_light(Widget_Data *wd __UNUSED__, Slice *sl, Evas_Coord x, Evas_Coord y, Evas_Coord w, Evas_Coord h) { Evas_Map *m = (Evas_Map *)evas_object_map_get(sl->obj); int i; @@ -292,7 +292,7 @@ } static void -_slice_xyz(Widget_Data *st __UNUSED__, Slice *sl, +_slice_xyz(Widget_Data *wd __UNUSED__, Slice *sl, double xx1, double yy1, double zz1, double xx2, double yy2, double zz2, double xx3, double yy3, double zz3, @@ -305,7 +305,7 @@ } static void -_slice_uv(Widget_Data *st __UNUSED__, Slice *sl, +_slice_uv(Widget_Data *wd __UNUSED__, Slice *sl, double u1, double v1, double u2, double v2, double u3, double v3, @@ -352,29 +352,29 @@ } static void -_state_slices_clear(Widget_Data *st) +_state_slices_clear(Widget_Data *wd) { int i, j, num; - if (st->slices) + if (wd->slices) { num = 0; - for (j = 0; j < st->slices_h; j++) + for (j = 0; j < wd->slices_h; j++) { - for (i = 0; i < st->slices_w; i++) + for (i = 0; i < wd->slices_w; i++) { - if (st->slices[num]) _slice_free(st->slices[num]); - if (st->slices2[num]) _slice_free(st->slices2[num]); + if (wd->slices[num]) _slice_free(wd->slices[num]); + if (wd->slices2[num]) _slice_free(wd->slices2[num]); num++; } } - free(st->slices); - free(st->slices2); - st->slices = NULL; - st->slices2 = NULL; + free(wd->slices); + free(wd->slices2); + wd->slices = NULL; + wd->slices2 = NULL; } - st->slices_w = 0; - st->slices_h = 0; + wd->slices_w = 0; + wd->slices_h = 0; } static int @@ -424,7 +424,7 @@ } static int -_state_update(Widget_Data *st) +_state_update(Widget_Data *wd) { Evas_Coord xx1, yy1, xx2, yy2, mx, my; Evas_Coord x, y, w, h, ox, oy, ow, oh; @@ -436,35 +436,35 @@ Vertex3 *tvo, *tvol; Evas_Object *front, *back; - st->backflip = EINA_TRUE; - if (st->state) + wd->backflip = EINA_TRUE; + if (wd->state) { - front = st->front.content; - back = st->front.content; + front = wd->front.content; + back = wd->front.content; } else { - front = st->back.content; - back = st->back.content; + front = wd->back.content; + back = wd->back.content; } - evas_object_geometry_get(st->obj, &x, &y, &w, &h); + evas_object_geometry_get(wd->obj, &x, &y, &w, &h); ox = x; oy = y; ow = w; oh = h; - xx1 = st->down_x; - yy1 = st->down_y; - xx2 = st->x; - yy2 = st->y; + xx1 = wd->down_x; + yy1 = wd->down_y; + xx2 = wd->x; + yy2 = wd->y; - if (st->dir == 0) + if (wd->dir == 0) { // no nothing. left drag is standard } - else if (st->dir == 1) + else if (wd->dir == 1) { xx1 = (w - 1) - xx1; xx2 = (w - 1) - xx2; } - else if (st->dir == 2) + else if (wd->dir == 2) { Evas_Coord tmp; @@ -472,7 +472,7 @@ tmp = xx2; xx2 = yy2; yy2 = tmp; tmp = w; w = h; h = tmp; } - else/* if (st->dir == 3) will be this anyway */ + else/* if (wd->dir == 3) will be this anyway */ { Evas_Coord tmp; @@ -563,26 +563,26 @@ nw = (w + gszw - 1) / gszw; nh = (h + gszh - 1) / gszh; - if ((st->slices_w != nw) || (st->slices_h != nh)) _state_slices_clear(st); - st->slices_w = nw; - st->slices_h = nh; - if (!st->slices) + if ((wd->slices_w != nw) || (wd->slices_h != nh)) _state_slices_clear(wd); + wd->slices_w = nw; + wd->slices_h = nh; + if (!wd->slices) { - st->slices = calloc(st->slices_w * st->slices_h, sizeof(Slice *)); - if (!st->slices) return 0; - st->slices2 = calloc(st->slices_w * st->slices_h, sizeof(Slice *)); - if (!st->slices2) + wd->slices = calloc(wd->slices_w * wd->slices_h, sizeof(Slice *)); + if (!wd->slices) return 0; + wd->slices2 = calloc(wd->slices_w * wd->slices_h, sizeof(Slice *)); + if (!wd->slices2) { - free(st->slices); - st->slices = NULL; + free(wd->slices); + wd->slices = NULL; return 0; } } - num = (st->slices_w + 1) * (st->slices_h + 1); + num = (wd->slices_w + 1) * (wd->slices_h + 1); tvo = alloca(sizeof(Vertex3) * num); - tvol = alloca(sizeof(Vertex3) * (st->slices_w + 1)); + tvol = alloca(sizeof(Vertex3) * (wd->slices_w + 1)); for (col = 0, gx = 0; gx <= (w + gszw - 1); gx += gszw, col++) { @@ -617,10 +617,10 @@ } } - jump = st->slices_h + 1; + jump = wd->slices_h + 1; for (col = 0, gx = 0; gx < w; gx += gszw, col++) { - num = st->slices_h * col; + num = wd->slices_h * col; num2 = jump * col; gw = gszw; @@ -630,7 +630,7 @@ { Vertex3 vo[4]; - if (b > 0) nn = num + st->slices_h - row - 1; + if (b > 0) nn = num + wd->slices_h - row - 1; else nn = num + row; gh = gszh; @@ -652,54 +652,54 @@ } // FRONT - sl = st->slices[nn]; + sl = wd->slices[nn]; if (!sl) { - sl = _slice_new(st, front); - st->slices[nn] = sl; + sl = _slice_new(wd, front); + wd->slices[nn] = sl; } - _slice_xyz(st, sl, + _slice_xyz(wd, sl, vo[0].x, vo[0].y, vo[0].z, vo[1].x, vo[1].y, vo[1].z, vo[2].x, vo[2].y, vo[2].z, vo[3].x, vo[3].y, vo[3].z); if (b <= 0) - _slice_uv(st, sl, + _slice_uv(wd, sl, gx, gy, gx + gw, gy, gx + gw, gy + gh, gx, gy + gh); else - _slice_uv(st, sl, + _slice_uv(wd, sl, gx, h - (gy + gh), gx + gw, h - (gy + gh), gx + gw, h - gy, gx, h - gy); // BACK - sl = st->slices2[nn]; + sl = wd->slices2[nn]; if (!sl) { - sl = _slice_new(st, back); - st->slices2[nn] = sl; + sl = _slice_new(wd, back); + wd->slices2[nn] = sl; } - _slice_xyz(st, sl, + _slice_xyz(wd, sl, vo[1].x, vo[1].y, vo[1].z, vo[0].x, vo[0].y, vo[0].z, vo[3].x, vo[3].y, vo[3].z, vo[2].x, vo[2].y, vo[2].z); - if (st->backflip) + if (wd->backflip) { if (b <= 0) - _slice_uv(st, sl, gx + gw, gy, gx, gy, gx, gy + gh, gx + gw, + _slice_uv(wd, sl, gx + gw, gy, gx, gy, gx, gy + gh, gx + gw, gy + gh); else - _slice_uv(st, sl, gx + gw, h - (gy + gh), gx, h - (gy + gh), + _slice_uv(wd, sl, gx + gw, h - (gy + gh), gx, h - (gy + gh), gx, h - gy, gx + gw, h - gy); } else { if (b <= 0) - _slice_uv(st, sl, w - (gx + gw), gy, w - (gx), gy, w - (gx), + _slice_uv(wd, sl, w - (gx + gw), gy, w - (gx), gy, w - (gx), gy + gh, w - (gx + gw), gy + gh); else - _slice_uv(st, sl, w - (gx + gw), h - (gy + gh), w - (gx), + _slice_uv(wd, sl, w - (gx + gw), h - (gy + gh), w - (gx), h - (gy + gh), w - (gx), h - gy, w - (gx + gw), h - gy); } @@ -707,70 +707,70 @@ } num = 0; - for (j = 0; j < st->slices_h; j++) + for (j = 0; j < wd->slices_h; j++) { - for (i = 0; i < st->slices_w; i++) + for (i = 0; i < wd->slices_w; i++) { - _slice_apply(st, st->slices[num], x, y, w, h, ox, oy, ow, oh); - _slice_apply(st, st->slices2[num], x, y, w, h, ox, oy, ow, oh); - _slice_light(st, st->slices[num], ox, oy, ow, oh); - _slice_light(st, st->slices2[num], ox, oy, ow, oh); + _slice_apply(wd, wd->slices[num], x, y, w, h, ox, oy, ow, oh); + _slice_apply(wd, wd->slices2[num], x, y, w, h, ox, oy, ow, oh); + _slice_light(wd, wd->slices[num], ox, oy, ow, oh); + _slice_light(wd, wd->slices2[num], ox, oy, ow, oh); num++; } } - for (i = 0; i <= st->slices_w; i++) + for (i = 0; i <= wd->slices_w; i++) { - num = i * st->slices_h; - for (j = 0; j <= st->slices_h; j++) + num = i * wd->slices_h; + for (j = 0; j <= wd->slices_h; j++) { Slice *s[4]; s[0] = s[1] = s[2] = s[3] = NULL; if ((i > 0) && (j > 0)) - s[0] = st->slices[num - 1 - st->slices_h]; - if ((i < st->slices_w) && (j > 0)) - s[1] = st->slices[num - 1]; - if ((i > 0) && (j < st->slices_h)) - s[2] = st->slices[num - st->slices_h]; - if ((i < st->slices_w) && (j < st->slices_h)) - s[3] = st->slices[num]; - if (st->dir == 0) + s[0] = wd->slices[num - 1 - wd->slices_h]; + if ((i < wd->slices_w) && (j > 0)) + s[1] = wd->slices[num - 1]; + if ((i > 0) && (j < wd->slices_h)) + s[2] = wd->slices[num - wd->slices_h]; + if ((i < wd->slices_w) && (j < wd->slices_h)) + s[3] = wd->slices[num]; + if (wd->dir == 0) _slice_obj_vert_color_merge(s[0], 2, s[1], 3, s[2], 1, s[3], 0); - else if (st->dir == 1) + else if (wd->dir == 1) _slice_obj_vert_color_merge(s[0], 3, s[1], 2, s[2], 0, s[3], 1); - else if (st->dir == 2) + else if (wd->dir == 2) _slice_obj_vert_color_merge(s[0], 3, s[1], 2, s[2], 0, s[3], 1); - else/* if (st->dir == 3) will be this anyway */ + else/* if (wd->dir == 3) will be this anyway */ _slice_obj_vert_color_merge(s[0], 2, s[1], 3, s[2], 1, s[3], 0); s[0] = s[1] = s[2] = s[3] = NULL; if ((i > 0) && (j > 0)) - s[0] = st->slices2[num - 1 - st->slices_h]; - if ((i < st->slices_w) && (j > 0)) - s[1] = st->slices2[num - 1]; - if ((i > 0) && (j < st->slices_h)) - s[2] = st->slices2[num - st->slices_h]; - if ((i < st->slices_w) && (j < st->slices_h)) - s[3] = st->slices2[num]; - if (st->dir == 0) + s[0] = wd->slices2[num - 1 - wd->slices_h]; + if ((i < wd->slices_w) && (j > 0)) + s[1] = wd->slices2[num - 1]; + if ((i > 0) && (j < wd->slices_h)) + s[2] = wd->slices2[num - wd->slices_h]; + if ((i < wd->slices_w) && (j < wd->slices_h)) + s[3] = wd->slices2[num]; + if (wd->dir == 0) _slice_obj_vert_color_merge(s[0], 3, s[1], 2, s[2], 0, s[3], 1); - else if (st->dir == 1) + else if (wd->dir == 1) _slice_obj_vert_color_merge(s[0], 2, s[1], 3, s[2], 1, s[3], 0); - else if (st->dir == 2) + else if (wd->dir == 2) _slice_obj_vert_color_merge(s[0], 2, s[1], 3, s[2], 1, s[3], 0); - else/* if (st->dir == 3) will be this anyway */ + else/* if (wd->dir == 3) will be this anyway */ _slice_obj_vert_color_merge(s[0], 3, s[1], 2, s[2], 0, s[3], 1); num++; } } num = 0; - for (i = 0; i < st->slices_w; i++) + for (i = 0; i < wd->slices_w; i++) { - for (j = 0; j < st->slices_h; j++) + for (j = 0; j < wd->slices_h; j++) { - _slice_3d(st, st->slices[num], ox, oy, ow, oh); - _slice_3d(st, st->slices2[num], ox, oy, ow, oh); + _slice_3d(wd, wd->slices[num], ox, oy, ow, oh); + _slice_3d(wd, wd->slices2[num], ox, oy, ow, oh); num++; } } @@ -779,9 +779,9 @@ } static void -_state_end(Widget_Data *st) +_state_end(Widget_Data *wd) { - _state_slices_clear(st); + _state_slices_clear(wd); } |
From: Enlightenment S. <no-...@en...> - 2012-03-30 01:33:15
|
Log: this was redundant and confusing so I hit it with a hammer Author: discomfitor Date: 2012-03-29 18:33:07 -0700 (Thu, 29 Mar 2012) New Revision: 69777 Trac: http://trac.enlightenment.org/e/changeset/69777 Modified: trunk/elementary/src/lib/elm_flip.c Modified: trunk/elementary/src/lib/elm_flip.c =================================================================== --- trunk/elementary/src/lib/elm_flip.c 2012-03-30 01:17:04 UTC (rev 69776) +++ trunk/elementary/src/lib/elm_flip.c 2012-03-30 01:33:07 UTC (rev 69777) @@ -811,10 +811,7 @@ evas_object_show(wd->front.clip); else evas_object_hide(wd->front.clip); - if (wd->back.content) - evas_object_hide(wd->back.clip); - else - evas_object_hide(wd->back.clip); + evas_object_hide(wd->back.clip); } } else |
From: Enlightenment S. <no-...@en...> - 2012-03-30 01:50:44
|
Log: why use two loops when one is fine? Author: discomfitor Date: 2012-03-29 18:50:37 -0700 (Thu, 29 Mar 2012) New Revision: 69778 Trac: http://trac.enlightenment.org/e/changeset/69778 Modified: trunk/elementary/src/lib/elm_flip.c Modified: trunk/elementary/src/lib/elm_flip.c =================================================================== --- trunk/elementary/src/lib/elm_flip.c 2012-03-30 01:33:07 UTC (rev 69777) +++ trunk/elementary/src/lib/elm_flip.c 2012-03-30 01:50:37 UTC (rev 69778) @@ -706,17 +706,12 @@ } } - num = 0; - for (j = 0; j < wd->slices_h; j++) + for (num = 0; num < wd->slices_h * wd->slices_w; num++) { - for (i = 0; i < wd->slices_w; i++) - { - _slice_apply(wd, wd->slices[num], x, y, w, h, ox, oy, ow, oh); - _slice_apply(wd, wd->slices2[num], x, y, w, h, ox, oy, ow, oh); - _slice_light(wd, wd->slices[num], ox, oy, ow, oh); - _slice_light(wd, wd->slices2[num], ox, oy, ow, oh); - num++; - } + _slice_apply(wd, wd->slices[num], x, y, w, h, ox, oy, ow, oh); + _slice_apply(wd, wd->slices2[num], x, y, w, h, ox, oy, ow, oh); + _slice_light(wd, wd->slices[num], ox, oy, ow, oh); + _slice_light(wd, wd->slices2[num], ox, oy, ow, oh); } for (i = 0; i <= wd->slices_w; i++) @@ -764,15 +759,10 @@ } } - num = 0; - for (i = 0; i < wd->slices_w; i++) + for (num = 0; num < wd->slices_h * wd->slices_w; num++) { - for (j = 0; j < wd->slices_h; j++) - { - _slice_3d(wd, wd->slices[num], ox, oy, ow, oh); - _slice_3d(wd, wd->slices2[num], ox, oy, ow, oh); - num++; - } + _slice_3d(wd, wd->slices[num], ox, oy, ow, oh); + _slice_3d(wd, wd->slices2[num], ox, oy, ow, oh); } return 1; |
From: Enlightenment S. <no-...@en...> - 2012-03-30 02:04:23
|
Log: clean up this logic a bit as well Author: discomfitor Date: 2012-03-29 19:04:16 -0700 (Thu, 29 Mar 2012) New Revision: 69779 Trac: http://trac.enlightenment.org/e/changeset/69779 Modified: trunk/elementary/src/lib/elm_flip.c Modified: trunk/elementary/src/lib/elm_flip.c =================================================================== --- trunk/elementary/src/lib/elm_flip.c 2012-03-30 01:50:37 UTC (rev 69778) +++ trunk/elementary/src/lib/elm_flip.c 2012-03-30 02:04:16 UTC (rev 69779) @@ -719,42 +719,38 @@ num = i * wd->slices_h; for (j = 0; j <= wd->slices_h; j++) { - Slice *s[4]; + Slice *s[4] = { NULL }, *s2[4] = { NULL }; - s[0] = s[1] = s[2] = s[3] = NULL; if ((i > 0) && (j > 0)) - s[0] = wd->slices[num - 1 - wd->slices_h]; + s[0] = wd->slices[num - 1 - wd->slices_h], + s2[0] = wd->slices2[num - 1 - wd->slices_h]; if ((i < wd->slices_w) && (j > 0)) - s[1] = wd->slices[num - 1]; + s[1] = wd->slices[num - 1], + s2[1] = wd->slices2[num - 1]; if ((i > 0) && (j < wd->slices_h)) - s[2] = wd->slices[num - wd->slices_h]; + s[2] = wd->slices[num - wd->slices_h], + s2[2] = wd->slices2[num - wd->slices_h]; if ((i < wd->slices_w) && (j < wd->slices_h)) - s[3] = wd->slices[num]; - if (wd->dir == 0) - _slice_obj_vert_color_merge(s[0], 2, s[1], 3, s[2], 1, s[3], 0); - else if (wd->dir == 1) - _slice_obj_vert_color_merge(s[0], 3, s[1], 2, s[2], 0, s[3], 1); - else if (wd->dir == 2) - _slice_obj_vert_color_merge(s[0], 3, s[1], 2, s[2], 0, s[3], 1); - else/* if (wd->dir == 3) will be this anyway */ - _slice_obj_vert_color_merge(s[0], 2, s[1], 3, s[2], 1, s[3], 0); - s[0] = s[1] = s[2] = s[3] = NULL; - if ((i > 0) && (j > 0)) - s[0] = wd->slices2[num - 1 - wd->slices_h]; - if ((i < wd->slices_w) && (j > 0)) - s[1] = wd->slices2[num - 1]; - if ((i > 0) && (j < wd->slices_h)) - s[2] = wd->slices2[num - wd->slices_h]; - if ((i < wd->slices_w) && (j < wd->slices_h)) - s[3] = wd->slices2[num]; - if (wd->dir == 0) - _slice_obj_vert_color_merge(s[0], 3, s[1], 2, s[2], 0, s[3], 1); - else if (wd->dir == 1) - _slice_obj_vert_color_merge(s[0], 2, s[1], 3, s[2], 1, s[3], 0); - else if (wd->dir == 2) - _slice_obj_vert_color_merge(s[0], 2, s[1], 3, s[2], 1, s[3], 0); - else/* if (wd->dir == 3) will be this anyway */ - _slice_obj_vert_color_merge(s[0], 3, s[1], 2, s[2], 0, s[3], 1); + s[3] = wd->slices[num], + s2[3] = wd->slices2[num]; + switch (wd->dir) + { + case 0: + _slice_obj_vert_color_merge(s[0], 2, s[1], 3, s[2], 1, s[3], 0); + _slice_obj_vert_color_merge(s2[0], 3, s2[1], 2, s2[2], 0, s2[3], 1); + break; + case 1: + _slice_obj_vert_color_merge(s[0], 3, s[1], 2, s[2], 0, s[3], 1); + _slice_obj_vert_color_merge(s2[0], 2, s2[1], 3, s2[2], 1, s2[3], 0); + break; + case 2: + _slice_obj_vert_color_merge(s[0], 3, s[1], 2, s[2], 0, s[3], 1); + _slice_obj_vert_color_merge(s2[0], 2, s2[1], 3, s2[2], 1, s2[3], 0); + break; + default: + _slice_obj_vert_color_merge(s[0], 2, s[1], 3, s[2], 1, s[3], 0); + _slice_obj_vert_color_merge(s2[0], 3, s2[1], 2, s2[2], 0, s2[3], 1); + } num++; } } |
From: Enlightenment S. <no-...@en...> - 2012-05-29 09:04:48
|
Log: simplify item block deletion merging Author: discomfitor Date: 2012-05-29 02:04:16 -0700 (Tue, 29 May 2012) New Revision: 71496 Trac: http://trac.enlightenment.org/e/changeset/71496 Modified: trunk/elementary/src/lib/elm_genlist.c Modified: trunk/elementary/src/lib/elm_genlist.c =================================================================== --- trunk/elementary/src/lib/elm_genlist.c 2012-05-29 08:36:56 UTC (rev 71495) +++ trunk/elementary/src/lib/elm_genlist.c 2012-05-29 09:04:16 UTC (rev 71496) @@ -768,6 +768,21 @@ } static void +_item_block_merge(Item_Block *left, Item_Block *right) +{ + Eina_List *l; + Elm_Gen_Item *it2; + + EINA_LIST_FOREACH(right->items, l, it2) + { + it2->item->block = left; + left->count++; + left->changed = EINA_TRUE; + } + left->items = eina_list_merge(left->items, right->items); +} + +static void _item_block_del(Elm_Gen_Item *it) { Eina_Inlist *il; @@ -800,17 +815,10 @@ il = EINA_INLIST_GET(itb); Item_Block *itbp = (Item_Block *)(il->prev); Item_Block *itbn = (Item_Block *)(il->next); + /* merge block with previous */ if ((itbp) && ((itbp->count + itb->count) < itb->wd->max_items_per_block + itb->wd->max_items_per_block/2)) { - Elm_Gen_Item *it2; - - EINA_LIST_FREE(itb->items, it2) - { - it2->item->block = itbp; - itbp->items = eina_list_append(itbp->items, it2); - itbp->count++; - itbp->changed = EINA_TRUE; - } + _item_block_merge(itbp, itb); _item_block_position_update(EINA_INLIST_GET(itb)->next, itb->position); it->wd->blocks = eina_inlist_remove(it->wd->blocks, @@ -818,24 +826,15 @@ free(itb); block_changed = EINA_TRUE; } + /* merge block with next */ else if ((itbn) && ((itbn->count + itb->count) < itb->wd->max_items_per_block + itb->wd->max_items_per_block/2)) { - while (itb->items) - { - Eina_List *last = eina_list_last(itb->items); - Elm_Gen_Item *it2 = last->data; - - it2->item->block = itbn; - itb->items = eina_list_remove_list(itb->items, last); - itbn->items = eina_list_prepend(itbn->items, it2); - itbn->count++; - itbn->changed = EINA_TRUE; - } - _item_block_position_update(EINA_INLIST_GET(itb)->next, - itb->position); + _item_block_merge(itb, itbn); + _item_block_position_update(EINA_INLIST_GET(itbn)->next, + itbn->position); it->wd->blocks = - eina_inlist_remove(it->wd->blocks, EINA_INLIST_GET(itb)); - free(itb); + eina_inlist_remove(it->wd->blocks, EINA_INLIST_GET(itbn)); + free(itbn); block_changed = EINA_TRUE; } } |
From: Enlightenment S. <no-...@en...> - 2012-05-29 09:04:50
|
Log: fix case where user can specify item block size < 1; this also reveals an api error since the param here should obviously be a uint. Author: discomfitor Date: 2012-05-29 02:04:42 -0700 (Tue, 29 May 2012) New Revision: 71498 Trac: http://trac.enlightenment.org/e/changeset/71498 Modified: trunk/elementary/src/lib/elm_genlist.c Modified: trunk/elementary/src/lib/elm_genlist.c =================================================================== --- trunk/elementary/src/lib/elm_genlist.c 2012-05-29 09:04:37 UTC (rev 71497) +++ trunk/elementary/src/lib/elm_genlist.c 2012-05-29 09:04:42 UTC (rev 71498) @@ -5447,6 +5447,7 @@ ELM_CHECK_WIDTYPE(obj, widtype); Widget_Data *wd = elm_widget_data_get(obj); if (!wd) return; + if (count < 1) return; wd->max_items_per_block = count; wd->item_cache_max = wd->max_items_per_block * 2; _item_cache_clean(wd); |
From: Enlightenment S. <no-...@en...> - 2012-05-30 10:45:13
|
Log: also fix selected item scrolling when item prepended to the genlist is offscreen Author: discomfitor Date: 2012-05-30 03:44:59 -0700 (Wed, 30 May 2012) New Revision: 71554 Trac: http://trac.enlightenment.org/e/changeset/71554 Modified: trunk/elementary/src/lib/elm_genlist.c Modified: trunk/elementary/src/lib/elm_genlist.c =================================================================== --- trunk/elementary/src/lib/elm_genlist.c 2012-05-30 10:42:22 UTC (rev 71553) +++ trunk/elementary/src/lib/elm_genlist.c 2012-05-30 10:44:59 UTC (rev 71554) @@ -4139,14 +4139,23 @@ if (wd->selected && it->item->before) { int y, h; - it = wd->selected->data; + Elm_Gen_Item *it2; + it2 = wd->selected->data; elm_smart_scroller_child_pos_get(wd->scr, NULL, &y); evas_object_geometry_get(wd->pan_smart, NULL, NULL, NULL, &h); - elm_smart_scroller_child_region_show(wd->scr, - it->x + it->item->block->x, - y + it->item->h, - it->item->block->w, - h); + if ((it->y + it->item->block->y > y + h) || (it->y + it->item->block->y + it->item->h < y)) + /* offscreen, just update */ + elm_smart_scroller_child_region_show(wd->scr, + it2->x + it2->item->block->x, + y, + it2->item->block->w, + h); + else + elm_smart_scroller_child_region_show(wd->scr, + it->x + it->item->block->x, + y + it->item->h, + it->item->block->w, + h); } } |
From: Enlightenment S. <no-...@en...> - 2012-06-01 09:55:57
|
Log: sanitize bool param, prevent unnecessary ui recalc when mirror mode is not changed Author: discomfitor Date: 2012-06-01 02:55:44 -0700 (Fri, 01 Jun 2012) New Revision: 71617 Trac: http://trac.enlightenment.org/e/changeset/71617 Modified: trunk/elementary/src/lib/elm_config.c Modified: trunk/elementary/src/lib/elm_config.c =================================================================== --- trunk/elementary/src/lib/elm_config.c 2012-06-01 03:28:02 UTC (rev 71616) +++ trunk/elementary/src/lib/elm_config.c 2012-06-01 09:55:44 UTC (rev 71617) @@ -1534,6 +1534,8 @@ EAPI void elm_config_mirrored_set(Eina_Bool mirrored) { + mirrored = !!mirrored; + if (_elm_config->is_mirrored == mirrored) return; _elm_config->is_mirrored = mirrored; _elm_rescale(); } |
From: Enlightenment S. <no-...@en...> - 2012-06-08 07:20:49
|
Log: elm notify can now have the timeout set before it becomes visible Author: discomfitor Date: 2012-06-08 00:20:39 -0700 (Fri, 08 Jun 2012) New Revision: 71832 Trac: http://trac.enlightenment.org/e/changeset/71832 Modified: trunk/elementary/src/lib/elm_notify.c Modified: trunk/elementary/src/lib/elm_notify.c =================================================================== --- trunk/elementary/src/lib/elm_notify.c 2012-06-08 05:10:29 UTC (rev 71831) +++ trunk/elementary/src/lib/elm_notify.c 2012-06-08 07:20:39 UTC (rev 71832) @@ -396,6 +396,7 @@ { Evas_Object *obj = data; + if (!evas_object_visible_get(obj)) return ECORE_CALLBACK_CANCEL; ELM_NOTIFY_DATA_GET(obj, sd); sd->timer = NULL; @@ -414,7 +415,7 @@ ecore_timer_del(sd->timer); sd->timer = NULL; } - if ((evas_object_visible_get(obj)) && (sd->timeout > 0.0)) + if (sd->timeout > 0.0) sd->timer = ecore_timer_add(sd->timeout, _timer_cb, obj); } |
From: Enlightenment S. <no-...@en...> - 2012-06-11 08:19:14
|
Log: should probably return these values instead of just copy/pasting code around Author: discomfitor Date: 2012-06-11 01:19:04 -0700 (Mon, 11 Jun 2012) New Revision: 71935 Trac: http://trac.enlightenment.org/e/changeset/71935 Modified: trunk/elementary/src/lib/elm_main.c Modified: trunk/elementary/src/lib/elm_main.c =================================================================== --- trunk/elementary/src/lib/elm_main.c 2012-06-11 07:41:11 UTC (rev 71934) +++ trunk/elementary/src/lib/elm_main.c 2012-06-11 08:19:04 UTC (rev 71935) @@ -1173,7 +1173,7 @@ elm_object_scroll_hold_get(const Evas_Object *obj) { EINA_SAFETY_ON_NULL_RETURN_VAL(obj, 0); - elm_widget_scroll_hold_get(obj); + return elm_widget_scroll_hold_get(obj); } EAPI void @@ -1194,7 +1194,7 @@ elm_object_scroll_freeze_get(const Evas_Object *obj) { EINA_SAFETY_ON_NULL_RETURN_VAL(obj, 0); - elm_widget_scroll_freeze_get(obj); + return elm_widget_scroll_freeze_get(obj); } EAPI void |
From: Enlightenment S. <no-...@en...> - 2012-06-14 12:41:31
|
Log: fix doc error as spotted by Daniel Willmann <d.w...@sa...> Author: discomfitor Date: 2012-06-14 05:41:18 -0700 (Thu, 14 Jun 2012) New Revision: 72127 Trac: http://trac.enlightenment.org/e/changeset/72127 Modified: trunk/elementary/src/lib/elm_progressbar.h Modified: trunk/elementary/src/lib/elm_progressbar.h =================================================================== --- trunk/elementary/src/lib/elm_progressbar.h 2012-06-14 12:21:58 UTC (rev 72126) +++ trunk/elementary/src/lib/elm_progressbar.h 2012-06-14 12:41:18 UTC (rev 72127) @@ -33,8 +33,7 @@ * This widget inherits from the @ref Layout one, so that all the * functions acting on it also work for progress bar objects. * - * This widget emits the following signals, besides the ones sent from - * @ref Layout: + * This widget has the following styles: * - @c "default" * - @c "wheel" (simple style, no text, no progression, only * "pulse" effect is available) |
From: Enlightenment S. <no-...@en...> - 2012-06-14 14:11:15
|
Log: massive, massive, MASSIVE spankies to the person that wrote gengrid's sorted insert functions. cannot overstate the size of the spankies that await you if I decide to look through the svn logs. also fixes ticket #984 --This line \ , and those below, will be ignored-- M lib/elm_gengrid.c Author: discomfitor Date: 2012-06-14 07:11:04 -0700 (Thu, 14 Jun 2012) New Revision: 72139 Trac: http://trac.enlightenment.org/e/changeset/72139 Modified: trunk/elementary/src/lib/elm_gengrid.c Modified: trunk/elementary/src/lib/elm_gengrid.c =================================================================== --- trunk/elementary/src/lib/elm_gengrid.c 2012-06-14 13:49:18 UTC (rev 72138) +++ trunk/elementary/src/lib/elm_gengrid.c 2012-06-14 14:11:04 UTC (rev 72139) @@ -1830,9 +1830,19 @@ _elm_gengrid_item_compare(const void *data, const void *data1) { Elm_Gen_Item *it, *item1; + Eina_Compare_Cb cb = NULL; + ptrdiff_t d; it = ELM_GEN_ITEM_FROM_INLIST(data); item1 = ELM_GEN_ITEM_FROM_INLIST(data1); - return it->wd->item_compare_cb(it, item1); + if (it && it->wd && it->wd->item_compare_cb) + cb = it->wd->item_compare_cb; + else if (item1 && item1->wd && item1->wd->item_compare_cb) + cb = item1->wd->item_compare_cb; + if (cb && it && item1) return cb(it, item1); + d = data - data1; + if (d < 0) return -1; + if (!d) return 0; + return 1; } static void @@ -2195,7 +2205,10 @@ if (!it) return NULL; if (!wd->state) - wd->state = eina_inlist_sorted_state_new(); + { + wd->state = eina_inlist_sorted_state_new(); + eina_inlist_sorted_state_init(wd->state, wd->items); + } wd->item_compare_cb = comp; wd->items = eina_inlist_sorted_state_insert(wd->items, EINA_INLIST_GET(it), |
From: Enlightenment S. <no-...@en...> - 2012-06-14 14:42:46
|
Log: From: Daniel Willmann <d.w...@sa...> Subject: [PATCH] elementary: Minor fix to the documentation of ActionSlider Date: Thu, 14 Jun 2012 15:31:05 +0100 Yeah, the most overhead I could imagine. :-) Author: discomfitor Date: 2012-06-14 07:42:34 -0700 (Thu, 14 Jun 2012) New Revision: 72141 Trac: http://trac.enlightenment.org/e/changeset/72141 Modified: trunk/elementary/src/lib/elm_actionslider.h Modified: trunk/elementary/src/lib/elm_actionslider.h =================================================================== --- trunk/elementary/src/lib/elm_actionslider.h 2012-06-14 14:18:11 UTC (rev 72140) +++ trunk/elementary/src/lib/elm_actionslider.h 2012-06-14 14:42:34 UTC (rev 72141) @@ -31,7 +31,7 @@ * This widget emits the following signals, besides the ones sent from * @ref Layout: * @li @c "selected" - when user selects an enabled position (the - * label is passed as event info)". + * label is passed as event info). * @li @c "pos_changed" - when the indicator reaches any of the * positions("left", "right" or "center"). * |
From: Enlightenment S. <no-...@en...> - 2012-08-28 09:53:42
|
Log: prevent crash when selected item hasn't been assigned a block Author: discomfitor Date: 2012-08-28 02:53:35 -0700 (Tue, 28 Aug 2012) New Revision: 75771 Trac: http://trac.enlightenment.org/e/changeset/75771 Modified: trunk/elementary/src/lib/elm_genlist.c Modified: trunk/elementary/src/lib/elm_genlist.c =================================================================== --- trunk/elementary/src/lib/elm_genlist.c 2012-08-28 09:27:54 UTC (rev 75770) +++ trunk/elementary/src/lib/elm_genlist.c 2012-08-28 09:53:35 UTC (rev 75771) @@ -3576,6 +3576,7 @@ Elm_Gen_Item *it2; it2 = sd->selected->data; + if (!it2->item->block) return; sd->s_iface->content_pos_get(ELM_WIDGET_DATA(sd)->obj, NULL, &y); evas_object_geometry_get(sd->pan_obj, NULL, NULL, NULL, &h); if ((it->y + it->item->block->y > y + h) || |
From: Enlightenment S. <no-...@en...> - 2012-11-30 18:29:02
|
Log: come on guys, run 'make' or (if you get paid to develop, you may consider) distcheck before committing Author: discomfitor Date: 2012-11-30 10:28:55 -0800 (Fri, 30 Nov 2012) New Revision: 79937 Trac: http://trac.enlightenment.org/e/changeset/79937 Modified: trunk/elementary/src/lib/elm_prefs.h Modified: trunk/elementary/src/lib/elm_prefs.h =================================================================== --- trunk/elementary/src/lib/elm_prefs.h 2012-11-30 18:16:00 UTC (rev 79936) +++ trunk/elementary/src/lib/elm_prefs.h 2012-11-30 18:28:55 UTC (rev 79937) @@ -428,7 +428,7 @@ * * @since 1.8 */ -typedef enum _Elm_Prefs_Item_Type +enum _Elm_Prefs_Item_Type { ELM_PREFS_TYPE_UNKNOWN = 0, ELM_PREFS_TYPE_ACTION, /***< action type, bound to button-like UI elements */ @@ -444,7 +444,7 @@ ELM_PREFS_TYPE_SAVE, /**< saving trigger type, bound to button-like UI elements */ ELM_PREFS_TYPE_SEPARATOR, /**< separator type, bound to separator-like UI elements */ ELM_PREFS_TYPE_SWALLOW /**< swallow type, bound to an empty 'spot' on the UI meant to receive and display external content */ -} Elm_Prefs_Item_Type; +}; /** * Modes of resetting a prefs widget. |
From: Enlightenment S. <no-...@en...> - 2012-12-29 13:45:24
|
Log: same commit for trunk Author: discomfitor Date: 2012-12-29 05:45:17 -0800 (Sat, 29 Dec 2012) New Revision: 81868 Trac: http://trac.enlightenment.org/e/changeset/81868 Modified: trunk/elementary/src/lib/elm_genlist.c Modified: trunk/elementary/src/lib/elm_genlist.c =================================================================== --- trunk/elementary/src/lib/elm_genlist.c 2012-12-29 13:44:25 UTC (rev 81867) +++ trunk/elementary/src/lib/elm_genlist.c 2012-12-29 13:45:17 UTC (rev 81868) @@ -4675,6 +4675,7 @@ if (sd->decorate_all_mode) elm_genlist_decorate_mode_set(sd->obj, EINA_FALSE); + sd->queue = eina_list_free(sd->queue); elm_genlist_clear(obj); eo_unref(sd->pan_obj); evas_object_del(sd->pan_obj); |