editor: update current line status properly.
put the line updation in the line inc/dec functions to be ensure.
This commit is contained in:
parent
dfabf9d122
commit
9da55623c7
|
@ -272,8 +272,6 @@ edit_changed_cb(void *data, Evas_Object *obj EINA_UNUSED, void *event_info)
|
|||
if (info->change.del.content[0] == ' ') return;
|
||||
}
|
||||
|
||||
stats_line_num_update(ed->cur_line, ed->line_max);
|
||||
|
||||
if (!syntax_color) return;
|
||||
syntax_color_partial_update(ed, SYNTAX_COLOR_DEFAULT_TIME);
|
||||
}
|
||||
|
@ -1300,6 +1298,8 @@ edit_line_increase(edit_data *ed, int cnt)
|
|||
elm_entry_entry_append(ed->en_line, buf);
|
||||
}
|
||||
elm_entry_calc_force(ed->en_line);
|
||||
|
||||
stats_line_num_update(ed->cur_line, ed->line_max);
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -1329,4 +1329,5 @@ edit_line_decrease(edit_data *ed, int cnt)
|
|||
ed->line_max -= cnt;
|
||||
|
||||
if (ed->line_max < 1) line_init(ed);
|
||||
stats_line_num_update(ed->cur_line, ed->line_max);
|
||||
}
|
||||
|
|
|
@ -100,7 +100,7 @@ nochange:
|
|||
int
|
||||
redoundo_undo(redoundo_data *rd, Eina_Bool *changed)
|
||||
{
|
||||
*changed = EINA_FALSE;
|
||||
if (changed) *changed = EINA_FALSE;
|
||||
|
||||
if (!rd->last_diff) return 0;
|
||||
|
||||
|
@ -152,9 +152,13 @@ redoundo_undo(redoundo_data *rd, Eina_Bool *changed)
|
|||
rd->last_diff = eina_list_data_get(rd->current_node);
|
||||
|
||||
if (rd->last_diff && rd->last_diff->relative)
|
||||
lines += redoundo_undo(rd, changed);
|
||||
lines += redoundo_undo(rd, NULL);
|
||||
|
||||
*changed = EINA_TRUE;
|
||||
if (changed)
|
||||
{
|
||||
elm_entry_calc_force(rd->entry);
|
||||
*changed = EINA_TRUE;
|
||||
}
|
||||
|
||||
return lines;
|
||||
}
|
||||
|
@ -162,7 +166,7 @@ redoundo_undo(redoundo_data *rd, Eina_Bool *changed)
|
|||
int
|
||||
redoundo_redo(redoundo_data *rd, Eina_Bool *changed)
|
||||
{
|
||||
*changed = EINA_FALSE;
|
||||
if (changed) *changed = EINA_FALSE;
|
||||
|
||||
if (!rd->queue) return 0;
|
||||
|
||||
|
@ -225,9 +229,13 @@ redoundo_redo(redoundo_data *rd, Eina_Bool *changed)
|
|||
rd->current_node = next;
|
||||
|
||||
if (diff->relative)
|
||||
lines += redoundo_redo(rd, changed);
|
||||
lines += redoundo_redo(rd, NULL);
|
||||
|
||||
*changed = EINA_TRUE;
|
||||
if (changed)
|
||||
{
|
||||
elm_entry_calc_force(rd->entry);
|
||||
*changed = EINA_TRUE;
|
||||
}
|
||||
|
||||
return EINA_TRUE;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue