The branch, 2.0.x, has been updated. - Log -----------------------------------------------------------------
commit ea28ef20d574f84958016392f4d3af0647a0a79f Author: Scott Kostyshak <[email protected]> Date: Sat Dec 22 05:16:06 2012 -0500 status.20x: add a selection bug fix diff --git a/status.20x b/status.20x index 040522e..0edbd4f 100644 --- a/status.20x +++ b/status.20x @@ -92,7 +92,7 @@ What's new - Allow arguments in PassThru environments (bug 7646). -- Fix a few selection bugs in tabular (bug 4981). +- Fix a few selection bugs in tabular (bug 4981, 7988). * DOCUMENTATION AND LOCALIZATION commit 9473e9dff41ceee6e6ec60a501a90702eafc16b0 Author: Scott Kostyshak <[email protected]> Date: Wed Dec 12 04:04:39 2012 -0500 Keep outer tabular borders when delete row/column Fix #4981: If the first or last column is deleted, the borders are preserved. Similarly for the last row, but not for the first row. Selections are supported. Based on a patch by Zahari Dimitrov. (cherry picked from commit 1954458817f80ac15d670a9732469066994ef08a) diff --git a/src/insets/InsetTabular.cpp b/src/insets/InsetTabular.cpp index d2ad490..69b3edc 100644 --- a/src/insets/InsetTabular.cpp +++ b/src/insets/InsetTabular.cpp @@ -5315,6 +5315,12 @@ void InsetTabular::tabularFeatures(Cursor & cur, break; case Tabular::DELETE_ROW: + if (sel_row_end == tabular.nrows() - 1 && sel_row_start != 0) { + for (col_type c = 0; c < tabular.ncols(); c++) + tabular.setBottomLine(tabular.cellIndex(sel_row_start - 1, c), + tabular.bottomLine(tabular.cellIndex(sel_row_end, c))); + } + for (row_type r = sel_row_start; r <= sel_row_end; ++r) tabular.deleteRow(sel_row_start); if (sel_row_start >= tabular.nrows()) @@ -5326,6 +5332,18 @@ void InsetTabular::tabularFeatures(Cursor & cur, break; case Tabular::DELETE_COLUMN: + if (sel_col_end == tabular.ncols() - 1 && sel_col_start != 0) { + for (row_type r = 0; r < tabular.nrows(); r++) + tabular.setRightLine(tabular.cellIndex(r, sel_col_start - 1), + tabular.rightLine(tabular.cellIndex(r, sel_col_end))); + } + + if (sel_col_start == 0 && sel_col_end != tabular.ncols() - 1) { + for (row_type r = 0; r < tabular.nrows(); r++) + tabular.setLeftLine(tabular.cellIndex(r, sel_col_end + 1), + tabular.leftLine(tabular.cellIndex(r, 0))); + } + for (col_type c = sel_col_start; c <= sel_col_end; ++c) tabular.deleteColumn(sel_col_start); if (sel_col_start >= tabular.ncols()) ----------------------------------------------------------------------- Summary of changes: src/insets/InsetTabular.cpp | 18 ++++++++++++++++++ status.20x | 2 +- 2 files changed, 19 insertions(+), 1 deletions(-) hooks/post-receive -- The LyX Source Repository
