mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-12-22 05:16:21 +00:00
Do not record undo in the tabularFeatures helper
Since the low-level version of tabular features is only called by the high-level one, it does not make sense to record undo there. It is much better to do it once in the high-level handler, rather than 37 times (yes!) at lower level when the tabular GUI calls tabular-feature with all the settings at once. With large tables, this avoids to keep 37 copies of the table in Undo stack. As an added bonus, this fixes bug #9960.
This commit is contained in:
parent
77bb8b91a3
commit
a3b19c60a7
@ -5335,6 +5335,8 @@ void InsetTabular::movePrevCell(Cursor & cur, EntryDirection entry_from)
|
||||
|
||||
void InsetTabular::tabularFeatures(Cursor & cur, string const & argument)
|
||||
{
|
||||
cur.recordUndoInset(this);
|
||||
|
||||
istringstream is(argument);
|
||||
string s;
|
||||
// Safe guard.
|
||||
@ -5461,8 +5463,6 @@ void InsetTabular::tabularFeatures(Cursor & cur,
|
||||
break;
|
||||
}
|
||||
|
||||
cur.recordUndoInset(this);
|
||||
|
||||
getSelection(cur, sel_row_start, sel_row_end, sel_col_start, sel_col_end);
|
||||
row_type const row = tabular.cellRow(cur.idx());
|
||||
col_type const column = tabular.cellColumn(cur.idx());
|
||||
|
@ -903,9 +903,9 @@ public:
|
||||
/// get offset of this cursor slice relative to our upper left corner
|
||||
void cursorPos(BufferView const & bv, CursorSlice const & sl,
|
||||
bool boundary, int & x, int & y) const;
|
||||
///
|
||||
/// Executes a space-separated sequence of tabular-features requests
|
||||
void tabularFeatures(Cursor & cur, std::string const & what);
|
||||
///
|
||||
/// Change a single tabular feature; does not handle undo.
|
||||
void tabularFeatures(Cursor & cur, Tabular::Feature feature,
|
||||
std::string const & val = std::string());
|
||||
/// number of cells
|
||||
|
Loading…
Reference in New Issue
Block a user