sc/source/core/tool/address.cxx | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+)
New commits: commit 0ccefa0cb62da893556893bec2414c22cb2ad7b8 Author: Eike Rathke <er...@redhat.com> Date: Tue Jun 30 12:42:06 2015 +0200 tdf#92427 entire column/row reference also if both sticky parts are relative For example, convert A1:A1048576 to A:A but not A$1:A1048576 or A1:A$1048576 Change-Id: I7845134f79a04f7c031896d515ea1cb8050bd454 diff --git a/sc/source/core/tool/address.cxx b/sc/source/core/tool/address.cxx index 60d6d2e..0af90d6 100644 --- a/sc/source/core/tool/address.cxx +++ b/sc/source/core/tool/address.cxx @@ -1502,6 +1502,25 @@ static sal_uInt16 lcl_ScRange_Parse_OOo( ScRange& rRange, nRes2 |= SCA_COL_ABSOLUTE; } } + else if ((nRes1 & SCA_VALID) && (nRes2 & SCA_VALID)) + { + // Flag entire column/row references so they can be displayed + // as such. If the sticky reference parts are not both + // absolute or relative, assume that the user thought about + // something we should not touch. + if (rRange.aStart.Row() == 0 && rRange.aEnd.Row() == MAXROW && + ((nRes1 & SCA_ROW_ABSOLUTE) == 0) && ((nRes2 & SCA_ROW_ABSOLUTE) == 0)) + { + nRes1 |= SCA_ROW_ABSOLUTE; + nRes2 |= SCA_ROW_ABSOLUTE; + } + else if (rRange.aStart.Col() == 0 && rRange.aEnd.Col() == MAXCOL && + ((nRes1 & SCA_COL_ABSOLUTE) == 0) && ((nRes2 & SCA_COL_ABSOLUTE) == 0)) + { + nRes1 |= SCA_COL_ABSOLUTE; + nRes2 |= SCA_COL_ABSOLUTE; + } + } if (nRes1 && nRes2) { // PutInOrder / Justify _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits