sc/inc/sortparam.hxx | 1 + sc/source/core/data/table3.cxx | 1 + sc/source/ui/undo/undosort.cxx | 20 +++++++++++++++++++- 3 files changed, 21 insertions(+), 1 deletion(-)
New commits: commit ec1b1af8af7ead149f96c09e16402e66e0973372 Author: Eike Rathke <er...@redhat.com> Date: Sun Dec 7 17:32:09 2014 +0100 add ReorderParam.mbHasHeaders to include in Undo range mark Undo Sort did not select/mark the original range if it included header row/column. Change-Id: Ie4c800e7a44fd910c871731673093400c6400e4a diff --git a/sc/inc/sortparam.hxx b/sc/inc/sortparam.hxx index 4d80a07..ed79c37 100644 --- a/sc/inc/sortparam.hxx +++ b/sc/inc/sortparam.hxx @@ -97,6 +97,7 @@ struct SC_DLLPUBLIC ReorderParam bool mbPattern; bool mbHiddenFiltered; bool mbUpdateRefs; + bool mbHasHeaders; /** * Reorder the position indices such that it can be used to undo the diff --git a/sc/source/core/data/table3.cxx b/sc/source/core/data/table3.cxx index 9981356..04e9d08 100644 --- a/sc/source/core/data/table3.cxx +++ b/sc/source/core/data/table3.cxx @@ -1689,6 +1689,7 @@ void ScTable::Sort( pUndo->mbPattern = rSortParam.bIncludePattern; pUndo->mbHiddenFiltered = bKeepQuery; pUndo->mbUpdateRefs = bUpdateRefs; + pUndo->mbHasHeaders = rSortParam.bHasHeader; } // Trim empty leading and trailing column ranges. diff --git a/sc/source/ui/undo/undosort.cxx b/sc/source/ui/undo/undosort.cxx index c30cd56..bd8ed83 100644 --- a/sc/source/ui/undo/undosort.cxx +++ b/sc/source/ui/undo/undosort.cxx @@ -44,7 +44,25 @@ void UndoSort::Execute( bool bUndo ) aParam.reverse(); rDoc.Reorder(aParam, NULL); - ScUndoUtil::MarkSimpleBlock(pDocShell, maParam.maSortRange); + if (maParam.mbHasHeaders) + { + ScRange aMarkRange( maParam.maSortRange); + if (maParam.mbByRow) + { + if (aMarkRange.aStart.Col() > 0) + aMarkRange.aStart.IncCol(-1); + } + else + { + if (aMarkRange.aStart.Row() > 0) + aMarkRange.aStart.IncRow(-1); + } + ScUndoUtil::MarkSimpleBlock(pDocShell, aMarkRange); + } + else + { + ScUndoUtil::MarkSimpleBlock(pDocShell, maParam.maSortRange); + } rDoc.SetDirty(maParam.maSortRange, true); if (!aParam.mbUpdateRefs) _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits