diff options
author | Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de> | 2020-09-01 12:51:09 +0200 |
---|---|---|
committer | Thorsten Behrens <Thorsten.Behrens@CIB.de> | 2020-09-03 14:53:39 +0200 |
commit | cc9dea9252ec832423ff257734735f753fee12bf (patch) | |
tree | 8aa1195c1c2f89aa0a4641c0d95afc03f6012711 | |
parent | a6d45b40e8e9b068bd1eb8cdf16a2c4fd3ba54da (diff) |
tdf#136423 make SwXDrawPage::group work with a single shape
No reason this should not work (and the implementation in Draw/Impress/Calc
also works this way)
Change-Id: Ic5bc7420e9025b45ed848dccf68b112c0c6c2cd5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/101842
Tested-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
(cherry picked from commit 3eb5318ed9ae8cf02804fbdc584a5f4b046db0ae)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/101957
Tested-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
-rw-r--r-- | sw/PythonTest_sw_python.mk | 1 | ||||
-rw-r--r-- | sw/qa/python/check_drawpage.py | 44 | ||||
-rw-r--r-- | sw/source/core/unocore/unodraw.cxx | 2 |
3 files changed, 46 insertions, 1 deletions
diff --git a/sw/PythonTest_sw_python.mk b/sw/PythonTest_sw_python.mk index c47c5cbcbbd3..1a3b0313e8b5 100644 --- a/sw/PythonTest_sw_python.mk +++ b/sw/PythonTest_sw_python.mk @@ -16,6 +16,7 @@ $(eval $(call gb_PythonTest_set_defs,sw_python,\ $(eval $(call gb_PythonTest_add_modules,sw_python,$(SRCDIR)/sw/qa/python,\ check_bookmarks \ check_change_color \ + check_drawpage \ check_index \ check_flies \ check_fields \ diff --git a/sw/qa/python/check_drawpage.py b/sw/qa/python/check_drawpage.py new file mode 100644 index 000000000000..ef28490ce224 --- /dev/null +++ b/sw/qa/python/check_drawpage.py @@ -0,0 +1,44 @@ +#! /usr/bin/env python +# -*- tab-width: 4; indent-tabs-mode: nil; py-indent-offset: 4 -*- +# +# This file is part of the LibreOffice project. +# +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +# +import unittest +from org.libreoffice.unotest import UnoInProcess + +from com.sun.star.text.TextContentAnchorType import AT_PARAGRAPH + +class CheckDrawPage(unittest.TestCase): + + @classmethod + def setUpClass(cls): + cls._uno = UnoInProcess() + cls._uno.setUp() + + @classmethod + def tearDownClass(cls): + cls._uno.tearDown() + + """ + Test that grouping shapes also works with a single shape. + """ + def test_group_single_shape(self): + xDoc = self.__class__._uno.openEmptyWriterDoc() + page = xDoc.DrawPage + collection = self.__class__._uno.xContext.ServiceManager.createInstance( 'com.sun.star.drawing.ShapeCollection' ) + shape = xDoc.createInstance('com.sun.star.drawing.TextShape') + shape.AnchorType = AT_PARAGRAPH + page.add(shape) + collection.add(shape) + shapegroup = page.group(collection) + + self.assertEqual(shapegroup.Count, 1) + + xDoc.close(True) + +if __name__ == '__main__': + unittest.main() diff --git a/sw/source/core/unocore/unodraw.cxx b/sw/source/core/unocore/unodraw.cxx index 7102805291fe..876cad2231df 100644 --- a/sw/source/core/unocore/unodraw.cxx +++ b/sw/source/core/unocore/unodraw.cxx @@ -757,7 +757,7 @@ uno::Reference< drawing::XShapeGroup > SwXDrawPage::group(const uno::Reference< { // mark and return MarkList const SdrMarkList& rMarkList = pPage->PreGroup(xShapes); - if ( rMarkList.GetMarkCount() > 1 ) + if ( rMarkList.GetMarkCount() > 0 ) { bool bFlyInCnt = false; for ( size_t i = 0; !bFlyInCnt && i < rMarkList.GetMarkCount(); ++i ) |