Subject: [E-devel] [PATCH] bug fix : preedit text was commited when
shift key was pressed
ATM, preedit text is commited when shift key is pressed.
This patch file is for solving this bug.
SVN revision: 58887
Subject: [E-devel] [PATCH] bug fix in : "cursor, changed" signal is
not emitted when the content of entry is removed
I found the bug that "cursor,changed" signal is not emitted when the content
of entry is removed.
Let's assume the cursor position is equal to 10.
In this situation, elm_entry_entry_set(en, "") is called.
The content of entry is removed and the cursor position is equal to 0, but
"cursor,changed" signal is not emitted.
This patch is for solving this problem.
In addition, it lets the input method module know the cursor position using
ecore_imf_context_cursor_position_set API
in case that _edje_entry_set_cursor_{start, end} is called.
(Raster: actually it should always emit changed. not check pos at all.
technically pos could be the same BUT cursor moved on screen due to a
reformat). :)
SVN revision: 58886
Subject: RE: [E-devel] One bug in _edje_key_down_cb func (in
edje_entry.c)
I found one bug in _edje_key_down_cb func (in edje_entry.c)
When I input "Backspace" in an entry object, _signal_cursor_chagned_func(in
elm_entry.c) is not called.
This is because the following code in _edje_key_down_cb func (in edje_entry.c)
is not called.
if ((evas_textblock_cursor_compare(tc, en->cursor)) && (!cursor_changed))
_edje_emit(ed, "cursor,changed", rp->part->name);
Why not called ? Because ~ evas_textblock_cursor_compare(tc, en->cursor)
returns 0.
(i.e. old cursor and current cursor have the same position information)
I think old cursor should keep its position without any updating.
But in evas_textblock_cursor_char_delete() func, called by _backsapce func
(in edje_entry.c) -
old cursor's postion is updated as the current position.
SVN revision: 57199
Passing the correct data to _edje_entry_imf_event_delete_surrounding_cb and _edje_entry_imf_retrieve_surrounding_cb
Fix indentation.
Patch by Jihoon Kim.
SVN revision: 54365
Entry widget has not processed the key event of keypad such as KP_Left,
KP_Right, KP_Home, KP_End, and so on.
In this patch, those key events is processed.
SVN revision: 54359
Fixed formatting issues.
Fixed typos.
Fixed clearing of selection when pressing a key in a software keyboard.
Patch by Jihoon Kim and small adjustments by myself. Thanks a lot.
SVN revision: 51897
Apply badzero.cocci, badnull.coci and badnull2.cocci
This should convert all cases where there's a comparison to NULL to simpler
forms. This patch applies the following transformations:
code before patch ||code after patch
===============================================================
return a == NULL; return !a;
return a != NULL; return !!a;
func(a == NULL); func(!a);
func(a != NULL); func(!!a);
b = a == NULL; b = !a;
b = a != NULL; b = !!a;
b = a == NULL ? c : d; b = !a ? c : d;
b = a != NULL ? c : d; b = a ? c : d;
other cases:
a == NULL !a
a != NULL a
SVN revision: 51487
* Remove vim modelines:
find . -name '*.[chx]' -exec sed -i '/\/\*$/ {N;N;/ \* vim:ts/d}' \{\} \;
find . -name '*.[chx]' -exec sed -i '/\/[\*\/] *vim:/d' \{\} \;
* Remove leading blank lines:
find . -name '*.[cxh]' -exec sed -i '/./,$!d'
If you use vim, use this in your .vimrc:
set ts=8 sw=3 sts=8 expandtab cino=>5n-3f0^-2{2(0W1st0
SVN revision: 50816
WARNING: I don't know why in the first it doesn't map correctly to
an object. So if someone with more knowledge on this piece of code
could give it a look.
SVN revision: 49613
This fix the issue with elementary cursor end set function.
The cursor is now after the last textblock node, and not before it, as
it was until now.
SVN revision: 49242
items. mulling over how an item href name will map to having an evas object
attached/supplied (once there, its' easy to just control the object like href
objects, selection and cursor objects are).
SVN revision: 48311
Edje got a new program action called PARAM_COPY in the form:
action: PARAM_COPY "src_part" "src_param" "dst_part" "dst_param";
This will copy the parameter "src_param" from part "src_part" to
parameter "dst_param" of part "dst_part".
So far so good, why the "crazy" in the first line? Because this also:
* do type conversion!
* set properties of native parts, not just EXTERNAL!
The type conversion allows one to get an integer and display that in a
text property, or get an string and convert into a float.
The set of native parts is quite simple, basically a map of Edje.h
edje_object_part_*_set(). With that one can set the string to be used
by a TEXT, or set drag page/step/size/value! (page/step increments are
not supported at the moment, if it is worth, they may be supported in
future).
Sample EDC:
{{{
// test.edc, compile with edje_cc and run with edje_player
externals {
external: "elm";
}
collections {
group { name: "main";
parts {
part { name: "bg"; type: RECT;
description { state: "default" 0.0;
color: 255 255 255 255;
}
}
part { name: "entry"; type: EXTERNAL;
source: "elm/scrolled_entry";
description { state: "default" 0.0;
rel2.relative: 1.0 0.5;
}
}
part { name: "display"; type: TEXT;
description { state: "default" 0.0;
color: 0 128 0 255;
rel1.relative: 0.0 0.5;
text { font: "Sans"; size: 16; }
}
}
programs {
program {
signal: "changed";
source: "entry";
action: PARAM_COPY "entry" "text" "display" "text";
}
}
}
}
}
}}}
SVN revision: 47500
* must disconnect connected callbacks, particularly those to
canvas. The object we previously connect will die anyway, but
canvas continues alive, dispatching its
EVAS_CALLBACK_CANVAS_FOCUS_IN and EVAS_CALLBACK_CANVAS_FOCUS_OUT,
causing nasty segmentation faults!
* must call _edje_clean_objects() *AFTER* the entry is shut
down. Otherwise ed->evas will be NULL and
evas_event_callback_del_full() will fail. I left extra checks on
those, since this call will return the given data (in our case
"ed") and NULL when callback connection was not found.
* flag existence of entries and if they were already initalized and
shutdown before, avoid redoing such work.
This fixes a stupid crash that bugged editje for a while now.
SVN revision: 46263
You can try it by passing --enable-fixed-point to the configure. It
will produce an ABI/API compatible Edje library that use internally
Eina_F32p32 instead of double. It will load Eina_F32p32 instead of
double from eet file (thanks to eet ability to convert them on the
fly), so edje file are compatible between fixed point and floating
point version.
This patch touch almost all internal calc of Edje, I did test it with
elementary_test, enlightenment and all my test apps, but it could
certainly break some of your preferred Edje file. If you see any
unexpected behaviour please report them to me as soon as possible.
Note: For devs, I put few macros in edje_private.h that should now
be used when doing calc in Edje, please use them so that Fixed Point
doesn't break in the futur.
SVN revision: 44323