Summary:
- When calculating the position of cursor, the code cannot get group information.
So, if we cannot get group information including position, add blocking code.
Test Plan:
1. Open Enventor
2. Remove all code after selecting with Ctrl+a
3. Click any part in edj editor
Reviewers: Hermet, Jaehyun_Cho
Subscribers: Jaehyun_Cho, Hermet
Differential Revision: https://phab.enlightenment.org/D3804
Summary:
in error_line_num_highlight, utf8 can be null.
so, I added null checking about it.
@fix
Reviewers: Jaehyun_Cho, NikaWhite, Hermet
Reviewed By: Hermet
Differential Revision: https://phab.enlightenment.org/D3764
auto save function saves edc file and updates preview by using timer.
auto save timer is applied when entry is changed or redo/undo is done.
auto save timer is cancelled when candidate list or auto complete list
appears.
Previously, "edc,modified" callback is called only if
enventor_object_save() is called.
To call "edc,modified" callback when edc is modified, "edc,modified"
callback is called in edit_save().
Set edc changed in edit_text_insert() to save text insertion.
Test Plan:
1. open find/replace (ctrl + f)
2. write strings in "Find:" and "Replace with:"
3. push "Replace all"
4. close edc
When edc is closed without saving after replacing a string, warning
popup should appear.
When user undo or redo change, the edc file will be recompiled and the
live view will be updated. There are two flow: in case if the change is buildable
(i.e. the edc file was builded sucessfuly, when this change happened)
edc file will be recompiled. In case when change marked as unbilduable -
nothing will happen.
@T3051
Summary:
When copy & paste in markup text mode, elm_entry does not support to close markup text.
In enventor the feature cause the color changes about the pasted text.
so I applied the plain text mode to prevent color changes when some text are pasted.
Test Plan
1. copy some text
2. paste anywhere
3. see the color of the text whether there are color changes or not
Reviewers: Hermet, Jaehyun_Cho, NikaWhite
Differential Revision: https://phab.enlightenment.org/D3717
Summary: Set the cusor region of part, when selecting in live editor
Test Plan:
1. Open the enventor and load a sample
2. Select a part in live editor
Reviewers: Jaehyun_Cho, Hermet
Subscribers: Jaehyun_Cho, Hermet
Differential Revision: https://phab.enlightenment.org/D3690
When an edc text is newly loaded, the edc text is indendted if its
indentation is not correct.
The indented text creation function, indent_text_create(), utilizes
the logic of indent_text_auto_format().
In parsing the part blocks added additional check for a block type name.
This make possible to differ names of the part block and names,
that uses inside attributes, style blocks, programs and etc.
fix T2977
Summary:
selection region recovery is applied twice in entry recover.
there are selection region recovery logic before elm_entry_selection_region_set,
but we also recover using elm_entry_selection_region_set.
it is unncessary code.
@fix
Reviewers: Hermet, Jaehyun_Cho, NikaWhite
Differential Revision: https://phab.enlightenment.org/D3709
Summary:
There is a delay for getting selection start position.
It cause the wrong selection recovery.
so I modified the selection recover logic
using the selection region of entry.
@fix
Reviewers: Hermet, Jaehyun_Cho, NikaWhite
Differential Revision: https://phab.enlightenment.org/D3680
we don't need to apply bracket everytime.
Previously brackets didn't applied and current brackets are no valid either
then skip to apply bracket highlighting function.
Summary:
Add bracket highlight function in thread function.
It cause the entry scroller moving when scroller bar is unpressed.
@T3145
Reviewers: Hermet, Jaehyun_Cho
Differential Revision: https://phab.enlightenment.org/D3671
Summary:
The selection cursor is moved at the frist
When clicking and moving the bracket using the mouse.
In entry_recover(), there is no selection cursor recover machanism.
So I added the selection recover logic in the function.
Now, it is fixed.
@fix
@T3099
Test Plan:
1. click the bracket
2. moving the cursor keeping the mouse clicking
3. see the fixed result
Reviewers: Jaehyun_Cho, Hermet
Differential Revision: https://phab.enlightenment.org/D3641
Summary:
The selection cursor is moved at the frist
When clicking and moving the bracket using the mouse.
In entry_recover(), there is no selection cursor recover machanism.
So I added the selection recover logic in the function.
Now, it is fixed.
@fix
@T3099
Test Plan:
1. click the bracket
2. moving the cursor keeping the mouse clicking
3. see the fixed result
Reviewers: Hermet, Jaehyun_Cho
Differential Revision: https://phab.enlightenment.org/D3641
Summary: fix bracket update callback to be called one time
Reviewers: Hermet, Jaehyun_Cho
Reviewed By: Jaehyun_Cho
Differential Revision: https://phab.enlightenment.org/D3637
Summary: when mouse cursor on bracket which are '{', '}', the bracket is highlighted with its pair.
Reviewers: Jaehyun_Cho, Hermet
Reviewed By: Hermet
Subscribers: herb, NikaWhite, Jaehyun_Cho
Differential Revision: https://phab.enlightenment.org/D3588
Previously, macro was parsed when EDC was changed.
This caused performance issue.
Now, macro is parsed only if EDC is changed and group name is searched.
Previously, group name was recognized with double quotation marks("").
This makes defined macro cannot be used as a group name.
Now, defined macro is parsed and listed. Macro group name is recognized
from the defined macro list.
The mouse wheel Up/Down to show preview of the
previous/next image. Previously the new ctxpopup
widget was created for each image inside the set.
Now the preview content is reloaded without
creating new ctxpopup widget.
fix T2974
When user click a part in the live view,
the entry cursor jumps to the corresponded part line.
Need additional attention for the invisible parts. Swallow
and spacer parts primitives created after edje-layout. And this
causes situation when this primitives is placed above other
parts.
T2179
Added cases:
Analyse auto indention for new lines. It mean, that redo/undo
line creation will finished by one step.
Analyse input symbols speed. In case when user writes somethenigi
and takes a short delay (by default 0.8sec)
between written symbols - redo/undo action will use this delay
as point to create new node in redo/undo queue.
Analyse input symbols on a "words". Ongoing alphabetic symbols
between nonalphabetic symbols known as
"word". Redo/undo action will use for a step a whole "word".
In text setting added addition toggle named "Smart undo/redo".
By default this feature is disabled.
Todo: make this feature work with auto intendation.
Prortotype here: https://phab.enlightenment.org/D1288
After choose or hide the candidate, the entry cursor
is moved to the end of attribute string ';'. It is more natural
way, than was previously, when cursor was placed before ':'.
Reveret "Edc_editor: after insert candidate,
move cursor to end of attribute", because it cause
wrong behaviour.
Clear code, make selection in entry by elm_entry_selection_set.
Summary:
This is correct behaviour for cursor placement
after inserting candidate into edc code. Previously
cursor was placed before ':'.
Reviewers: Hermet
Differential Revision: https://phab.enlightenment.org/D3044
Summary:
Add the elm_ctxpopup_dismiss call inside the
candidate select callback function.
Delete unused function ctxpopup_candidate_selected_cb.
Test Plan:
change rel1.to param using candidate list.
After select candidate - ctxpopup should be dismissed.
Reviewers: Hermet
Differential Revision: https://phab.enlightenment.org/D3043
Summary:
For the initiate synchronizing cursor position
and the live view object was moved edit_view_sync into
callback function for "cursor,changed" entry signal.
It is neccessary, because keys "Page up" and "Page down"
didn't initiate the signal "cursor,changed,manual".
Reviewers: Hermet
Differential Revision: https://phab.enlightenment.org/D3034
Summary:
added edit_text_insert function, that
shared for public use as enventor_object_text_insert
This API provide functionality for text insert with
support correct text replacement and redo/undo
feature support.
@fix T2691
Test Plan:
Lunch Enventor. Open "Find/Replace" dialog.
Fill "Find" field with exist string and fill
"Replace with" field with any text. Press "Replace All".
Close dialog window and check how work Ctrl+Z and Ctrl+R
hotkey combinations.
Reviewers: Hermet
Maniphest Tasks: T2691
Differential Revision: https://phab.enlightenment.org/D3005
Summary:
launch programs in cases when program name is
placed not in the same paragraph with "program" keyword.
Now analyzes whole text, that placed after selected keyword,
not only text inside the same paragraph.
@fix
Reviewers: Hermet
Differential Revision: https://phab.enlightenment.org/D2964
Summary:
parse error messages from edje_cc, and marked
by underline the mistaken line. In cases for messages
that does not contain line numbers, trying to parse
name of wrong parameter. Trying to searching the parsed name
in edc code, and highlight the first entity.
Reviewers: Hermet
Differential Revision: https://phab.enlightenment.org/D2791
Current implementation has logical hole that skips the notification of file changes first time.
We fix this even if it depends on the time thresholds.
New implementation will skip the file changes also but
it will only skip, if the file change is happened again under 2 seconds.
Summary:
Function indent_insert_apply reutn count of inserted lines.
It is provide increse line numbers correctly.
@fix T2510
Reviewers: Hermet
Maniphest Tasks: T2510
Differential Revision: https://phab.enlightenment.org/D2745
Summary:
if some edc code is pasted, the indentation could be corrupted.
let's make it fix automatically, even if indentation of
the pasted code is not correct, only when auto indent mode is enabled.
Reviewers: Jaehyun, Hermet
Projects: #enventor
Maniphest Tasks: T2174
Differential Revision: https://phab.enlightenment.org/D2601
Added ability to switch part state on live view, when
cursor located inside the "description" subblock of part.
In case when cursor move out from "description" block,
default state of part will be displayed.
Summary:
Added ability to switch part state on live view, when cursor located inside the "description" subblock of part.
In case when cursor move out from "description" block, default state of part will be displayed.
Reviewers: Hermet, Jaehyun_Cho
Projects: #enventor
Differential Revision: https://phab.enlightenment.org/D2499
seems fd handler is broken.. (suspect ecore audio..)
so key down events happened multiple times,
here workaround code is for stable enventor.
and should be removed later.
Since elm_entry_editable_set() reloads entry theme, the registered
textblock of redoundo is replaced. This causes segmentation fault when
ctxpopup is dismissed.
Although entry is editable, entry text cannot not be changed if entry
does not have focus.
elementary object disable policy has been changed,
if editor disables it's layout, it's line and editor entry would be disabled also.
in this case, the text color will be changed according to disabled style.
to avoid, this, we just disable edit mode instead of disable object.