It's also me. :( On 05/08/14 03:25, [email protected] wrote: > Hello, > > Sorry for that. > I will take care of this next time. > > Best Regards, > Thiep Ha > > > > ----- Reply message ----- > From: "Tom Hacohen" <[email protected]> > To: "Enlightenment developer list" <[email protected]> > Subject: [E-devel] [EGIT] [core/efl] master 01/01: Evas textblock: Correct > word start/end moving at new line or line begins with spaces > Date: Mon, Aug 4, 2014 8:44 pm > > > Spank spank spank !!! > The summary lines are too long. It didn't show on phab. :( > My bad. > > Thanks to Quaker for pointing that out. > > -- > Tom. > > On 04/08/14 11:07, Thiep Ha wrote: >> tasn pushed a commit to branch master. >> >> http://git.enlightenment.org/core/efl.git/commit/?id=104f04eda19395396116ba4c4c23b17f00ace2ae >> >> commit 104f04eda19395396116ba4c4c23b17f00ace2ae >> Author: Thiep Ha <[email protected]> >> Date: Mon Aug 4 11:01:51 2014 +0100 >> >> Evas textblock: Correct word start/end moving at new line or line >> begins with spaces >> >> Summary: >> Word start/end works incorrectly when it goes to new line or line >> begins with spaces. >> Ex: In elementary_test/Entry, place cursor at the end of line, press >> ctrl + right arrow keys: cursor moves to begin of next line. In this case, >> cursor should move to end of 1st word in next line. >> Ex2: In elementary_test/Entry, add some spaces to begin of 2nd line (" >> uses markup"), place cursor at the first word ("uses"), press ctrl + left >> arrow keys twice, cursor moves to begin of 2nd line. In this case, cursor >> should move to begin of last word in 1st line. >> >> This patch provides a fix by considerring next/previous text node to >> move cursor to correct place. >> >> @fix >> >> Reviewers: woohyun, raster, tasn >> >> Subscribers: cedric >> >> Differential Revision: https://phab.enlightenment.org/D1140 >> --- >> src/lib/evas/canvas/evas_object_textblock.c | 30 >> ++++++++++++++++++++++++++++- >> src/tests/evas/evas_test_textblock.c | 12 ++++++++++++ >> 2 files changed, 41 insertions(+), 1 deletion(-) >> >> diff --git a/src/lib/evas/canvas/evas_object_textblock.c >> b/src/lib/evas/canvas/evas_object_textblock.c >> index 58cc476..87d6664 100644 >> --- a/src/lib/evas/canvas/evas_object_textblock.c >> +++ b/src/lib/evas/canvas/evas_object_textblock.c >> @@ -7349,7 +7349,23 @@ >> evas_textblock_cursor_word_start(Evas_Textblock_Cursor *cur) >> >> for (i = cur->pos ; _is_white(text[i]) && BREAK_AFTER(i) ; i--) >> { >> - if (i == 0) break; >> + if (i == 0) >> + { >> + Evas_Object_Textblock_Node_Text *pnode; >> + pnode = _NODE_TEXT(EINA_INLIST_GET(cur->node)->prev); >> + if (pnode) >> + { >> + cur->node = pnode; >> + len = eina_ustrbuf_length_get(cur->node->unicode); >> + cur->pos = len - 1; >> + free(breaks); >> + return evas_textblock_cursor_word_start(cur); >> + } >> + else >> + { >> + break; >> + } >> + } >> } >> >> for ( ; i > 0 ; i--) >> @@ -7390,6 +7406,18 @@ evas_textblock_cursor_word_end(Evas_Textblock_Cursor >> *cur) >> } >> >> for (i = cur->pos; text[i] && _is_white(text[i]) && (BREAK_AFTER(i)) ; >> i++); >> + if (i == len) >> + { >> + Evas_Object_Textblock_Node_Text *nnode; >> + nnode = _NODE_TEXT(EINA_INLIST_GET(cur->node)->next); >> + if (nnode) >> + { >> + cur->node = nnode; >> + cur->pos = 0; >> + free(breaks); >> + return evas_textblock_cursor_word_end(cur); >> + } >> + } >> >> for ( ; text[i] ; i++) >> { >> diff --git a/src/tests/evas/evas_test_textblock.c >> b/src/tests/evas/evas_test_textblock.c >> index a727b76..63ba40e 100644 >> --- a/src/tests/evas/evas_test_textblock.c >> +++ b/src/tests/evas/evas_test_textblock.c >> @@ -637,6 +637,18 @@ START_TEST(evas_textblock_cursor) >> >> evas_textblock_cursor_word_end(cur); >> ck_assert_int_eq(5, evas_textblock_cursor_pos_get(cur)); >> + >> + /* moving across paragraphs */ >> + evas_object_textblock_text_markup_set(tb, >> + "test<ps/>" >> + " case"); >> + evas_textblock_cursor_pos_set(cur, 4); >> + evas_textblock_cursor_word_end(cur); >> + ck_assert_int_eq(10, evas_textblock_cursor_pos_get(cur)); >> + >> + evas_textblock_cursor_pos_set(cur, 6); >> + evas_textblock_cursor_word_start(cur); >> + ck_assert_int_eq(0, evas_textblock_cursor_pos_get(cur)); >> } >> >> /* Make sure coords are correct for ligatures */ >> > > > > ------------------------------------------------------------------------------ > Infragistics Professional > Build stunning WinForms apps today! > Reboot your WinForms applications with our WinForms controls. > Build a bridge from your legacy apps to the future. > http://pubads.g.doubleclick.net/gampad/clk?id=153845071&iu=/4140/ostg.clktrk > _______________________________________________ > enlightenment-devel mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel > ------------------------------------------------------------------------------ > Infragistics Professional > Build stunning WinForms apps today! > Reboot your WinForms applications with our WinForms controls. > Build a bridge from your legacy apps to the future. > http://pubads.g.doubleclick.net/gampad/clk?id=153845071&iu=/4140/ostg.clktrk > _______________________________________________ > enlightenment-devel mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel >
------------------------------------------------------------------------------ Infragistics Professional Build stunning WinForms apps today! Reboot your WinForms applications with our WinForms controls. Build a bridge from your legacy apps to the future. http://pubads.g.doubleclick.net/gampad/clk?id=153845071&iu=/4140/ostg.clktrk _______________________________________________ enlightenment-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
