sc/source/ui/view/cellsh3.cxx | 30 ++++++++++++++++++++++++------ 1 file changed, 24 insertions(+), 6 deletions(-)
New commits: commit 756c4ae5dcb948d6e675287e322720ab890c3e6b Author: Henry Castro <hcas...@collabora.com> Date: Tue Aug 23 14:13:57 2016 -0400 sc lok: fix re-sizing several rows/columns at once Reviewed-on: https://gerrit.libreoffice.org/28351 Tested-by: Jenkins <c...@libreoffice.org> Reviewed-by: Henry Castro <hcas...@collabora.com> Conflicts: sc/source/ui/view/cellsh3.cxx Change-Id: I7b3760432aa4b3120bfd586a1abc42a46fff0df8 diff --git a/sc/source/ui/view/cellsh3.cxx b/sc/source/ui/view/cellsh3.cxx index 036c45e..32aa3cd 100644 --- a/sc/source/ui/view/cellsh3.cxx +++ b/sc/source/ui/view/cellsh3.cxx @@ -547,10 +547,19 @@ void ScCellShell::Execute( SfxRequest& rReq ) pReqArgs->HasItem( FN_PARAM_2, &pHeight ) ) { std::vector<sc::ColRowSpan> aRanges; - SCCOLROW nRow = static_cast<const SfxInt16Item*>(pRow)->GetValue() - 1; - sal_uInt16 nHeight = static_cast<const SfxInt16Item*>(pHeight)->GetValue(); + SCCOLROW nRow = static_cast<const SfxUInt16Item*>(pRow)->GetValue() - 1; + sal_uInt16 nHeight = static_cast<const SfxUInt16Item*>(pHeight)->GetValue(); + ScMarkData& rMark = GetViewData()->GetMarkData(); + + if ( rMark.IsRowMarked( static_cast<SCROW>(nRow) ) ) + { + aRanges = rMark.GetMarkedRowSpans(); + } + else + { + aRanges.push_back(sc::ColRowSpan(nRow, nRow)); + } - aRanges.push_back(sc::ColRowSpan(nRow, nRow)); pTabViewShell->SetWidthOrHeight(false, aRanges, SC_SIZE_DIRECT, nHeight); } else if ( pReqArgs ) @@ -643,10 +652,19 @@ void ScCellShell::Execute( SfxRequest& rReq ) pReqArgs->HasItem( FN_PARAM_2, &pWidth ) ) { std::vector<sc::ColRowSpan> aRanges; - SCCOLROW nColumn = static_cast<const SfxInt16Item*>(pColumn)->GetValue() - 1; - sal_uInt16 nWidth = static_cast<const SfxInt16Item*>(pWidth)->GetValue(); + SCCOLROW nColumn = static_cast<const SfxUInt16Item*>(pColumn)->GetValue() - 1; + sal_uInt16 nWidth = static_cast<const SfxUInt16Item*>(pWidth)->GetValue(); + ScMarkData& rMark = GetViewData()->GetMarkData(); + + if ( rMark.IsColumnMarked( static_cast<SCCOL>(nColumn) ) ) + { + aRanges = rMark.GetMarkedColSpans(); + } + else + { + aRanges.push_back(sc::ColRowSpan(nColumn, nColumn)); + } - aRanges.push_back(sc::ColRowSpan(nColumn, nColumn)); pTabViewShell->SetWidthOrHeight(true, aRanges, SC_SIZE_DIRECT, nWidth); } else if ( pReqArgs ) _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits