forked from enlightenment/efl
[elm_code] don't strip whitespace on current line
When saving if any widget has a cursor on the line we shouldn't strip the trailing whitespace
This commit is contained in:
parent
20162692f0
commit
9f96fa0c00
|
@ -178,7 +178,8 @@ EAPI void elm_code_file_save(Elm_Code_File *file)
|
|||
|
||||
EINA_LIST_FOREACH(file->lines, item, line_item)
|
||||
{
|
||||
elm_code_line_text_trailing_whitespace_strip(line_item);
|
||||
if (!elm_code_line_contains_widget_cursor(line_item))
|
||||
elm_code_line_text_trailing_whitespace_strip(line_item);
|
||||
content = elm_code_line_text_get(line_item, &length);
|
||||
|
||||
fwrite(content, sizeof(char), length, out);
|
||||
|
|
|
@ -106,3 +106,24 @@ EAPI void elm_code_line_status_clear(Elm_Code_Line *line)
|
|||
}
|
||||
}
|
||||
|
||||
EAPI Eina_Bool
|
||||
elm_code_line_contains_widget_cursor(Elm_Code_Line *line)
|
||||
{
|
||||
Elm_Code *code = line->file->parent;
|
||||
Eina_List *item;
|
||||
Eo *widget;
|
||||
unsigned int col, number;
|
||||
|
||||
if (!code)
|
||||
return EINA_FALSE;
|
||||
|
||||
EINA_LIST_FOREACH(code->widgets, item, widget)
|
||||
{
|
||||
elm_code_widget_cursor_position_get(widget, &col, &number);
|
||||
|
||||
if (number == line->number)
|
||||
return EINA_TRUE;
|
||||
}
|
||||
|
||||
return EINA_FALSE;
|
||||
}
|
||||
|
|
|
@ -69,6 +69,8 @@ EAPI void elm_code_line_token_add(Elm_Code_Line *line, int start, int end, int l
|
|||
|
||||
EAPI void elm_code_line_tokens_clear(Elm_Code_Line *line);
|
||||
|
||||
EAPI Eina_Bool elm_code_line_contains_widget_cursor(Elm_Code_Line *line);
|
||||
|
||||
/**
|
||||
* @}
|
||||
*/
|
||||
|
|
Loading…
Reference in New Issue