core.git: unoidl/Module_unoidl.mk

2024-06-18 Thread Andrea Gelmini (via logerrit)
 unoidl/Module_unoidl.mk |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit cd8cab9c7662800e7cd28f79e8e3b40f60b96b5b
Author: Andrea Gelmini 
AuthorDate: Tue Jun 18 20:39:34 2024 +0200
Commit: Julien Nabet 
CommitDate: Wed Jun 19 08:47:46 2024 +0200

Fix typo

Change-Id: I80dd506275bf8032316bba5eff152635e62268d5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169150
Reviewed-by: Julien Nabet 
Tested-by: Julien Nabet 

diff --git a/unoidl/Module_unoidl.mk b/unoidl/Module_unoidl.mk
index b5a9978fc457..834c8668c661 100644
--- a/unoidl/Module_unoidl.mk
+++ b/unoidl/Module_unoidl.mk
@@ -11,7 +11,7 @@ $(eval $(call gb_Module_Module,unoidl))
 
 # unoidl-check is needed as a component of the ODK / SDK package and
 # a build-tool. In case of cross-compiling a build-native tool must
-# be provided in addtion to the ODK one (!CROSS_COMPILING phase).
+# be provided in addition to the ODK one (!CROSS_COMPILING phase).
 
 $(eval $(call gb_Module_add_targets,unoidl, \
 $(if $(filter DESKTOP,$(BUILD_TYPE)), \


core.git: unoidl/Module_unoidl.mk

2024-06-18 Thread Andrea Gelmini (via logerrit)
 unoidl/Module_unoidl.mk |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit ee4cdfb6fad52779030cf9c9d75d6218e077b997
Author: Andrea Gelmini 
AuthorDate: Tue Jun 18 20:35:14 2024 +0200
Commit: Julien Nabet 
CommitDate: Wed Jun 19 08:47:25 2024 +0200

Fix typo

Change-Id: I2044da5e2b973f410531fee8d2b24a59c6279fc6
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169128
Tested-by: Julien Nabet 
Reviewed-by: Julien Nabet 

diff --git a/unoidl/Module_unoidl.mk b/unoidl/Module_unoidl.mk
index 15533717748d..b5a9978fc457 100644
--- a/unoidl/Module_unoidl.mk
+++ b/unoidl/Module_unoidl.mk
@@ -11,7 +11,7 @@ $(eval $(call gb_Module_Module,unoidl))
 
 # unoidl-check is needed as a component of the ODK / SDK package and
 # a build-tool. In case of cross-compiling a build-native tool must
-# be provided in addtion to the ODK one (!CROSS_COMPLING phase).
+# be provided in addtion to the ODK one (!CROSS_COMPILING phase).
 
 $(eval $(call gb_Module_add_targets,unoidl, \
 $(if $(filter DESKTOP,$(BUILD_TYPE)), \


core.git: unoidl/source

2024-06-18 Thread Andrea Gelmini (via logerrit)
 unoidl/source/sourceprovider-parser-requires.hxx |4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

New commits:
commit e34d63230cb6ec45f4c547dc8f3be2dcc8f84dd3
Author: Andrea Gelmini 
AuthorDate: Tue Jun 18 20:36:31 2024 +0200
Commit: Julien Nabet 
CommitDate: Wed Jun 19 08:46:41 2024 +0200

Fix typo

Change-Id: I8613fc1be864f79af407f66b486f0e9cab9862db
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169129
Reviewed-by: Julien Nabet 
Tested-by: Julien Nabet 

diff --git a/unoidl/source/sourceprovider-parser-requires.hxx 
b/unoidl/source/sourceprovider-parser-requires.hxx
index 5d9e5f6e3fda..8444da21026f 100644
--- a/unoidl/source/sourceprovider-parser-requires.hxx
+++ b/unoidl/source/sourceprovider-parser-requires.hxx
@@ -127,9 +127,9 @@ struct SourceProviderType {
 Type type;
 OUString name; // TYPE_ENUM ... TYPE_PARAMETER
 SourceProviderEntity const * entity;
-// TYPE_ENUM ... TYPE_INSTANTIATED_POLYMOPRHIC_STRUCT
+// TYPE_ENUM ... TYPE_INSTANTIATED_POLYMORPHIC_STRUCT
 std::vector subtypes;
-// TYPE_SEQUENCE, TYPE_INSTANTIATED_POLYMOPRHIC_STRUCT
+// TYPE_SEQUENCE, TYPE_INSTANTIATED_POLYMORPHIC_STRUCT
 OUString typedefName;
 };
 


core.git: vcl/skia

2024-06-18 Thread Andrea Gelmini (via logerrit)
 vcl/skia/gdiimpl.cxx |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit 4a85d3c12ade35e49d90eec72152d1779abc8de7
Author: Andrea Gelmini 
AuthorDate: Tue Jun 18 20:45:09 2024 +0200
Commit: Julien Nabet 
CommitDate: Wed Jun 19 08:45:49 2024 +0200

Fix typo

Change-Id: I91c9d457aa7b0675df59415416121d2e21c78c63
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169153
Reviewed-by: Julien Nabet 
Tested-by: Julien Nabet 

diff --git a/vcl/skia/gdiimpl.cxx b/vcl/skia/gdiimpl.cxx
index b5720026ee29..e6fdff986eae 100644
--- a/vcl/skia/gdiimpl.cxx
+++ b/vcl/skia/gdiimpl.cxx
@@ -732,7 +732,7 @@ void SkiaSalGraphicsImpl::drawPixel(tools::Long nX, 
tools::Long nY, Color nColor
 
 // tdf#148569 set extra drawing constraints when scaling
 // Previously, setting stroke width and cap was only done when running
-// unit tests. But the same drawing contraints are necessary when running
+// unit tests. But the same drawing constraints are necessary when running
 // with a Retina display on macOS.
 if (mScaling != 1)
 {


core.git: cli_ure/source

2024-06-18 Thread Andrea Gelmini (via logerrit)
 cli_ure/source/basetypes/uno/TypeArgumentsAttribute.cs |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit 7e864b49deb25658ecc92d3a0e723c4103be3694
Author: Andrea Gelmini 
AuthorDate: Tue Jun 18 20:41:03 2024 +0200
Commit: Julien Nabet 
CommitDate: Wed Jun 19 08:45:26 2024 +0200

Fix typo

Change-Id: Ib82dd3d35d0fab5815c97a7c5f93592598ffaeed
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169151
Tested-by: Julien Nabet 
Reviewed-by: Julien Nabet 

diff --git a/cli_ure/source/basetypes/uno/TypeArgumentsAttribute.cs 
b/cli_ure/source/basetypes/uno/TypeArgumentsAttribute.cs
index f2e8c8e39b4b..c56e74aadb7f 100644
--- a/cli_ure/source/basetypes/uno/TypeArgumentsAttribute.cs
+++ b/cli_ure/source/basetypes/uno/TypeArgumentsAttribute.cs
@@ -52,7 +52,7 @@ public sealed class TypeArgumentsAttribute: System.Attribute
 /** initializes an instance with the specified value.
 
 @param parameters
-arrayay of names representing the types.
+array of names representing the types.
 It must not be null.
  */
 public TypeArgumentsAttribute(Type[] arguments)


core.git: xmloff/source

2024-06-18 Thread Andrea Gelmini (via logerrit)
 xmloff/source/style/HatchStyle.cxx |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit 839cac2c7021ab6ee03a98974bc1c5034973c8da
Author: Andrea Gelmini 
AuthorDate: Tue Jun 18 20:47:12 2024 +0200
Commit: Julien Nabet 
CommitDate: Wed Jun 19 08:44:33 2024 +0200

Fix typo

Change-Id: Icbcac3a6a69ecf8d958f7196bfde46ed32dc703a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169154
Tested-by: Julien Nabet 
Reviewed-by: Julien Nabet 

diff --git a/xmloff/source/style/HatchStyle.cxx 
b/xmloff/source/style/HatchStyle.cxx
index bf24da77ef40..61d18476591d 100644
--- a/xmloff/source/style/HatchStyle.cxx
+++ b/xmloff/source/style/HatchStyle.cxx
@@ -96,7 +96,7 @@ void XMLHatchStyleImport::importXML(
 {
 // tdf#161327. We keep reading unit-less values as being in 
1/10th of a degree for
 // backward compatibility for now. Values with unit are 
imported correctly.
-// For how to make it version dependend see import of 
XML_GRADIENT_ANGLE, for example.
+// For how to make it version dependent see import of 
XML_GRADIENT_ANGLE, for example.
 sal_Int16 nAngle;
 bool const bRet
 = ::sax::Converter::convert10thDegAngle(nAngle, 
aIter.toView(), true);


core.git: include/svx

2024-06-18 Thread Andrea Gelmini (via logerrit)
 include/svx/unomod.hxx |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit 41559f8c52ae2d91b886fe510cc34c0bca334c27
Author: Andrea Gelmini 
AuthorDate: Wed Jun 19 00:06:24 2024 +0200
Commit: Julien Nabet 
CommitDate: Wed Jun 19 08:44:03 2024 +0200

Fix typo

Change-Id: Icd8c5e8101d112d76da23f877c55c9627438e179
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169184
Tested-by: Julien Nabet 
Reviewed-by: Julien Nabet 

diff --git a/include/svx/unomod.hxx b/include/svx/unomod.hxx
index 7a3887c80db5..308e07e49c99 100644
--- a/include/svx/unomod.hxx
+++ b/include/svx/unomod.hxx
@@ -38,7 +38,7 @@ class SVXCORE_DLLPUBLIC SvxUnoDrawMSFactory : public 
css::lang::XMultiServiceFac
 {
 protected:
 /** abstract SdrModel provider */
-// Every App has a DrawingLayer as internal Tooling, thus ist is
+// Every App has a DrawingLayer as internal Tooling, thus it is
 // not too hard to asl a UnoModel to hand back a DrawingLayer Model in the
 // form of an SdrModel. Thus, returning a reference and make usages
 // safer and easier is justified.


core.git: unoidl/source

2024-06-18 Thread Andrea Gelmini (via logerrit)
 unoidl/source/sourceprovider-parser.y |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit 58ef023d63bb4a37ac3073fbb6bf49d807c99888
Author: Andrea Gelmini 
AuthorDate: Tue Jun 18 22:43:29 2024 +0200
Commit: Julien Nabet 
CommitDate: Wed Jun 19 08:43:41 2024 +0200

Fix typo

Change-Id: I30f0d9517bd244606ce596fbb88da1cc6ed54cd7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169162
Tested-by: Julien Nabet 
Reviewed-by: Julien Nabet 

diff --git a/unoidl/source/sourceprovider-parser.y 
b/unoidl/source/sourceprovider-parser.y
index 1300ecd15605..7eac15b67d73 100644
--- a/unoidl/source/sourceprovider-parser.y
+++ b/unoidl/source/sourceprovider-parser.y
@@ -2439,7 +2439,7 @@ ctor:
   @2, yyscanner,
   ("single-interface--based service " + data->currentName
+ " constructor " + pad->constructors.back().name
-   + " has similar paramete list to constructor "
+   + " has similar parameter list to constructor "
+ i->name));
   YYERROR;
   }


core.git: bridges/source

2024-06-18 Thread Andrea Gelmini (via logerrit)
 bridges/source/cpp_uno/gcc3_linux_riscv64/abi.cxx |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit a9b462758b0b66bba4e192300565265d613e16a1
Author: Andrea Gelmini 
AuthorDate: Tue Jun 18 20:50:20 2024 +0200
Commit: Julien Nabet 
CommitDate: Wed Jun 19 08:43:24 2024 +0200

Fix typo

Change-Id: I4750989bffaa95c652fe5f90962342638296b026
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169156
Reviewed-by: Julien Nabet 
Tested-by: Julien Nabet 

diff --git a/bridges/source/cpp_uno/gcc3_linux_riscv64/abi.cxx 
b/bridges/source/cpp_uno/gcc3_linux_riscv64/abi.cxx
index f718249de1e7..8a72e8a1b682 100644
--- a/bridges/source/cpp_uno/gcc3_linux_riscv64/abi.cxx
+++ b/bridges/source/cpp_uno/gcc3_linux_riscv64/abi.cxx
@@ -169,7 +169,7 @@ void fillUNOStruct(const typelib_TypeDescription* 
pTypeDescr, sal_Int64* gret, d
 /*
 Split zipped unoreturn to cpp func. This happens at the end of cpp2uno.
 
-The data in pTarget will be extrat to return regs in 
privateSnippetExecutor:
+The data in pTarget will be extracted to return regs in 
privateSnippetExecutor:
   |  pTarget[0]  |  pTarget[1]  | return type |
 default cases | $a0  | $a1  |  0  |
 2 float   | $fa0 | $fa1 |  0  |


core.git: svx/source

2024-06-18 Thread Andrea Gelmini (via logerrit)
 svx/source/unodraw/UnoGraphicExporter.cxx |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit 602e00b9610cdacc078846bb845c306df65b29dc
Author: Andrea Gelmini 
AuthorDate: Wed Jun 19 00:04:38 2024 +0200
Commit: Julien Nabet 
CommitDate: Wed Jun 19 08:43:05 2024 +0200

Fix typo

Change-Id: I99c1b5973e8a173f4b4fefe588f0bef825f2444f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169183
Tested-by: Julien Nabet 
Reviewed-by: Julien Nabet 

diff --git a/svx/source/unodraw/UnoGraphicExporter.cxx 
b/svx/source/unodraw/UnoGraphicExporter.cxx
index 679bed4e4051..451b95b0e58b 100644
--- a/svx/source/unodraw/UnoGraphicExporter.cxx
+++ b/svx/source/unodraw/UnoGraphicExporter.cxx
@@ -886,7 +886,7 @@ bool GraphicExporter::GetGraphic( ExportSettings const & 
rSettings, Graphic& aGr
 
 // calculate bound rect for all shapes
 // tdf#126319 I did not convert all rendering to primitives,
-// that would be to much for this fix. But I  did so for the
+// that would be too much for this fix. But I  did so for the
 // range calculation to get a valid high quality range.
 // Based on that the conversion is reliable. With the BoundRect
 // fetched from the Metafile it was just not possible to get the


core.git: sc/source

2024-06-18 Thread Andrea Gelmini (via logerrit)
 sc/source/ui/unoobj/viewuno.cxx |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit a1c7ff92d2d2299644ae082a152a0878417102b1
Author: Andrea Gelmini 
AuthorDate: Tue Jun 18 20:54:31 2024 +0200
Commit: Julien Nabet 
CommitDate: Wed Jun 19 08:41:52 2024 +0200

Fix typo

Change-Id: I77229760404a8739755508a5991d00ce0ceed8d5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169158
Tested-by: Julien Nabet 
Reviewed-by: Julien Nabet 

diff --git a/sc/source/ui/unoobj/viewuno.cxx b/sc/source/ui/unoobj/viewuno.cxx
index 59e70aae0cfe..ab3e5748bd45 100644
--- a/sc/source/ui/unoobj/viewuno.cxx
+++ b/sc/source/ui/unoobj/viewuno.cxx
@@ -977,7 +977,7 @@ uno::Any SAL_CALL ScTabViewObj::getSelectionFromString( 
const OUString& aStrRang
 
 rtl::Reference pObj = new ScCellRangesObj(pDocSh, 
*aRangeList);
 
-// SetCursorOnly tells the range the specific cells selected are irelevant 
- maybe could rename?
+// SetCursorOnly tells the range the specific cells selected are 
irrelevant - maybe could rename?
 pObj->SetCursorOnly(true);
 
 return 
uno::Any(uno::Reference(static_cast(pObj.get(;


core.git: sw/qa

2024-06-18 Thread Andrea Gelmini (via logerrit)
 sw/qa/extras/unowriter/unowriter.cxx |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit 677366d3c9992b56b2b8c5278b29e694e0d8bfd4
Author: Andrea Gelmini 
AuthorDate: Tue Jun 18 22:41:18 2024 +0200
Commit: Julien Nabet 
CommitDate: Wed Jun 19 08:41:28 2024 +0200

Fix typo

Change-Id: Ifae040774dff2e75d4ddcfd38e8e67192f70d69a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169160
Reviewed-by: Julien Nabet 
Tested-by: Julien Nabet 

diff --git a/sw/qa/extras/unowriter/unowriter.cxx 
b/sw/qa/extras/unowriter/unowriter.cxx
index ab2320a19881..d1f8fce4dd0c 100644
--- a/sw/qa/extras/unowriter/unowriter.cxx
+++ b/sw/qa/extras/unowriter/unowriter.cxx
@@ -1107,7 +1107,7 @@ CPPUNIT_TEST_FIXTURE(SwUnoWriter, testMultiSelect)
 auto xSimpleText = xTextDocument->getText();
 xSimpleText->insertString(xSimpleText->getStart(), u"Abc aBc abC"_ustr, 
false);
 
-// Create a search descriptor and find all occurencies of search string
+// Create a search descriptor and find all occurrences of search string
 css::uno::Reference xSearchable(mxComponent, 
css::uno::UNO_QUERY_THROW);
 auto xSearchDescriptor = xSearchable->createSearchDescriptor();
 xSearchDescriptor->setPropertyValue(u"SearchStyles"_ustr, 
css::uno::Any(false));


core.git: cli_ure/source

2024-06-18 Thread Andrea Gelmini (via logerrit)
 cli_ure/source/ure/uno/util/WeakBase.cs |6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

New commits:
commit 6ecadb3ed3a9e597df31798a0d899a792d71f9ed
Author: Andrea Gelmini 
AuthorDate: Tue Jun 18 20:55:34 2024 +0200
Commit: Julien Nabet 
CommitDate: Wed Jun 19 08:39:45 2024 +0200

Fix typo

Change-Id: I4603be77e1d69a3e7d26946d656ef008d64836db
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169159
Reviewed-by: Julien Nabet 
Tested-by: Julien Nabet 

diff --git a/cli_ure/source/ure/uno/util/WeakBase.cs 
b/cli_ure/source/ure/uno/util/WeakBase.cs
index 561d2e577ff2..a057e014 100644
--- a/cli_ure/source/ure/uno/util/WeakBase.cs
+++ b/cli_ure/source/ure/uno/util/WeakBase.cs
@@ -35,12 +35,12 @@ public class WeakBase : XWeak, XTypeProvider
 // Contains all WeakAdapter which have been created in this class
 // They have to be notified when this object dies
 private WeakAdapter m_adapter = null;
-
+
 protected static Hashtable s_types = new Hashtable();
 protected static Hashtable s_impl_ids = new Hashtable();
-
+
 // XWeak impl
-/** The returned XAdapter implementation can be used to keap a
+/** The returned XAdapter implementation can be used to keep a
 weak reference to this object.
 
 @return a weak adapter


core.git: pyuno/source

2024-06-18 Thread Andrea Gelmini (via logerrit)
 pyuno/source/loader/pyuno_loader.cxx |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit 7cfefdd01bd79b517338a2e63c0ae55d9ff67e4a
Author: Andrea Gelmini 
AuthorDate: Tue Jun 18 20:53:45 2024 +0200
Commit: Julien Nabet 
CommitDate: Wed Jun 19 08:39:22 2024 +0200

Fix typo

Change-Id: I633ad7aa1a8167795e76bfacfaeec9a42b9db3f5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169157
Tested-by: Julien Nabet 
Reviewed-by: Julien Nabet 

diff --git a/pyuno/source/loader/pyuno_loader.cxx 
b/pyuno/source/loader/pyuno_loader.cxx
index 3b5f5df7f531..ca3ad6768f64 100644
--- a/pyuno/source/loader/pyuno_loader.cxx
+++ b/pyuno/source/loader/pyuno_loader.cxx
@@ -270,7 +270,7 @@ pyuno_Loader_get_implementation(
 if 
(officecfg::Office::Common::Security::Scripting::DisablePythonRuntime::get(ctx))
 return nullptr;
 
-// tdf#114815 init python only once, via single-instace="true" in 
pythonloader.component
+// tdf#114815 init python only once, via single-instance="true" in 
pythonloader.component
 pythonInit();
 
 Reference< XInterface > ret;


core.git: include/svx

2024-06-18 Thread Andrea Gelmini (via logerrit)
 include/svx/unomod.hxx |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit 05f4724aab004ec057563a80911500bb7ce1a108
Author: Andrea Gelmini 
AuthorDate: Tue Jun 18 20:48:42 2024 +0200
Commit: Julien Nabet 
CommitDate: Wed Jun 19 08:39:05 2024 +0200

Fix typo

Change-Id: Ibd328464edc6e3906c2ad3155e3d9f6ae4ef2641
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169155
Reviewed-by: Julien Nabet 
Tested-by: Julien Nabet 

diff --git a/include/svx/unomod.hxx b/include/svx/unomod.hxx
index ff346e3bd416..7a3887c80db5 100644
--- a/include/svx/unomod.hxx
+++ b/include/svx/unomod.hxx
@@ -38,7 +38,7 @@ class SVXCORE_DLLPUBLIC SvxUnoDrawMSFactory : public 
css::lang::XMultiServiceFac
 {
 protected:
 /** abstract SdrModel provider */
-// Every App has a DrwingLayer as internal Tooling, thus ist is
+// Every App has a DrawingLayer as internal Tooling, thus ist is
 // not too hard to asl a UnoModel to hand back a DrawingLayer Model in the
 // form of an SdrModel. Thus, returning a reference and make usages
 // safer and easier is justified.


core.git: svx/source

2024-06-18 Thread Andrea Gelmini (via logerrit)
 svx/source/unodraw/UnoGraphicExporter.cxx |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit 59cfd8f4f69bd5918cb704b0a38b73ea2c9831bf
Author: Andrea Gelmini 
AuthorDate: Tue Jun 18 22:47:23 2024 +0200
Commit: Julien Nabet 
CommitDate: Wed Jun 19 08:38:34 2024 +0200

Fix typo

Change-Id: I69c4e0794217e25ec15c953421c838d124b7d2f6
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169167
Tested-by: Julien Nabet 
Reviewed-by: Julien Nabet 

diff --git a/svx/source/unodraw/UnoGraphicExporter.cxx 
b/svx/source/unodraw/UnoGraphicExporter.cxx
index 3f980f4e9763..679bed4e4051 100644
--- a/svx/source/unodraw/UnoGraphicExporter.cxx
+++ b/svx/source/unodraw/UnoGraphicExporter.cxx
@@ -885,7 +885,7 @@ bool GraphicExporter::GetGraphic( ExportSettings const & 
rSettings, Graphic& aGr
 ScopedVclPtrInstance< VirtualDevice > aOut;
 
 // calculate bound rect for all shapes
-// tdf#126319 I did not convert all rendering to primities,
+// tdf#126319 I did not convert all rendering to primitives,
 // that would be to much for this fix. But I  did so for the
 // range calculation to get a valid high quality range.
 // Based on that the conversion is reliable. With the BoundRect


core.git: cli_ure/source

2024-06-18 Thread Andrea Gelmini (via logerrit)
 cli_ure/source/basetypes/uno/PolymorphicType.cs |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit 9539ea2c9129433c60ffa2848d7fe28a2ee074a6
Author: Andrea Gelmini 
AuthorDate: Tue Jun 18 22:45:21 2024 +0200
Commit: Julien Nabet 
CommitDate: Wed Jun 19 08:37:49 2024 +0200

Fix typo

Change-Id: Ie1a1e7b6da8303d3811df32d2ed524576c6be29e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169164
Reviewed-by: Julien Nabet 
Tested-by: Julien Nabet 

diff --git a/cli_ure/source/basetypes/uno/PolymorphicType.cs 
b/cli_ure/source/basetypes/uno/PolymorphicType.cs
index e996131fc6ab..4dbea1bbbfc6 100644
--- a/cli_ure/source/basetypes/uno/PolymorphicType.cs
+++ b/cli_ure/source/basetypes/uno/PolymorphicType.cs
@@ -34,7 +34,7 @@ namespace uno {
 retain this information we use PolymorphicType which directly inherits from
 System.Type. The additional information about type parameters are passed
 as simple string when creating an instance of PolymorphicType. Usually one
-only needs a PolymorphicType when a polymporphic type is put into an
+only needs a PolymorphicType when a polymorphic type is put into an
 uno.Any. For example, let's assume there is a idl type PolyStruct:
 
 module test {


core.git: 2 commits - bridges/source extensions/test

2024-06-18 Thread Andrea Gelmini (via logerrit)
 bridges/source/cpp_uno/gcc3_linux_riscv64/uno2cpp.cxx |2 +-
 extensions/test/ole/unoTocomCalls/XCallback_Impl/Callback.cpp |2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

New commits:
commit 758f1230f8b9dc96ff6f121f8ee5e88d5a3854c0
Author: Andrea Gelmini 
AuthorDate: Tue Jun 18 22:52:17 2024 +0200
Commit: Julien Nabet 
CommitDate: Wed Jun 19 08:37:25 2024 +0200

Fix typo

Change-Id: I0a68063a64d0a80b521cd69a1abf146476f27bee
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169169
Tested-by: Julien Nabet 
Reviewed-by: Julien Nabet 

diff --git a/extensions/test/ole/unoTocomCalls/XCallback_Impl/Callback.cpp 
b/extensions/test/ole/unoTocomCalls/XCallback_Impl/Callback.cpp
index c60a18219426..5e73a50f5a83 100644
--- a/extensions/test/ole/unoTocomCalls/XCallback_Impl/Callback.cpp
+++ b/extensions/test/ole/unoTocomCalls/XCallback_Impl/Callback.cpp
@@ -316,7 +316,7 @@ STDMETHODIMP CCallback::inoutSeqAny(LPSAFEARRAY *pArray)
 hr= SafeArrayGetUBound( *pArray, 1, &ubound);
 long count= ubound - lbound + 1;
 
-// the Array is supposet to contain variants
+// the Array is supposed to contain variants
 CComVariant var;
 for( long i=0; i
AuthorDate: Tue Jun 18 22:46:25 2024 +0200
Commit: Julien Nabet 
CommitDate: Wed Jun 19 08:37:10 2024 +0200

Fix typo

Change-Id: Ia7e36299a15fd4096f2e8e50efad2e8e1b61bec9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169166
Reviewed-by: Julien Nabet 
Tested-by: Julien Nabet 

diff --git a/bridges/source/cpp_uno/gcc3_linux_riscv64/uno2cpp.cxx 
b/bridges/source/cpp_uno/gcc3_linux_riscv64/uno2cpp.cxx
index 278944953888..d0370ce3f9d7 100644
--- a/bridges/source/cpp_uno/gcc3_linux_riscv64/uno2cpp.cxx
+++ b/bridges/source/cpp_uno/gcc3_linux_riscv64/uno2cpp.cxx
@@ -426,7 +426,7 @@ void unoInterfaceProxyDispatch(uno_Interface* pUnoI, const 
typelib_TypeDescripti
void* pReturn, void* pArgs[], uno_Any** 
ppException)
 {
 BRIDGE_LOG("In unoInterfaceProxyDispatch:
");
-BRIDGE_LOG("pMemberDescr = %p, pReturn = %p, pArgs = %p, ppExeption = %p
", pMemberDescr,
+BRIDGE_LOG("pMemberDescr = %p, pReturn = %p, pArgs = %p, ppException = %p
", pMemberDescr,
pReturn, pArgs, ppException);
 // is my surrogate
 bridges::cpp_uno::shared::UnoInterfaceProxy* pThis


core.git: unotools/source

2024-06-18 Thread Andrea Gelmini (via logerrit)
 unotools/source/config/pathoptions.cxx |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit 2eb9a61ca9d4c5f59bab5158e0fa97ed96899b44
Author: Andrea Gelmini 
AuthorDate: Tue Jun 18 22:44:17 2024 +0200
Commit: Julien Nabet 
CommitDate: Wed Jun 19 08:36:50 2024 +0200

Fix typo

Change-Id: Id2140f45ea676324094741c331c4666ee74aea04
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169163
Reviewed-by: Julien Nabet 
Tested-by: Julien Nabet 

diff --git a/unotools/source/config/pathoptions.cxx 
b/unotools/source/config/pathoptions.cxx
index dbce328105c2..a7283a49928e 100644
--- a/unotools/source/config/pathoptions.cxx
+++ b/unotools/source/config/pathoptions.cxx
@@ -204,7 +204,7 @@ const OUString& SvtPathOptions_Impl::GetPath( 
SvtPathOptions::Paths ePath )
 ePath == SvtPathOptions::Paths::Storage
   )
 {
-// These office paths have to be converted to system pates
+// These office paths have to be converted to system paths
 OUStringaResult;
 osl::FileBase::getSystemPathFromFileURL( aPathValue, aResult );
 aPathValue = aResult;


core.git: sc/source

2024-06-18 Thread Andrea Gelmini (via logerrit)
 sc/source/ui/formdlg/dwfunctr.cxx |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit 664167bb248ae07dc5fa5af102de50568a846abe
Author: Andrea Gelmini 
AuthorDate: Tue Jun 18 22:49:44 2024 +0200
Commit: Julien Nabet 
CommitDate: Wed Jun 19 08:34:37 2024 +0200

Fix typo

Change-Id: I782d794bd4acc760ec53e226796a4ac0424fd0d0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169168
Reviewed-by: Julien Nabet 
Tested-by: Julien Nabet 

diff --git a/sc/source/ui/formdlg/dwfunctr.cxx 
b/sc/source/ui/formdlg/dwfunctr.cxx
index 355a820f4f87..690db4c8aac1 100644
--- a/sc/source/ui/formdlg/dwfunctr.cxx
+++ b/sc/source/ui/formdlg/dwfunctr.cxx
@@ -409,7 +409,7 @@ IMPL_LINK_NOARG(ScFunctionWin, ModifyHdl, weld::Entry&, 
void)
 #*
 #*  Class:  ScFunctionWin
 #*
-#*  Function:   Processes key inputs when the serch entry has focus
+#*  Function:   Processes key inputs when the search entry has focus
 #*
 #/
 


core.git: svl/source

2024-06-18 Thread Andrea Gelmini (via logerrit)
 svl/source/numbers/numfmuno.cxx |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit 382b4e0a08257efdffa972f832598d28430042d7
Author: Andrea Gelmini 
AuthorDate: Tue Jun 18 22:45:51 2024 +0200
Commit: Julien Nabet 
CommitDate: Wed Jun 19 08:34:21 2024 +0200

Fix typo

Change-Id: If21c8e5bf48da78b505f826513673c5da0df2538
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169165
Tested-by: Julien Nabet 
Reviewed-by: Julien Nabet 

diff --git a/svl/source/numbers/numfmuno.cxx b/svl/source/numbers/numfmuno.cxx
index cf763d9249f5..840187eca4ee 100644
--- a/svl/source/numbers/numfmuno.cxx
+++ b/svl/source/numbers/numfmuno.cxx
@@ -425,7 +425,7 @@ sal_Int32 SAL_CALL SvNumberFormatsObj::queryKey( const 
OUString& aFormat,
 // casing. The only clean way is to just use PutEntry() and ignore the
 // duplicate case, which clients can't because the API doesn't provide
 // the information.
-// Try just another possibilty here, without any guarantee.
+// Try just another possibility here, without any guarantee.
 
 // Use only ASCII upper, because keywords are only those.
 // Do not transliterate any quoted literals.


core.git: sw/source

2024-06-18 Thread Andrea Gelmini (via logerrit)
 sw/source/uibase/uno/unotxvw.cxx |6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

New commits:
commit a0fa7f8245d207071e25e2f6b7268becf7cb49e4
Author: Andrea Gelmini 
AuthorDate: Tue Jun 18 23:01:36 2024 +0200
Commit: Julien Nabet 
CommitDate: Wed Jun 19 08:33:49 2024 +0200

Fix typo

Change-Id: I5db57545327b839f71676aadcc688eb8bc26b8bc
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169172
Reviewed-by: Julien Nabet 
Tested-by: Julien Nabet 

diff --git a/sw/source/uibase/uno/unotxvw.cxx b/sw/source/uibase/uno/unotxvw.cxx
index 35730b6cc492..51115f25986d 100644
--- a/sw/source/uibase/uno/unotxvw.cxx
+++ b/sw/source/uibase/uno/unotxvw.cxx
@@ -258,7 +258,7 @@ uno::Any SwXTextView::getSelection()
 uno::Reference< uno::XInterface >  aRef;
 if(GetView())
 {
-//force immediat shell update
+//force immediate shell update
 m_pView->StopShellTimer();
 //Generating an interface from the current selection.
 SwWrtShell& rSh = m_pView->GetWrtShell();
@@ -1658,7 +1658,7 @@ uno::Reference< datatransfer::XTransferable > SAL_CALL 
SwXTextView::getTransfera
 {
 SolarMutexGuard aGuard;
 
-//force immediat shell update
+//force immediate shell update
 GetView()->StopShellTimer();
 SwWrtShell& rSh = GetView()->GetWrtShell();
 if ( GetView()->GetShellMode() == ShellMode::DrawText )
@@ -1682,7 +1682,7 @@ void SAL_CALL SwXTextView::insertTransferable( const 
uno::Reference< datatransfe
 {
 SolarMutexGuard aGuard;
 
-//force immediat shell update
+//force immediate shell update
 GetView()->StopShellTimer();
 SwWrtShell& rSh = GetView()->GetWrtShell();
 if ( GetView()->GetShellMode() == ShellMode::DrawText )


core.git: extensions/source

2024-06-18 Thread Andrea Gelmini (via logerrit)
 extensions/source/ole/unotypewrapper.hxx |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit bbf9d0a9345e1b91c44e605feb1dcb109eecff1e
Author: Andrea Gelmini 
AuthorDate: Tue Jun 18 22:57:36 2024 +0200
Commit: Julien Nabet 
CommitDate: Wed Jun 19 08:33:26 2024 +0200

Fix typo

Change-Id: I080533a791c8ad0034b4b24ea630c6ab7265e31e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169171
Reviewed-by: Julien Nabet 
Tested-by: Julien Nabet 

diff --git a/extensions/source/ole/unotypewrapper.hxx 
b/extensions/source/ole/unotypewrapper.hxx
index a7515448c92f..1857e238f715 100644
--- a/extensions/source/ole/unotypewrapper.hxx
+++ b/extensions/source/ole/unotypewrapper.hxx
@@ -22,7 +22,7 @@
 
 #include "comifaces.hxx"
 
-/* creates a UnoTypWrapper and sets the Name property to the value
+/* creates a UnoTypeWrapper and sets the Name property to the value
specified by sTypeName.
Returns true if the object could be created and initialized.
  */


core.git: dbaccess/source

2024-06-18 Thread Andrea Gelmini (via logerrit)
 dbaccess/source/ui/browser/unodatbr.cxx |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit dbfa98d162e6327e1c01fc6f1918306171503c09
Author: Andrea Gelmini 
AuthorDate: Tue Jun 18 23:17:13 2024 +0200
Commit: Julien Nabet 
CommitDate: Wed Jun 19 08:30:01 2024 +0200

Fix typo

Change-Id: I339f7b48db82d52faea5343412554c4c4939068e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169181
Tested-by: Julien Nabet 
Reviewed-by: Julien Nabet 

diff --git a/dbaccess/source/ui/browser/unodatbr.cxx 
b/dbaccess/source/ui/browser/unodatbr.cxx
index a989356bbdcb..e16b16f5efda 100644
--- a/dbaccess/source/ui/browser/unodatbr.cxx
+++ b/dbaccess/source/ui/browser/unodatbr.cxx
@@ -2861,7 +2861,7 @@ void SAL_CALL SbaTableQueryBrowser::elementReplaced( 
const ContainerEvent& _rEve
 std::unique_ptr xContainer = getEntryFromContainer(xNames);
 if (xContainer)
 {
-// a table or query as been replaced
+// a table or query has been replaced
 OUString aName = ::comphelper::getString(_rEvent.Accessor);
 
 weld::TreeView& rTreeView = m_pTreeView->GetWidget();


core.git: unoxml/qa

2024-06-18 Thread Andrea Gelmini (via logerrit)
 unoxml/qa/unit/domtest.cxx |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit bc1ed15460aff7e84cb198d7552fdcc5eb9fc15b
Author: Andrea Gelmini 
AuthorDate: Tue Jun 18 23:15:26 2024 +0200
Commit: Julien Nabet 
CommitDate: Wed Jun 19 08:29:43 2024 +0200

Fix typo

Change-Id: I4df37ec7637c4b9719ea77e48f9fc49e2ff6fc54
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169180
Tested-by: Julien Nabet 
Reviewed-by: Julien Nabet 

diff --git a/unoxml/qa/unit/domtest.cxx b/unoxml/qa/unit/domtest.cxx
index 96ecea6dd593..d96b149a03fd 100644
--- a/unoxml/qa/unit/domtest.cxx
+++ b/unoxml/qa/unit/domtest.cxx
@@ -87,7 +87,7 @@ struct ErrorHandler
 {
 sal_uInt32 mnErrCount;
 //sal_uInt32 mnFatalCount;  // No fatal error counter, as lib2xml doesn't 
distinguish between error and fatal error
-// (see See xmlFatalErrMsg from 
lib2xml/parse.c and __xmlRaiseError from lib2xml/error.c)
+// (See xmlFatalErrMsg from lib2xml/parse.c 
and __xmlRaiseError from lib2xml/error.c)
 sal_uInt32 mnWarnCount;
 
 bool noErrors() const { return !mnErrCount /*&& !mnFatalCount*/ && 
!mnWarnCount; }


core.git: bridges/source

2024-06-18 Thread Andrea Gelmini (via logerrit)
 bridges/source/cpp_uno/gcc3_linux_riscv64/abi.cxx |4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

New commits:
commit e07e5e76f43a1ababb8ccdd1596473b95c71be32
Author: Andrea Gelmini 
AuthorDate: Tue Jun 18 23:04:37 2024 +0200
Commit: Julien Nabet 
CommitDate: Wed Jun 19 08:29:26 2024 +0200

Fix typo

Change-Id: I392dc943c4a423ca6bd7c3a3efd2a68adb75bf1c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169176
Tested-by: Julien Nabet 
Reviewed-by: Julien Nabet 

diff --git a/bridges/source/cpp_uno/gcc3_linux_riscv64/abi.cxx 
b/bridges/source/cpp_uno/gcc3_linux_riscv64/abi.cxx
index 98c8afa2c028..f718249de1e7 100644
--- a/bridges/source/cpp_uno/gcc3_linux_riscv64/abi.cxx
+++ b/bridges/source/cpp_uno/gcc3_linux_riscv64/abi.cxx
@@ -123,8 +123,8 @@ ReturnKind getReturnKind(const typelib_TypeDescription* 
pTypeDescr)
 integer take 16 bytes rather than 12 bytes.
 
 There is also another complex problem. e.g. Two 4 byte integer is compacted
-in a0, but two 4 byte float is seperately set in fa0 and fa1. However, 
return
-size is 8 bytes. We need to cut the lower 32bit of fa0 and fa1 seperately 
and
+in a0, but two 4 byte float is separately set in fa0 and fa1. However, 
return
+size is 8 bytes. We need to cut the lower 32bit of fa0 and fa1 separately 
and
 combine them in 8 bytes.
 */
 void fillUNOStruct(const typelib_TypeDescription* pTypeDescr, sal_Int64* gret, 
double* fret,


core.git: sw/qa

2024-06-18 Thread Andrea Gelmini (via logerrit)
 0 files changed

New commits:
commit ef38bc24551a4d344c5bf1d528534fcf6977e560
Author: Andrea Gelmini 
AuthorDate: Tue Jun 18 23:53:46 2024 +0200
Commit: Julien Nabet 
CommitDate: Wed Jun 19 08:28:49 2024 +0200

Remove exec bits on docx file

Change-Id: I8aef24c3536493ab73df7637990c48a2c94c2bf0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169182
Tested-by: Julien Nabet 
Reviewed-by: Julien Nabet 

diff --git a/sw/qa/extras/ooxmlexport/data/A019_min.docx 
b/sw/qa/extras/ooxmlexport/data/A019_min.docx
old mode 100755
new mode 100644


core.git: 2 commits - cli_ure/source extensions/source

2024-06-18 Thread Andrea Gelmini (via logerrit)
 cli_ure/source/basetypes/uno/Any.cs |2 +-
 extensions/source/ole/unoobjw.cxx   |2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

New commits:
commit e5f1b4cdec3802df5e2bd824089d6c18b58a3689
Author: Andrea Gelmini 
AuthorDate: Tue Jun 18 23:13:58 2024 +0200
Commit: Julien Nabet 
CommitDate: Wed Jun 19 08:28:39 2024 +0200

Fix typo

Change-Id: I33b497fd707e5100d0a03cf9868b0627859922ec
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169178
Tested-by: Julien Nabet 
Reviewed-by: Julien Nabet 

diff --git a/extensions/source/ole/unoobjw.cxx 
b/extensions/source/ole/unoobjw.cxx
index 915ecd92f8fc..5a3151d07b44 100644
--- a/extensions/source/ole/unoobjw.cxx
+++ b/extensions/source/ole/unoobjw.cxx
@@ -1278,7 +1278,7 @@ COM_DECLSPEC_NOTHROW STDMETHODIMP 
InterfaceOleWrapper::GetIDsOfNames(REFIID /*ri
 void InterfaceOleWrapper::convertDispparamsArgs(DISPID id,
 unsigned short /*wFlags*/, DISPPARAMS* pdispparams, Sequence& rSeq)
 {
-// Parameters come in in reverse order in pdispparams. There might be less 
parameters than
+// Parameters come in reverse order in pdispparams. There might be less 
parameters than
 // expected. In that case, assume they are "optional" (but can't be marked 
as such in UNO IDL),
 // and fill in the rest with empty Anys. There might also be more than 
expected. In that case,
 // assume the oovbaapi UNO IDL hasn't kept up with added optional 
parameters in MSO, and just
commit c499b6af566ad4c51a3b1ce1a90115b7556c3e52
Author: Andrea Gelmini 
AuthorDate: Tue Jun 18 23:07:53 2024 +0200
Commit: Julien Nabet 
CommitDate: Wed Jun 19 08:28:23 2024 +0200

Fix typo

Change-Id: I5d7c48261ddf6f36c35c8ee84e7bc98f32dd83bb
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169177
Reviewed-by: Julien Nabet 
Tested-by: Julien Nabet 

diff --git a/cli_ure/source/basetypes/uno/Any.cs 
b/cli_ure/source/basetypes/uno/Any.cs
index ea44d0f3b880..03ed06c47a98 100644
--- a/cli_ure/source/basetypes/uno/Any.cs
+++ b/cli_ure/source/basetypes/uno/Any.cs
@@ -72,7 +72,7 @@ public struct Any
 }
 
 /** sets the type and value.
-   If the arguments ar invalid then an exception is thrown.
+   If the arguments are invalid then an exception is thrown.
@exception System.Exception
  */
 public void setValue(Type type, object value)


core.git: sc/source

2024-06-18 Thread Andrea Gelmini (via logerrit)
 sc/source/ui/unoobj/cellsuno.cxx |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit e9cc36ab1051d016074f2275a79f96694e198d67
Author: Andrea Gelmini 
AuthorDate: Tue Jun 18 23:15:08 2024 +0200
Commit: Julien Nabet 
CommitDate: Wed Jun 19 08:28:06 2024 +0200

Fix typo

Change-Id: I7ee174497b9f6ca7256ef71297c20c04b52ecae4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169179
Tested-by: Julien Nabet 
Reviewed-by: Julien Nabet 

diff --git a/sc/source/ui/unoobj/cellsuno.cxx b/sc/source/ui/unoobj/cellsuno.cxx
index 4defe47400b2..9e1b77732c41 100644
--- a/sc/source/ui/unoobj/cellsuno.cxx
+++ b/sc/source/ui/unoobj/cellsuno.cxx
@@ -8853,7 +8853,7 @@ uno::Type SAL_CALL ScCellFormatsObj::getElementType()
 sal_Bool SAL_CALL ScCellFormatsObj::hasElements()
 {
 SolarMutexGuard aGuard;
-return ( getCount() != 0 ); //! always greater then zero ??
+return ( getCount() != 0 ); //! always greater than zero ??
 }
 
 // XEnumerationAccess


Re: [libreoffice-accessibility] Re: [a11y] LibreOffice Calc exposes 2^31 children, freezes on `GetChildren`

2024-06-18 Thread Michael Weghorn

On 2024-06-15 20:31, Michael Weghorn wrote:

On 2024-06-15 14:55, Jason J.G. White wrote:
My limited understanding of the new protocol proposed for Linux by the 
GNOME Foundation is that it is expected to use pipes for data 
transfer, giving better performance than DBus calls. So my naive 
question is: what would be the performance cost of transferring a 
large document over the proposed API? Could it be partly done in the 
background, so that the user can at least start to read/edit the 
document from the top while the data structures are built and sent to 
the screen reader?


To my knowledge, the new protocol is still in development stage, and 
handling of large documents was earlier explicitly mentioned as 
something that will still need further consideration.


I also haven't received any feedback to my ticket concerning that topic 
so far, see [1].



(...)


[1] https://gitlab.gnome.org/GNOME/at-spi2-core/-/issues/142


FYI, Matt Campbell (the developer working on Newton) published a blog 
post about the current status:

https://blogs.gnome.org/a11y/2024/06/18/update-on-newton-the-wayland-native-accessibility-project/

It has this about large documents:

"The biggest unresolved issue at this point is whether the push-based 
approach of Newton, the motivation for which I described in the previous 
post, will have unsolvable drawbacks, e.g. for large text documents. The 
current AccessKit implementation for GtkTextView pushes the full content 
of the document, with complete text layout information. On my brand new 
desktop computer, this has good performance even when reading an 800 KB 
ebook, but of course, there are bigger documents, and that’s a very fast 
computer. We will likely want to explore ways of incrementally pushing 
parts of the document based on what’s visible, adding and removing 
paragraphs as they go in and out of view. The challenge is to do this 
without breaking screen reader functionality that people have come to 
depend on, such as Orca’s Say All command. My best idea about how to 
handle this didn’t occur to me until after I had finished the current 
implementation. Anyway, we should start testing the current, naive 
implementation and see how far it takes us."





OpenPGP_signature.asc
Description: OpenPGP digital signature


core.git: helpcontent2

2024-06-18 Thread Olivier Hallot (via logerrit)
 helpcontent2 |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit 3909a1186cf423105c30c91136f131daf66e18c6
Author: Olivier Hallot 
AuthorDate: Tue Jun 18 17:40:23 2024 -0300
Commit: Gerrit Code Review 
CommitDate: Tue Jun 18 22:40:23 2024 +0200

Update git submodules

* Update helpcontent2 from branch 'master'
  to 5d0ae30d7d89219d86d263b1a31d77fb6de0
  - tdf#191639 Fix macOS command path

+ refactor
+ moved command description above how-to-get
+ added tabbed UI how-to-get for Expert config

Change-Id: I026ef0f1891c18ea50ce187b6fba35dd5a194ac9
Reviewed-on: https://gerrit.libreoffice.org/c/help/+/169119
Reviewed-by: Olivier Hallot 
Tested-by: Jenkins

diff --git a/helpcontent2 b/helpcontent2
index 840359bcb401..5d0ae30d 16
--- a/helpcontent2
+++ b/helpcontent2
@@ -1 +1 @@
-Subproject commit 840359bcb401b17e55a0370a9a0d15890a824abe
+Subproject commit 5d0ae30d7d89219d86d263b1a31d77fb6de0


help.git: source/text

2024-06-18 Thread Olivier Hallot (via logerrit)
 source/text/shared/optionen/expertconfig.xhp |   55 +--
 1 file changed, 28 insertions(+), 27 deletions(-)

New commits:
commit 5d0ae30d7d89219d86d263b1a31d77fb6de0
Author: Olivier Hallot 
AuthorDate: Tue Jun 18 16:29:18 2024 -0300
Commit: Olivier Hallot 
CommitDate: Tue Jun 18 22:40:23 2024 +0200

tdf#191639 Fix macOS command path

+ refactor
+ moved command description above how-to-get
+ added tabbed UI how-to-get for Expert config

Change-Id: I026ef0f1891c18ea50ce187b6fba35dd5a194ac9
Reviewed-on: https://gerrit.libreoffice.org/c/help/+/169119
Reviewed-by: Olivier Hallot 
Tested-by: Jenkins

diff --git a/source/text/shared/optionen/expertconfig.xhp 
b/source/text/shared/optionen/expertconfig.xhp
index 8094a8eb38..2194b678c3 100644
--- a/source/text/shared/optionen/expertconfig.xhp
+++ b/source/text/shared/optionen/expertconfig.xhp
@@ -20,70 +20,71 @@
 
 
   
-Expert Configuration
+Expert Configuration
 /text/shared/optionen/expertconfig.xhp
   
 
 
 
-
-
-
-
+
+
+
+
   expert configuration;setting options
 
-
-
 Expert Configuration
-
+Opens the Expert Configuration dialog 
for advanced settings and configuration of %PRODUCTNAME. The Expert 
Configuration dialog allows user to access hundreds of %PRODUCTNAME 
configuration preferences, and most of them are not available in the user 
interface or in the options dialogs.
+The Expert Configuration dialog lets you 
access, edit and save configuration preferences that can harm your %PRODUCTNAME 
user profile. It can turn the user profile of %PRODUCTNAME unstable, 
inconsistent or even unusable. Proceed only if you know what you are 
doing.
 
-Choose Tools - Options - %PRODUCTNAME - Advanced - 
Open Expert Configuration.
+  
+  Choose %PRODUCTNAME - 
PreferencesTools - 
Options- %PRODUCTNAME - 
Advanced - Open Expert Configuration.
+  
+  On the 
Tools tab click on the Options 
button, then %PRODUCTNAME - Advanced - Open Expert 
Configuration.
 
-Opens the 
Expert Configuration dialog for advanced settings and configuration of 
%PRODUCTNAME. The Expert Configuration dialog allows user to access 
hundreds of %PRODUCTNAME configuration preferences, and most of them are not 
available in the user interface or in the options dialogs.
-The 
Expert Configuration dialog lets you access, edit and save configuration 
preferences that can harm your %PRODUCTNAME user profile. It can turn the user 
profile of %PRODUCTNAME unstable, inconsistent or even unusable. Proceed only 
if you know what you are doing.
-The expert 
configuration does not modify the %PRODUCTNAME system installation in your 
computer.
+
+The expert configuration does not modify the 
%PRODUCTNAME system installation in your computer.
 
 Text search entry area
-Type the 
preference you want to display in the text area. Then click in the 
Search button.
+Type the preference you want to 
display in the text area. Then click in the Search button.
 
 Search button
-Click to 
search your preference text in the Preferences tree.
+Click to search your preference 
text in the Preferences tree.
 
 Preferences tree
-List the 
preferences organized hierarchically in a tree layout. To open the 
branches, double click in the (+) sign. Once the preference is visible in the 
tree, you can edit it.
+List the preferences organized 
hierarchically in a tree layout. To open the branches, double click in 
the (+) sign. Once the preference is visible in the tree, you can edit 
it.
 
 Preference Name
-The 
name of the preference.
+The name of the 
preference.
 
 Property
-Shows 
the name of the property of the preference.
+Shows the name of the 
property of the preference.
 
 Type
-Defines the type of the property. Valid types are:
+Defines the type of 
the property. Valid types are:
 
 
   
-string: Alphanumeric 
values;
+string: Alphanumeric values;
   
   
-long: integer numbers;
+long: integer numbers;
   
   
-boolean: true or false 
values;
+boolean: true or false values;
   
   
-void: properties of type of void cannot be modified.
+void: properties of type of void cannot be modified.
   
 
 Value
-Current value of the property.
+Current value of the 
property.
 
 Edit
-Opens a dialog to edit the 
preference.
-Double-click in the 
preference row to edit current string and long values or toggle boolean 
types.
+Opens a dialog to edit the 
preference.
+Double-click in the preference row to edit 
current string and long values or toggle boolean types.
 
-Reset
-Undo changes done 
so far in this dialog.
+Reset
+Undo changes done so far in this 
dialog.
 
 
 


core.git: helpcontent2

2024-06-18 Thread Olivier Hallot (via logerrit)
 helpcontent2 |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit 996558b30209c8c43f13e247d35204bee1b48627
Author: Olivier Hallot 
AuthorDate: Tue Jun 18 17:39:15 2024 -0300
Commit: Gerrit Code Review 
CommitDate: Tue Jun 18 22:39:15 2024 +0200

Update git submodules

* Update helpcontent2 from branch 'master'
  to 840359bcb401b17e55a0370a9a0d15890a824abe
  - tdf#161579 Further rework on Save options Help page

+ refactor
+ removed outdated screenshot from page
+ deleted outdated screenshot from build
+ change paragraph tag to a tip tag for better reading.

Change-Id: I8ec7330ffe501e7b68ee1ccc9591e45dbe35c05b
Reviewed-on: https://gerrit.libreoffice.org/c/help/+/169116
Tested-by: Jenkins
Reviewed-by: Olivier Hallot 

diff --git a/helpcontent2 b/helpcontent2
index 2f70c8aa2a70..840359bcb401 16
--- a/helpcontent2
+++ b/helpcontent2
@@ -1 +1 @@
-Subproject commit 2f70c8aa2a700cad40257f020998c8dce5ed3dda
+Subproject commit 840359bcb401b17e55a0370a9a0d15890a824abe


help.git: AllLangPackage_html_media_lang.mk Package_html_media.mk source/media source/text

2024-06-18 Thread Olivier Hallot (via logerrit)
 AllLangPackage_html_media_lang.mk  |1 
 Package_html_media.mk  |1 
 dev/null   |binary
 source/text/shared/00/0406.xhp |9 +-
 source/text/shared/06/optionen_screenshots.xhp |   47 +--
 source/text/shared/optionen/01010200.xhp   |  101 -
 6 files changed, 79 insertions(+), 80 deletions(-)

New commits:
commit 840359bcb401b17e55a0370a9a0d15890a824abe
Author: Olivier Hallot 
AuthorDate: Tue Jun 18 15:41:16 2024 -0300
Commit: Olivier Hallot 
CommitDate: Tue Jun 18 22:39:15 2024 +0200

tdf#161579 Further rework on Save options Help page

+ refactor
+ removed outdated screenshot from page
+ deleted outdated screenshot from build
+ change paragraph tag to a tip tag for better reading.

Change-Id: I8ec7330ffe501e7b68ee1ccc9591e45dbe35c05b
Reviewed-on: https://gerrit.libreoffice.org/c/help/+/169116
Tested-by: Jenkins
Reviewed-by: Olivier Hallot 

diff --git a/AllLangPackage_html_media_lang.mk 
b/AllLangPackage_html_media_lang.mk
index cbc5c4c08f..4045569937 100644
--- a/AllLangPackage_html_media_lang.mk
+++ b/AllLangPackage_html_media_lang.mk
@@ -268,7 +268,6 @@ $(foreach lang,$(filter-out en-US,$(gb_HELP_LANGS)),$(eval 
$(call gb_AllLangPack
 screenshots/cui/ui/optfltrpage/$(lang)/OptFltrPage.png \
 screenshots/cui/ui/opthtmlpage/$(lang)/OptHtmlPage.png \
 screenshots/cui/ui/optaccessibilitypage/$(lang)/OptAccessibilityPage.png \
-screenshots/cui/ui/optsavepage/$(lang)/OptSavePage.png \
 screenshots/cui/ui/optadvancedpage/$(lang)/OptAdvancedPage.png \
 screenshots/cui/ui/optasianpage/$(lang)/OptAsianPage.png \
 screenshots/cui/ui/optctlpage/$(lang)/OptCTLPage.png \
diff --git a/Package_html_media.mk b/Package_html_media.mk
index ed10952193..45eb612a5f 100644
--- a/Package_html_media.mk
+++ b/Package_html_media.mk
@@ -438,7 +438,6 @@ $(eval $(call 
gb_Package_add_files_with_dir,helpcontent2_html_media,$(LIBO_SHARE
 screenshots/cui/ui/optfltrpage/OptFltrPage.png \
 screenshots/cui/ui/opthtmlpage/OptHtmlPage.png \
 screenshots/cui/ui/optaccessibilitypage/OptAccessibilityPage.png \
-screenshots/cui/ui/optsavepage/OptSavePage.png \
 screenshots/cui/ui/optadvancedpage/OptAdvancedPage.png \
 screenshots/cui/ui/optasianpage/OptAsianPage.png \
 screenshots/cui/ui/optctlpage/OptCTLPage.png \
diff --git a/source/media/screenshots/cui/ui/optsavepage/OptSavePage.png 
b/source/media/screenshots/cui/ui/optsavepage/OptSavePage.png
deleted file mode 100644
index 76e89fbde8..00
Binary files a/source/media/screenshots/cui/ui/optsavepage/OptSavePage.png and 
/dev/null differ
diff --git a/source/media/screenshots/cui/ui/optsavepage/af/OptSavePage.png 
b/source/media/screenshots/cui/ui/optsavepage/af/OptSavePage.png
deleted file mode 100644
index fd218657c7..00
Binary files a/source/media/screenshots/cui/ui/optsavepage/af/OptSavePage.png 
and /dev/null differ
diff --git a/source/media/screenshots/cui/ui/optsavepage/am/OptSavePage.png 
b/source/media/screenshots/cui/ui/optsavepage/am/OptSavePage.png
deleted file mode 100644
index ec0cb18fb5..00
Binary files a/source/media/screenshots/cui/ui/optsavepage/am/OptSavePage.png 
and /dev/null differ
diff --git a/source/media/screenshots/cui/ui/optsavepage/ar/OptSavePage.png 
b/source/media/screenshots/cui/ui/optsavepage/ar/OptSavePage.png
deleted file mode 100644
index a5cf590d23..00
Binary files a/source/media/screenshots/cui/ui/optsavepage/ar/OptSavePage.png 
and /dev/null differ
diff --git a/source/media/screenshots/cui/ui/optsavepage/as/OptSavePage.png 
b/source/media/screenshots/cui/ui/optsavepage/as/OptSavePage.png
deleted file mode 100644
index f871edae44..00
Binary files a/source/media/screenshots/cui/ui/optsavepage/as/OptSavePage.png 
and /dev/null differ
diff --git a/source/media/screenshots/cui/ui/optsavepage/ast/OptSavePage.png 
b/source/media/screenshots/cui/ui/optsavepage/ast/OptSavePage.png
deleted file mode 100644
index 45e8d1b392..00
Binary files a/source/media/screenshots/cui/ui/optsavepage/ast/OptSavePage.png 
and /dev/null differ
diff --git a/source/media/screenshots/cui/ui/optsavepage/be/OptSavePage.png 
b/source/media/screenshots/cui/ui/optsavepage/be/OptSavePage.png
deleted file mode 100644
index 4ef306787d..00
Binary files a/source/media/screenshots/cui/ui/optsavepage/be/OptSavePage.png 
and /dev/null differ
diff --git a/source/media/screenshots/cui/ui/optsavepage/bg/OptSavePage.png 
b/source/media/screenshots/cui/ui/optsavepage/bg/OptSavePage.png
deleted file mode 100644
index baf75a96e6..00
Binary files a/source/media/screenshots/cui/ui/optsavepage/bg/OptSavePage.png 
and /dev/null differ
diff --git a/source/media/screenshots/cui/ui/optsavepage/bn-IN/OptSavePage.png 
b/source/media/screenshots/cui/ui/optsavepage/bn-IN/OptSavePage.png
deleted file mode 100644
index 

core.git: cui/uiconfig

2024-06-18 Thread Justin Luth (via logerrit)
 cui/uiconfig/ui/optsavepage.ui |4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

New commits:
commit 47af7ba63ce7f5c47cfef74d4606c0d8e92f7894
Author: Justin Luth 
AuthorDate: Fri Jun 14 16:00:11 2024 -0400
Commit: Justin Luth 
CommitDate: Tue Jun 18 22:11:53 2024 +0200

tdf#161579 userautosave: fix wording to match 24.2 implementation

The implementation changed with my LO 24.2
commit 63bb760acc8aa50c352f3349e8adf3db381b4911
https://gerrit.libreoffice.org/c/core/+/155273 for bug 57414

When the document successfully saved, there was no reason
to create a recovery version of it immediately afterward.

Change-Id: If62b9c60cf6b39d25ee42001eb6344593479c716
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168897
Tested-by: Jenkins
Reviewed-by: Justin Luth 

diff --git a/cui/uiconfig/ui/optsavepage.ui b/cui/uiconfig/ui/optsavepage.ui
index 38172d42956c..7a7dcf1dee34 100644
--- a/cui/uiconfig/ui/optsavepage.ui
+++ b/cui/uiconfig/ui/optsavepage.ui
@@ -221,7 +221,7 @@
 
 
   
-Automatically save the document 
too
+Automatically save the document 
instead
 True
 True
 False
@@ -230,7 +230,7 @@
 True
 
   
-Specifies that the office suite saves 
all open documents when saving auto recovery information. Uses the same time 
interval as AutoRecovery does.
+Specifies that the office suite saves 
the modified document itself, instead of creaing a temporary AutoRecovery 
version. Uses the same time interval as AutoRecovery does.
   
 
   


core.git: sc/inc sc/qa sc/source

2024-06-18 Thread Oliver Specht (via logerrit)
 sc/inc/globstr.hrc|2 ++
 sc/inc/table.hxx  |2 +-
 sc/qa/uitest/calc_tests9/tdf115474.py |   29 +
 sc/source/core/data/documen3.cxx  |7 +--
 sc/source/core/data/table4.cxx|5 -
 sc/source/ui/docshell/docfunc.cxx |   11 +++
 6 files changed, 52 insertions(+), 4 deletions(-)

New commits:
commit 52b95cfbb0aba120229f9f92570f2aa6f1fe3e33
Author: Oliver Specht 
AuthorDate: Wed May 22 12:39:12 2024 +0200
Commit: Thorsten Behrens 
CommitDate: Tue Jun 18 22:06:42 2024 +0200

Add warning and progress to AutoFormat

Applying AutoFormat to large selections may take really long.
A warning has been added to warn users.
Additionally a progress is shown while AutoFormat is working.

Change-Id: I74909a6243748ebfe0089406ebe947bb48eb93d5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167950
Reviewed-by: Thorsten Behrens 
Tested-by: Jenkins

diff --git a/sc/inc/globstr.hrc b/sc/inc/globstr.hrc
index 04bfae4f6f82..b7e695404743 100644
--- a/sc/inc/globstr.hrc
+++ b/sc/inc/globstr.hrc
@@ -270,6 +270,8 @@
 #define STR_HIDENC_("STR_HIDE", "Hide")
 #define STR_PRINT   NC_("STR_PRINT", "Print")
 #define STR_INVALID_AFAREA  NC_("STR_INVALID_AFAREA", "To 
apply an AutoFormat,
a table range of at least
3 × 3 cells must be selected.")
+#define STR_AUTOFORMAT_WAIT_WARNING_TITLE   
NC_("STR_AUTOFORMAT_WAIT_WARNING_TITLE", "")
+#define STR_AUTOFORMAT_WAIT_WARNING 
NC_("STR_AUTOFORMAT_WAIT_WARNING", "Applying AutoFormat to the selected range 
may take a long time.
Do you want to proceed?")
 #define STR_OPTIONALNC_("STR_OPTIONAL", 
"(optional)")
 #define STR_REQUIREDNC_("STR_REQUIRED", 
"(required)")
 #define STR_NOTES   NC_("STR_NOTES", "Comments")
diff --git a/sc/inc/table.hxx b/sc/inc/table.hxx
index 08f2fbce3015..8ddc5cdc3b09 100644
--- a/sc/inc/table.hxx
+++ b/sc/inc/table.hxx
@@ -723,7 +723,7 @@ public:
 void UpdateSelectionFunction( ScFunctionData& rData, const ScMarkData& 
rMark );
 
 voidAutoFormat( SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, 
SCROW nEndRow,
-sal_uInt16 nFormatNo );
+sal_uInt16 nFormatNo, ScProgress* 
pProgress );
 voidGetAutoFormatData(SCCOL nStartCol, SCROW nStartRow, SCCOL 
nEndCol, SCROW nEndRow, ScAutoFormatData& rData);
 boolSearchAndReplace(
 const SvxSearchItem& rSearchItem, SCCOL& rCol, SCROW& rRow, const 
ScMarkData& rMark,
diff --git a/sc/qa/uitest/calc_tests9/tdf115474.py 
b/sc/qa/uitest/calc_tests9/tdf115474.py
new file mode 100644
index ..92ca5cc7b7e6
--- /dev/null
+++ b/sc/qa/uitest/calc_tests9/tdf115474.py
@@ -0,0 +1,29 @@
+# -*- 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/.
+#
+from uitest.framework import UITestCase
+from uitest.uihelper.common import get_state_as_dict
+from uitest.uihelper.common import select_by_text, select_pos
+from libreoffice.calc.document import get_cell_by_position
+
+from libreoffice.uno.propertyvalue import mkPropertyValues
+
+class tdf115474(UITestCase):
+def test_tdf115474_Warning_Dialog(self):
+with self.ui_test.create_doc_in_start_center("calc") as document:
+gridwin = self.xUITest.getTopFocusWindow().getChild("grid_window")
+gridwin.executeAction("SELECT", mkPropertyValues({"RANGE": 
"A1:C100"}))
+with 
self.ui_test.execute_dialog_through_command(".uno:AutoFormat", close_button="") 
as xDialog:
+formatlb = xDialog.getChild("formatlb")
+entry = formatlb.getChild("2") # pick Box list blue
+entry.executeAction("SELECT", tuple())
+
+xOKBtn = xDialog.getChild("ok")
+with 
self.ui_test.execute_blocking_action(xOKBtn.executeAction, args=('CLICK', ()), 
close_button="no"):
+# no background color set, we've skipped autoformat!
+self.assertEqual(get_cell_by_position(document, 0, 0, 
0).CellBackColor, -1)
diff --git a/sc/source/core/data/documen3.cxx b/sc/source/core/data/documen3.cxx
index db8a9972e43f..6007ecf6d78f 100644
--- a/sc/source/core/data/documen3.cxx
+++ b/sc/source/core/data/documen3.cxx
@@ -55,6 +55,8 @@
 #include 
 #include 
 #include 
+#include 
+#include 
 #include 
 #include 
 #include 
@@ -70,7 +72,7 @@
 #include 
 #include 
 #include 
-
+#include 
 #include 
 #include 
 #include 
@@ -1190,6 +1192,7 @@ OUString ScDocument::GetAutoFillPreview( con

core.git: static/source

2024-06-18 Thread Stephan Bergmann (via logerrit)
 static/source/embindmaker/embindmaker.cxx |   22 +++---
 1 file changed, 19 insertions(+), 3 deletions(-)

New commits:
commit 4b80b643c142d3e5c9e47c091c95155246d6d0e3
Author: Stephan Bergmann 
AuthorDate: Tue Jun 18 17:57:25 2024 +0200
Commit: Stephan Bergmann 
CommitDate: Tue Jun 18 20:05:58 2024 +0200

Embind: Add the lifecylce fix also for attribute getter return values

...which had accidentally been left out at
04658a706757dabbedfd87717e6f1f354b4c8961 "Embind: Fix lifecycle of UNO any 
and
sequence values returned from JS to C++"

Change-Id: I7ec1766850049cb5032020b65ccc171027f739b8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169113
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann 

diff --git a/static/source/embindmaker/embindmaker.cxx 
b/static/source/embindmaker/embindmaker.cxx
index c40b8db6fa24..9727161ff859 100644
--- a/static/source/embindmaker/embindmaker.cxx
+++ b/static/source/embindmaker/embindmaker.cxx
@@ -702,9 +702,25 @@ void dumpWrapperClassMembers(std::ostream& out, 
rtl::Reference cons
 {
 out << "";
 dumpType(out, manager, attr.type);
-out << " get" << attr.name << "() override { return call<";
-dumpType(out, manager, attr.type);
-out << ">(\"get" << attr.name << "\"); }
";
+out << " get" << attr.name << "() override {";
+if (attr.type == "any" || attr.type.startsWith("[]"))
+{
+out << "
"
+   "auto & the_ptr = call<";
+dumpType(out, manager, attr.type);
+out << " const &>(\"get" << attr.name
+<< "\");
"
+   "auto const the_copy(the_ptr);
"
+   "delete &the_ptr;
"
+   "return the_copy;
"
+   "}
";
+}
+else
+{
+out << " return call<";
+dumpType(out, manager, attr.type);
+out << ">(\"get" << attr.name << "\"); }
";
+}
 if (!attr.readOnly)
 {
 out << "void set" << attr.name << "(";


core.git: Branch 'feature/cib_contract49c' - sc/inc sc/qa sc/source

2024-06-18 Thread Oliver Specht (via logerrit)
 sc/inc/globstr.hrc|2 ++
 sc/inc/table.hxx  |2 +-
 sc/qa/uitest/calc_tests9/tdf115474.py |   29 +
 sc/source/core/data/documen3.cxx  |7 +--
 sc/source/core/data/table4.cxx|5 -
 sc/source/ui/docshell/docfunc.cxx |   11 +++
 6 files changed, 52 insertions(+), 4 deletions(-)

New commits:
commit ee7c26d01ae2fa18e0129ca78790bf96f661349a
Author: Oliver Specht 
AuthorDate: Wed May 22 12:39:12 2024 +0200
Commit: Thorsten Behrens 
CommitDate: Tue Jun 18 19:57:22 2024 +0200

Add warning and progress to AutoFormat

Applying AutoFormat to large selections may take really long.
A warning has been added to warn users.
Additionally a progress is shown while AutoFormat is working.

Change-Id: I74909a6243748ebfe0089406ebe947bb48eb93d5

diff --git a/sc/inc/globstr.hrc b/sc/inc/globstr.hrc
index 6d73c41fdc51..c0ed61d07d41 100644
--- a/sc/inc/globstr.hrc
+++ b/sc/inc/globstr.hrc
@@ -269,6 +269,8 @@
 #define STR_HIDENC_("STR_HIDE", "Hide")
 #define STR_PRINT   NC_("STR_PRINT", "Print")
 #define STR_INVALID_AFAREA  NC_("STR_INVALID_AFAREA", "To 
apply an AutoFormat,
a table range of at least
3 × 3 cells must be selected.")
+#define STR_AUTOFORMAT_WAIT_WARNING_TITLE   
NC_("STR_AUTOFORMAT_WAIT_WARNING_TITLE", "")
+#define STR_AUTOFORMAT_WAIT_WARNING 
NC_("STR_AUTOFORMAT_WAIT_WARNING", "Applying AutoFormat to the selected range 
may take a long time.
Do you want to proceed?")
 #define STR_OPTIONALNC_("STR_OPTIONAL", 
"(optional)")
 #define STR_REQUIREDNC_("STR_REQUIRED", 
"(required)")
 #define STR_NOTES   NC_("STR_NOTES", "Comments")
diff --git a/sc/inc/table.hxx b/sc/inc/table.hxx
index e7a4f317fcb8..43100e44b50b 100644
--- a/sc/inc/table.hxx
+++ b/sc/inc/table.hxx
@@ -727,7 +727,7 @@ public:
 void UpdateSelectionFunction( ScFunctionData& rData, const ScMarkData& 
rMark );
 
 voidAutoFormat( SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, 
SCROW nEndRow,
-sal_uInt16 nFormatNo );
+sal_uInt16 nFormatNo, ScProgress* 
pProgress );
 voidGetAutoFormatData(SCCOL nStartCol, SCROW nStartRow, SCCOL 
nEndCol, SCROW nEndRow, ScAutoFormatData& rData);
 boolSearchAndReplace(
 const SvxSearchItem& rSearchItem, SCCOL& rCol, SCROW& rRow, const 
ScMarkData& rMark,
diff --git a/sc/qa/uitest/calc_tests9/tdf115474.py 
b/sc/qa/uitest/calc_tests9/tdf115474.py
new file mode 100644
index ..92ca5cc7b7e6
--- /dev/null
+++ b/sc/qa/uitest/calc_tests9/tdf115474.py
@@ -0,0 +1,29 @@
+# -*- 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/.
+#
+from uitest.framework import UITestCase
+from uitest.uihelper.common import get_state_as_dict
+from uitest.uihelper.common import select_by_text, select_pos
+from libreoffice.calc.document import get_cell_by_position
+
+from libreoffice.uno.propertyvalue import mkPropertyValues
+
+class tdf115474(UITestCase):
+def test_tdf115474_Warning_Dialog(self):
+with self.ui_test.create_doc_in_start_center("calc") as document:
+gridwin = self.xUITest.getTopFocusWindow().getChild("grid_window")
+gridwin.executeAction("SELECT", mkPropertyValues({"RANGE": 
"A1:C100"}))
+with 
self.ui_test.execute_dialog_through_command(".uno:AutoFormat", close_button="") 
as xDialog:
+formatlb = xDialog.getChild("formatlb")
+entry = formatlb.getChild("2") # pick Box list blue
+entry.executeAction("SELECT", tuple())
+
+xOKBtn = xDialog.getChild("ok")
+with 
self.ui_test.execute_blocking_action(xOKBtn.executeAction, args=('CLICK', ()), 
close_button="no"):
+# no background color set, we've skipped autoformat!
+self.assertEqual(get_cell_by_position(document, 0, 0, 
0).CellBackColor, -1)
diff --git a/sc/source/core/data/documen3.cxx b/sc/source/core/data/documen3.cxx
index 8ae4ff6c4e87..431998ed76a5 100644
--- a/sc/source/core/data/documen3.cxx
+++ b/sc/source/core/data/documen3.cxx
@@ -55,6 +55,8 @@
 #include 
 #include 
 #include 
+#include 
+#include 
 #include 
 #include 
 #include 
@@ -70,7 +72,7 @@
 #include 
 #include 
 #include 
-
+#include 
 #include 
 #include 
 #include 
@@ -1190,6 +1192,7 @@ OUString ScDocument::GetAutoFillPreview( const ScRange& 
rSource, SCCOL nEndX, SC
 void ScDocument::AutoFormat( SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, 
SCRO

core.git: Branch 'feature/cib_contract49c' - filter/source include/filter sw/inc sw/qa sw/source writerfilter/source

2024-06-18 Thread Oliver Specht (via logerrit)
 filter/source/msfilter/escherex.cxx |1 
 include/filter/msfilter/escherex.hxx|3 
 sw/inc/IDocumentDrawModelAccess.hxx |1 
 sw/inc/IDocumentSettingAccess.hxx   |2 
 sw/qa/extras/layout/layout2.cxx |   18 ++---
 sw/qa/extras/ooxmlexport/ooxmlexport19.cxx  |2 
 sw/source/core/doc/DocumentDrawModelManager.cxx |   13 +++-
 sw/source/core/doc/DocumentSettingManager.cxx   |   13 +++-
 sw/source/core/doc/notxtfrm.cxx |2 
 sw/source/core/inc/DocumentDrawModelManager.hxx |3 
 sw/source/core/inc/DocumentSettingManager.hxx   |1 
 sw/source/core/inc/cellfrm.hxx  |2 
 sw/source/core/inc/flyfrm.hxx   |4 -
 sw/source/core/inc/frame.hxx|   10 ++-
 sw/source/core/inc/layfrm.hxx   |2 
 sw/source/core/inc/notxtfrm.hxx |2 
 sw/source/core/inc/rootfrm.hxx  |2 
 sw/source/core/inc/tabfrm.hxx   |2 
 sw/source/core/inc/txtfrm.hxx   |2 
 sw/source/core/layout/fly.cxx   |   26 ++--
 sw/source/core/layout/paintfrm.cxx  |   76 +++-
 sw/source/core/layout/unusedf.cxx   |2 
 sw/source/core/text/frmpaint.cxx|2 
 sw/source/core/unocore/unodraw.cxx  |7 +-
 sw/source/core/unocore/unoframe.cxx |   10 ++-
 sw/source/filter/ww8/docxsdrexport.cxx  |   11 +--
 sw/source/filter/ww8/wrtw8esh.cxx   |2 
 sw/source/uibase/uno/SwXDocumentSettings.cxx|   16 +
 writerfilter/source/dmapper/DomainMapper.cxx|2 
 writerfilter/source/filter/WriterFilter.cxx |2 
 30 files changed, 188 insertions(+), 53 deletions(-)

New commits:
commit ea1e37d9616383260551b8ac5789ccc185b2c0db
Author: Oliver Specht 
AuthorDate: Wed Mar 13 13:04:18 2024 +0100
Commit: Thorsten Behrens 
CommitDate: Tue Jun 18 19:56:43 2024 +0200

tdf#160198 Compatibility in background shapes/pictures

Paint Word background shapes/pictures (wrapped through) above
header and footer if the anchor is in the document body.

Change-Id: Ic32ba8d64f82c64e502788007e49a9dce4c4c76f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164802
Tested-by: Gabor Kelemen 
Tested-by: Jenkins
Reviewed-by: Thorsten Behrens 
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169085
Tested-by: Thorsten Behrens 

diff --git a/filter/source/msfilter/escherex.cxx 
b/filter/source/msfilter/escherex.cxx
index caf07865941e..1b9b6cb745c7 100644
--- a/filter/source/msfilter/escherex.cxx
+++ b/filter/source/msfilter/escherex.cxx
@@ -4867,6 +4867,7 @@ EscherEx::EscherEx(std::shared_ptr 
xGlobal, SvStream* pOutStrm,
 , mnCountOfs(0)
 , mnGroupLevel(0)
 , mnHellLayerId(SDRLAYER_NOTFOUND)
+, mnHeaderFooterHellLayerId(SDRLAYER_NOTFOUND)
 , mbEscherSpgr(false)
 , mbEscherDg(false)
 , mbOOXML(bOOXML)
diff --git a/include/filter/msfilter/escherex.hxx 
b/include/filter/msfilter/escherex.hxx
index 48ed81d0ffd6..10e5dbe7fe5c 100644
--- a/include/filter/msfilter/escherex.hxx
+++ b/include/filter/msfilter/escherex.hxx
@@ -1062,6 +1062,7 @@ class MSFILTER_DLLPUBLIC EscherEx : public 
EscherPersistTable
 
 sal_uInt32  mnGroupLevel;
 SdrLayerID  mnHellLayerId;
+SdrLayerID  mnHeaderFooterHellLayerId;
 
 boolmbEscherSpgr;
 boolmbEscherDg;
@@ -1211,6 +1212,8 @@ public:
 
 void SetHellLayerId( SdrLayerID nId )   { mnHellLayerId = nId; }
 SdrLayerID GetHellLayerId() const   { return mnHellLayerId; }
+void SetHeaderFooterHellLayerId( SdrLayerID nId )   { 
mnHeaderFooterHellLayerId = nId; }
+SdrLayerID GetHeaderFooterHellLayerId() const   { return 
mnHeaderFooterHellLayerId; }
 
 private:
 EscherEx( const EscherEx& ) = delete;
diff --git a/sw/inc/IDocumentDrawModelAccess.hxx 
b/sw/inc/IDocumentDrawModelAccess.hxx
index 3c1113cfe882..3a40da7881ec 100644
--- a/sw/inc/IDocumentDrawModelAccess.hxx
+++ b/sw/inc/IDocumentDrawModelAccess.hxx
@@ -37,6 +37,7 @@ public:
 virtual SwDrawModel* GetOrCreateDrawModel() = 0;
 virtual SdrLayerID GetHeavenId() const = 0;
 virtual SdrLayerID GetHellId() const = 0;
+virtual SdrLayerID GetHeaderFooterHellId() const = 0;
 virtual SdrLayerID GetControlsId() const = 0;
 virtual SdrLayerID GetInvisibleHeavenId() const = 0;
 virtual SdrLayerID GetInvisibleHellId() const = 0;
diff --git a/sw/inc/IDocumentSettingAccess.hxx 
b/sw/inc/IDocumentSettingAccess.hxx
index 264860b854c4..39bcd7efcbeb 100644
--- a/sw/inc/IDocumentSettingAccess.hxx
+++ b/sw/inc/IDocumentSettingAccess.hxx
@@ -133,6 +133,8 @@ enum class DocumentSettingId
 DROP_CAP_PUNCTUATION,
 // render NBSP as standard-spa

[GSoC .NET Bindings for UNO, Week 4] unit tests and disable switches

2024-06-18 Thread Ritobroto Mukherjee
Hello everyone,

Here's a brief update on this week's progress:
- Working on a patch to disable the generation of old CLI bindings with
an autogen switch, as a first step toward deprecation, here:
https://gerrit.libreoffice.org/c/core/+/168751
- Another patch to integrate unit tests for dotnet with gbuild, with
the NUnit testing framework, here:
https://gerrit.libreoffice.org/c/core/+/168956
- Started work on the actual bridge itself. Progress is a bit slow,
with there being a lot of classes to implement and lots of older code
to study, so no patch just yet.

Best regards,
Ritobroto


GSOC More and Better Tests: Weekly Update

2024-06-18 Thread Adam Seskunas
Hello everyone,

This past week I continued working on the pesky checkdispatchapi.java tests. 
Xisco has come up with a roll out plan, to get the tests working/resolve the 
issues in stages. There is another patch set here

https://gerrit.libreoffice.org/c/core/+/168694 


with most of the tests enabled, and currently building with no problems. The 
next stage still needs to be completed, and that will entail getting the test 
windows to close cleanly, and getting the last three database tests to build 
without errors.


I also continued to work on porting the checkInterception() test, located in 
checkdispatchapi.java. By the end of the week, I had gotten stuck translating 
the Interceptor.java helper class over to c++. Xisco kindly suggested that 
since I had already written a few database adjacent tests, that I look into the 
the dbaccess/qa/complex tests to maybe give one a try, for a change of pace. I 
found dbaccess/qa/complex/dbaccess/DataSource.java and have ported that over to 
CppUnit. The patch can be found here

https://gerrit.libreoffice.org/c/core/+/169071 


There are at least two other tests in dbaccess/qa/complex that I’m interested 
in porting over to CppUnit. The issue is that they rely on the "Customer 
Relationship Management” database that is set up in 
connectivity/qa/connectivity/tools/CRMDatabase.java. The idea I have is to save 
that database to file, then it will be a simple matter to perform the other 
tests by just opening the test file, no need to set up the database tables and 
queries for each test or to translate the setup code to c++. If anyone has any 
suggestions on how to do this, feel free to chime in, I will be working on it 
this week.

This week I will also be working on porting over some tests from the Missing 
Unit Test list. The plan is to start with here
https://bugs.documentfoundation.org/show_bug.cgi?id=85769 


and if time allows, write this test as well
https://bugs.documentfoundation.org/show_bug.cgi?id=103063 


That’s it for now, hope everyone has a good week.

Cheers,
Adam Seskunas

core.git: sc/qa svl/qa

2024-06-18 Thread Xisco Fauli (via logerrit)
 dev/null|binary
 sc/qa/extras/vba-macro-test.cxx |   21 -
 svl/qa/unit/svl.cxx |7 +++
 3 files changed, 7 insertions(+), 21 deletions(-)

New commits:
commit cac37fefae32fc6a0df2c579e08619568087af81
Author: Xisco Fauli 
AuthorDate: Tue Jun 18 16:36:00 2024 +0200
Commit: Xisco Fauli 
CommitDate: Tue Jun 18 17:51:36 2024 +0200

tdf#131562: move test to svl and extend it

based on the commit message from 7186541219599e1b51ad35601c2cd015a329f360
"Resolves: tdf#131562 decimal separator may not be surrounded by blanks"

Change-Id: I19c2a687663304003566e9d93504f0baf33f1d83
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169111
Reviewed-by: Xisco Fauli 
Tested-by: Jenkins

diff --git a/sc/qa/extras/testdocuments/tdf131562.xlsm 
b/sc/qa/extras/testdocuments/tdf131562.xlsm
deleted file mode 100644
index e56576ba4583..
Binary files a/sc/qa/extras/testdocuments/tdf131562.xlsm and /dev/null differ
diff --git a/sc/qa/extras/vba-macro-test.cxx b/sc/qa/extras/vba-macro-test.cxx
index 81d179705b5a..d6816dc72ac1 100644
--- a/sc/qa/extras/vba-macro-test.cxx
+++ b/sc/qa/extras/vba-macro-test.cxx
@@ -561,27 +561,6 @@ CPPUNIT_TEST_FIXTURE(VBAMacroTest, testTdf107885)
 CPPUNIT_ASSERT(!rDoc.RowHidden(4, 0));
 }
 
-CPPUNIT_TEST_FIXTURE(VBAMacroTest, testTdf131562)
-{
-loadFromFile(u"tdf131562.xlsm");
-
-SfxObjectShell* pFoundShell = 
SfxObjectShell::GetShellFromComponent(mxComponent);
-
-CPPUNIT_ASSERT_MESSAGE("Failed to access document shell", pFoundShell);
-ScDocShell* pDocSh = static_cast(pFoundShell);
-ScDocument& rDoc = pDocSh->GetDocument();
-
-CPPUNIT_ASSERT_EQUAL(u"1"_ustr, rDoc.GetString(ScAddress(0, 2, 0)));
-CPPUNIT_ASSERT_EQUAL(u""_ustr, rDoc.GetString(ScAddress(0, 3, 0)));
-
-executeMacro(
-
u"vnd.sun.Star.script:VBAProject.Munka1.numberconcat?language=Basic&location=document"_ustr);
-
-//Without the fix in place, the macro wouldn't have concatenated 1 and " ."
-CPPUNIT_ASSERT_EQUAL(u"1 ."_ustr, rDoc.GetString(ScAddress(0, 2, 0)));
-CPPUNIT_ASSERT_EQUAL(u"1 .cat"_ustr, rDoc.GetString(ScAddress(0, 3, 0)));
-}
-
 CPPUNIT_TEST_FIXTURE(VBAMacroTest, testTdf52602)
 {
 loadFromFile(u"tdf52602.xls");
diff --git a/svl/qa/unit/svl.cxx b/svl/qa/unit/svl.cxx
index d6dfc9b2bc05..a27651c808e0 100644
--- a/svl/qa/unit/svl.cxx
+++ b/svl/qa/unit/svl.cxx
@@ -1155,6 +1155,13 @@ void Test::testIsNumberFormat()
 { "test", false },
 { "$0.12", true }, // tdf#48706
 { "$.12", true }, // tdf#48706
+{ "1 .", false }, // tdf#131562
+{ "1 .2", false }, // tdf#131562
+{ "1 . 2", false }, // tdf#131562
+{ "1. 2", false }, // tdf#131562
+{ " . 2", false }, // tdf#131562
+{ ". 2", false }, // tdf#131562
+{ " .2", true }, // tdf#131562
 { "Jan1", false }, // tdf#34724
 { "1Jan", false }, // tdf#34724
 { "Jan1 2000", true }, // tdf#91420


core.git: svl/qa

2024-06-18 Thread Xisco Fauli (via logerrit)
 svl/qa/unit/svl.cxx |2 ++
 1 file changed, 2 insertions(+)

New commits:
commit 60fb7edc6dc485870b944e5981dd38d02a718e9e
Author: Xisco Fauli 
AuthorDate: Tue Jun 18 15:57:46 2024 +0200
Commit: Xisco Fauli 
CommitDate: Tue Jun 18 17:35:16 2024 +0200

tdf#48706: svl_qa_cppunit: Add unittest

Change-Id: Ia57006f88c8d0d0658178edb4d645b9d63de37c7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169089
Reviewed-by: Xisco Fauli 
Tested-by: Jenkins

diff --git a/svl/qa/unit/svl.cxx b/svl/qa/unit/svl.cxx
index 3a8f5f51b43e..d6dfc9b2bc05 100644
--- a/svl/qa/unit/svl.cxx
+++ b/svl/qa/unit/svl.cxx
@@ -1153,6 +1153,8 @@ void Test::testIsNumberFormat()
 { "20.3", true },
 { "2", true },
 { "test", false },
+{ "$0.12", true }, // tdf#48706
+{ "$.12", true }, // tdf#48706
 { "Jan1", false }, // tdf#34724
 { "1Jan", false }, // tdf#34724
 { "Jan1 2000", true }, // tdf#91420


core.git: cui/inc officecfg/registry

2024-06-18 Thread kubak (via logerrit)
 cui/inc/tipoftheday.hrc|2 +-
 officecfg/registry/data/org/openoffice/Office/Accelerators.xcu |6 --
 2 files changed, 1 insertion(+), 7 deletions(-)

New commits:
commit 2769feccbf026dd318c4afa08ba3692f287d7c5d
Author: kubak 
AuthorDate: Sun May 5 19:40:36 2024 +0200
Commit: Heiko Tietze 
CommitDate: Tue Jun 18 17:32:00 2024 +0200

tdf#131688 - RemoveDirectCharFormats ++X usage tip

Change-Id: I89c2c7d6af663904223834664aeb635cb99068bf
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167164
Tested-by: Jenkins
Reviewed-by: Heiko Tietze 

diff --git a/cui/inc/tipoftheday.hrc b/cui/inc/tipoftheday.hrc
index a87d1ec51387..4a88d774b7df 100644
--- a/cui/inc/tipoftheday.hrc
+++ b/cui/inc/tipoftheday.hrc
@@ -117,7 +117,7 @@ const std::tuple TIPOFTHEDAY_STRINGA
  { NC_("RID_CUI_TIPOFTHEDAY", "Change the basic fonts for the predefined 
template or current document per Tools ▸ Options ▸ %PRODUCTNAME Writer ▸ Basic 
Fonts."), "modules/swriter/ui/optfonttabpage/OptFontTabPage", "", swriter}, 
//https://help.libreoffice.org/%PRODUCTVERSION/%LANGUAGENAME/text/shared/optionen/01040300.html
  { NC_("RID_CUI_TIPOFTHEDAY", "Want to find words containing more than 10 
characters? Edit ▸ Find and Replace ▸ Search ▸ [a-z]{10,} ▸ Other Options ▸ 
check Regular expressions."), "", "", swriter},
  { NC_("RID_CUI_TIPOFTHEDAY", "Open a CSV file as a new sheet in the 
current spreadsheet via Sheet ▸ Sheet from file."), "", "", scalc},
- { NC_("RID_CUI_TIPOFTHEDAY", "You can continue writing with the default 
formatting attributes after manually applying bold, italic or underline by 
pressing %MOD1+Shift+X."), "", "", swriter},
+ { NC_("RID_CUI_TIPOFTHEDAY", "You can continue writing with the default 
formatting attributes after manually applying bold, italic or underline by 
pressing %MOD1+M."), "", "", swriter},
  { NC_("RID_CUI_TIPOFTHEDAY", "Use %MOD1+%MOD2+Shift+V to paste the 
contents of the clipboard as unformatted text."), "", "", swriter},
  { NC_("RID_CUI_TIPOFTHEDAY", "Customize footnote appearance with Tools ▸ 
Footnote/Endnote Settings…"), ".uno:FootnoteDialog", "", swriter},
  { NC_("RID_CUI_TIPOFTHEDAY", "With Slide Show ▸ Custom Slide Show, 
reorder and pick slides to fit a slideshow to the needs of your viewers."), "", 
"", simpress},
diff --git a/officecfg/registry/data/org/openoffice/Office/Accelerators.xcu 
b/officecfg/registry/data/org/openoffice/Office/Accelerators.xcu
index c5f32a4af1d8..d90357018cb0 100644
--- a/officecfg/registry/data/org/openoffice/Office/Accelerators.xcu
+++ b/officecfg/registry/data/org/openoffice/Office/Accelerators.xcu
@@ -6844,12 +6844,6 @@ Ctrl+Shift+u aka U_SHIFT_MOD1 under GTK/IBUS is for 
unicode key input
 .uno:PasteSpecial
   
 
-
-  
-L10N SHORTCUTS - NO 
TRANSLATE
-.uno:RemoveDirectCharFormats
-  
-
 
   
 L10N SHORTCUTS - NO 
TRANSLATE


core.git: linguistic/source

2024-06-18 Thread László Németh (via logerrit)
 linguistic/source/spelldsp.cxx |   41 ++---
 1 file changed, 18 insertions(+), 23 deletions(-)

New commits:
commit ee6bf912d615d0afa438f743ddf3e4f6f5f890aa
Author: László Németh 
AuthorDate: Tue Jun 18 14:43:05 2024 +0200
Commit: László Németh 
CommitDate: Tue Jun 18 17:27:21 2024 +0200

tdf#161637 linguistic: fix apostrophe in spelling suggestions

Use the correct typographic (curly) apostrophe instead of the
obsolete straight (typewriter or ASCII) apostrophe.

Follow-up to commit e6fade1ce133039d28369751b77ac8faff6e40cb
"tdf#38395 enable smart apostrophe replacement by default" and
commit 8de1941fe61b461be617e1e88bb362bbd8315654
"tdf#150582 linguistic: fix always rejected words with U+2019 apostrophe".

Change-Id: Ic0e9aabcce7e95703601dd74e039f2838c89c769
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169087
Tested-by: Jenkins
Reviewed-by: László Németh 

diff --git a/linguistic/source/spelldsp.cxx b/linguistic/source/spelldsp.cxx
index cf83b3a2e3b7..d4f6712a710c 100644
--- a/linguistic/source/spelldsp.cxx
+++ b/linguistic/source/spelldsp.cxx
@@ -59,8 +59,6 @@ class ProposalList
 {
 std::vector< OUString > aVec;
 
-boolHasEntry( std::u16string_view rText ) const;
-
 public:
 ProposalList()  {}
 ProposalList(const ProposalList&) = delete;
@@ -68,7 +66,7 @@ public:
 
 size_t  Count() const;
 voidPrepend( const OUString &rText );
-voidAppend( const OUString &rNew );
+voidAppend( const OUString &rNew, bool bPrepend = false );
 voidAppend( const std::vector< OUString > &rNew );
 voidAppend( const Sequence< OUString > &rNew );
 std::vector< OUString > GetVector() const;
@@ -76,28 +74,29 @@ public:
 
 }
 
-bool ProposalList::HasEntry( std::u16string_view rText ) const
+void ProposalList::Prepend( const OUString &rText )
+{
+Append( rText, /*bPrepend=*/true );
+}
+
+void ProposalList::Append( const OUString &rOrig, bool bPrepend )
 {
 bool bFound = false;
+// convert ASCII apostrophe to the typographic one
+const OUString &rText( rOrig.indexOf( '\'' ) > -1 ? rOrig.replace('\'', 
u'’') : rOrig );
 size_t nCnt = aVec.size();
 for (size_t i = 0;  !bFound && i < nCnt;  ++i)
 {
 if (aVec[i] == rText)
 bFound = true;
 }
-return bFound;
-}
-
-void ProposalList::Prepend( const OUString &rText )
-{
-if (!HasEntry( rText ))
-aVec.insert( aVec.begin(), rText );
-}
-
-void ProposalList::Append( const OUString &rText )
-{
-if (!HasEntry( rText ))
-aVec.push_back( rText );
+if (!bFound)
+{
+if ( bPrepend )
+aVec.insert( aVec.begin(), rText );
+else
+aVec.push_back( rText );
+}
 }
 
 void ProposalList::Append( const std::vector< OUString > &rNew )
@@ -106,18 +105,14 @@ void ProposalList::Append( const std::vector< OUString > 
&rNew )
 for ( size_t i = 0;  i < nLen;  ++i)
 {
 const OUString &rText = rNew[i];
-if (!HasEntry( rText ))
-Append( rText );
+Append( rText );
 }
 }
 
 void ProposalList::Append( const Sequence< OUString > &rNew )
 {
 for (const OUString& rText : rNew)
-{
-if (!HasEntry( rText ))
-Append( rText );
-}
+Append( rText );
 }
 
 size_t ProposalList::Count() const


core.git: sc/qa

2024-06-18 Thread Xisco Fauli (via logerrit)
 sc/qa/uitest/goalSeek/goalSeek.py |   35 +++
 1 file changed, 31 insertions(+), 4 deletions(-)

New commits:
commit 5dfa4bda2cb023a6a2fbccd4ff63a704f958851f
Author: Xisco Fauli 
AuthorDate: Tue Jun 18 11:01:49 2024 +0200
Commit: Xisco Fauli 
CommitDate: Tue Jun 18 15:33:35 2024 +0200

tdf#118226, tdf#161462: sc: Add UItest

Change-Id: Ifd7b8a92dff30fee25b1431dde0f3426b2f8bab2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169083
Tested-by: Jenkins
Reviewed-by: Xisco Fauli 

diff --git a/sc/qa/uitest/goalSeek/goalSeek.py 
b/sc/qa/uitest/goalSeek/goalSeek.py
index a238ea8c5fee..0cc4a5b0fe7d 100644
--- a/sc/qa/uitest/goalSeek/goalSeek.py
+++ b/sc/qa/uitest/goalSeek/goalSeek.py
@@ -7,7 +7,7 @@
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 #
 from uitest.framework import UITestCase
-from uitest.uihelper.common import get_url_for_data_file
+from uitest.uihelper.common import get_url_for_data_file, get_state_as_dict
 
 from libreoffice.calc.document import get_cell_by_position
 from libreoffice.uno.propertyvalue import mkPropertyValues
@@ -20,6 +20,9 @@ class goalSeek(UITestCase):
 gridwin = xCalcDoc.getChild("grid_window")
 gridwin.executeAction("SELECT", mkPropertyValues({"CELL": "B4"}))
 with 
self.ui_test.execute_modeless_dialog_through_command(".uno:GoalSeekDialog", 
close_button="") as xDialog:
+xFormulaEdit = xDialog.getChild("formulaedit")
+self.assertEqual("$B$4", 
get_state_as_dict(xFormulaEdit)["Text"])
+
 xtarget = xDialog.getChild("target")
 xvaredit = xDialog.getChild("varedit")
 xtarget.executeAction("TYPE", 
mkPropertyValues({"TEXT":"15000"}))
@@ -29,8 +32,32 @@ class goalSeek(UITestCase):
 with 
self.ui_test.execute_blocking_action(xOKBtn.executeAction, args=('CLICK', ()), 
close_button="yes"):
 pass
 
-#verify
-self.assertEqual(get_cell_by_position(calc_doc, 0, 1, 
0).getValue(), 20)
-self.assertEqual(get_cell_by_position(calc_doc, 0, 1, 
3).getValue(), 15000)
+# tdf#118226: Without the fix in place, this test would have 
failed with
+# AssertionError: 10.0 != 20
+self.assertEqual(20, get_cell_by_position(calc_doc, 0, 1, 
0).getValue())
+self.assertEqual(15000, get_cell_by_position(calc_doc, 0, 1, 
3).getValue())
+
+self.xUITest.executeCommand(".uno:Undo")
+
+self.assertEqual(10, get_cell_by_position(calc_doc, 0, 1, 
0).getValue())
+self.assertEqual(7500, get_cell_by_position(calc_doc, 0, 1, 
3).getValue())
+
+# tdf#161462 check settings are remembered
+with 
self.ui_test.execute_modeless_dialog_through_command(".uno:GoalSeekDialog", 
close_button="") as xDialog:
+xFormulaEdit = xDialog.getChild("formulaedit")
+xTarget = xDialog.getChild("target")
+xVarEdit = xDialog.getChild("varedit")
+
+self.assertEqual("$B$4", 
get_state_as_dict(xFormulaEdit)["Text"])
+self.assertEqual("15000", get_state_as_dict(xTarget)["Text"])
+self.assertEqual("$B$1", get_state_as_dict(xVarEdit)["Text"])
+xOKBtn = xDialog.getChild("ok")
+
+with 
self.ui_test.execute_blocking_action(xOKBtn.executeAction, args=('CLICK', ()), 
close_button="no"):
+pass
+
+# Clicking on 'no' doesn't update the data
+self.assertEqual(10, get_cell_by_position(calc_doc, 0, 1, 
0).getValue())
+self.assertEqual(7500, get_cell_by_position(calc_doc, 0, 1, 
3).getValue())
 
 # vim: set shiftwidth=4 softtabstop=4 expandtab:


regular expressions in XMATCH and XLOOKUP

2024-06-18 Thread Regina Henschel

Hi all, hi Balázs,

yesterday the ODF TC had a call with guests from Microsoft, Excel 
experts. They told us, that they are going to implement regular 
expression search for XMATCH and XLOOKUP in a way that they introduce a 
a value "3" for parameter Match_mode. The ODF TC will follow that in the 
specification of these functions and at the same time specify, that the 
host dependent properties HOST-USE-REGULAR-EXPRESSIONS and 
HOST-USE-WILDCARDS (file format table:use-regular-expressions and 
table:use-wildcards) will be ignored by these functions.


I think it is a good idea to make the function results independent from 
global settings.


I suggest to change our implementation of XLOOKUP and XMATCH 
immediately. In case that will not be possible for version 24.8., add a 
warning to the release notes, that the functions are experimental and 
the exact syntax and behavior might be changed in a later version.


Kind regards,
Regina


core.git: Branch 'feature/cib_contract49c' - 7 commits - include/xmloff sc/sdi sc/source sd/qa sw/qa sw/source writerfilter/source xmloff/source

2024-06-18 Thread Mike Kaganski (via logerrit)
 include/xmloff/txtparae.hxx   |7 
 sc/sdi/cellsh.sdi |2 
 sc/source/ui/view/cellsh.cxx  |1 
 sd/qa/unit/data/odp/tdf161023.fodp|   35 +
 sd/qa/unit/import-tests2.cxx  |   52 ++
 sw/qa/core/text/data/number-portion-format.odt|binary
 sw/qa/extras/htmlexport/xhtmlexport.cxx   |4 
 sw/qa/extras/odfexport/data/table_in_frame_to_page.fodt   |   66 +++
 sw/qa/extras/odfexport/data/tdf160253_ordinary_numbering.fodt |   43 ++
 sw/qa/extras/odfexport/data/tdf160253_outline_numbering.fodt  |   37 +
 sw/qa/extras/odfexport/odfexport2.cxx |   84 +++-
 sw/qa/extras/odfimport/data/empty_line_in_text_box.fodt   |   31 +
 sw/qa/extras/odfimport/odfimport.cxx  |   53 ++
 sw/qa/extras/ooxmlexport/data/A019_min.docx   |binary
 sw/qa/extras/ooxmlexport/ooxmlexport19.cxx|   17 
 sw/source/core/text/txtfld.cxx|   22 -
 sw/source/filter/ww8/docxattributeoutput.cxx  |   11 
 sw/source/filter/ww8/docxexport.hxx   |6 
 sw/source/filter/ww8/ww8par.cxx   |   19 
 sw/source/filter/ww8/ww8par.hxx   |2 
 sw/source/filter/ww8/ww8par2.cxx  |4 
 sw/source/filter/ww8/ww8par5.cxx  |2 
 sw/source/filter/ww8/ww8par6.cxx  |4 
 sw/source/filter/xml/xmlfmte.cxx  |2 
 writerfilter/source/dmapper/PropertyMap.cxx   |   11 
 xmloff/source/text/txtparae.cxx   |  208 ++
 xmloff/source/text/txtparai.cxx   |   13 
 27 files changed, 518 insertions(+), 218 deletions(-)

New commits:
commit 483bdc12b257e4860ae22bd4f6b468019d75aa4e
Author: Mike Kaganski 
AuthorDate: Mon May 13 15:04:09 2024 +0500
Commit: Thorsten Behrens 
CommitDate: Tue Jun 18 12:53:04 2024 +0200

tdf#161054: drop support of last empty span as paragraph mark format

Commits 6249858a8972aef077e0249bd93cfe8f01bce4d6 (sw: ODT import/export
of DOCX's paragraph marker formatting, 2022-12-19)
and 209dce614c43f63f63f5b42a746665c0ec1cbfe3 (sw: fix ODT import of
paragraph marker formatting, 2022-12-20) introduced support for paragraph
marker formatting in ODF, using an empty trailing span. Later, commit
1a88efa8e02a6d765dab13c7110443bb9e6acecf (tdf#155238: Reimplement how
ListAutoFormat is stored to ODF, 2023-05-11) changed how the data was
stored in ODF. Then, in commit 69ed893087f89d176a5ec4b263ce8d75774be72b
(tdf#160253: fix list identifier export decision code, 2024-04-24), some
remnants of the older "trailing empty spans" were removed, but a code
was added in XMLParaContext::endFastElement, to keep backward compatible
with documents created in the frame between December 2022 and May 2023.

The said compatibility code brings own problems, requiring new hacks
like commit 2ca93eb5df7ddb8641ff7d884a109261c9700aca (tdf#161023: Empty
spans may only define paragraph marks in text documents, 2024-05-13),
and keeping the code would need more hacks on top, e.g. to fix the case
in ODT documents.

Instead, let's bite the bullet, and drop the compatibility with this
initial implementation, because it was only a brief period during which
the documents could be created, which can be affected by this drop. This
makes the code simpler.

A testdoc for testNumberPortionFormat was edited to use the new markup
for the paragraph marks formatting.

Change-Id: I053e72dd1cc2ead83baa6ce7d24c8522b494c8fa
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167583
Tested-by: Jenkins
Reviewed-by: Mike Kaganski 

diff --git a/sw/qa/core/text/data/number-portion-format.odt 
b/sw/qa/core/text/data/number-portion-format.odt
index 19b23ae84420..70b67ee3547e 100644
Binary files a/sw/qa/core/text/data/number-portion-format.odt and 
b/sw/qa/core/text/data/number-portion-format.odt differ
diff --git a/sw/qa/extras/odfimport/data/empty_line_in_text_box.fodt 
b/sw/qa/extras/odfimport/data/empty_line_in_text_box.fodt
new file mode 100644
index ..4ae36a9c5fac
--- /dev/null
+++ b/sw/qa/extras/odfimport/data/empty_line_in_text_box.fodt
@@ -0,0 +1,31 @@
+
+
+
+ 
+  
+ 
+ 
+  
+   
+  
+ 
+ 
+  
+   
+  
+  
+   
+  
+ 
+ 
+  
+   
+ 
+  a
+  
+  c
+ 
+
+  
+ 
+
\ No newline at end of file
diff --git a/sw/qa/extras/odfimport/odfimport.cxx 
b/sw/qa/extras/odfimport/odfimport.cxx
index 70c6452e3d9f..0074b53f851e 100644
--- a/sw/qa/extras/odfimport/odfimport.cxx
+++ b/sw/qa/extras/odfimport/odfimport.cxx
@@ -1561,5 +1561,58 

core.git: helpcontent2

2024-06-18 Thread Dione Maddern (via logerrit)
 helpcontent2 |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit 53afc7b4b9b79f2f982f030f3baf7b6f636450c2
Author: Dione Maddern 
AuthorDate: Tue Jun 18 14:17:31 2024 +0200
Commit: Gerrit Code Review 
CommitDate: Tue Jun 18 14:17:31 2024 +0200

Update git submodules

* Update helpcontent2 from branch 'master'
  to 2f70c8aa2a700cad40257f020998c8dce5ed3dda
  - tdf#118588 Relevant help information for Impress Insert Table

Created a new file text/shared/01/insert_table.xhp
- Moved help content for Insert > Insert Table in Impress and Draw from 
text/simpress/01/04080100.xhp to a new file.
- Moved hid bookmarks from text/simpress/01/04080100.xhp and 
text/swriter/01/0415.xhp to the new file. Even though these are technically 
different ui components, they all use the same HID and pressing F1 or Help was 
opening the help file for Writer.
- Embedded relevant help content for Writer to avoid retransalation.

Deleted text/simpress/01/04080100.xhp

In AllLangHelp_shared.mk
- Added a reference to text/shared/01/insert_table.xhp

In AllLangHelp_simpress.mk
- Removed the reference to text/simpress/01/04080100.xhp

In text/simpress/guide/table_insert.xhp
- Changed title and H1 to make it clearer that the article is about 
both Tables and Spreadsheets.

In text/simpress/main0104.xhp
- Added variable tags so that the page can be more easily linked from 
other pages

In text/simpress/00/0404.xhp
- Updated howtoget information to include information for the TabUI

Change-Id: I16626a0bb467e475571185571348f26ce745af8c
Reviewed-on: https://gerrit.libreoffice.org/c/help/+/169013
Reviewed-by: Olivier Hallot 
Tested-by: Jenkins

diff --git a/helpcontent2 b/helpcontent2
index 4c8b04c8d9d3..2f70c8aa2a70 16
--- a/helpcontent2
+++ b/helpcontent2
@@ -1 +1 @@
-Subproject commit 4c8b04c8d9d3a2367bb3205b852f2d7b75082f90
+Subproject commit 2f70c8aa2a700cad40257f020998c8dce5ed3dda


help.git: AllLangHelp_shared.mk AllLangHelp_simpress.mk source/text

2024-06-18 Thread Dione Maddern (via logerrit)
 AllLangHelp_shared.mk   |1 
 AllLangHelp_simpress.mk |1 
 source/text/shared/01/insert_table.xhp  |  105 
 source/text/simpress/00/0404.xhp|   11 ++
 source/text/simpress/01/04080100.xhp|   39 --
 source/text/simpress/guide/table_insert.xhp |9 +-
 source/text/simpress/main0104.xhp   |3 
 source/text/swriter/01/0415.xhp |   53 ++
 8 files changed, 162 insertions(+), 60 deletions(-)

New commits:
commit 2f70c8aa2a700cad40257f020998c8dce5ed3dda
Author: Dione Maddern 
AuthorDate: Mon Jun 17 20:14:12 2024 +0200
Commit: Olivier Hallot 
CommitDate: Tue Jun 18 14:17:31 2024 +0200

tdf#118588 Relevant help information for Impress Insert Table

Created a new file text/shared/01/insert_table.xhp
- Moved help content for Insert > Insert Table in Impress and Draw from 
text/simpress/01/04080100.xhp to a new file.
- Moved hid bookmarks from text/simpress/01/04080100.xhp and 
text/swriter/01/0415.xhp to the new file. Even though these are technically 
different ui components, they all use the same HID and pressing F1 or Help was 
opening the help file for Writer.
- Embedded relevant help content for Writer to avoid retransalation.

Deleted text/simpress/01/04080100.xhp

In AllLangHelp_shared.mk
- Added a reference to text/shared/01/insert_table.xhp

In AllLangHelp_simpress.mk
- Removed the reference to text/simpress/01/04080100.xhp

In text/simpress/guide/table_insert.xhp
- Changed title and H1 to make it clearer that the article is about both 
Tables and Spreadsheets.

In text/simpress/main0104.xhp
- Added variable tags so that the page can be more easily linked from other 
pages

In text/simpress/00/0404.xhp
- Updated howtoget information to include information for the TabUI

Change-Id: I16626a0bb467e475571185571348f26ce745af8c
Reviewed-on: https://gerrit.libreoffice.org/c/help/+/169013
Reviewed-by: Olivier Hallot 
Tested-by: Jenkins

diff --git a/AllLangHelp_shared.mk b/AllLangHelp_shared.mk
index 71002db590..9499cd1e8f 100644
--- a/AllLangHelp_shared.mk
+++ b/AllLangHelp_shared.mk
@@ -372,6 +372,7 @@ $(eval $(call gb_AllLangHelp_add_helpfiles,shared,\
 helpcontent2/source/text/shared/01/InsertColumnsBefore \
 helpcontent2/source/text/shared/01/InsertRowsAfter \
 helpcontent2/source/text/shared/01/InsertRowsBefore \
+helpcontent2/source/text/shared/01/insert_table \
 helpcontent2/source/text/shared/01/mediaplayer \
 helpcontent2/source/text/shared/01/menu_edit_find \
 helpcontent2/source/text/shared/01/menu_view_sidebar \
diff --git a/AllLangHelp_simpress.mk b/AllLangHelp_simpress.mk
index e79a530b61..b3578315a6 100644
--- a/AllLangHelp_simpress.mk
+++ b/AllLangHelp_simpress.mk
@@ -58,7 +58,6 @@ $(eval $(call gb_AllLangHelp_add_helpfiles,simpress,\
 helpcontent2/source/text/simpress/01/0403m \
 helpcontent2/source/text/simpress/01/04030100 \
 helpcontent2/source/text/simpress/01/0404m \
-helpcontent2/source/text/simpress/01/04080100 \
 helpcontent2/source/text/simpress/01/04110100 \
 helpcontent2/source/text/simpress/01/04110200 \
 helpcontent2/source/text/simpress/01/0412 \
diff --git a/source/text/shared/01/insert_table.xhp 
b/source/text/shared/01/insert_table.xhp
new file mode 100644
index 00..e66e5892b1
--- /dev/null
+++ b/source/text/shared/01/insert_table.xhp
@@ -0,0 +1,105 @@
+
+
+  
+
+  
+
+  Insert Table
+  /text/shared/01/insert_table.xhp
+
+  
+  
+
+  Insert Table
+  inserting; tables
+  tables; inserting
+
+
+
+
+
+
+
+
+
+  Insert 
+Table
+  Inserts a 
new 
+table into the current slidepage
+.
+
+
+  
+
+  
+
+
+
+
+  
+
+
+  
+
+  
+  
+  
+
+
+  Number of Columns
+  Enter the number of 
+columns to include in the new table or use the spin box to increase or 
decrease 
+the number of columns.
+  
+  
+Number of Rows
+Enter the number of 
+rows to include in the new table or use the spin box to increase or decrease 
the 
+number of rows.
+  
+  
+
+  
+  
+  
+
+
+
+  
+
+  
+
+  
+  
+  
+  
+  
+   Table 
+ (Options)
+
+
+  
+  
+
+  
+
+
+
diff --git a/source/text/simpress/00/0404.xhp 
b/source/text/simpress/00/0404.xhp
index 555134bf98..06d9809a3d 100644
--- a/source/text/simpress/00/0404.xhp
+++ b/source/text/simpress/00/0404.xhp
@@ -53,9 +53,14 @@
 
 Select a snap point or line, open the context menu, and choose 
Edit Snap Point/Line
   
-Choose Insert - 
Table
-On the Insert 
toolbar, click
-
+
+Choose Insert -
+Table
+
+Choose
+ Insert - Table.
+
+  
   
 
   Icon Insert Table
diff --git a/source/text/simpress/01/04080100.xhp 
b/source/text

core.git: sc/qa

2024-06-18 Thread Xisco Fauli (via logerrit)
 dev/null  |binary
 sc/qa/uitest/goalSeek/tdf37341.py |   36 
 sc/qa/uitest/goalSeek/tdf43693.py |   36 
 sc/qa/unit/GoalSeekTest.cxx   |   25 +
 4 files changed, 25 insertions(+), 72 deletions(-)

New commits:
commit 20f9fc1030ffc0f37d5dc528e010d4167210eb02
Author: Xisco Fauli 
AuthorDate: Tue Jun 18 10:16:08 2024 +0200
Commit: Xisco Fauli 
CommitDate: Tue Jun 18 14:10:36 2024 +0200

tdf#37341, tdf#43693: move UItest to CppUnittest

and remove duplicated test, tdf43693.py, which is
basically the same as tdf37341.py

Change-Id: Ib29638ecbc2f89e717712ad03afccc70c5aa47ba
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169079
Tested-by: Jenkins
Reviewed-by: Xisco Fauli 

diff --git a/sc/qa/uitest/data/tdf43693.ods b/sc/qa/uitest/data/tdf43693.ods
deleted file mode 100644
index 501a07765e71..
Binary files a/sc/qa/uitest/data/tdf43693.ods and /dev/null differ
diff --git a/sc/qa/uitest/goalSeek/tdf37341.py 
b/sc/qa/uitest/goalSeek/tdf37341.py
deleted file mode 100644
index ad1a1f1792e6..
--- a/sc/qa/uitest/goalSeek/tdf37341.py
+++ /dev/null
@@ -1,36 +0,0 @@
-# -*- 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/.
-#
-from uitest.framework import UITestCase
-from uitest.uihelper.common import get_url_for_data_file
-
-from libreoffice.calc.document import get_cell_by_position
-from libreoffice.uno.propertyvalue import mkPropertyValues
-
-
-# Bug 37341 - Goal Seek hangs indefinitely for too many calculation steps 
(Formula Cell $F$110)
-class tdf37341(UITestCase):
-def test_tdf37341_goalSeek(self):
-with self.ui_test.load_file(get_url_for_data_file("tdf37341.ods")) as 
calc_doc:
-xCalcDoc = self.xUITest.getTopFocusWindow()
-gridwin = xCalcDoc.getChild("grid_window")
-gridwin.executeAction("SELECT", mkPropertyValues({"CELL": "F111"}))
-with 
self.ui_test.execute_modeless_dialog_through_command(".uno:GoalSeekDialog", 
close_button="") as xDialog:
-xtarget = xDialog.getChild("target")
-xvaredit = xDialog.getChild("varedit")
-xtarget.executeAction("TYPE", mkPropertyValues({"TEXT":"0"}))
-xvaredit.executeAction("TYPE", mkPropertyValues({"TEXT":"E7"}))
-xOKBtn = xDialog.getChild("ok")
-
-with 
self.ui_test.execute_blocking_action(xOKBtn.executeAction, args=('CLICK', ()), 
close_button="yes"):
-pass
-
-#verify
-self.assertEqual(get_cell_by_position(calc_doc, 0, 4, 
6).getValue() > 0, True)
-
-# vim: set shiftwidth=4 softtabstop=4 expandtab:
diff --git a/sc/qa/uitest/goalSeek/tdf43693.py 
b/sc/qa/uitest/goalSeek/tdf43693.py
deleted file mode 100644
index 3c0436ef7239..
--- a/sc/qa/uitest/goalSeek/tdf43693.py
+++ /dev/null
@@ -1,36 +0,0 @@
-# -*- 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/.
-#
-from uitest.framework import UITestCase
-from uitest.uihelper.common import get_url_for_data_file
-
-from libreoffice.calc.document import get_cell_by_position
-from libreoffice.uno.propertyvalue import mkPropertyValues
-
-
-# Bug 43693 - Goal Seek: reproducible crash using "target value search"
-class tdf43693(UITestCase):
-def test_tdf43693_goalSeek(self):
-with self.ui_test.load_file(get_url_for_data_file("tdf43693.ods")) as 
calc_doc:
-xCalcDoc = self.xUITest.getTopFocusWindow()
-gridwin = xCalcDoc.getChild("grid_window")
-gridwin.executeAction("SELECT", mkPropertyValues({"CELL": "K248"}))
-with 
self.ui_test.execute_modeless_dialog_through_command(".uno:GoalSeekDialog", 
close_button="") as xDialog:
-xtarget = xDialog.getChild("target")
-xvaredit = xDialog.getChild("varedit")
-xtarget.executeAction("TYPE", mkPropertyValues({"TEXT":"0"}))
-xvaredit.executeAction("TYPE", mkPropertyValues({"TEXT":"H5"}))
-xOKBtn = xDialog.getChild("ok")
-
-with 
self.ui_test.execute_blocking_action(xOKBtn.executeAction, args=('CLICK', ()), 
close_button="yes"):
-pass
-
-#verify
-self.assertEqual(get_cell_by_position(calc_doc, 0, 7, 
4).getValue(), 0.04)
-
-# vim: set shiftwidth=4 softtabstop=4 expandtab:
diff --git a/sc/

core.git: Branch 'libreoffice-24-2' - starmath/source sw/qa

2024-06-18 Thread Irgaliev Amin (via logerrit)
 starmath/source/ooxmlimport.cxx |4 ++--
 sw/qa/extras/ooxmlexport/data/tdf158023_export.docx |binary
 sw/qa/extras/ooxmlexport/ooxmlexport2.cxx   |9 -
 sw/qa/extras/ooxmlimport/data/tdf158023_import.docx |binary
 sw/qa/extras/ooxmlimport/ooxmlimport2.cxx   |   20 
 sw/qa/extras/rtfexport/data/tdf158023.rtf   |8 
 sw/qa/extras/rtfexport/rtfexport.cxx|   10 +-
 7 files changed, 47 insertions(+), 4 deletions(-)

New commits:
commit 57946f4262b5d548d3429723faf380eaba5ce9f8
Author: Irgaliev Amin 
AuthorDate: Mon Dec 25 20:13:34 2023 +0400
Commit: Xisco Fauli 
CommitDate: Tue Jun 18 14:06:35 2024 +0200

tdf#158023 Add \ before parentheses if they are in the  tag.

MSO allows you to write unpair opening or closing parentheses in the t tag.
The patch adds a backslash before parentheses, which allows you to correctly
recognize and correctly save such formulas when exporting.

Also add a test to check whether the parentheses are wrapped correctly.

Change-Id: Ib1a941858f0843742b56b8089f3c14983ba1222c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158794
Reviewed-by: Mike Kaganski 
Tested-by: Jenkins
(cherry picked from commit 8148dd6ed3c61eaf5f9fe3a060ecda9d11611f39)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169103
Reviewed-by: Xisco Fauli 

diff --git a/starmath/source/ooxmlimport.cxx b/starmath/source/ooxmlimport.cxx
index 4023a5e652ac..b0932c43919c 100644
--- a/starmath/source/ooxmlimport.cxx
+++ b/starmath/source/ooxmlimport.cxx
@@ -602,9 +602,9 @@ OUString SmOoxmlImport::handleR()
 {
 XmlStream::Tag rtag = m_rStream.ensureOpeningTag( M_TOKEN( t 
));
 if( rtag.attribute( OOX_TOKEN( xml, space )) != "preserve" )
-text.append(o3tl::trim(rtag.text));
+text.append(o3tl::trim(rtag.text.replaceAll("(", 
"\(").replaceAll(")", "\)")));
 else
-text.append(rtag.text);
+text.append(rtag.text.replaceAll("(", 
"\(").replaceAll(")", "\)"));
 m_rStream.ensureClosingTag( M_TOKEN( t ));
 break;
 }
diff --git a/sw/qa/extras/ooxmlexport/data/tdf158023_export.docx 
b/sw/qa/extras/ooxmlexport/data/tdf158023_export.docx
new file mode 100644
index ..289619a7e4b6
Binary files /dev/null and 
b/sw/qa/extras/ooxmlexport/data/tdf158023_export.docx differ
diff --git a/sw/qa/extras/ooxmlexport/ooxmlexport2.cxx 
b/sw/qa/extras/ooxmlexport/ooxmlexport2.cxx
index 6e27f9a6a1ab..e18c1eebca5e 100644
--- a/sw/qa/extras/ooxmlexport/ooxmlexport2.cxx
+++ b/sw/qa/extras/ooxmlexport/ooxmlexport2.cxx
@@ -261,7 +261,14 @@ CPPUNIT_TEST_FIXTURE(Test, testCommentsNested)
 CPPUNIT_TEST_FIXTURE(Test, testMathEscape)
 {
 loadAndReload("math-escape.docx");
-CPPUNIT_ASSERT_EQUAL(OUString("\{ left [ right ] left ( right ) \}"), 
getFormula(getRun(getParagraph(1), 1)));
+CPPUNIT_ASSERT_EQUAL(OUString("\{ left [ right ] \( \) \}"), 
getFormula(getRun(getParagraph(1), 1)));
+}
+
+// Saving left and right for parentheses when importing not from the m:t tag 
(docx)
+CPPUNIT_TEST_FIXTURE(Test, testTdf158023Export)
+{
+loadAndReload("tdf158023_export.docx");
+CPPUNIT_ASSERT_EQUAL(OUString("left [ right ] left ( right ) left lbrace  
right rbrace"), getFormula(getRun(getParagraph(1), 1)));
 }
 
 CPPUNIT_TEST_FIXTURE(Test, testFdo51034)
diff --git a/sw/qa/extras/ooxmlimport/data/tdf158023_import.docx 
b/sw/qa/extras/ooxmlimport/data/tdf158023_import.docx
new file mode 100644
index ..1095499e2ebf
Binary files /dev/null and 
b/sw/qa/extras/ooxmlimport/data/tdf158023_import.docx differ
diff --git a/sw/qa/extras/ooxmlimport/ooxmlimport2.cxx 
b/sw/qa/extras/ooxmlimport/ooxmlimport2.cxx
index 0c29484d765e..642c05b14aa8 100644
--- a/sw/qa/extras/ooxmlimport/ooxmlimport2.cxx
+++ b/sw/qa/extras/ooxmlimport/ooxmlimport2.cxx
@@ -697,6 +697,26 @@ CPPUNIT_TEST_FIXTURE(Test, testTdf119200)
 CPPUNIT_ASSERT_EQUAL(u" size 12{ func \u2287 } {}"_ustr, 
getFormula(getRun(xPara, 7)));
 }
 
+// Checking a formula where the closing brackets
+// come first, and then the opening ones
+CPPUNIT_TEST_FIXTURE(Test, testTdf158023Import)
+{
+auto verify = [this]() {
+auto xPara = getParagraph(1);
+CPPUNIT_ASSERT_EQUAL(u"\) sqrt {\)2\(} \("_ustr, 
getFormula(getRun(xPara, 1)));
+};
+auto verifyReload = [this]() {
+auto xPara = getParagraph(1);
+CPPUNIT_ASSERT_EQUAL(u"\) sqrt {\) 2 \(} \("_ustr, 
getFormula(getRun(xPara, 1)));
+};
+
+createSwDoc("tdf158023_import.docx");
+verify();
+
+saveAndReload("Office Open XML Text");
+verifyReload();
+}
+
 CPPUNIT_TEST_FIXTURE(Test, testTdf115094)
 {
 createSwDoc("tdf115094.docx");
diff --git a/sw/qa/extras/rtfexport/data/tdf158023.rtf 
b/sw/qa/extras/rtfexport/data/tdf1580

core.git: Branch 'distro/collabora/co-24.04' - include/svx sd/source svx/source

2024-06-18 Thread Tomaž Vajngerl (via logerrit)
 include/svx/annotation/Annotation.hxx  |2 +
 sd/source/ui/annotations/annotationmanager.cxx |   22 +--
 sd/source/ui/annotations/annotationwindow.cxx  |   35 +++--
 sd/source/ui/annotations/annotationwindow.hxx  |   11 ---
 svx/source/annotation/Annotation.cxx   |   15 ++
 5 files changed, 52 insertions(+), 33 deletions(-)

New commits:
commit 586d9531c8027dbc49c550a3d36d9e1f3c51cd21
Author: Tomaž Vajngerl 
AuthorDate: Mon Jun 17 14:39:34 2024 +0900
Commit: Miklos Vajna 
CommitDate: Tue Jun 18 13:31:04 2024 +0200

annot: update object text when annotation text changes

When the annotation text changes we need to sync this with the SDR
object (if the object is showing the annotation text - like free
text annotation).

Also move annotation object searching to the annotation class, so
it can be reused in AnnotationWindow.

Also change uso of UNO XAnnotation in AnnotationWindow and use
concrete type (sdr::annotation::Anootation) instead.

Change-Id: I46db479ae8471c82ac58487a0125df15697245be
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168981
Tested-by: Jenkins CollaboraOffice 
Reviewed-by: Miklos Vajna 

diff --git a/include/svx/annotation/Annotation.hxx 
b/include/svx/annotation/Annotation.hxx
index 8ffaad3f0997..21e6b76261ad 100644
--- a/include/svx/annotation/Annotation.hxx
+++ b/include/svx/annotation/Annotation.hxx
@@ -178,6 +178,8 @@ public:
 
 CreationInfo const& getCreationInfo() { return maCreationInfo; }
 void setCreationInfo(CreationInfo const& rCreationInfo) { maCreationInfo = 
rCreationInfo; }
+
+SdrObject* findAnnotationObject();
 };
 
 /** Vector of annotations */
diff --git a/sd/source/ui/annotations/annotationmanager.cxx 
b/sd/source/ui/annotations/annotationmanager.cxx
index 87cfa6014806..27f06efb20f9 100644
--- a/sd/source/ui/annotations/annotationmanager.cxx
+++ b/sd/source/ui/annotations/annotationmanager.cxx
@@ -181,24 +181,6 @@ OUString getAnnotationDateTimeString( const Reference< 
XAnnotation >& xAnnotatio
 return sRet;
 }
 
-namespace
-{
-
-SdrObject* 
findAnnotationObjectMatching(rtl::Reference const& 
xAnnotation)
-{
-SdrPage const* pPage = xAnnotation->getPage();
-
-for (size_t i = 0; i < pPage->GetObjCount(); ++i)
-{
-SdrObject* pObject = pPage->GetObj(i);
-if (pObject->isAnnotationObject() && 
pObject->getAnnotationData()->mxAnnotation == xAnnotation)
-return pObject;
-}
-return nullptr;
-}
-
-} // end anonymous ns
-
 AnnotationManagerImpl::AnnotationManagerImpl( ViewShellBase& rViewShellBase )
 : mrBase( rViewShellBase )
 , mpDoc( rViewShellBase.GetDocument() )
@@ -456,7 +438,7 @@ void 
AnnotationManagerImpl::ExecuteEditAnnotation(SfxRequest const & rReq)
 auto pSdAnnotation = static_cast(xAnnotation.get());
 pSdAnnotation->createChangeUndo();
 
-SdrObject* pObject = findAnnotationObjectMatching(xAnnotation);
+SdrObject* pObject = xAnnotation->findAnnotationObject();
 if (pObject && nPositionX >= 0 && nPositionY >= 0)
 {
 double fX = convertTwipToMm100(nPositionX);
@@ -1017,7 +999,7 @@ void AnnotationManagerImpl::SyncAnnotationObjects()
 bool bAnnotatonInserted = false;
 for (auto const& xAnnotation : mxCurrentPage->getAnnotations())
 {
-SdrObject* pObject = findAnnotationObjectMatching(xAnnotation);
+SdrObject* pObject = xAnnotation->findAnnotationObject();
 
 if (pObject)
 continue;
diff --git a/sd/source/ui/annotations/annotationwindow.cxx 
b/sd/source/ui/annotations/annotationwindow.cxx
index 0b98f606498a..04945f11431a 100644
--- a/sd/source/ui/annotations/annotationwindow.cxx
+++ b/sd/source/ui/annotations/annotationwindow.cxx
@@ -54,6 +54,9 @@
 #include 
 #include 
 #include 
+#include 
+#include 
+#include 
 #include 
 
 #include 
@@ -208,7 +211,7 @@ void 
AnnotationTextWindow::SetDrawingArea(weld::DrawingArea* pDrawingArea)
 // see SwAnnotationWin in sw for something similar
 AnnotationWindow::AnnotationWindow(weld::Window* pParent, const 
::tools::Rectangle& rRect,
DrawDocShell* pDocShell,
-   const Reference& xAnnotation)
+   rtl::Reference 
const& xAnnotation)
 : mxBuilder(Application::CreateBuilder(pParent, 
"modules/simpress/ui/annotation.ui"))
 , mxPopover(mxBuilder->weld_popover("Annotation"))
 , mxContainer(mxBuilder->weld_widget("container"))
@@ -304,15 +307,17 @@ IMPL_LINK(AnnotationWindow, MenuItemSelectedHdl, const 
OUString&, rIdent, void)
 if (!pDispatcher)
 return;
 
+uno::Reference xUnoAnnotation(mxAnnotation);
+
 if (rIdent == ".uno:ReplyToAnnotation")
 {
-const SfxUnoAnyItem aItem( SID_REPLYTO_POSTIT, Any( mxAnnotation ) );
+const SfxUnoAnyItem aItem( SID_REPLYTO_POSTIT, Any( xUnoAnnotation ) 

core.git: Branch 'distro/collabora/co-24.04' - sd/source

2024-06-18 Thread Tomaž Vajngerl (via logerrit)
 sd/source/ui/annotations/annotationmanager.cxx |   10 ++
 1 file changed, 10 insertions(+)

New commits:
commit 1f5a4fa596b993a80fbb12a1736d3d09b0fccb1a
Author: Tomaž Vajngerl 
AuthorDate: Mon Jun 17 14:31:20 2024 +0900
Commit: Miklos Vajna 
CommitDate: Tue Jun 18 13:29:26 2024 +0200

annot: add undo to annotations inserter when synching

Change-Id: If4b8ddcbee9468655944effb931347c8077abc3c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168980
Reviewed-by: Miklos Vajna 
Tested-by: Miklos Vajna 

diff --git a/sd/source/ui/annotations/annotationmanager.cxx 
b/sd/source/ui/annotations/annotationmanager.cxx
index caeefbb8c3c6..87cfa6014806 100644
--- a/sd/source/ui/annotations/annotationmanager.cxx
+++ b/sd/source/ui/annotations/annotationmanager.cxx
@@ -73,6 +73,7 @@
 #include 
 #include 
 #include 
+#include 
 #include 
 #include 
 #include 
@@ -1013,6 +1014,7 @@ void AnnotationManagerImpl::SyncAnnotationObjects()
 return;
 
 sal_Int32 nIndex = 1;
+bool bAnnotatonInserted = false;
 for (auto const& xAnnotation : mxCurrentPage->getAnnotations())
 {
 SdrObject* pObject = findAnnotationObjectMatching(xAnnotation);
@@ -1020,6 +1022,11 @@ void AnnotationManagerImpl::SyncAnnotationObjects()
 if (pObject)
 continue;
 
+if (!bAnnotatonInserted && mpDoc->IsUndoEnabled())
+mpDoc->BegUndo(SdResId(STR_ANNOTATION_UNDO_INSERT));
+
+bAnnotatonInserted = true;
+
 auto const& rInfo = xAnnotation->getCreationInfo();
 
 auto* pView = xViewShell->GetView();
@@ -1122,6 +1129,9 @@ void AnnotationManagerImpl::SyncAnnotationObjects()
 
 nIndex++;
 }
+
+if (bAnnotatonInserted && mpDoc->IsUndoEnabled())
+mpDoc->EndUndo();
 }
 
 void AnnotationManagerImpl::addListener()


core.git: dbaccess/source desktop/source editeng/qa editeng/source forms/source framework/qa sc/qa sc/source sd/qa sd/source sfx2/source svx/qa svx/source sw/qa sw/source toolkit/source vcl/qa vcl/sou

2024-06-18 Thread Noel Grandin (via logerrit)
 dbaccess/source/core/dataaccess/databasedocument.cxx|4 
 desktop/source/app/cmdlineargs.cxx  |2 
 editeng/qa/unit/core-test.cxx   |   14 
 editeng/source/misc/svxacorr.cxx|   14 
 forms/source/component/ImageControl.cxx |2 
 forms/source/component/clickableimage.cxx   |2 
 framework/qa/cppunit/CheckXTitle.cxx|   22 -
 sc/qa/extras/scfunctionlistobj.cxx  |5 
 sc/qa/unit/GoalSeekTest.cxx |4 
 sc/qa/unit/tiledrendering/tiledrendering.cxx|4 
 sc/source/core/data/colorscale.cxx  |2 
 sc/source/ui/dbgui/PivotLayoutDialog.cxx|4 
 sc/source/ui/dbgui/dbnamdlg.cxx |2 
 sc/source/ui/dbgui/validate.cxx |   32 -
 sc/source/ui/namedlg/namedefdlg.cxx |   26 -
 sc/source/ui/namedlg/namedlg.cxx|   30 -
 sd/qa/unit/AnnotationTest.cxx   |   36 -
 sd/qa/unit/import-tests2.cxx|6 
 sd/qa/unit/layout-tests.cxx |2 
 sd/source/core/drawdoc.cxx  |2 
 sd/source/ui/framework/module/ModuleController.cxx  |   28 -
 sfx2/source/dialog/dinfdlg.cxx  |4 
 sfx2/source/view/viewfrm.cxx|2 
 svx/qa/unit/svdraw.cxx  |8 
 svx/source/tbxctrls/bulletsnumbering.cxx|2 
 sw/qa/core/text/txtfly.cxx  |2 
 sw/qa/extras/layout/layout2.cxx |   12 
 sw/qa/extras/layout/layout3.cxx |4 
 sw/qa/extras/odfexport/odfexport2.cxx   |   18 
 sw/qa/extras/odfimport/odfimport.cxx|6 
 sw/qa/extras/ooxmlexport/ooxmlexport13.cxx  |   12 
 sw/qa/extras/ooxmlexport/ooxmlexport14.cxx  |   20 
 sw/qa/extras/ooxmlexport/ooxmlexport18.cxx  |   44 +-
 sw/qa/extras/ooxmlexport/ooxmlexport21.cxx  |   20 
 sw/qa/extras/ooxmlexport/ooxmlexport5.cxx   |2 
 sw/qa/extras/ooxmlimport/ooxmlimport2.cxx   |6 
 sw/qa/extras/rtfexport/rtfexport7.cxx   |  333 
 sw/qa/extras/rtfexport/rtfexport8.cxx   |   60 +-
 sw/qa/extras/uiwriter/uiwriter6.cxx |   30 -
 sw/qa/extras/uiwriter/uiwriter8.cxx |   10 
 sw/qa/extras/uiwriter/uiwriter9.cxx |6 
 sw/qa/extras/ww8export/ww8export4.cxx   |   16 
 sw/qa/filter/ascii/ascii.cxx|   23 -
 sw/qa/filter/ww8/ww8.cxx|8 
 sw/qa/writerfilter/dmapper/CellColorHandler.cxx |2 
 sw/qa/writerfilter/dmapper/DomainMapper.cxx |6 
 sw/qa/writerfilter/dmapper/DomainMapperTableHandler.cxx |7 
 sw/qa/writerfilter/dmapper/DomainMapperTableManager.cxx |2 
 sw/qa/writerfilter/dmapper/DomainMapper_Impl.cxx|4 
 sw/qa/writerfilter/dmapper/GraphicImport.cxx|2 
 sw/qa/writerfilter/dmapper/PropertyMap.cxx  |2 
 sw/qa/writerfilter/dmapper/SdtHelper.cxx|2 
 sw/qa/writerfilter/dmapper/SettingsTable.cxx|6 
 sw/qa/writerfilter/dmapper/TableManager.cxx |2 
 sw/qa/writerfilter/dmapper/TextEffectsHandler.cxx   |2 
 sw/qa/writerfilter/filter/WriterFilter.cxx  |4 
 sw/qa/writerfilter/ooxml/ooxml.cxx  |2 
 sw/qa/writerfilter/rtftok/rtfdispatchflag.cxx   |6 
 sw/qa/writerfilter/rtftok/rtfdispatchsymbol.cxx |2 
 sw/qa/writerfilter/rtftok/rtfdispatchvalue.cxx  |2 
 sw/qa/writerfilter/rtftok/rtfdocumentimpl.cxx   |2 
 sw/qa/writerfilter/rtftok/rtfsdrimport.cxx  |2 
 sw/qa/writerfilter/rtftok/rtfsprm.cxx   |2 
 sw/qa/writerfilter/rtftok/rtftokenizer.cxx  |2 
 sw/source/core/doc/docredln.cxx |2 
 sw/source/core/docnode/section.cxx  |2 
 sw/source/core/frmedt/feflyole.cxx  |2 
 sw/source/core/text/EnhancedPDFExportHelper.cxx |2 
 sw/source/core/unocore/unofield.cxx |2 
 sw/source/ui/config/optpage.cxx |   20 
 sw/source/ui/misc/pgfnote.cxx   |   30 -
 sw/source/uibase/config/viewopt.cxx |2 
 sw/source/uibase/docvw/edtwin2.cxx  |2 
 sw/source/uibase/uno/SwXDocumentSettings.cxx|  120 ++---
 sw/source/uibase/uno/unotxdoc.cxx   |2 
 sw/source/uibase/utlui/content.cxx  |8 
 sw/source/uibase/utlui/g

core.git: sw/qa sw/source

2024-06-18 Thread László Németh (via logerrit)
 
sw/qa/extras/ooxmlexport/data/tdf132599_frames_on_right_pages_no_hyphenation.fodt
 |  224 ++
 sw/qa/extras/ooxmlexport/ooxmlexport14.cxx 
   |7 
 sw/source/filter/ww8/docxexport.cxx
   |8 
 3 files changed, 239 insertions(+)

New commits:
commit 89a80d637e2831d49cdf48921f961b04fd03cffc
Author: László Németh 
AuthorDate: Tue Jun 18 09:32:24 2024 +0200
Commit: László Németh 
CommitDate: Tue Jun 18 13:14:21 2024 +0200

tdf#161628 sw DOCX: export zero hyphenation zone, if it's not defined

To keep the layout of the document, export zero hyphenation zone
instead of nothing, otherwise it would be 360 twips after importing
the document with the default hyphenation zone.

Follow-up to commit 8d8bc48b5efacde6f99d78a557cd052ce9e0ed07
"tdf#161628 DOCX import: set default hyphenation zone (1/4 inch)".

Change-Id: I7be4a001f894bcdf10fff5f1b2e211a5a45566d6
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169078
Tested-by: Jenkins
Reviewed-by: László Németh 

diff --git 
a/sw/qa/extras/ooxmlexport/data/tdf132599_frames_on_right_pages_no_hyphenation.fodt
 
b/sw/qa/extras/ooxmlexport/data/tdf132599_frames_on_right_pages_no_hyphenation.fodt
new file mode 100644
index ..c3df7b605f3a
--- /dev/null
+++ 
b/sw/qa/extras/ooxmlexport/data/tdf132599_frames_on_right_pages_no_hyphenation.fodt
@@ -0,0 +1,224 @@
+
+
+http://www.w3.org/TR/css3-text/"; 
xmlns:grddl="http://www.w3.org/2003/g/data-view#"; 
xmlns:xhtml="http://www.w3.org/1999/xhtml"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xmlns:xsd="http://www.w3.org/2001/XMLSchema"; 
xmlns:xforms="http://www.w3.org/2002/xforms"; 
xmlns:dom="http://www.w3.org/2001/xml-events"; 
xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0" 
xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" 
xmlns:math="http://www.w3.org/1998/Math/MathML"; 
xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" 
xmlns:ooo="http://openoffice.org/2004/office"; 
xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" 
xmlns:config="urn:oasis:names:tc:opendocument:xmlns:config:1.0" 
xmlns:ooow="http://openoffice.org/2004/writer"; 
xmlns:xlink="http://www.w3.org/1999/xlink"; 
xmlns:drawooo="http://openoffice.org/2010/draw"; 
xmlns:oooc="http://openoffice.org/2004/calc"; 
xmlns:dc="http://purl.org/dc/elements/1.1/"; xmlns:c
 alcext="urn:org:documentfoundation:names:experimental:calc:xmlns:calcext:1.0" 
xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" 
xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" 
xmlns:of="urn:oasis:names:tc:opendocument:xmlns:of:1.2" 
xmlns:tableooo="http://openoffice.org/2009/table"; 
xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" 
xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0" 
xmlns:rpt="http://openoffice.org/2005/report"; 
xmlns:formx="urn:openoffice:names:experimental:ooxml-odf-interop:xmlns:form:1.0"
 xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" 
xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0" 
xmlns:officeooo="http://openoffice.org/2009/office"; 
xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" 
xmlns:field="urn:openoffice:names:experimental:ooo-ms-interop:xmlns:field:1.0" 
xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0" 
xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:
 meta:1.0" 
xmlns:loext="urn:org:documentfoundation:names:experimental:office:xmlns:loext:1.0"
 office:version="1.3" office:mimetype="application/vnd.oasis.opendocument.text">
+ 
+  
+   false
+   true
+   true
+   
+   false
+   0
+   false
+   true
+   true
+   false
+   false
+   0
+   true
+   false
+   false
+   false
+   false
+   false
+   true
+   false
+   false
+   true
+   false
+   true
+   true
+   false
+   true
+   false
+   false
+   false
+   false
+   true
+   true
+   false
+   false
+   false
+   false
+   false
+   false
+   high-resolution
+   false
+   595440
+   false
+   true
+   false
+   
+   
+   true
+   
+   false
+   false
+   false
+   true
+   true
+   true
+   false
+   0
+   true
+   false
+   false
+   true
+   true
+   true
+   false
+   true
+   false
+   false
+   false
+   false
+   false
+   true
+   true
+   false
+   
+   true
+   false
+   false
+   0
+   false
+   true
+   
+   false
+   false
+   true
+   true
+   false
+   false
+   true
+   1
+   false
+   false
+   false
+   false
+   false
+   false
+   false
+   true
+   false
+   false
+   false
+   true
+   false
+   
+   true
+   1131034
+   true
+   false
+   false
+   false
+  
+ 
+ 
+  
+   http://openoffice.org/2004/office"; 
xmlns:xlink="http://www.w3.org/1999/xlink"/>
+  
+ 
+ 
+  
+  
+ 
+ 
+  
+   
+   
+
+   
+   
+  
+  
+   
+   
+  
+  
+   
+  
+  
+   
+  
+  
+  
+   
+   
+  
+  
+   
+  
+  
+   
+  
+  
+   
+   
+  
+  
+   
+   
+  
+  
+  
+   
+ 

core.git: sw/qa sw/source

2024-06-18 Thread László Németh (via logerrit)
 sw/qa/extras/ooxmlexport/ooxmlexport14.cxx   |7 +++
 sw/source/writerfilter/dmapper/SettingsTable.cxx |2 +-
 2 files changed, 8 insertions(+), 1 deletion(-)

New commits:
commit 8d8bc48b5efacde6f99d78a557cd052ce9e0ed07
Author: László Németh 
AuthorDate: Tue Jun 18 02:45:30 2024 +0200
Commit: László Németh 
CommitDate: Tue Jun 18 13:13:17 2024 +0200

tdf#161628 DOCX import: set default hyphenation zone (1/4 inch)

Default value of hyphenationZone is 360 twips (0.25"). Apply this
value, if hyphenationZone is not defined, according to the OOXML
standard.

Follow-up to commit 5a079652c1b1f968a851f47995b0a65b84d2d192
"tdf#149421 DOCX: import/export hyphenation zone".

Change-Id: Idadae973d93a14fbbe828fa74562db6262c40904
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169070
Tested-by: Jenkins
Reviewed-by: László Németh 

diff --git a/sw/qa/extras/ooxmlexport/ooxmlexport14.cxx 
b/sw/qa/extras/ooxmlexport/ooxmlexport14.cxx
index ccd4c69d9757..d0e84df71295 100644
--- a/sw/qa/extras/ooxmlexport/ooxmlexport14.cxx
+++ b/sw/qa/extras/ooxmlexport/ooxmlexport14.cxx
@@ -787,6 +787,13 @@ DECLARE_OOXMLEXPORT_TEST(testTdf149421, "tdf121661.docx")
 }
 }
 
+DECLARE_OOXMLEXPORT_TEST(testTdf149421_default, "tdf146171.docx")
+{
+uno::Reference 
xStyle(getStyles(u"ParagraphStyles"_ustr)->getByName(u"Standard"_ustr), 
uno::UNO_QUERY);
+// This was 0 (not the default OOXML hyphenationZone)
+CPPUNIT_ASSERT_EQUAL( static_cast(360), 
getProperty(xStyle, u"ParaHyphenationZone"_ustr));
+}
+
 CPPUNIT_TEST_FIXTURE(Test, testTdf121658)
 {
 loadAndSave("tdf121658.docx");
diff --git a/sw/source/writerfilter/dmapper/SettingsTable.cxx 
b/sw/source/writerfilter/dmapper/SettingsTable.cxx
index 4003eeed90d2..5d4642f0cb33 100644
--- a/sw/source/writerfilter/dmapper/SettingsTable.cxx
+++ b/sw/source/writerfilter/dmapper/SettingsTable.cxx
@@ -141,7 +141,7 @@ struct SettingsTable_Impl
 , m_bNoColumnBalance(false)
 , m_bAutoHyphenation(false)
 , m_bNoHyphenateCaps(false)
-, m_nHyphenationZone(0)
+, m_nHyphenationZone( 360 ) // default is 1/4 in
 , m_nUseWord2013TrackBottomHyphenation(-1)
 , m_nAllowHyphenationAtTrackBottom(-1)
 , m_bWidowControl(false)


XMATCH, XLOOKUP: Remove dependency to 'search-criteria-must-apply-to-whole-cell'

2024-06-18 Thread Regina Henschel

Hi all, hi Balázs,

In current implementation of XLOOKUP and XMATCH the global setting 
'search-criteria-must-apply-to-whole-cell' is evaluated in Match_mode 
values 0 (exact match) and 2 (wildcard or regex). And the combination of 
Match_mode value 0 with Search_mode 2 or -2 (binary search) is possible 
when 'search-criteria-must-apply-to-whole-cell' has value false.


(1) I see a problem with 
'search-criteria-must-apply-to-whole-cell'=false together with binary 
search. How could that work? If you look for "foo" for example in this 
mode it would be the same as if you look for "*foo*" in wildcard mode 
and for that binary search is not possible. It there some hidden 
automatically switch to linear search in place?


(2) As far as I know, there exists no similar setting in Excel and 
evaluating the setting in LibreOffice gives interoperability problems.


(3) The setting is not needed, because the intended behavior of matching 
a part of the cell can be archived in wildcard mode with e.g. "*foo*" 
and in regex mode with e.g. ".*foo.*".


So my suggestion is, to take the chance when defining these _new_ 
functions to remove the evaluation of the global setting 
'search-criteria-must-apply-to-whole-cell' and act always as if its 
value is true.


What do you think?

[Background is, that the ODF TC is currently working on the 
specification for these functions.]


Kind regards,
Regina



core.git: Branch 'distro/collabora/co-24.04' - sd/source

2024-06-18 Thread Tomaž Vajngerl (via logerrit)
 sd/source/ui/annotations/annotationmanager.cxx |   10 +++---
 1 file changed, 7 insertions(+), 3 deletions(-)

New commits:
commit 2af35f8558b37179b0a16f264df38f89dceb0a0b
Author: Tomaž Vajngerl 
AuthorDate: Fri Jun 14 14:40:31 2024 +0900
Commit: Miklos Vajna 
CommitDate: Tue Jun 18 12:27:03 2024 +0200

annot: support fill and line transparence for PDF annotations

Change-Id: Iafff527a094e6cb550a9e060a191510f74d86075
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168848
Reviewed-by: Miklos Vajna 
Tested-by: Miklos Vajna 

diff --git a/sd/source/ui/annotations/annotationmanager.cxx 
b/sd/source/ui/annotations/annotationmanager.cxx
index 67f356884725..caeefbb8c3c6 100644
--- a/sd/source/ui/annotations/annotationmanager.cxx
+++ b/sd/source/ui/annotations/annotationmanager.cxx
@@ -90,6 +90,8 @@
 #include 
 #include 
 #include 
+#include 
+#include 
 
 #include 
 
@@ -985,6 +987,8 @@ void applyAnnotationProperties(SdrObject& rObject, 
sdr::annotation::CreationInfo
 {
 rObject.SetMergedItem(XLineStyleItem(drawing::LineStyle_SOLID));
 rObject.SetMergedItem(XLineColorItem(OUString(), rInfo.maColor));
+sal_uInt16 nTransparence = 100.0 - (rInfo.maColor.GetAlpha() / 255.0) 
* 100.0;
+rObject.SetMergedItem(XLineTransparenceItem(nTransparence));
 }
 rObject.SetMergedItem(XLineWidthItem(rInfo.mnWidth));
 
@@ -992,6 +996,8 @@ void applyAnnotationProperties(SdrObject& rObject, 
sdr::annotation::CreationInfo
 {
 rObject.SetMergedItem(XFillStyleItem(drawing::FillStyle_SOLID));
 rObject.SetMergedItem(XFillColorItem(OUString(), rInfo.maFillColor));
+sal_uInt16 nTransparence = 100.0 - (rInfo.maFillColor.GetAlpha() / 
255.0) * 100.0;
+rObject.SetMergedItem(XFillTransparenceItem(nTransparence));
 }
 }
 
@@ -1059,7 +1065,7 @@ void AnnotationManagerImpl::SyncAnnotationObjects()
 }
 else if (rInfo.meType == sdr::annotation::AnnotationType::Square)
 {
-pNewObject = new SdrRectObj(rModel, SdrObjKind::Rectangle, 
aRectangle);
+pNewObject = new SdrRectObj(rModel, aRectangle);
 
 applyAnnotationCommon(*pNewObject, xAnnotation);
 applyAnnotationProperties(*pNewObject, rInfo);
@@ -1073,8 +1079,6 @@ void AnnotationManagerImpl::SyncAnnotationObjects()
 }
 else if (rInfo.meType == sdr::annotation::AnnotationType::Stamp)
 {
-pNewObject = new SdrCircObj(rModel, SdrCircKind::Full, aRectangle);
-
 rtl::Reference pGrafObject = new SdrGrafObj(rModel, 
Graphic(rInfo.maBitmapEx), aRectangle);
 pNewObject = pGrafObject;
 


core.git: Branch 'distro/collabora/co-24.04' - vcl/source

2024-06-18 Thread Tomaž Vajngerl (via logerrit)
 vcl/source/pdf/PDFiumLibrary.cxx |   30 ++
 1 file changed, 30 insertions(+)

New commits:
commit dcb411bc33d13d1764bbac9fc3757a052fc7fcf1
Author: Tomaž Vajngerl 
AuthorDate: Thu Jun 13 22:03:37 2024 +0900
Commit: Miklos Vajna 
CommitDate: Tue Jun 18 12:25:42 2024 +0200

annot: make sure the annotation subtypes in PDFium match with ours

Change-Id: Ic18f394b532118f39988a650d046880b049c9ec3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168847
Tested-by: Miklos Vajna 
Reviewed-by: Miklos Vajna 

diff --git a/vcl/source/pdf/PDFiumLibrary.cxx b/vcl/source/pdf/PDFiumLibrary.cxx
index 4c3872979d1d..ffdc94adcf29 100644
--- a/vcl/source/pdf/PDFiumLibrary.cxx
+++ b/vcl/source/pdf/PDFiumLibrary.cxx
@@ -170,6 +170,36 @@ 
static_assert(static_cast(vcl::pdf::PDFAnnotAActionType::Calculate)
   == FPDF_ANNOT_AACTION_CALCULATE,
   "PDFAnnotAActionType::Calculate) value mismatch");
 
+static_assert(int(vcl::pdf::PDFAnnotationSubType::Unknown) == 
FPDF_ANNOT_UNKNOWN);
+static_assert(int(vcl::pdf::PDFAnnotationSubType::Text) == FPDF_ANNOT_TEXT);
+static_assert(int(vcl::pdf::PDFAnnotationSubType::Link) == FPDF_ANNOT_LINK);
+static_assert(int(vcl::pdf::PDFAnnotationSubType::FreeText) == 
FPDF_ANNOT_FREETEXT);
+static_assert(int(vcl::pdf::PDFAnnotationSubType::Line) == FPDF_ANNOT_LINE);
+static_assert(int(vcl::pdf::PDFAnnotationSubType::Square) == 
FPDF_ANNOT_SQUARE);
+static_assert(int(vcl::pdf::PDFAnnotationSubType::Circle) == 
FPDF_ANNOT_CIRCLE);
+static_assert(int(vcl::pdf::PDFAnnotationSubType::Polygon) == 
FPDF_ANNOT_POLYGON);
+static_assert(int(vcl::pdf::PDFAnnotationSubType::Polyline) == 
FPDF_ANNOT_POLYLINE);
+static_assert(int(vcl::pdf::PDFAnnotationSubType::Highlight) == 
FPDF_ANNOT_HIGHLIGHT);
+static_assert(int(vcl::pdf::PDFAnnotationSubType::Underline) == 
FPDF_ANNOT_UNDERLINE);
+static_assert(int(vcl::pdf::PDFAnnotationSubType::Squiggly) == 
FPDF_ANNOT_SQUIGGLY);
+static_assert(int(vcl::pdf::PDFAnnotationSubType::Strikeout) == 
FPDF_ANNOT_STRIKEOUT);
+static_assert(int(vcl::pdf::PDFAnnotationSubType::Stamp) == FPDF_ANNOT_STAMP);
+static_assert(int(vcl::pdf::PDFAnnotationSubType::Caret) == FPDF_ANNOT_CARET);
+static_assert(int(vcl::pdf::PDFAnnotationSubType::Ink) == FPDF_ANNOT_INK);
+static_assert(int(vcl::pdf::PDFAnnotationSubType::Popup) == FPDF_ANNOT_POPUP);
+static_assert(int(vcl::pdf::PDFAnnotationSubType::FileAttachment) == 
FPDF_ANNOT_FILEATTACHMENT);
+static_assert(int(vcl::pdf::PDFAnnotationSubType::Sound) == FPDF_ANNOT_SOUND);
+static_assert(int(vcl::pdf::PDFAnnotationSubType::Movie) == FPDF_ANNOT_MOVIE);
+static_assert(int(vcl::pdf::PDFAnnotationSubType::Widget) == 
FPDF_ANNOT_WIDGET);
+static_assert(int(vcl::pdf::PDFAnnotationSubType::Screen) == 
FPDF_ANNOT_SCREEN);
+static_assert(int(vcl::pdf::PDFAnnotationSubType::Printermark) == 
FPDF_ANNOT_PRINTERMARK);
+static_assert(int(vcl::pdf::PDFAnnotationSubType::Trapnet) == 
FPDF_ANNOT_TRAPNET);
+static_assert(int(vcl::pdf::PDFAnnotationSubType::Watermark) == 
FPDF_ANNOT_WATERMARK);
+static_assert(int(vcl::pdf::PDFAnnotationSubType::Threed) == 
FPDF_ANNOT_THREED);
+static_assert(int(vcl::pdf::PDFAnnotationSubType::Richmedia) == 
FPDF_ANNOT_RICHMEDIA);
+static_assert(int(vcl::pdf::PDFAnnotationSubType::XFAWidget) == 
FPDF_ANNOT_XFAWIDGET);
+static_assert(int(vcl::pdf::PDFAnnotationSubType::Redact) == 
FPDF_ANNOT_REDACT);
+
 namespace
 {
 /// Callback class to be used with FPDF_SaveWithVersion().


core.git: Branch 'distro/collabora/co-24.04' - include/vcl vcl/qa vcl/source

2024-06-18 Thread Tomaž Vajngerl (via logerrit)
 include/vcl/filter/PDFiumLibrary.hxx   |2 
 include/vcl/pdf/PDFAnnotationMarker.hxx|2 
 vcl/qa/cppunit/PDFiumLibraryTest.cxx   |   58 +
 vcl/qa/cppunit/data/Annotations_Adobe_FreeText.pdf |binary
 vcl/source/filter/ipdf/pdfread.cxx |   10 +++
 5 files changed, 72 insertions(+)

New commits:
commit 98775b28a2ce13b8e91536468fe22bb72bbf3be5
Author: Tomaž Vajngerl 
AuthorDate: Thu Jun 13 20:53:56 2024 +0900
Commit: Miklos Vajna 
CommitDate: Tue Jun 18 12:24:12 2024 +0200

annot: read PDF FreeText annotation "DS" and "RC" keys

DS (DefaultStyle) and RC (RichContent") contain xhtml, css3 rich
text content for the text presented by the FreeText annotation in
the document. This adds reading of those 2 things to the PDFium
library, PDFium based import and the PDFAnnotationFreeTextMarker
class.

Change-Id: I32f89640611c730c8a1a8d1a2107e2e11669ec18
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168846
Reviewed-by: Miklos Vajna 
Tested-by: Miklos Vajna 

diff --git a/include/vcl/filter/PDFiumLibrary.hxx 
b/include/vcl/filter/PDFiumLibrary.hxx
index d90da7286020..e008a502be58 100644
--- a/include/vcl/filter/PDFiumLibrary.hxx
+++ b/include/vcl/filter/PDFiumLibrary.hxx
@@ -46,6 +46,8 @@ inline constexpr OString constDictionaryKeyContents = 
"Contents"_ostr;
 inline constexpr OString constDictionaryKeyPopup = "Popup"_ostr;
 inline constexpr OString constDictionaryKeyModificationDate = "M"_ostr;
 inline constexpr OString constDictionaryKeyInteriorColor = "IC"_ostr;
+inline constexpr OString constDictionaryKey_DefaultStyle = "DS"_ostr;
+inline constexpr OString constDictionaryKey_RichContent = "RC"_ostr;
 
 class PDFiumBitmap;
 class PDFiumDocument;
diff --git a/include/vcl/pdf/PDFAnnotationMarker.hxx 
b/include/vcl/pdf/PDFAnnotationMarker.hxx
index d1217c65c3af..0c559a4cedae 100644
--- a/include/vcl/pdf/PDFAnnotationMarker.hxx
+++ b/include/vcl/pdf/PDFAnnotationMarker.hxx
@@ -37,6 +37,8 @@ struct VCL_DLLPUBLIC PDFAnnotationMarkerStamp : public 
PDFAnnotationMarker
 /** Free text annotation marker - showing text of the annotation in the 
document */
 struct VCL_DLLPUBLIC PDFAnnotationMarkerFreeText : public PDFAnnotationMarker
 {
+OUString maDefaultStyle;
+OUString maRichContent;
 };
 
 struct VCL_DLLPUBLIC PDFAnnotationMarkerCircle : public PDFAnnotationMarker
diff --git a/vcl/qa/cppunit/PDFiumLibraryTest.cxx 
b/vcl/qa/cppunit/PDFiumLibraryTest.cxx
index 287ae079ef96..45c59b46d447 100644
--- a/vcl/qa/cppunit/PDFiumLibraryTest.cxx
+++ b/vcl/qa/cppunit/PDFiumLibraryTest.cxx
@@ -412,6 +412,64 @@ CPPUNIT_TEST_FIXTURE(PDFiumLibraryTest, 
testAnnotationsDifferentTypes)
 }
 }
 
+CPPUNIT_TEST_FIXTURE(PDFiumLibraryTest, testAnnotationsFreeText)
+{
+OUString aURL = getFullUrl(u"Annotations_Adobe_FreeText.pdf");
+SvFileStream aStream(aURL, StreamMode::READ);
+
+std::vector aResults;
+CPPUNIT_ASSERT_EQUAL(size_t(1), vcl::ImportPDFUnloaded(aURL, aResults));
+
+vcl::PDFGraphicResult& rResult = aResults[0];
+
+Graphic aGraphic = rResult.GetGraphic();
+aGraphic.makeAvailable();
+
+OUString aDefaultStyle;
+OUString aRichContent;
+
+{
+auto pVectorGraphicData = aGraphic.getVectorGraphicData();
+CPPUNIT_ASSERT(pVectorGraphicData);
+CPPUNIT_ASSERT_EQUAL(VectorGraphicDataType::Pdf, 
pVectorGraphicData->getType());
+
+auto& rDataContainer = pVectorGraphicData->getBinaryDataContainer();
+
+auto pPdfium = vcl::pdf::PDFiumLibrary::get();
+auto pDocument
+= pPdfium->openDocument(rDataContainer.getData(), 
rDataContainer.getSize(), OString());
+CPPUNIT_ASSERT(pDocument);
+
+CPPUNIT_ASSERT_EQUAL(1, pDocument->getPageCount());
+
+auto pPage = pDocument->openPage(0);
+CPPUNIT_ASSERT(pPage);
+
+CPPUNIT_ASSERT_EQUAL(1, pPage->getAnnotationCount());
+
+auto pAnnotation = pPage->getAnnotation(0);
+CPPUNIT_ASSERT(pAnnotation);
+CPPUNIT_ASSERT_EQUAL(vcl::pdf::PDFAnnotationSubType::FreeText, 
pAnnotation->getSubType());
+
+aDefaultStyle = 
pAnnotation->getString(vcl::pdf::constDictionaryKey_DefaultStyle);
+CPPUNIT_ASSERT_EQUAL(false, aDefaultStyle.isEmpty());
+
+aRichContent = 
pAnnotation->getString(vcl::pdf::constDictionaryKey_RichContent);
+CPPUNIT_ASSERT_EQUAL(false, aRichContent.isEmpty());
+}
+
+auto const& rAnnotations = rResult.GetAnnotations();
+CPPUNIT_ASSERT_EQUAL(size_t(1), rAnnotations.size());
+
+CPPUNIT_ASSERT_EQUAL(vcl::pdf::PDFAnnotationSubType::FreeText, 
rAnnotations[0].meSubType);
+
+auto* pMarker
+= 
static_cast(rAnnotations[0].mpMarker.get());
+
+CPPUNIT_ASSERT_EQUAL(aDefaultStyle, pMarker->maDefaultStyle);
+CPPUNIT_ASSERT_EQUAL(aRichContent, pMarker->maRichContent);
+}
+
 CPPUNIT_TEST_FIXTURE(PDFiumLibraryTest, testTools)
 {
 OUString sConverted = 
vcl:

core.git: Branch 'distro/collabora/co-24.04' - vcl/qa

2024-06-18 Thread Tomaž Vajngerl (via logerrit)
 vcl/qa/cppunit/PDFiumLibraryTest.cxx |   39 ---
 1 file changed, 9 insertions(+), 30 deletions(-)

New commits:
commit 15708d77321ccf770574cfac3c6673445e819510
Author: Tomaž Vajngerl 
AuthorDate: Thu Jun 13 14:53:51 2024 +0900
Commit: Miklos Vajna 
CommitDate: Tue Jun 18 12:22:46 2024 +0200

vcl: convert PDFiumLibraryTest to CPPUNIT_TEST_FIXTURE

Change-Id: I5022bec2622c7dc7ddf1e58b4a370551574281c3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168786
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl 
(cherry picked from commit 16f990255128ec32996ea92a726ffc34d9ea2fac)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168845
Tested-by: Miklos Vajna 
Reviewed-by: Miklos Vajna 

diff --git a/vcl/qa/cppunit/PDFiumLibraryTest.cxx 
b/vcl/qa/cppunit/PDFiumLibraryTest.cxx
index 966c44a3f568..287ae079ef96 100644
--- a/vcl/qa/cppunit/PDFiumLibraryTest.cxx
+++ b/vcl/qa/cppunit/PDFiumLibraryTest.cxx
@@ -28,33 +28,14 @@
 
 class PDFiumLibraryTest : public test::BootstrapFixtureBase
 {
+protected:
 OUString getFullUrl(std::u16string_view sFileName)
 {
 return m_directories.getURLFromSrc(u"/vcl/qa/cppunit/data/") + 
sFileName;
 }
-
-void testDocument();
-void testPages();
-void testPageObjects();
-void testAnnotationsMadeInEvince();
-void testAnnotationsMadeInAcrobat();
-void testAnnotationsDifferentTypes();
-void testTools();
-void testFormFields();
-
-CPPUNIT_TEST_SUITE(PDFiumLibraryTest);
-CPPUNIT_TEST(testDocument);
-CPPUNIT_TEST(testPages);
-CPPUNIT_TEST(testPageObjects);
-CPPUNIT_TEST(testAnnotationsMadeInEvince);
-CPPUNIT_TEST(testAnnotationsMadeInAcrobat);
-CPPUNIT_TEST(testAnnotationsDifferentTypes);
-CPPUNIT_TEST(testTools);
-CPPUNIT_TEST(testFormFields);
-CPPUNIT_TEST_SUITE_END();
 };
 
-void PDFiumLibraryTest::testDocument()
+CPPUNIT_TEST_FIXTURE(PDFiumLibraryTest, testDocument)
 {
 OUString aURL = getFullUrl(u"Pangram.pdf");
 SvFileStream aStream(aURL, StreamMode::READ);
@@ -81,7 +62,7 @@ void PDFiumLibraryTest::testDocument()
 CPPUNIT_ASSERT_EQUAL(792.0, aSize.getHeight());
 }
 
-void PDFiumLibraryTest::testPages()
+CPPUNIT_TEST_FIXTURE(PDFiumLibraryTest, testPages)
 {
 OUString aURL = getFullUrl(u"Pangram.pdf");
 SvFileStream aStream(aURL, StreamMode::READ);
@@ -106,7 +87,7 @@ void PDFiumLibraryTest::testPages()
 CPPUNIT_ASSERT(pPage);
 }
 
-void PDFiumLibraryTest::testPageObjects()
+CPPUNIT_TEST_FIXTURE(PDFiumLibraryTest, testPageObjects)
 {
 OUString aURL = getFullUrl(u"Pangram.pdf");
 SvFileStream aStream(aURL, StreamMode::READ);
@@ -159,7 +140,7 @@ void PDFiumLibraryTest::testPageObjects()
 CPPUNIT_ASSERT_DOUBLES_EQUAL(732.54, pPageObject->getBounds().getMaxY(), 
1E-2);
 }
 
-void PDFiumLibraryTest::testAnnotationsMadeInEvince()
+CPPUNIT_TEST_FIXTURE(PDFiumLibraryTest, testAnnotationsMadeInEvince)
 {
 OUString aURL = getFullUrl(u"PangramWithAnnotations.pdf");
 SvFileStream aStream(aURL, StreamMode::READ);
@@ -215,7 +196,7 @@ void PDFiumLibraryTest::testAnnotationsMadeInEvince()
 }
 }
 
-void PDFiumLibraryTest::testAnnotationsMadeInAcrobat()
+CPPUNIT_TEST_FIXTURE(PDFiumLibraryTest, testAnnotationsMadeInAcrobat)
 {
 OUString aURL = getFullUrl(u"PangramAcrobatAnnotations.pdf");
 SvFileStream aStream(aURL, StreamMode::READ);
@@ -292,7 +273,7 @@ void PDFiumLibraryTest::testAnnotationsMadeInAcrobat()
 }
 }
 
-void PDFiumLibraryTest::testFormFields()
+CPPUNIT_TEST_FIXTURE(PDFiumLibraryTest, testFormFields)
 {
 // Given a document with a form field that looks like plain text:
 OUString aURL = getFullUrl(u"form-fields.pdf");
@@ -327,7 +308,7 @@ void PDFiumLibraryTest::testFormFields()
 CPPUNIT_ASSERT_GREATER(static_cast(1), aColors.size());
 }
 
-void PDFiumLibraryTest::testAnnotationsDifferentTypes()
+CPPUNIT_TEST_FIXTURE(PDFiumLibraryTest, testAnnotationsDifferentTypes)
 {
 OUString aURL = getFullUrl(u"PangramWithMultipleTypeOfAnnotations.pdf");
 SvFileStream aStream(aURL, StreamMode::READ);
@@ -431,7 +412,7 @@ void PDFiumLibraryTest::testAnnotationsDifferentTypes()
 }
 }
 
-void PDFiumLibraryTest::testTools()
+CPPUNIT_TEST_FIXTURE(PDFiumLibraryTest, testTools)
 {
 OUString sConverted = 
vcl::pdf::convertPdfDateToISO8601(u"D:20200612201322+02'00");
 
@@ -447,8 +428,6 @@ void PDFiumLibraryTest::testTools()
 CPPUNIT_ASSERT_EQUAL(false, bool(aDateTime.IsUTC));
 }
 
-CPPUNIT_TEST_SUITE_REGISTRATION(PDFiumLibraryTest);
-
 CPPUNIT_PLUGIN_IMPLEMENT();
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */


core.git: Branch 'distro/collabora/co-24.04' - include/svx include/vcl sd/source vcl/source

2024-06-18 Thread Tomaž Vajngerl (via logerrit)
 include/svx/annotation/Annotation.hxx  |4 +
 include/vcl/filter/PDFiumLibrary.hxx   |3 +
 include/vcl/pdf/PDFAnnotationMarker.hxx|7 ++
 sd/source/filter/pdf/sdpdffilter.cxx   |8 +++
 sd/source/ui/annotations/annotationmanager.cxx |   13 +
 vcl/source/filter/ipdf/pdfread.cxx |   21 +++-
 vcl/source/pdf/PDFiumLibrary.cxx   |   64 +
 7 files changed, 119 insertions(+), 1 deletion(-)

New commits:
commit 6490cf00f733d620a4f224197b478a6100df0fb7
Author: Tomaž Vajngerl 
AuthorDate: Thu Jun 13 14:25:21 2024 +0900
Commit: Miklos Vajna 
CommitDate: Tue Jun 18 12:21:58 2024 +0200

annot: add support to import Stamp annotation from PDF

Stamp annotation shows an arbitrary bitmap in the document, where
the most common bitmaps are stamps like "Approved", "Confidential",
"Expired", "Sold",...

Change-Id: I332e34cbb346a686ee16eac7ca437ec4048e65ed
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168760
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl 
(cherry picked from commit 66a68fcb5639c3f0e42385fcdb08f16b9c96f243)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168844
Tested-by: Miklos Vajna 
Reviewed-by: Miklos Vajna 

diff --git a/include/svx/annotation/Annotation.hxx 
b/include/svx/annotation/Annotation.hxx
index 6464d96c8ce2..8ffaad3f0997 100644
--- a/include/svx/annotation/Annotation.hxx
+++ b/include/svx/annotation/Annotation.hxx
@@ -22,6 +22,7 @@
 #include 
 #include 
 #include 
+#include 
 
 class SdrUndoAction;
 class SfxViewShell;
@@ -57,6 +58,7 @@ enum class AnnotationType
 Highlight,
 Line,
 FreeText,
+Stamp
 };
 
 /** Annotation data that is used at annotation creation */
@@ -74,6 +76,8 @@ struct CreationInfo
 
 bool mbColor = false;
 Color maColor = COL_TRANSPARENT;
+
+BitmapEx maBitmapEx;
 };
 
 /** Data of an annotation */
diff --git a/include/vcl/filter/PDFiumLibrary.hxx 
b/include/vcl/filter/PDFiumLibrary.hxx
index 3c087cf7b11c..d90da7286020 100644
--- a/include/vcl/filter/PDFiumLibrary.hxx
+++ b/include/vcl/filter/PDFiumLibrary.hxx
@@ -37,6 +37,7 @@
 #include 
 
 class SvMemoryStream;
+class BitmapEx;
 
 namespace vcl::pdf
 {
@@ -80,6 +81,8 @@ public:
 virtual int getWidth() = 0;
 virtual int getHeight() = 0;
 virtual PDFBitmapType getFormat() = 0;
+/// Convert the bitmap buffer to a BitmapEx
+virtual BitmapEx createBitmapFromBuffer() = 0;
 };
 
 class VCL_DLLPUBLIC PDFiumAnnotation
diff --git a/include/vcl/pdf/PDFAnnotationMarker.hxx 
b/include/vcl/pdf/PDFAnnotationMarker.hxx
index 3be2e6c8ca3d..d1217c65c3af 100644
--- a/include/vcl/pdf/PDFAnnotationMarker.hxx
+++ b/include/vcl/pdf/PDFAnnotationMarker.hxx
@@ -14,6 +14,7 @@
 #include 
 #include 
 #include 
+#include 
 
 namespace vcl::pdf
 {
@@ -27,6 +28,12 @@ struct VCL_DLLPUBLIC PDFAnnotationMarker
 Color maFillColor = COL_TRANSPARENT;
 };
 
+/** Stamp annotation marker - arbitrary bitmap as annotation */
+struct VCL_DLLPUBLIC PDFAnnotationMarkerStamp : public PDFAnnotationMarker
+{
+BitmapEx maBitmapEx;
+};
+
 /** Free text annotation marker - showing text of the annotation in the 
document */
 struct VCL_DLLPUBLIC PDFAnnotationMarkerFreeText : public PDFAnnotationMarker
 {
diff --git a/sd/source/filter/pdf/sdpdffilter.cxx 
b/sd/source/filter/pdf/sdpdffilter.cxx
index 6b69530454c3..58e2dfead82f 100644
--- a/sd/source/filter/pdf/sdpdffilter.cxx
+++ b/sd/source/filter/pdf/sdpdffilter.cxx
@@ -210,6 +210,14 @@ bool SdPdfFilter::Import()
 {
 aInfo.meType = sdr::annotation::AnnotationType::FreeText;
 }
+else if (rPDFAnnotation.meSubType == 
vcl::pdf::PDFAnnotationSubType::Stamp)
+{
+auto* pMarker = 
static_cast(
+rPDFAnnotation.mpMarker.get());
+
+aInfo.meType = sdr::annotation::AnnotationType::Stamp;
+aInfo.maBitmapEx = pMarker->maBitmapEx;
+}
 
 xAnnotation->setCreationInfo(aInfo);
 }
diff --git a/sd/source/ui/annotations/annotationmanager.cxx 
b/sd/source/ui/annotations/annotationmanager.cxx
index 98a79f902478..67f356884725 100644
--- a/sd/source/ui/annotations/annotationmanager.cxx
+++ b/sd/source/ui/annotations/annotationmanager.cxx
@@ -82,6 +82,7 @@
 #include 
 #include 
 #include 
+#include 
 
 #include 
 #include 
@@ -1070,6 +1071,18 @@ void AnnotationManagerImpl::SyncAnnotationObjects()
 applyAnnotationCommon(*pNewObject, xAnnotation);
 applyAnnotationProperties(*pNewObject, rInfo);
 }
+else if (rInfo.meType == sdr::annotation::AnnotationType::Stamp)
+{
+pNewObject = new SdrCircObj(rModel, SdrCircKind::Full, aRectangle);
+
+rtl::Reference pGrafObject = new SdrGrafObj(rModel, 
Graphic(rInfo.maBitmapEx), aRectangle);
+pNewObje

core.git: Branch 'distro/collabora/co-24.04' - include/vcl vcl/source

2024-06-18 Thread Tomaž Vajngerl (via logerrit)
 include/vcl/pdf/PDFAnnotationMarker.hxx |5 +
 vcl/source/filter/ipdf/pdfread.cxx  |5 +
 2 files changed, 10 insertions(+)

New commits:
commit 110b5685a3f3f2709d692976c48f5742c3550d0d
Author: Tomaž Vajngerl 
AuthorDate: Thu Jun 13 14:19:44 2024 +0900
Commit: Miklos Vajna 
CommitDate: Tue Jun 18 12:10:47 2024 +0200

annot: add annotation marker for free text annotation

Added new class PDFAnnotationMarkerFreeText as we need a marker to
know if the annotation is a special one.

Change-Id: Ica0e72dd6bf62b322676c8e87659a3850074522a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168759
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl 
(cherry picked from commit 0fb1e4e9a74b566fb075a58ae2c7632f2cc068de)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168843
Tested-by: Miklos Vajna 
Reviewed-by: Miklos Vajna 

diff --git a/include/vcl/pdf/PDFAnnotationMarker.hxx 
b/include/vcl/pdf/PDFAnnotationMarker.hxx
index c643856375b5..3be2e6c8ca3d 100644
--- a/include/vcl/pdf/PDFAnnotationMarker.hxx
+++ b/include/vcl/pdf/PDFAnnotationMarker.hxx
@@ -27,6 +27,11 @@ struct VCL_DLLPUBLIC PDFAnnotationMarker
 Color maFillColor = COL_TRANSPARENT;
 };
 
+/** Free text annotation marker - showing text of the annotation in the 
document */
+struct VCL_DLLPUBLIC PDFAnnotationMarkerFreeText : public PDFAnnotationMarker
+{
+};
+
 struct VCL_DLLPUBLIC PDFAnnotationMarkerCircle : public PDFAnnotationMarker
 {
 };
diff --git a/vcl/source/filter/ipdf/pdfread.cxx 
b/vcl/source/filter/ipdf/pdfread.cxx
index ac4bceaf45d3..c19a6939b486 100644
--- a/vcl/source/filter/ipdf/pdfread.cxx
+++ b/vcl/source/filter/ipdf/pdfread.cxx
@@ -325,6 +325,11 @@ findAnnotations(const 
std::unique_ptr& pPage, basegfx::B2D
 pMarker->mnWidth = convertPointToMm100(fWidth);
 }
 }
+else if (eSubtype == vcl::pdf::PDFAnnotationSubType::FreeText)
+{
+auto pMarker = 
std::make_shared();
+rPDFGraphicAnnotation.mpMarker = pMarker;
+}
 }
 }
 }


core.git: Branch 'distro/collabora/co-24.04' - sd/qa sd/source svx/source

2024-06-18 Thread Tomaž Vajngerl (via logerrit)
 sd/qa/unit/AnnotationTest.cxx  |   50 +
 sd/source/ui/annotations/annotationmanager.cxx |   46 ---
 sd/source/ui/annotations/annotationmanagerimpl.hxx |2 
 svx/source/svdraw/svdobj.cxx   |8 ++-
 4 files changed, 85 insertions(+), 21 deletions(-)

New commits:
commit 17b7c400d75c5210bbe5384f2ef97a8809364965
Author: Tomaž Vajngerl 
AuthorDate: Wed Jun 12 23:16:36 2024 +0900
Commit: Miklos Vajna 
CommitDate: Tue Jun 18 11:35:05 2024 +0200

annot: update annotation object when annotation position changes

+ add tests which check annotation object position changes

Change-Id: Iad5de3d319c14ddb69d6c1994ce5949d57d76de7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168744
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl 
(cherry picked from commit 752436502c8ef19d93e4a211431b9be637261d07)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168842
Tested-by: Miklos Vajna 
Reviewed-by: Miklos Vajna 

diff --git a/sd/qa/unit/AnnotationTest.cxx b/sd/qa/unit/AnnotationTest.cxx
index 36f9ef40d459..4883c7fb12ec 100644
--- a/sd/qa/unit/AnnotationTest.cxx
+++ b/sd/qa/unit/AnnotationTest.cxx
@@ -18,6 +18,7 @@
 #include 
 #include 
 #include 
+#include 
 #include 
 #include 
 
@@ -193,6 +194,55 @@ CPPUNIT_TEST_FIXTURE(AnnotationTest, 
testAnnotationInsertUndoRedo)
 CPPUNIT_ASSERT_EQUAL(sal_uInt32(nID + 1), 
pPage->getAnnotations().at(1)->GetId());
 }
 
+CPPUNIT_TEST_FIXTURE(AnnotationTest, testAnnotationUpdate)
+{
+createSdDrawDoc();
+
+auto pXImpressDocument = 
dynamic_cast(mxComponent.get());
+sd::ViewShell* pViewShell = 
pXImpressDocument->GetDocShell()->GetViewShell();
+
+SdPage* pPage = pViewShell->GetActualPage();
+CPPUNIT_ASSERT_EQUAL(size_t(0), pPage->GetObjCount());
+
+uno::Sequence aArgs;
+
+aArgs = comphelper::InitPropertySequence({
+{ "Text", uno::Any(u"Comment"_ustr) },
+});
+dispatchCommand(mxComponent, ".uno:InsertAnnotation", aArgs);
+
+CPPUNIT_ASSERT_EQUAL(size_t(1), pPage->GetObjCount());
+SdrObject* pObject = pPage->GetObj(0);
+CPPUNIT_ASSERT_EQUAL(SdrObjKind::Annotation, pObject->GetObjIdentifier());
+
+auto& pAnnotationData = pObject->getAnnotationData();
+CPPUNIT_ASSERT(pAnnotationData);
+sal_Int32 nID = pAnnotationData->mxAnnotation->GetId();
+
+CPPUNIT_ASSERT_EQUAL(tools::Long(0), pObject->GetLogicRect().Left());
+CPPUNIT_ASSERT_EQUAL(tools::Long(0), pObject->GetLogicRect().Top());
+
+pObject->Move({ 200, 200 });
+
+CPPUNIT_ASSERT_EQUAL(tools::Long(200), pObject->GetLogicRect().Left());
+CPPUNIT_ASSERT_EQUAL(tools::Long(200), pObject->GetLogicRect().Top());
+
+CPPUNIT_ASSERT_DOUBLES_EQUAL(2.0, 
pAnnotationData->mxAnnotation->getPosition().X, 1E-4);
+CPPUNIT_ASSERT_DOUBLES_EQUAL(2.0, 
pAnnotationData->mxAnnotation->getPosition().Y, 1E-4);
+
+aArgs = comphelper::InitPropertySequence({ { "Id", 
uno::Any(OUString::number(nID)) },
+   { "PositionX", 
uno::Any(sal_Int32(1440)) },
+   { "PositionY", 
uno::Any(sal_Int32(14400)) } });
+
+dispatchCommand(mxComponent, ".uno:EditAnnotation", aArgs);
+
+CPPUNIT_ASSERT_DOUBLES_EQUAL(25.4, 
pAnnotationData->mxAnnotation->getPosition().X, 1E-4);
+CPPUNIT_ASSERT_DOUBLES_EQUAL(254.0, 
pAnnotationData->mxAnnotation->getPosition().Y, 1E-4);
+
+CPPUNIT_ASSERT_EQUAL(tools::Long(2540), pObject->GetLogicRect().Left());
+CPPUNIT_ASSERT_EQUAL(tools::Long(25400), pObject->GetLogicRect().Top());
+}
+
 CPPUNIT_PLUGIN_IMPLEMENT();
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sd/source/ui/annotations/annotationmanager.cxx 
b/sd/source/ui/annotations/annotationmanager.cxx
index 86dcac409840..98a79f902478 100644
--- a/sd/source/ui/annotations/annotationmanager.cxx
+++ b/sd/source/ui/annotations/annotationmanager.cxx
@@ -108,7 +108,8 @@ using namespace ::com::sun::star::ui;
 using namespace ::com::sun::star::task;
 using namespace ::com::sun::star::office;
 
-namespace sd {
+namespace sd
+{
 
 SfxItemPool* GetAnnotationPool()
 {
@@ -176,6 +177,24 @@ OUString getAnnotationDateTimeString( const Reference< 
XAnnotation >& xAnnotatio
 return sRet;
 }
 
+namespace
+{
+
+SdrObject* 
findAnnotationObjectMatching(rtl::Reference const& 
xAnnotation)
+{
+SdrPage const* pPage = xAnnotation->getPage();
+
+for (size_t i = 0; i < pPage->GetObjCount(); ++i)
+{
+SdrObject* pObject = pPage->GetObj(i);
+if (pObject->isAnnotationObject() && 
pObject->getAnnotationData()->mxAnnotation == xAnnotation)
+return pObject;
+}
+return nullptr;
+}
+
+} // end anonymous ns
+
 AnnotationManagerImpl::AnnotationManagerImpl( ViewShellBase& rViewShellBase )
 : mrBase( rViewShellBase )
 , mpDoc( rViewShellBase.GetDocument() )
@@ -433,11 +452,16 @@ void 
AnnotationManagerImpl::ExecuteEditAn

core.git: Branch 'distro/collabora/co-24.04' - include/svx sd/source svx/source

2024-06-18 Thread Tomaž Vajngerl (via logerrit)
 include/svx/annotation/Annotation.hxx   |   15 +++
 include/svx/annotation/AnnotationObject.hxx |2 ++
 include/svx/annotation/ObjectAnnotationData.hxx |8 +++-
 include/svx/svdpage.hxx |1 +
 sd/source/core/annotations/Annotation.cxx   |9 +++--
 svx/source/annotation/Annotation.cxx|1 +
 6 files changed, 33 insertions(+), 3 deletions(-)

New commits:
commit 1deed7d8f804b54493625deffd35487e4c64f6d5
Author: Tomaž Vajngerl 
AuthorDate: Mon Jun 10 13:41:51 2024 +0900
Commit: Miklos Vajna 
CommitDate: Tue Jun 18 11:25:51 2024 +0200

annot: document new annotation classes and methods

Change-Id: I71d1055a30e0e8eedcd8fa71b47e74e90f1aac93
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168654
Tested-by: Miklos Vajna 
Reviewed-by: Miklos Vajna 

diff --git a/include/svx/annotation/Annotation.hxx 
b/include/svx/annotation/Annotation.hxx
index 0950335c8734..6464d96c8ce2 100644
--- a/include/svx/annotation/Annotation.hxx
+++ b/include/svx/annotation/Annotation.hxx
@@ -31,6 +31,7 @@ namespace sdr::annotation
 {
 class Annotation;
 
+/** Type of the annotation / comment change. */
 enum class CommentNotificationType
 {
 Add,
@@ -38,10 +39,14 @@ enum class CommentNotificationType
 Remove
 };
 
+/** LOKit notify for a view */
 SVXCORE_DLLPUBLIC void LOKCommentNotify(CommentNotificationType nType,
 const SfxViewShell* pViewShell, 
Annotation& rAnnotation);
+
+/** LOKit notify for all views */
 SVXCORE_DLLPUBLIC void LOKCommentNotifyAll(CommentNotificationType nType, 
Annotation& rAnnotation);
 
+/** Type of the annotation (that is supported) */
 enum class AnnotationType
 {
 None,
@@ -54,6 +59,7 @@ enum class AnnotationType
 FreeText,
 };
 
+/** Annotation data that is used at annotation creation */
 struct CreationInfo
 {
 AnnotationType meType = AnnotationType::None;
@@ -70,6 +76,7 @@ struct CreationInfo
 Color maColor = COL_TRANSPARENT;
 };
 
+/** Data of an annotation */
 struct SVXCORE_DLLPUBLIC AnnotationData
 {
 css::geometry::RealPoint2D m_Position;
@@ -83,6 +90,11 @@ struct SVXCORE_DLLPUBLIC AnnotationData
 void set(Annotation& rAnnotation);
 };
 
+/** Annotation object, responsible for handling of the annotation.
+ *
+ * Implements the XAnnotation UNO API, handles undo/redo and notifications ()
+ *
+ **/
 class SVXCORE_DLLPUBLIC Annotation
 : protected ::cppu::BaseMutex,
   public ::cppu::WeakComponentImplHelper,
@@ -123,6 +135,7 @@ public:
 ::cppu::WeakComponentImplHelper::release();
 }
 
+// Changes without triggering notification broadcast
 css::geometry::RealPoint2D GetPosition() const { return m_Position; }
 void SetPosition(const css::geometry::RealPoint2D& rValue) { m_Position = 
rValue; }
 
@@ -156,12 +169,14 @@ public:
 SdrPage const* getPage() const { return mpPage; }
 SdrPage* getPage() { return mpPage; }
 
+// Unique ID of the annotation
 sal_uInt32 GetId() const { return m_nId; }
 
 CreationInfo const& getCreationInfo() { return maCreationInfo; }
 void setCreationInfo(CreationInfo const& rCreationInfo) { maCreationInfo = 
rCreationInfo; }
 };
 
+/** Vector of annotations */
 typedef std::vector> AnnotationVector;
 
 } // namespace sdr::annotation
diff --git a/include/svx/annotation/AnnotationObject.hxx 
b/include/svx/annotation/AnnotationObject.hxx
index d46f4e7c3150..e372fec1f56a 100644
--- a/include/svx/annotation/AnnotationObject.hxx
+++ b/include/svx/annotation/AnnotationObject.hxx
@@ -16,12 +16,14 @@
 
 namespace sdr::annotation
 {
+/** Annotation data that contains the annotation unique ID and author's ID */
 struct SVXCORE_DLLPUBLIC AnnotationViewData
 {
 sal_Int32 nIndex = -1;
 sal_uInt16 nAuthorIndex = 0;
 };
 
+/** Annotation (sdr) object, which represents an annotation inside the 
document */
 class SVXCORE_DLLPUBLIC AnnotationObject final : public SdrRectObj
 {
 private:
diff --git a/include/svx/annotation/ObjectAnnotationData.hxx 
b/include/svx/annotation/ObjectAnnotationData.hxx
index 50a2f80c80ac..4530df2fb61c 100644
--- a/include/svx/annotation/ObjectAnnotationData.hxx
+++ b/include/svx/annotation/ObjectAnnotationData.hxx
@@ -15,14 +15,20 @@
 
 namespace sdr::annotation
 {
-/** Contains the annotation data for a SdrObject */
+/** Contains the annotation data specific for a SdrObject (which represents an 
annotation) */
 class ObjectAnnotationData
 {
 public:
+/// Does the (sdr) object represent an annotation
 bool mbIsAnnotation : 1 = false;
+
+/// The annotation
 rtl::Reference mxAnnotation;
+
+/// Object handling the pop-up window
 std::unique_ptr mpAnnotationPopup;
 
+/// Open popup for the annotation
 void openPopup()
 {
 if (mbIsAnnotation && mpAnnotationPopup)
diff --git a/include/svx/svdpage.hxx b/include/svx/svdpage.hxx
index cc6d4f47492f..32bd6903501a 100644
--- a/include/sv

core.git: Branch 'distro/collabora/co-24.04' - svx/source

2024-06-18 Thread Tomaž Vajngerl (via logerrit)
 svx/source/sdr/contact/viewobjectcontactofsdrobj.cxx |3 +++
 1 file changed, 3 insertions(+)

New commits:
commit d329fb26e422cf359db190b20e4268b640b7ac82
Author: Tomaž Vajngerl 
AuthorDate: Sat Jun 8 21:35:05 2024 +0900
Commit: Miklos Vajna 
CommitDate: Tue Jun 18 11:25:08 2024 +0200

annot: don't render objects marked as annotation in PDF export

Objects that are marked as annotation shouldn't be rendered to the
PDF document. Those should be written to the PDF as annotations
(if output of annotations is enabled in the PDF export options).

Change-Id: I60650b5a64dc52da6d32d8ac92441e4b21900126
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168653
Tested-by: Miklos Vajna 
Reviewed-by: Miklos Vajna 

diff --git a/svx/source/sdr/contact/viewobjectcontactofsdrobj.cxx 
b/svx/source/sdr/contact/viewobjectcontactofsdrobj.cxx
index 0cc353a5b65c..fc132946883a 100644
--- a/svx/source/sdr/contact/viewobjectcontactofsdrobj.cxx
+++ b/svx/source/sdr/contact/viewobjectcontactofsdrobj.cxx
@@ -89,6 +89,9 @@ bool ViewObjectContactOfSdrObj::isPrimitiveVisible(const 
DisplayInfo& rDisplayIn
 return false;
 }
 
+if (GetObjectContact().isOutputToPDFFile() && rObject.isAnnotationObject())
+return false;
+
 // Test for Calc object hiding (for OLE and Graphic it's extra, see there)
 const SdrPageView* pSdrPageView = GetObjectContact().TryToGetSdrPageView();
 


core.git: Branch 'distro/collabora/co-24.04' - include/svx svx/source

2024-06-18 Thread Tomaž Vajngerl (via logerrit)
 include/svx/svdmrkv.hxx   |2 +
 svx/source/svdraw/svdmrkv.cxx |   43 +++---
 2 files changed, 42 insertions(+), 3 deletions(-)

New commits:
commit 016cd3860171f622d2a2475cf79c8463bebd58b2
Author: Tomaž Vajngerl 
AuthorDate: Fri Jun 7 19:23:11 2024 +0900
Commit: Miklos Vajna 
CommitDate: Tue Jun 18 11:24:12 2024 +0200

annot: add custom selection overlay for the annotation object

Make annotation objects selection similar like it was with the
old annotationg tags.

Change-Id: I0623ddf56274dc996ed9dd16096256e03ad65270
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168652
Reviewed-by: Miklos Vajna 
Tested-by: Miklos Vajna 

diff --git a/include/svx/svdmrkv.hxx b/include/svx/svdmrkv.hxx
index 6421b51b0dba..9f95f300ccd8 100644
--- a/include/svx/svdmrkv.hxx
+++ b/include/svx/svdmrkv.hxx
@@ -85,6 +85,7 @@ enum class ImpGetDescriptionOptions
 };
 
 class ImplMarkingOverlay;
+class MarkingSelectionOverlay;
 class MarkingSubSelectionOverlay;
 
 class SVXCORE_DLLPUBLIC SdrMarkView : public SdrSnapView
@@ -96,6 +97,7 @@ class SVXCORE_DLLPUBLIC SdrMarkView : public SdrSnapView
 std::unique_ptr mpMarkPointsOverlay;
 std::unique_ptr mpMarkGluePointsOverlay;
 
+std::unique_ptr mpMarkingSelectionOverlay;
 std::unique_ptr mpMarkingSubSelectionOverlay;
 
 protected:
diff --git a/svx/source/svdraw/svdmrkv.cxx b/svx/source/svdraw/svdmrkv.cxx
index 38e13d8e3857..3339191f9fb7 100644
--- a/svx/source/svdraw/svdmrkv.cxx
+++ b/svx/source/svdraw/svdmrkv.cxx
@@ -40,6 +40,7 @@
 #include 
 #include 
 #include 
+#include 
 #include 
 #include 
 #include 
@@ -53,6 +54,7 @@
 #include 
 #include 
 #include 
+#include 
 
 #include 
 #include 
@@ -134,6 +136,31 @@ void ImplMarkingOverlay::SetSecondPosition(const 
basegfx::B2DPoint& rNewPosition
 }
 }
 
+class MarkingSelectionOverlay
+{
+sdr::overlay::OverlayObjectList maObjects;
+public:
+MarkingSelectionOverlay(const SdrPaintView& rView, basegfx::B2DRectangle 
const& rSelection)
+{
+if (comphelper::LibreOfficeKit::isActive())
+return; // We do client-side object manipulation with the Kit API
+
+for (sal_uInt32 a(0); a < rView.PaintWindowCount(); a++)
+{
+SdrPaintWindow* pPaintWindow = rView.GetPaintWindow(a);
+const rtl::Reference& xTargetOverlay 
= pPaintWindow->GetOverlayManager();
+
+if (xTargetOverlay.is())
+{
+basegfx::B2DPolyPolygon 
aPolyPoly(basegfx::utils::createPolygonFromRect(rSelection));
+auto pNew = 
std::make_unique(aPolyPoly, COL_GRAY, 0, 
COL_TRANSPARENT);
+xTargetOverlay->add(*pNew);
+maObjects.append(std::move(pNew));
+}
+}
+}
+};
+
 class MarkingSubSelectionOverlay
 {
 sdr::overlay::OverlayObjectList maObjects;
@@ -1244,6 +1271,7 @@ void SdrMarkView::SetMarkHandles(SfxViewShell* 
pOtherShell)
 SdrObject* pSaveObj = nullptr;
 
 mpMarkingSubSelectionOverlay.reset();
+mpMarkingSelectionOverlay.reset();
 
 if(pSaveOldFocusHdl
 && pSaveOldFocusHdl->GetObj()
@@ -1308,12 +1336,23 @@ void SdrMarkView::SetMarkHandles(SfxViewShell* 
pOtherShell)
 }
 }
 
+tools::Rectangle aRect(GetMarkedObjRect());
+
+if (mpMarkedObj && mpMarkedObj->GetObjIdentifier() == 
SdrObjKind::Annotation)
+{
+basegfx::B2DRectangle aB2DRect(aRect.Left(), aRect.Top(), 
aRect.Right(), aRect.Bottom());
+mpMarkingSelectionOverlay = 
std::make_unique(*this, aB2DRect);
+
+return;
+
+}
+
 SfxViewShell* pViewShell = GetSfxViewShell();
 
 // check if text edit or ole is active and handles need to be suppressed. 
This may be the case
 // when a single object is selected
 // Using a strict return statement is okay here; no handles means *no* 
handles.
-if(mpMarkedObj)
+if (mpMarkedObj)
 {
 // formerly #i33755#: If TextEdit is active the EditEngine will 
directly paint
 // to the window, so suppress Overlay and handles completely; a text 
frame for
@@ -1346,8 +1385,6 @@ void SdrMarkView::SetMarkHandles(SfxViewShell* 
pOtherShell)
 }
 }
 
-tools::Rectangle aRect(GetMarkedObjRect());
-
 if (bFrmHdl)
 {
 if(!aRect.IsEmpty())


core.git: Branch 'libreoffice-24-2' - linguistic/source

2024-06-18 Thread László Németh (via logerrit)
 linguistic/source/spelldsp.cxx |   32 ++--
 linguistic/source/spelldsp.hxx |2 +-
 2 files changed, 27 insertions(+), 7 deletions(-)

New commits:
commit f3958668003a8aae1ce0ff0473b2b3e75d285739
Author: László Németh 
AuthorDate: Fri Jun 14 11:26:22 2024 +0200
Commit: Michael Stahl 
CommitDate: Tue Jun 18 11:21:41 2024 +0200

tdf#150582 linguistic: fix always rejected words with U+2019 apostrophe

During spell checking, words added to the user dictionaries still
weren't recognized by Calc, Impress and Draw because of the unnecessary
conversion their typographic apostrophes to ASCII apostrophes.

Note: Writer has no such problem because of its (obsolete) apostrophe
conversion for the user dictionary.

First skip the obsolete apostrophe conversion in isValid(), but keep
it as a fallback for Writer users.

Change-Id: I09870a35d7a91017281ba4b228d338336e7bd9c1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168858
Tested-by: Jenkins
Reviewed-by: László Németh 
(cherry picked from commit 8de1941fe61b461be617e1e88bb362bbd8315654)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168878
Reviewed-by: Michael Stahl 

diff --git a/linguistic/source/spelldsp.cxx b/linguistic/source/spelldsp.cxx
index 92b2d4c3efbd..cf83b3a2e3b7 100644
--- a/linguistic/source/spelldsp.cxx
+++ b/linguistic/source/spelldsp.cxx
@@ -199,10 +199,19 @@ sal_Bool SAL_CALL
 const css::uno::Sequence< ::css::beans::PropertyValue >& 
rProperties )
 {
 MutexGuard  aGuard( GetLinguMutex() );
-return isValid_Impl( rWord, LinguLocaleToLanguage( rLocale ), rProperties 
);
+// for historical reasons, the word can be only with ASCII apostrophe in 
the dictionaries,
+// so as a fallback, convert typographical apostrophes to avoid annoying 
users, if they
+// have old (user) dictionaries only with the obsolete ASCII apostrophe.
+bool bConvert = false;
+bool bRet = isValid_Impl( rWord, LinguLocaleToLanguage( rLocale ), 
rProperties, bConvert );
+if (!bRet && bConvert)
+{
+// fallback: convert the apostrophes
+bRet = isValid_Impl( rWord, LinguLocaleToLanguage( rLocale ), 
rProperties, bConvert );
+}
+return bRet;
 }
 
-
 Reference< XSpellAlternatives > SAL_CALL
 SpellCheckerDispatcher::spell( const OUString& rWord, const Locale& 
rLocale,
 const css::uno::Sequence< ::css::beans::PropertyValue >& 
rProperties )
@@ -249,7 +258,8 @@ static Reference< XDictionaryEntry > 
lcl_GetRulingDictionaryEntry(
 bool SpellCheckerDispatcher::isValid_Impl(
 const OUString& rWord,
 LanguageType nLanguage,
-const PropertyValues& rProperties)
+const PropertyValues& rProperties,
+bool& rConvertApostrophe)
 {
 MutexGuard  aGuard( GetLinguMutex() );
 
@@ -267,11 +277,21 @@ bool SpellCheckerDispatcher::isValid_Impl(
 OUString aChkWord( rWord );
 Locale aLocale( LanguageTag::convertToLocale( nLanguage ) );
 
-// replace typographical apostroph by ascii apostroph
+// replace typographical apostrophe by ASCII apostrophe only as a 
fallback
+// for old user dictionaries before the time of the default 
typographical apostrophe
+// (Note: otherwise also no problem with non-Unicode Hunspell 
dictionaries, because
+// the character conversion converts also the typographical apostrophe 
to the ASCII one)
 OUString aSingleQuote( GetLocaleDataWrapper( nLanguage 
).getQuotationMarkEnd() );
 DBG_ASSERT( 1 == aSingleQuote.getLength(), "unexpected length of 
quotation mark" );
-if (!aSingleQuote.isEmpty())
-aChkWord = aChkWord.replace( aSingleQuote[0], '\'' );
+if (!aSingleQuote.isEmpty() && aChkWord.indexOf(aSingleQuote[0]) > -1)
+{
+// tdf#150582 first check with the original typographical 
apostrophe,
+// and convert it only on the second try
+if (rConvertApostrophe)
+aChkWord = aChkWord.replace( aSingleQuote[0], '\'' );
+else
+rConvertApostrophe = true;
+}
 
 RemoveHyphens( aChkWord );
 if (IsIgnoreControlChars( rProperties, GetPropSet() ))
diff --git a/linguistic/source/spelldsp.hxx b/linguistic/source/spelldsp.hxx
index 73fe59579ff3..c05676e1c9f0 100644
--- a/linguistic/source/spelldsp.hxx
+++ b/linguistic/source/spelldsp.hxx
@@ -69,7 +69,7 @@ class SpellCheckerDispatcher :
 /// @throws css::uno::RuntimeException
 /// @throws css::lang::IllegalArgumentException
 boolisValid_Impl(const OUString& aWord, LanguageType nLanguage,
-const css::beans::PropertyValues& aProperties);
+const css::beans::PropertyValues& aProperties, bool& 
rConvertApostrophe);
 
 /// @throws css::uno::RuntimeException
 /// @throws css::lang::IllegalArgumentException


core.git: Branch 'distro/collabora/co-24.04' - include/svx sd/Library_sd.mk sd/source

2024-06-18 Thread Tomaž Vajngerl (via logerrit)
 include/svx/annotation/IAnnotationPopup.hxx |   37 +++
 include/svx/annotation/ObjectAnnotationData.hxx |8 +
 sd/Library_sd.mk|1 
 sd/source/core/sdpage2.cxx  |1 
 sd/source/ui/annotations/AnnotationPopup.cxx|  115 
 sd/source/ui/annotations/AnnotationPopup.hxx|   46 +
 sd/source/ui/annotations/annotationmanager.cxx  |3 
 sd/source/ui/func/fusel.cxx |   12 ++
 8 files changed, 221 insertions(+), 2 deletions(-)

New commits:
commit 0aae22f0a19064ba6b67b9008762f693967228a8
Author: Tomaž Vajngerl 
AuthorDate: Fri Jun 7 12:15:28 2024 +0900
Commit: Miklos Vajna 
CommitDate: Tue Jun 18 11:19:46 2024 +0200

annot: make annotation pop-up window working again

The code to open AnnotatationWindow was removed in the previous
change as it needed to be changed to make it work with annotation
(sdr) object.

Change-Id: Ic75e4fca6b46359f29762bc4735a76204aeb90f3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168651
Tested-by: Miklos Vajna 
Reviewed-by: Miklos Vajna 

diff --git a/include/svx/annotation/IAnnotationPopup.hxx 
b/include/svx/annotation/IAnnotationPopup.hxx
new file mode 100644
index ..8a705ef1e935
--- /dev/null
+++ b/include/svx/annotation/IAnnotationPopup.hxx
@@ -0,0 +1,37 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-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/.
+ */
+
+#pragma once
+
+#include 
+
+#include 
+
+namespace sdr::annotation
+{
+class SVXCORE_DLLPUBLIC IAnnotationPopup
+{
+protected:
+rtl::Reference mxAnnotation;
+
+public:
+IAnnotationPopup(rtl::Reference const& 
pAnnotation)
+: mxAnnotation(pAnnotation)
+{
+}
+
+virtual ~IAnnotationPopup() {}
+
+virtual void openPopup() = 0;
+virtual void closePopup() = 0;
+};
+
+} // end sdr::annotation
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/include/svx/annotation/ObjectAnnotationData.hxx 
b/include/svx/annotation/ObjectAnnotationData.hxx
index 44776638e64f..50a2f80c80ac 100644
--- a/include/svx/annotation/ObjectAnnotationData.hxx
+++ b/include/svx/annotation/ObjectAnnotationData.hxx
@@ -11,6 +11,7 @@
 
 #include 
 #include 
+#include 
 
 namespace sdr::annotation
 {
@@ -20,6 +21,13 @@ class ObjectAnnotationData
 public:
 bool mbIsAnnotation : 1 = false;
 rtl::Reference mxAnnotation;
+std::unique_ptr mpAnnotationPopup;
+
+void openPopup()
+{
+if (mbIsAnnotation && mpAnnotationPopup)
+mpAnnotationPopup->openPopup();
+}
 };
 }
 
diff --git a/sd/Library_sd.mk b/sd/Library_sd.mk
index bb4da5be6d75..e6eb7c82540c 100644
--- a/sd/Library_sd.mk
+++ b/sd/Library_sd.mk
@@ -213,6 +213,7 @@ $(eval $(call gb_Library_add_exception_objects,sd,\
sd/source/ui/animations/SlideTransitionPane \
sd/source/ui/animations/motionpathtag \
sd/source/ui/annotations/annotationmanager \
+   sd/source/ui/annotations/AnnotationPopup \
sd/source/ui/annotations/annotationwindow \
sd/source/ui/app/optsitem \
sd/source/ui/app/sddll \
diff --git a/sd/source/core/sdpage2.cxx b/sd/source/core/sdpage2.cxx
index 044cb642c8c0..da415e8e5a8e 100644
--- a/sd/source/core/sdpage2.cxx
+++ b/sd/source/core/sdpage2.cxx
@@ -620,6 +620,7 @@ void 
SdPage::removeAnnotationNoNotify(rtl::ReferenceisAnnotationObject() && 
pObject->getAnnotationData()->mxAnnotation == xAnnotation)
 {
+pObject->getAnnotationData()->mpAnnotationPopup->closePopup();
 RemoveObject(nObjectIndex);
 }
 }
diff --git a/sd/source/ui/annotations/AnnotationPopup.cxx 
b/sd/source/ui/annotations/AnnotationPopup.cxx
new file mode 100644
index ..068d48796302
--- /dev/null
+++ b/sd/source/ui/annotations/AnnotationPopup.cxx
@@ -0,0 +1,115 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-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/.
+ */
+
+#include 
+#include 
+
+#include "AnnotationPopup.hxx"
+#include 
+
+#include 
+#include 
+#include 
+#include 
+#include 
+
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+
+#include 
+#include 
+#include 
+#include "annotationmanagerimpl.hxx"
+#include "annotationwindow.hxx"
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+
+using namespace ::com::sun::star;
+
+namespace sd
+{
+AnnotationPopup::AnnotationPopup(rtl::Reference 
const& xA

core.git: Branch 'libreoffice-24-2' - download.lst

2024-06-18 Thread Xisco Fauli (via logerrit)
 download.lst |4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

New commits:
commit 429f35ed0f175ba0f4831afb85c1848b3a264c67
Author: Xisco Fauli 
AuthorDate: Mon Jun 17 22:31:12 2024 +0200
Commit: Michael Stahl 
CommitDate: Tue Jun 18 11:19:37 2024 +0200

language-subtag-registry: upgrade to 2024-06-14

How the file was created:
mkdir data
cd data
wget

https://www.iana.org/assignments/language-subtag-registry/language-subtag-registry
cd ..
tar cvjf language-subtag-registry-2024-06-14.tar.bz2 
data/language-subtag-registry

Change-Id: Ib85b9072590a97fde37be85b9866bf53f77d1f4e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169061
Reviewed-by: Xisco Fauli 
Tested-by: Jenkins
(cherry picked from commit 62c99a31de22561e0e38dd10f3b3fd2b6dd9971d)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169099
Reviewed-by: Michael Stahl 

diff --git a/download.lst b/download.lst
index eaae9533e8c5..f4a0a29d97ec 100644
--- a/download.lst
+++ b/download.lst
@@ -359,8 +359,8 @@ LIBJPEG_TURBO_TARBALL := libjpeg-turbo-2.1.5.1.tar.gz
 # three static lines
 # so that git cherry-pick
 # will not run into conflicts
-LANGTAGREG_SHA256SUM := 
9090265f2bb0f4fb20ec1f7357062c033b9556b362b70c441985c1c905dd9a73
-LANGTAGREG_TARBALL := language-subtag-registry-2024-05-16.tar.bz2
+LANGTAGREG_SHA256SUM := 
75bc394dd83ddfd62b172a462db1b66bdb5950f40823ed63b8c7db6b71e37e75
+LANGTAGREG_TARBALL := language-subtag-registry-2024-06-14.tar.bz2
 # three static lines
 # so that git cherry-pick
 # will not run into conflicts


core.git: Branch 'distro/collabora/co-24.04' - include/svx svx/source

2024-06-18 Thread Tomaž Vajngerl (via logerrit)
 include/svx/annotation/Annotation.hxx |1 
 svx/source/svdraw/svdobj.cxx  |   41 +-
 svx/source/svdraw/svdotxed.cxx|9 ++-
 3 files changed, 40 insertions(+), 11 deletions(-)

New commits:
commit d65acecc180c437f4c564fb5b3c4ad985986801c
Author: Tomaž Vajngerl 
AuthorDate: Fri Jun 7 12:31:10 2024 +0900
Commit: Miklos Vajna 
CommitDate: Tue Jun 18 11:18:28 2024 +0200

annot: update annotation position, size, text when those change

Change-Id: I345f4c714ed4ca0c8277e0aedf5ea4b5cd70ea70
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168604
Tested-by: Miklos Vajna 
Reviewed-by: Miklos Vajna 

diff --git a/include/svx/annotation/Annotation.hxx 
b/include/svx/annotation/Annotation.hxx
index 09c6da0f7b83..0950335c8734 100644
--- a/include/svx/annotation/Annotation.hxx
+++ b/include/svx/annotation/Annotation.hxx
@@ -150,6 +150,7 @@ public:
 
 OUString GetText();
 void SetText(OUString const& rText);
+rtl::Reference getTextApiObject() { return 
m_TextRange; }
 
 SdrModel* GetModel() const;
 SdrPage const* getPage() const { return mpPage; }
diff --git a/svx/source/svdraw/svdobj.cxx b/svx/source/svdraw/svdobj.cxx
index 1b180f19bdec..e1a4628a2fff 100644
--- a/svx/source/svdraw/svdobj.cxx
+++ b/svx/source/svdraw/svdobj.cxx
@@ -1539,15 +1539,24 @@ void SdrObject::NbcShear(const Point& rRef, Degree100 
/*nAngle*/, double tn, boo
 SetGlueReallyAbsolute(false);
 }
 
-void SdrObject::Move(const Size& rSiz)
+void SdrObject::Move(const Size& rSize)
 {
-if (rSiz.Width()!=0 || rSiz.Height()!=0) {
-tools::Rectangle aBoundRect0; if (m_pUserCall!=nullptr) 
aBoundRect0=GetLastBoundRect();
-NbcMove(rSiz);
-SetChanged();
-BroadcastObjectChange();
-SendUserCall(SdrUserCallType::MoveOnly,aBoundRect0);
+if (rSize.Width() == 0 && rSize.Height() == 0)
+return;
+
+tools::Rectangle aBoundRect0;
+if (m_pUserCall != nullptr)
+aBoundRect0 = GetLastBoundRect();
+NbcMove(rSize);
+if (isAnnotationObject())
+{
+auto& rRect = GetCurrentBoundRect();
+css::geometry::RealPoint2D aNewPosition(rRect.Left() / 100.0, 
rRect.Top() / 100.0);
+getAnnotationData()->mxAnnotation->SetPosition(aNewPosition);
 }
+SetChanged();
+BroadcastObjectChange();
+SendUserCall(SdrUserCallType::MoveOnly, aBoundRect0);
 }
 
 void SdrObject::NbcCrop(const basegfx::B2DPoint& /*aRef*/, double /*fxFact*/, 
double /*fyFact*/)
@@ -1568,11 +1577,23 @@ void SdrObject::Resize(const Point& rRef, const 
Fraction& xFact, const Fraction&
 mpImpl->meRelativeHeightRelation = text::RelOrientation::PAGE_FRAME;
 mpImpl->mnRelativeHeight.reset();
 }
-tools::Rectangle aBoundRect0; if (m_pUserCall!=nullptr) 
aBoundRect0=GetLastBoundRect();
-NbcResize(rRef,xFact,yFact);
+tools::Rectangle aBoundRect0;
+
+if (m_pUserCall != nullptr)
+aBoundRect0 = GetLastBoundRect();
+
+NbcResize(rRef, xFact, yFact);
+
+if (isAnnotationObject())
+{
+auto& rRect = GetCurrentBoundRect();
+css::geometry::RealSize2D aNewSize(rRect.GetWidth() / 100.0, 
rRect.GetHeight() / 100.0);
+getAnnotationData()->mxAnnotation->SetSize(aNewSize);
+}
+
 SetChanged();
 BroadcastObjectChange();
-SendUserCall(SdrUserCallType::Resize,aBoundRect0);
+SendUserCall(SdrUserCallType::Resize, aBoundRect0);
 }
 
 void SdrObject::Crop(const basegfx::B2DPoint& rRef, double fxFact, double 
fyFact)
diff --git a/svx/source/svdraw/svdotxed.cxx b/svx/source/svdraw/svdotxed.cxx
index 8666f262be92..3e54761325a1 100644
--- a/svx/source/svdraw/svdotxed.cxx
+++ b/svx/source/svdraw/svdotxed.cxx
@@ -29,7 +29,7 @@
 #include 
 #include 
 #include 
-
+#include 
 
 bool SdrTextObj::HasTextEdit() const
 {
@@ -286,6 +286,13 @@ void SdrTextObj::EndTextEdit(SdrOutliner& rOutl)
 } else { // If we are not doing in-chaining switching just set the 
ParaObject
 SetOutlinerParaObject(std::move(pNewText));
 }
+
+if (isAnnotationObject())
+{
+auto 
xTextAPI(getAnnotationData()->mxAnnotation->getTextApiObject());
+std::optional pAnnotationText = 
rOutl.CreateParaObject(0, rOutl.GetParagraphCount());
+xTextAPI->SetText(*pAnnotationText);
+}
 }
 
 /* Chaining-related code */


core.git: editeng/source

2024-06-18 Thread Noel Grandin (via logerrit)
 editeng/source/editeng/editeng.cxx  |   19 +--
 editeng/source/editeng/impedit.hxx  |1 +
 editeng/source/editeng/impedit2.cxx |   23 +++
 3 files changed, 25 insertions(+), 18 deletions(-)

New commits:
commit d42957a83660565695ada1a91547148860a5c10b
Author: Noel Grandin 
AuthorDate: Mon Jun 17 19:16:07 2024 +0200
Commit: Noel Grandin 
CommitDate: Tue Jun 18 11:15:03 2024 +0200

move GetParaBounds code from EditEngine to ImpEditEngine

so we have the implementation in one class, instead of bouncing
back and forth between two.

Change-Id: I103c53783b286be0c8472b1850e3cf3e3d6a925f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169057
Tested-by: Jenkins
Reviewed-by: Noel Grandin 

diff --git a/editeng/source/editeng/editeng.cxx 
b/editeng/source/editeng/editeng.cxx
index 8f5ba24de8d7..e86e4b40b5d4 100644
--- a/editeng/source/editeng/editeng.cxx
+++ b/editeng/source/editeng/editeng.cxx
@@ -454,24 +454,7 @@ sal_uInt32 EditEngine::GetLineHeight( sal_Int32 nParagraph 
)
 
 tools::Rectangle EditEngine::GetParaBounds( sal_Int32 nPara )
 {
-ensureDocumentFormatted();
-Point aPnt = GetDocPosTopLeft( nPara );
-
-if( IsEffectivelyVertical() )
-{
-sal_Int32 nTextHeight = getImpl().GetTextHeight();
-sal_Int32 nParaWidth = getImpl().CalcParaWidth(nPara, true);
-sal_Int32 nParaHeight = getImpl().GetParaHeight(nPara);
-
-return tools::Rectangle( nTextHeight - aPnt.Y() - nParaHeight, 0, 
nTextHeight - aPnt.Y(), nParaWidth );
-}
-else
-{
-sal_Int32 nParaWidth = getImpl().CalcParaWidth( nPara, true );
-sal_Int32 nParaHeight = getImpl().GetParaHeight( nPara );
-
-return tools::Rectangle( 0, aPnt.Y(), nParaWidth, aPnt.Y() + 
nParaHeight );
-}
+return getImpl().GetParaBounds(nPara);
 }
 
 sal_uInt32 EditEngine::GetTextHeight( sal_Int32 nParagraph ) const
diff --git a/editeng/source/editeng/impedit.hxx 
b/editeng/source/editeng/impedit.hxx
index edc2fbe60c9d..a1086a8cab93 100644
--- a/editeng/source/editeng/impedit.hxx
+++ b/editeng/source/editeng/impedit.hxx
@@ -1060,6 +1060,7 @@ public:
 sal_uInt16  GetLineHeight( sal_Int32 nParagraph, sal_Int32 nLine );
 sal_uInt32 GetParaHeight(sal_Int32 nParagraph) const;
 Point   GetDocPosTopLeft( sal_Int32 nParagraph );
+tools::Rectangle GetParaBounds( sal_Int32 nPara );
 
 SfxItemSet  GetAttribs( sal_Int32 nPara, sal_Int32 nStart, sal_Int32 
nEnd, GetAttribsFlags nFlags = GetAttribsFlags::ALL ) const;
 SfxItemSet  GetAttribs( EditSelection aSel, EditEngineAttribs 
nOnlyHardAttrib = EditEngineAttribs::All  );
diff --git a/editeng/source/editeng/impedit2.cxx 
b/editeng/source/editeng/impedit2.cxx
index 92017257334e..83c495072ab8 100644
--- a/editeng/source/editeng/impedit2.cxx
+++ b/editeng/source/editeng/impedit2.cxx
@@ -3747,6 +3747,29 @@ sal_uInt16 ImpEditEngine::GetLineHeight( sal_Int32 
nParagraph, sal_Int32 nLine )
 return 0x;
 }
 
+tools::Rectangle ImpEditEngine::GetParaBounds( sal_Int32 nPara )
+{
+if (!IsFormatted())
+FormatDoc();
+Point aPnt = GetDocPosTopLeft( nPara );
+
+if( IsEffectivelyVertical() )
+{
+sal_Int32 nTextHeight = GetTextHeight();
+sal_Int32 nParaWidth = CalcParaWidth(nPara, true);
+sal_Int32 nParaHeight = GetParaHeight(nPara);
+
+return tools::Rectangle( nTextHeight - aPnt.Y() - nParaHeight, 0, 
nTextHeight - aPnt.Y(), nParaWidth );
+}
+else
+{
+sal_Int32 nParaWidth = CalcParaWidth( nPara, true );
+sal_Int32 nParaHeight = GetParaHeight( nPara );
+
+return tools::Rectangle( 0, aPnt.Y(), nParaWidth, aPnt.Y() + 
nParaHeight );
+}
+}
+
 Point ImpEditEngine::GetDocPosTopLeft( sal_Int32 nParagraph )
 {
 const ParaPortion* pPPortion = maParaPortionList.SafeGetObject(nParagraph);


core.git: Branch 'distro/collabora/co-24.04' - sd/CppunitTest_sd_annotation_tests.mk sd/Module_sd.mk sd/qa

2024-06-18 Thread Tomaž Vajngerl (via logerrit)
 sd/CppunitTest_sd_annotation_tests.mk |   78 +
 sd/Module_sd.mk   |1 
 sd/qa/unit/AnnotationTest.cxx |  198 ++
 3 files changed, 277 insertions(+)

New commits:
commit fec3f4bbf0606720d99bf92cbdaa1c18e1c0a570
Author: Tomaž Vajngerl 
AuthorDate: Fri Jun 7 10:14:39 2024 +0900
Commit: Miklos Vajna 
CommitDate: Tue Jun 18 11:14:47 2024 +0200

annot: Add tests for annotations - insert, delete, undo/redo

Change-Id: Ie9d88c15af13fb481bb48c838b3b0ef2f41f11e7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168603
Tested-by: Miklos Vajna 
Reviewed-by: Miklos Vajna 

diff --git a/sd/CppunitTest_sd_annotation_tests.mk 
b/sd/CppunitTest_sd_annotation_tests.mk
new file mode 100644
index ..6df4fef04477
--- /dev/null
+++ b/sd/CppunitTest_sd_annotation_tests.mk
@@ -0,0 +1,78 @@
+# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
+#*
+#
+# 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/.
+#
+#*
+
+$(eval $(call gb_CppunitTest_CppunitTest,sd_annotation_tests))
+
+$(eval $(call gb_CppunitTest_use_externals,sd_annotation_tests,\
+boost_headers \
+libxml2 \
+))
+
+$(eval $(call 
gb_CppunitTest_use_common_precompiled_header,sd_annotation_tests))
+
+$(eval $(call gb_CppunitTest_add_exception_objects,sd_annotation_tests, \
+sd/qa/unit/AnnotationTest \
+))
+
+$(eval $(call gb_CppunitTest_use_libraries,sd_annotation_tests, \
+basegfx \
+comphelper \
+cppu \
+cppuhelper \
+drawinglayer \
+docmodel \
+editeng \
+for \
+forui \
+i18nlangtag \
+sal \
+salhelper \
+sax \
+sd \
+sfx \
+sot \
+subsequenttest \
+svl \
+svt \
+svx \
+svxcore \
+test \
+tl \
+tk \
+ucbhelper \
+unotest \
+utl \
+vcl \
+xo \
+))
+
+$(eval $(call gb_CppunitTest_set_include,sd_annotation_tests,\
+-I$(SRCDIR)/sd/source/ui/inc \
+-I$(SRCDIR)/sd/inc \
+$$(INCLUDE) \
+))
+
+$(eval $(call gb_CppunitTest_use_sdk_api,sd_annotation_tests))
+$(eval $(call gb_CppunitTest_use_ure,sd_annotation_tests))
+$(eval $(call gb_CppunitTest_use_vcl,sd_annotation_tests))
+$(eval $(call gb_CppunitTest_use_rdb,sd_annotation_tests,services))
+
+$(eval $(call gb_CppunitTest_use_custom_headers,sd_annotation_tests,\
+officecfg/registry \
+))
+
+$(eval $(call gb_CppunitTest_use_configuration,sd_annotation_tests))
+
+$(eval $(call gb_CppunitTest_add_arguments,sd_annotation_tests, \
+
-env:arg-env=$(gb_Helper_LIBRARY_PATH_VAR)"{$(gb_Helper_LIBRARY_PATH_VAR)+=$(gb_Helper_LIBRARY_PATH_VAR)}"
 \
+))
+
+# vim: set noet sw=4 ts=4:
diff --git a/sd/Module_sd.mk b/sd/Module_sd.mk
index b3a825254652..e66dc4bcdb28 100644
--- a/sd/Module_sd.mk
+++ b/sd/Module_sd.mk
@@ -52,6 +52,7 @@ $(eval $(call gb_Module_add_slowcheck_targets,sd,\
 CppunitTest_sd_a11y \
 CppunitTest_sd_textfitting_tests \
 CppunitTest_sd_theme_tests \
+CppunitTest_sd_annotation_tests \
 ))
 endif
 
diff --git a/sd/qa/unit/AnnotationTest.cxx b/sd/qa/unit/AnnotationTest.cxx
new file mode 100644
index ..36f9ef40d459
--- /dev/null
+++ b/sd/qa/unit/AnnotationTest.cxx
@@ -0,0 +1,198 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-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/.
+ */
+
+#include "sdmodeltestbase.hxx"
+
+#include 
+
+#include 
+#include 
+
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+
+#include 
+#include 
+#include 
+#include 
+
+using namespace css;
+
+class AnnotationTest : public SdModelTestBase
+{
+public:
+AnnotationTest()
+: SdModelTestBase("/sd/qa/unit/data/")
+{
+}
+};
+
+CPPUNIT_TEST_FIXTURE(AnnotationTest, testAnnotation)
+{
+createSdDrawDoc();
+
+auto pXImpressDocument = 
dynamic_cast(mxComponent.get());
+sd::ViewShell* pViewShell = 
pXImpressDocument->GetDocShell()->GetViewShell();
+
+SdPage* pPage = pViewShell->GetActualPage();
+CPPUNIT_ASSERT_EQUAL(size_t(0), pPage->GetObjCount());
+
+{
+rtl::Reference xAnnotation = 
pPage->createAnnotation();
+CPPUNIT_ASSERT_EQUAL(size_t(0), pPage->GetObjCount());
+
+xAnnotation->setAuthor("A");
+uno::Reference xText(xAnnotation->getTextRange());
+xText->setString("X");
+
+xAnnotation->setPosition(geometry::RealPoint2D(0.0, 0.0));
+xAnnotation->setSize(

core.git: Branch 'distro/collabora/co-24.04' - include/svx sd/inc sd/Library_sd.mk sd/qa sd/source sd/uiconfig sd/UIConfig_sdraw.mk sd/UIConfig_simpress.mk svx/Library_svxcore.mk svx/source

2024-06-18 Thread Tomaž Vajngerl (via logerrit)
 include/svx/annotation/Annotation.hxx  |   35 -
 include/svx/annotation/AnnotationObject.hxx|   57 +
 include/svx/svdobjkind.hxx |1 
 sd/Library_sd.mk   |1 
 sd/UIConfig_sdraw.mk   |1 
 sd/UIConfig_simpress.mk|1 
 sd/inc/Annotation.hxx  |   21 
 sd/qa/unit/tiledrendering/tiledrendering.cxx   |8 
 sd/source/core/annotations/Annotation.cxx  |   16 
 sd/source/core/sdpage2.cxx |   15 
 sd/source/filter/pdf/sdpdffilter.cxx   |  125 ++-
 sd/source/ui/annotations/annotationmanager.cxx |  360 +--
 sd/source/ui/annotations/annotationmanagerimpl.hxx |   16 
 sd/source/ui/annotations/annotationtag.cxx |  672 -
 sd/source/ui/annotations/annotationtag.hxx |   90 --
 sd/source/ui/unoidl/unomodel.cxx   |   42 -
 sd/source/ui/unoidl/unopage.cxx|4 
 sd/source/ui/view/drviews4.cxx |3 
 sd/uiconfig/sdraw/popupmenu/annotation.xml |   12 
 sd/uiconfig/simpress/popupmenu/annotation.xml  |   12 
 svx/Library_svxcore.mk |1 
 svx/source/annotation/AnnotationObject.cxx |  209 ++
 svx/source/unodraw/unopage.cxx |3 
 svx/source/unodraw/unoprov.cxx |1 
 svx/source/unodraw/unoshape.cxx|   24 
 25 files changed, 683 insertions(+), 1047 deletions(-)

New commits:
commit 4095c0af85c15e82398732a711532cbc927f46df
Author: Tomaž Vajngerl 
AuthorDate: Thu Jun 6 10:52:35 2024 +0900
Commit: Miklos Vajna 
CommitDate: Tue Jun 18 11:13:53 2024 +0200

annot: new Annotation sdr object, replacing annotation tags

Previously the annotations are shown as annotation (smart) tags,
which just mark in the document the existence of an annotation at
a certain position. For PDF support the annotations can be more
complex, so they can show many forms of vector graphic, ink,
bitmaps, text boxes,... and for this a normal tag is not enough.

This change moves the annotations from simple tag to use the sdr
objects, so any SdrObject can be created as an annotation. The
previous tag annotations are using SdrObject (actually SdrRect)
subclass AnnotationObject and the code that previouslly worked
with the tag annotations has been adapted.

The (PDFium based) PDF import has been changed to use subclasses
of the SdrObjects for the PDF annotations.

Change-Id: I4746b85b5b679499e470987e61ed356397e56bf9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168602
Tested-by: Miklos Vajna 
Reviewed-by: Miklos Vajna 

diff --git a/include/svx/annotation/Annotation.hxx 
b/include/svx/annotation/Annotation.hxx
index 9d71a1121c88..09c6da0f7b83 100644
--- a/include/svx/annotation/Annotation.hxx
+++ b/include/svx/annotation/Annotation.hxx
@@ -42,6 +42,34 @@ SVXCORE_DLLPUBLIC void 
LOKCommentNotify(CommentNotificationType nType,
 const SfxViewShell* pViewShell, 
Annotation& rAnnotation);
 SVXCORE_DLLPUBLIC void LOKCommentNotifyAll(CommentNotificationType nType, 
Annotation& rAnnotation);
 
+enum class AnnotationType
+{
+None,
+Square,
+Polygon,
+Circle,
+Ink,
+Highlight,
+Line,
+FreeText,
+};
+
+struct CreationInfo
+{
+AnnotationType meType = AnnotationType::None;
+
+std::vector maPolygons;
+basegfx::B2DRectangle maRectangle;
+
+float mnWidth = 0.0f;
+
+bool mbFillColor = false;
+Color maFillColor = COL_TRANSPARENT;
+
+bool mbColor = false;
+Color maColor = COL_TRANSPARENT;
+};
+
 struct SVXCORE_DLLPUBLIC AnnotationData
 {
 css::geometry::RealPoint2D m_Position;
@@ -75,7 +103,7 @@ protected:
 css::util::DateTime m_DateTime;
 rtl::Reference m_TextRange;
 
-bool m_bIsFreeText = false;
+CreationInfo maCreationInfo;
 
 std::unique_ptr createUndoAnnotation();
 
@@ -129,9 +157,8 @@ public:
 
 sal_uInt32 GetId() const { return m_nId; }
 
-void setIsFreeText(bool value) { m_bIsFreeText = value; }
-
-bool isFreeText() const { return m_bIsFreeText; }
+CreationInfo const& getCreationInfo() { return maCreationInfo; }
+void setCreationInfo(CreationInfo const& rCreationInfo) { maCreationInfo = 
rCreationInfo; }
 };
 
 typedef std::vector> AnnotationVector;
diff --git a/include/svx/annotation/AnnotationObject.hxx 
b/include/svx/annotation/AnnotationObject.hxx
new file mode 100644
index ..d46f4e7c3150
--- /dev/null
+++ b/include/svx/annotation/AnnotationObject.hxx
@@ -0,0 +1,57 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * Lic

core.git: sw/source

2024-06-18 Thread Miklos Vajna (via logerrit)
 sw/source/ui/vba/vbaparagraph.hxx |2 ++
 1 file changed, 2 insertions(+)

New commits:
commit 77c9e4bdbaae0a96d2c64a8e7e6b54f3e0f3a067
Author: Miklos Vajna 
AuthorDate: Tue Jun 18 08:55:17 2024 +0200
Commit: Miklos Vajna 
CommitDate: Tue Jun 18 11:07:48 2024 +0200

sw: document SwVbaParagraphs

What is the uno service in xray, and a simple VBA sample.

Change-Id: I4c86f28481631e82cf9ddfb734b7acc9525aed5a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169072
Reviewed-by: Miklos Vajna 
Tested-by: Jenkins

diff --git a/sw/source/ui/vba/vbaparagraph.hxx 
b/sw/source/ui/vba/vbaparagraph.hxx
index 6c35455614d1..96f96fcb8ae6 100644
--- a/sw/source/ui/vba/vbaparagraph.hxx
+++ b/sw/source/ui/vba/vbaparagraph.hxx
@@ -51,6 +51,8 @@ public:
 
 typedef CollTestImplHelper< ooo::vba::word::XParagraphs > SwVbaParagraphs_BASE;
 
+/// Provides ooo.vba.word.Paragraphs, for example:
+/// ActiveDocument.Paragraphs
 class SwVbaParagraphs : public SwVbaParagraphs_BASE
 {
 private:


core.git: vcl/qa

2024-06-18 Thread Michael Stahl (via logerrit)
 vcl/qa/cppunit/pdfexport/data/fdo47811-1_Word2013.docx |binary
 vcl/qa/cppunit/pdfexport/pdfexport2.cxx|   10 ++
 2 files changed, 10 insertions(+)

New commits:
commit d0c979b4baee55b4d7352f7ebab201e65d6c1fcd
Author: Michael Stahl 
AuthorDate: Mon Jun 17 19:51:02 2024 +0200
Commit: Michael Stahl 
CommitDate: Tue Jun 18 10:46:05 2024 +0200

tdf#161346 add unit test

Change-Id: I7f441a1fcf92f40678811faf26ec40eac98a7ae6
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169046
Reviewed-by: Michael Stahl 
Tested-by: Jenkins

diff --git a/vcl/qa/cppunit/pdfexport/data/fdo47811-1_Word2013.docx 
b/vcl/qa/cppunit/pdfexport/data/fdo47811-1_Word2013.docx
new file mode 100644
index ..c002b30d7c88
Binary files /dev/null and 
b/vcl/qa/cppunit/pdfexport/data/fdo47811-1_Word2013.docx differ
diff --git a/vcl/qa/cppunit/pdfexport/pdfexport2.cxx 
b/vcl/qa/cppunit/pdfexport/pdfexport2.cxx
index 8502a6b5593a..5ede679fcdab 100644
--- a/vcl/qa/cppunit/pdfexport/pdfexport2.cxx
+++ b/vcl/qa/cppunit/pdfexport/pdfexport2.cxx
@@ -229,6 +229,16 @@ CPPUNIT_TEST_FIXTURE(PdfExportTest2, testTdf141171)
 }
 }
 
+CPPUNIT_TEST_FIXTURE(PdfExportTest2, testTdf161346)
+{
+// this crashed
+vcl::filter::PDFDocument aDocument;
+load(u"fdo47811-1_Word2013.docx", aDocument);
+
+std::vector aPages = aDocument.GetPages();
+CPPUNIT_ASSERT_EQUAL(size_t(2), aPages.size());
+}
+
 CPPUNIT_TEST_FIXTURE(PdfExportTest2, testTdf129085)
 {
 vcl::filter::PDFDocument aDocument;


core.git: Branch 'libreoffice-24-8' - download.lst

2024-06-18 Thread Xisco Fauli (via logerrit)
 download.lst |4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

New commits:
commit 1b61abc4451d38984338b750d85770ec9871060a
Author: Xisco Fauli 
AuthorDate: Mon Jun 17 22:31:12 2024 +0200
Commit: Xisco Fauli 
CommitDate: Tue Jun 18 10:26:37 2024 +0200

language-subtag-registry: upgrade to 2024-06-14

How the file was created:
mkdir data
cd data
wget

https://www.iana.org/assignments/language-subtag-registry/language-subtag-registry
cd ..
tar cvjf language-subtag-registry-2024-06-14.tar.bz2 
data/language-subtag-registry

Change-Id: Ib85b9072590a97fde37be85b9866bf53f77d1f4e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169061
Reviewed-by: Xisco Fauli 
Tested-by: Jenkins
(cherry picked from commit 62c99a31de22561e0e38dd10f3b3fd2b6dd9971d)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169098

diff --git a/download.lst b/download.lst
index 0ae9989d1dac..f2b0c1615a28 100644
--- a/download.lst
+++ b/download.lst
@@ -359,8 +359,8 @@ LIBJPEG_TURBO_TARBALL := libjpeg-turbo-2.1.5.1.tar.gz
 # three static lines
 # so that git cherry-pick
 # will not run into conflicts
-LANGTAGREG_SHA256SUM := 
9090265f2bb0f4fb20ec1f7357062c033b9556b362b70c441985c1c905dd9a73
-LANGTAGREG_TARBALL := language-subtag-registry-2024-05-16.tar.bz2
+LANGTAGREG_SHA256SUM := 
75bc394dd83ddfd62b172a462db1b66bdb5950f40823ed63b8c7db6b71e37e75
+LANGTAGREG_TARBALL := language-subtag-registry-2024-06-14.tar.bz2
 # three static lines
 # so that git cherry-pick
 # will not run into conflicts


core.git: Branch 'distro/collabora/co-24.04' - writerfilter/qa writerfilter/source

2024-06-18 Thread Miklos Vajna (via logerrit)
 writerfilter/qa/cppunittests/dmapper/DomainMapper_Impl.cxx   |   
35 ++
 writerfilter/qa/cppunittests/dmapper/data/para-style-lost-numbering.docx 
|binary
 writerfilter/source/dmapper/DomainMapper_Impl.cxx|   
12 +++
 3 files changed, 46 insertions(+), 1 deletion(-)

New commits:
commit bc27cdb0b2bd2ed98b4ee5a42936d9bdf21fd661
Author: Miklos Vajna 
AuthorDate: Mon Jun 17 13:27:13 2024 +0200
Commit: Caolán McNamara 
CommitDate: Tue Jun 18 10:25:57 2024 +0200

tdf#161570 DOCX import: fix lost numbering in paragraph style

Regression from commit ca71482237d31703454062b8b2f544a8bacd2831
(tdf#153083 writerfilter: import locale-dependent TOCstyle names, 2,
2023-01-31), open the doc, apply 'Level 2 Heading' on the first para,
then switch back to 'Signature' again using e.g. the sidebar, the
numbering of the first paragraph is gone.

This was initially a wider problem, but since commit
ab1697cb4c17fd7a2fbf8d374ac95fc03b4d00be (tdf#160402
filter,writerfilter: import locale-dependent STYLEREF names,
2024-05-06), the problem only affects built-in styles. There were two
remaining problems: 1) the separator for the TOC field can contain
whitespace, which resulted in a style named ' Signature' and 2) the
style was always cloned, even if the name was not localized.

Fix the problem by first trimming the style name in
DomainMapper_Impl::handleToc() and then only cloning in
DomainMapper_Impl::ConvertTOCStyleName() if we see that the style name
is localized. A localized style name can be observed when opening e.g.
sw/qa/extras/ooxmlexport/data/custom-styles-TOC-semicolon.docx that has
Intensives Zitat vs Intense Quote.

One remaining question is why the numbering is lost when the cloning
happens, that's not addressed here, as the cloning should not happen for
this document in the first place.

(cherry picked from commit 4e5dd2c0774242e44ac6edf2bd5ada220541b06b)

Change-Id: Ibc2ea20cc3c9ec6bec9bdcdabce1469a0457317a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169073
Tested-by: Jenkins CollaboraOffice 
Reviewed-by: Caolán McNamara 

diff --git a/writerfilter/qa/cppunittests/dmapper/DomainMapper_Impl.cxx 
b/writerfilter/qa/cppunittests/dmapper/DomainMapper_Impl.cxx
index d2388505d71d..71e288e93c4c 100644
--- a/writerfilter/qa/cppunittests/dmapper/DomainMapper_Impl.cxx
+++ b/writerfilter/qa/cppunittests/dmapper/DomainMapper_Impl.cxx
@@ -434,6 +434,41 @@ CPPUNIT_TEST_FIXTURE(Test, testClearingBreakSectEnd)
 CPPUNIT_ASSERT_EQUAL(u"LineBreak"_ustr,
  
xPortion->getPropertyValue("TextPortionType").get());
 }
+
+CPPUNIT_TEST_FIXTURE(Test, testParaStyleLostNumbering)
+{
+// Given a document with a first paragraph, its paragraph style has a 
numbering:
+// When loading the document:
+loadFromFile(u"para-style-lost-numbering.docx");
+
+// Then make sure that the paragraph style name has no unexpected leading 
whitespace:
+uno::Reference xTextDocument(mxComponent, 
uno::UNO_QUERY);
+uno::Reference 
xParaEnumAccess(xTextDocument->getText(),
+  
uno::UNO_QUERY);
+uno::Reference xParaEnum = 
xParaEnumAccess->createEnumeration();
+uno::Reference xPara(xParaEnum->nextElement(), 
uno::UNO_QUERY);
+OUString aParaStyleName;
+xPara->getPropertyValue("ParaStyleName") >>= aParaStyleName;
+// Without the accompanying fix in place, this test would have failed with:
+// - Expected: Signature
+// - Actual  :  Signature
+// i.e. there was an unwanted space at the start.
+CPPUNIT_ASSERT_EQUAL(u"Signature"_ustr, aParaStyleName);
+uno::Reference 
xStyleFamiliesSupplier(mxComponent,
+ 
uno::UNO_QUERY);
+// Also make sure the paragraph style has a numbering associated with it:
+uno::Reference xStyleFamilies
+= xStyleFamiliesSupplier->getStyleFamilies();
+uno::Reference xStyleFamily(
+xStyleFamilies->getByName(u"ParagraphStyles"_ustr), uno::UNO_QUERY);
+uno::Reference 
xStyle(xStyleFamily->getByName(u"Signature"_ustr),
+   uno::UNO_QUERY);
+OUString aNumberingStyleName;
+// Without the accompanying fix in place, this test would have failed, the 
WWNum14 list was set
+// only as direct formatting, not at a style level.
+xStyle->getPropertyValue("NumberingStyleName") >>= aNumberingStyleName;
+CPPUNIT_ASSERT(!aNumberingStyleName.isEmpty());
+}
 }
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git 
a/writerfilter/qa/cppunittests/dmapper/data/para-style-lost-numbering.docx 
b/writerfilter/qa/cppunittests/dmapper/data/para-style-lost-numbering.docx
new file mode 100644
index ..0ab96d2a41d4
Binary files /dev/null and 
b/wri

core.git: Branch 'libreoffice-24-2' - vcl/skia

2024-06-18 Thread Patrick Luby (via logerrit)
 vcl/skia/gdiimpl.cxx |7 ++-
 1 file changed, 6 insertions(+), 1 deletion(-)

New commits:
commit f6e4fa4dab3d31ac355aa796f0325f94e7069f40
Author: Patrick Luby 
AuthorDate: Sun Jun 16 20:35:33 2024 -0400
Commit: Noel Grandin 
CommitDate: Tue Jun 18 10:22:27 2024 +0200

tdf#148569 set extra drawing constraints when scaling

Previously, setting stroke width and cap was only done when running
unit tests. But the same drawing contraints are necessary when running
with a Retina display on macOS.

Change-Id: I74f7347d30a410f7d3485388ffec61b32730b948
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168973
Tested-by: Jenkins
Reviewed-by: Noel Grandin 
Reviewed-by: Patrick Luby 
(cherry picked from commit a4488013ee6c87a97501b620dbbf56622fb70246)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168948

diff --git a/vcl/skia/gdiimpl.cxx b/vcl/skia/gdiimpl.cxx
index 5a04a08b6438..e1e6333761b8 100644
--- a/vcl/skia/gdiimpl.cxx
+++ b/vcl/skia/gdiimpl.cxx
@@ -720,7 +720,12 @@ void SkiaSalGraphicsImpl::drawPixel(tools::Long nX, 
tools::Long nY, Color nColor
 SkPaint paint = makePixelPaint(nColor);
 // Apparently drawPixel() is actually expected to set the pixel and not 
draw it.
 paint.setBlendMode(SkBlendMode::kSrc); // set as is, including alpha
-if (mScaling != 1 && isUnitTestRunning())
+
+// tdf#148569 set extra drawing constraints when scaling
+// Previously, setting stroke width and cap was only done when running
+// unit tests. But the same drawing contraints are necessary when running
+// with a Retina display on macOS.
+if (mScaling != 1)
 {
 // On HiDPI displays, draw a square on the entire non-hidpi "pixel" 
when running unittests,
 // since tests often require precise pixel drawing.


core.git: 2 commits - editeng/source

2024-06-18 Thread Noel Grandin (via logerrit)
 editeng/source/editeng/editeng.cxx  |   31 +--
 editeng/source/editeng/impedit.hxx  |1 +
 editeng/source/editeng/impedit2.cxx |   35 +++
 3 files changed, 37 insertions(+), 30 deletions(-)

New commits:
commit 960f0508fb2bd80e6299a79d5b71ef54a0723758
Author: Noel Grandin 
AuthorDate: Mon Jun 17 19:14:00 2024 +0200
Commit: Noel Grandin 
CommitDate: Tue Jun 18 10:21:26 2024 +0200

move GetDocPosTopLeft code from EditEngine to ImpEditEngine

so we have the implementation in one class, instead of bouncing
back and forth between two.

Change-Id: I437ab776ccf50dda6c34d458c6a7eaaea09e4d7b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169056
Tested-by: Jenkins
Reviewed-by: Noel Grandin 

diff --git a/editeng/source/editeng/editeng.cxx 
b/editeng/source/editeng/editeng.cxx
index affa8665f575..8f5ba24de8d7 100644
--- a/editeng/source/editeng/editeng.cxx
+++ b/editeng/source/editeng/editeng.cxx
@@ -1192,35 +1192,7 @@ Point EditEngine::GetDocPos( const Point& rPaperPos ) 
const
 
 Point EditEngine::GetDocPosTopLeft( sal_Int32 nParagraph )
 {
-const ParaPortion* pPPortion = 
getImpl().GetParaPortions().SafeGetObject(nParagraph);
-DBG_ASSERT( pPPortion, "Paragraph not found: GetWindowPosTopLeft" );
-Point aPoint;
-if ( pPPortion )
-{
-// If someone calls GetLineHeight() with an empty Engine.
-DBG_ASSERT(getImpl().IsFormatted() || !getImpl().IsFormatting(), 
"GetDocPosTopLeft: Doc not formatted - unable to format!");
-if (!getImpl().IsFormatted())
-getImpl().FormatAndLayout();
-if (pPPortion->GetLines().Count())
-{
-// Correct it if large Bullet.
-const EditLine& rFirstLine = pPPortion->GetLines()[0];
-aPoint.setX( rFirstLine.GetStartPosX() );
-}
-else
-{
-const SvxLRSpaceItem& rLRItem = 
getImpl().GetLRSpaceItem(pPPortion->GetNode());
-sal_Int32 nSpaceBefore = 0;
-getImpl().GetSpaceBeforeAndMinLabelWidth(pPPortion->GetNode(), 
&nSpaceBefore);
-short nX = static_cast(rLRItem.GetTextLeft()
-+ rLRItem.GetTextFirstLineOffset()
-+ nSpaceBefore);
-
-aPoint.setX(getImpl().scaleXSpacingValue(nX));
-}
-aPoint.setY(getImpl().GetParaPortions().GetYOffset(pPPortion));
-}
-return aPoint;
+return getImpl().GetDocPosTopLeft(nParagraph);
 }
 
 const SvxNumberFormat* EditEngine::GetNumberFormat( sal_Int32 ) const
diff --git a/editeng/source/editeng/impedit.hxx 
b/editeng/source/editeng/impedit.hxx
index fedd2426e7e5..edc2fbe60c9d 100644
--- a/editeng/source/editeng/impedit.hxx
+++ b/editeng/source/editeng/impedit.hxx
@@ -1059,6 +1059,7 @@ public:
 sal_Int32   GetLineNumberAtIndex( sal_Int32 nPara, sal_Int32 nIndex );
 sal_uInt16  GetLineHeight( sal_Int32 nParagraph, sal_Int32 nLine );
 sal_uInt32 GetParaHeight(sal_Int32 nParagraph) const;
+Point   GetDocPosTopLeft( sal_Int32 nParagraph );
 
 SfxItemSet  GetAttribs( sal_Int32 nPara, sal_Int32 nStart, sal_Int32 
nEnd, GetAttribsFlags nFlags = GetAttribsFlags::ALL ) const;
 SfxItemSet  GetAttribs( EditSelection aSel, EditEngineAttribs 
nOnlyHardAttrib = EditEngineAttribs::All  );
diff --git a/editeng/source/editeng/impedit2.cxx 
b/editeng/source/editeng/impedit2.cxx
index 50bbca9e0d7d..92017257334e 100644
--- a/editeng/source/editeng/impedit2.cxx
+++ b/editeng/source/editeng/impedit2.cxx
@@ -3747,6 +3747,39 @@ sal_uInt16 ImpEditEngine::GetLineHeight( sal_Int32 
nParagraph, sal_Int32 nLine )
 return 0x;
 }
 
+Point ImpEditEngine::GetDocPosTopLeft( sal_Int32 nParagraph )
+{
+const ParaPortion* pPPortion = maParaPortionList.SafeGetObject(nParagraph);
+DBG_ASSERT( pPPortion, "Paragraph not found: GetWindowPosTopLeft" );
+Point aPoint;
+if ( pPPortion )
+{
+// If someone calls GetLineHeight() with an empty Engine.
+DBG_ASSERT(IsFormatted() || !IsFormatting(), "GetDocPosTopLeft: Doc 
not formatted - unable to format!");
+if (!IsFormatted())
+FormatAndLayout();
+if (pPPortion->GetLines().Count())
+{
+// Correct it if large Bullet.
+const EditLine& rFirstLine = pPPortion->GetLines()[0];
+aPoint.setX( rFirstLine.GetStartPosX() );
+}
+else
+{
+const SvxLRSpaceItem& rLRItem = 
GetLRSpaceItem(pPPortion->GetNode());
+sal_Int32 nSpaceBefore = 0;
+GetSpaceBeforeAndMinLabelWidth(pPPortion->GetNode(), 
&nSpaceBefore);
+short nX = static_cast(rLRItem.GetTextLeft()
++ rLRItem.GetTextFirstLineOffset()
++ nSpaceBefore);
+
+aPoint.setX(scaleXSpacingValue(nX));
+}
+aPoint.setY(maParaPortionList.GetYOffset(pPPortio

core.git: 2 commits - editeng/source

2024-06-18 Thread Noel Grandin (via logerrit)
 editeng/source/editeng/editeng.cxx  |2 --
 editeng/source/editeng/impedit.hxx  |4 ++--
 editeng/source/editeng/impedit2.cxx |   16 
 3 files changed, 14 insertions(+), 8 deletions(-)

New commits:
commit da6647b5ae8b9d26d3b4a85cd8f943553a31b1ae
Author: Noel Grandin 
AuthorDate: Mon Jun 17 19:08:36 2024 +0200
Commit: Noel Grandin 
CommitDate: Tue Jun 18 10:21:10 2024 +0200

move GetLineNumberAtIndex code from EditEngine to ImpEditEngine

so we have the implementation in one class, instead of bouncing
back and forth between two.

Change-Id: I9ca9c6cfe1b92de8ef6fa93ccc0a4c84a11e8686
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169054
Tested-by: Jenkins
Reviewed-by: Noel Grandin 

diff --git a/editeng/source/editeng/editeng.cxx 
b/editeng/source/editeng/editeng.cxx
index 51d54d15b2fc..6f8d9eea0116 100644
--- a/editeng/source/editeng/editeng.cxx
+++ b/editeng/source/editeng/editeng.cxx
@@ -443,7 +443,6 @@ void EditEngine::GetLineBoundaries( /*out*/sal_Int32& 
rStart, /*out*/sal_Int32&
 
 sal_Int32 EditEngine::GetLineNumberAtIndex( sal_Int32 nPara, sal_Int32 nIndex 
) const
 {
-ensureDocumentFormatted();
 return getImpl().GetLineNumberAtIndex(nPara, nIndex);
 }
 
diff --git a/editeng/source/editeng/impedit.hxx 
b/editeng/source/editeng/impedit.hxx
index 0295f5cd2cef..fedd2426e7e5 100644
--- a/editeng/source/editeng/impedit.hxx
+++ b/editeng/source/editeng/impedit.hxx
@@ -1056,7 +1056,7 @@ public:
 sal_Int32   GetLineCount( sal_Int32 nParagraph );
 sal_Int32   GetLineLen( sal_Int32 nParagraph, sal_Int32 nLine );
 voidGetLineBoundaries( /*out*/sal_Int32& rStart, 
/*out*/sal_Int32& rEnd, sal_Int32 nParagraph, sal_Int32 nLine );
-sal_Int32   GetLineNumberAtIndex( sal_Int32 nPara, sal_Int32 nIndex ) 
const;
+sal_Int32   GetLineNumberAtIndex( sal_Int32 nPara, sal_Int32 nIndex );
 sal_uInt16  GetLineHeight( sal_Int32 nParagraph, sal_Int32 nLine );
 sal_uInt32 GetParaHeight(sal_Int32 nParagraph) const;
 
diff --git a/editeng/source/editeng/impedit2.cxx 
b/editeng/source/editeng/impedit2.cxx
index 535cd26012eb..be8d570a2051 100644
--- a/editeng/source/editeng/impedit2.cxx
+++ b/editeng/source/editeng/impedit2.cxx
@@ -3698,8 +3698,10 @@ void ImpEditEngine::GetLineBoundaries( /*out*/sal_Int32 
&rStart, /*out*/sal_Int3
 }
 }
 
-sal_Int32 ImpEditEngine::GetLineNumberAtIndex( sal_Int32 nPara, sal_Int32 
nIndex ) const
+sal_Int32 ImpEditEngine::GetLineNumberAtIndex( sal_Int32 nPara, sal_Int32 
nIndex )
 {
+if (!IsFormatted())
+FormatDoc();
 sal_Int32 nLineNo = -1;
 const ContentNode* pNode = GetEditDoc().GetObject( nPara );
 OSL_ENSURE( pNode, "GetLineNumberAtIndex: invalid paragraph index" );
commit 11b4159b520fc6f84527cd510d44ffd248f1fac0
Author: Noel Grandin 
AuthorDate: Mon Jun 17 19:06:44 2024 +0200
Commit: Noel Grandin 
CommitDate: Tue Jun 18 10:21:03 2024 +0200

move GetLineBoundaries code from EditEngine to ImpEditEngine

so we have the implementation in one class, instead of bouncing
back and forth between two.

Change-Id: Ic0d740d336f291f80d82989283dafc0704e97958
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169053
Reviewed-by: Noel Grandin 
Tested-by: Jenkins

diff --git a/editeng/source/editeng/editeng.cxx 
b/editeng/source/editeng/editeng.cxx
index c06823d9ddbc..51d54d15b2fc 100644
--- a/editeng/source/editeng/editeng.cxx
+++ b/editeng/source/editeng/editeng.cxx
@@ -438,7 +438,6 @@ sal_Int32 EditEngine::GetLineLen( sal_Int32 nParagraph, 
sal_Int32 nLine ) const
 
 void EditEngine::GetLineBoundaries( /*out*/sal_Int32& rStart, 
/*out*/sal_Int32& rEnd, sal_Int32 nParagraph, sal_Int32 nLine ) const
 {
-ensureDocumentFormatted();
 return getImpl().GetLineBoundaries(rStart, rEnd, nParagraph, nLine);
 }
 
diff --git a/editeng/source/editeng/impedit.hxx 
b/editeng/source/editeng/impedit.hxx
index a72acecf8f74..0295f5cd2cef 100644
--- a/editeng/source/editeng/impedit.hxx
+++ b/editeng/source/editeng/impedit.hxx
@@ -1055,7 +1055,7 @@ public:
 sal_uInt32  CalcLineWidth(ParaPortion const& rPortion, EditLine const& 
rLine, bool bIgnoreExtraSpace);
 sal_Int32   GetLineCount( sal_Int32 nParagraph );
 sal_Int32   GetLineLen( sal_Int32 nParagraph, sal_Int32 nLine );
-voidGetLineBoundaries( /*out*/sal_Int32& rStart, 
/*out*/sal_Int32& rEnd, sal_Int32 nParagraph, sal_Int32 nLine ) const;
+voidGetLineBoundaries( /*out*/sal_Int32& rStart, 
/*out*/sal_Int32& rEnd, sal_Int32 nParagraph, sal_Int32 nLine );
 sal_Int32   GetLineNumberAtIndex( sal_Int32 nPara, sal_Int32 nIndex ) 
const;
 sal_uInt16  GetLineHeight( sal_Int32 nParagraph, sal_Int32 nLine );
 sal_uInt32 GetParaHeight(sal_Int32 nParagraph) const;
diff --git a/editeng/source/editeng/impedit2.cxx 
b/editeng/source/editeng/impedit2.cxx
index 377c66888a6a..535cd26012eb 100644
--- 

core.git: Changes to 'refs/tags/cp-24.04.4-2'

2024-06-18 Thread Andras Timar (via logerrit)
Tag 'cp-24.04.4-2' created by Andras Timar  at 
2024-06-18 07:59 +

cp-24.04.4-2

Changes since cp-24.04.4-1-18:
---
 0 files changed
---


translations.git: Changes to 'refs/tags/cp-24.04.4-2'

2024-06-18 Thread Christian Lohmaier (via logerrit)
Tag 'cp-24.04.4-2' created by Andras Timar  at 
2024-06-18 07:59 +

cp-24.04.4-2

Changes since cp-24.04.3-6-2:
---
 0 files changed
---


help.git: Changes to 'refs/tags/cp-24.04.4-2'

2024-06-18 Thread Taichi Haradaguchi (via logerrit)
Tag 'cp-24.04.4-2' created by Andras Timar  at 
2024-06-18 07:59 +

cp-24.04.4-2

Changes since cp-24.04.3-6:
Taichi Haradaguchi (1):
  Fix bad links in help page

---
 source/text/scalc/01/0212.xhp |4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
---


dictionaries.git: Changes to 'refs/tags/cp-24.04.4-2'

2024-06-18 Thread Marco A.G.Pinto (via logerrit)
Tag 'cp-24.04.4-2' created by Andras Timar  at 
2024-06-18 07:59 +

cp-24.04.4-2

Changes since cp-24.04.3-6-1:
---
 0 files changed
---


core.git: Branch 'distro/collabora/co-24.04' - configure.ac

2024-06-18 Thread Andras Timar (via logerrit)
 configure.ac |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit 5d802d7f4e5f125563d4d47dbfcdd1a626e5499e
Author: Andras Timar 
AuthorDate: Tue Jun 18 09:54:21 2024 +0200
Commit: Andras Timar 
CommitDate: Tue Jun 18 09:56:05 2024 +0200

Bump version to 24.04.4.2

Change-Id: I953ddce457c7f23448128788fa6b68ae84fdd2ce

diff --git a/configure.ac b/configure.ac
index 40bd3f3fedb1..774a357ffdbd 100644
--- a/configure.ac
+++ b/configure.ac
@@ -9,7 +9,7 @@ dnl in order to create a configure script.
 # several non-alphanumeric characters, those are split off and used only for 
the
 # ABOUTBOXPRODUCTVERSIONSUFFIX in openoffice.lst. Why that is necessary, no 
idea.
 
-AC_INIT([Collabora Office],[24.04.4.1],[],[],[https://collaboraoffice.com/])
+AC_INIT([Collabora Office],[24.04.4.2],[],[],[https://collaboraoffice.com/])
 
 dnl libnumbertext needs autoconf 2.68, but that can pick up autoconf268 just 
fine if it is installed
 dnl whereas aclocal (as run by autogen.sh) insists on using autoconf and fails 
hard


core.git: Changes to 'distro/collabora/co-24.04.4'

2024-06-18 Thread Andras Timar (via logerrit)
New branch 'distro/collabora/co-24.04.4' available with the following commits:
commit 3709158c476d3931713e1be652f02aae1db91dd3
Author: Andras Timar 
Date:   Tue Jun 18 09:54:21 2024 +0200

Bump version to 24.04.4.2

Change-Id: I953ddce457c7f23448128788fa6b68ae84fdd2ce

commit 22076f4997bdc0528eaa49213a08055080b60a95
Author: Pranam Lashkari 
Date:   Mon Jun 17 00:34:40 2024 +0300

LOK: fixed incorrect Logic point calculation for Map mode

problem:
it was very difficult to select line in online,
specifically in writer if line is very think and
it was almost impossible to select line

Change-Id: Ib641cd3d9795b93d47c78bc8f57211f51714844d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168837
Tested-by: Caolán McNamara 
Reviewed-by: Caolán McNamara 
Tested-by: Jenkins CollaboraOffice 

commit 30ca6789a6d7562d79d3d86d787a50e2f699c226
Author: Mike Kaganski 
Date:   Sun Jun 16 18:52:47 2024 +0500

LOK: Use frozen map instead of a chain of hundreds string comparisons

Besides expected performance improvement, this helped to find several
elements that were duplicated in the long list. Frozen map does not
allow duplication of the keys, helping avoid these mistakes.

Change-Id: I2192d0ed50b6b8611fd08715f713742a993b28dc
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168961
Reviewed-by: Mike Kaganski 
Tested-by: Jenkins
(cherry picked from commit 58aca139242e6cfbb66c37bf40009d5201ff007f)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168937
Tested-by: Jenkins CollaboraOffice 
Reviewed-by: Miklos Vajna 

commit 41fee8b9f03166b355b983616a3a9bbd3670b8ee
Author: Mike Kaganski 
Date:   Sun Jun 16 16:02:40 2024 +0500

LOK: Send view modes status change notifications

Change-Id: If9a36dcd447eef355f137b5afe16f917e9c0cfa3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168960
Reviewed-by: Mike Kaganski 
Tested-by: Jenkins
(cherry picked from commit a14ec822c9c571a32eb0565158f1976b2d0dbf28)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168936
Tested-by: Jenkins CollaboraOffice 
Reviewed-by: Miklos Vajna 

commit b85eaba0aa3084865cb8046afc7c92f5256660c4
Author: Mike Kaganski 
Date:   Sun Jun 16 12:46:54 2024 +0500

LOK: differentiate page kinds in sd::ViewShellBase::getEditMode

E.g., sending a LOK_CALLBACK_GRAPHIC_VIEW_SELECTION payload, the
"mode" must be different for notes view and for normal view.

Change-Id: I1f328290087f3185b7bef69560b28df6adb82e90
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168917
Reviewed-by: Mike Kaganski 
Tested-by: Jenkins
(cherry picked from commit 4ff2e148fa25933e64b7bbecbcd3ed551ad686ab)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168934
Reviewed-by: Miklos Vajna 
Tested-by: Jenkins CollaboraOffice 

commit 1830986b444ad694b95bae2cad45a7504a006da1
Author: Henry Castro 
Date:   Mon Jun 10 14:41:13 2024 -0400

lok: sw: fix PageDown position when cursor is not visible

If PageDown key is pressed and the cursor is not visible,
in the PageDown increment the new cursor position will not update,
cause the Visible area is the full document.

Signed-off-by: Henry Castro 
Change-Id: I57b9ae1e80cb878867ee215d7e80de990aff
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168646
Tested-by: Jenkins CollaboraOffice 
Reviewed-by: Caolán McNamara 

commit 6cd89fa7a0b5fb570aad42e847863925fb0036b8
Author: Miklos Vajna 
Date:   Tue Jun 11 10:49:29 2024 +0200

tdf#161443 DOCX import, table style: handle para border in table cell paras

Open the bugdoc, the in-table paragraphs have some top and bottom
paragraph borders in Word, not in Writer -- because the cell and
paragraph UNO object both have a property named TopBorder as mentioned
in commit 39c54c0ef837e0e23a676a4d1fa5da667e18939c (tdf#161443 DOCX
import, table style: fix para border leaking into cell border,
2024-06-07).

The previous fix avoided the problem that the unwanted border affects,
the cell, but re-routing the property to affect the in-table paragraph
were not done.

Fix the problem by adding 3 new meta-properties with a "Para" prefix for
all 4 border locations (top/left/bottom/right), this way the paragraph
borders defined in a table style can affect the in-table paragraphs, but
not the table cells.

Apart from the border itself, this also affected the border spacing,
which means that the position of all text inside and below the table is
now also correct. Unfortunately this also means we need to move away
from the constexpr frozen container that is only suitable for a limited
number of items:
sw/source/writerfilter/dmapper/PropertyIds.cxx:394:6: error: ‘constexpr’ 
evaluation operation count exceeds limit of 33554432 (use 
‘-fconstexpr-ops-limit=’ to increase 

core.git: chart2/qa oox/source

2024-06-18 Thread Attila Szűcs (via logerrit)
 chart2/qa/extras/chart2export2.cxx |   30 ++
 oox/source/export/chartexport.cxx  |   14 +-
 2 files changed, 43 insertions(+), 1 deletion(-)

New commits:
commit dfffe516199b595e78a23178bc6e508a28ee48e6
Author: Attila Szűcs 
AuthorDate: Thu Jun 13 21:31:25 2024 +0200
Commit: Caolán McNamara 
CommitDate: Tue Jun 18 09:49:31 2024 +0200

tdf#161571 chart: OOXML export of piechart label positions

Custom Positions of lables was not exported in case
of piechart.

As far as i know, Best Fit Placement in PieChart may can
cause issues, because MS, and LO may calculate it differently,
so i left that case unchanged, to avoid possible regressions.

Change-Id: I84e94f30390eb323c7311ae1d97ca3c63da0bc6a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168972
Tested-by: Jenkins
Reviewed-by: Caolán McNamara 

diff --git a/chart2/qa/extras/chart2export2.cxx 
b/chart2/qa/extras/chart2export2.cxx
index 440c526cb5fc..67907d3643cf 100644
--- a/chart2/qa/extras/chart2export2.cxx
+++ b/chart2/qa/extras/chart2export2.cxx
@@ -455,6 +455,36 @@ CPPUNIT_TEST_FIXTURE(Chart2ExportTest2, 
testCustomPositionofDataLabel)
 }
 }
 
+CPPUNIT_TEST_FIXTURE(Chart2ExportTest2, 
testTdf161571PiechartCustomPosDataLabels)
+{
+// FIXME: validation error in OOXML export
+skipValidation();
+
+loadFromFile(u"xlsx/tdf161607PieChartLeaderLinesColorWidth.xlsx");
+save(u"Calc Office Open XML"_ustr);
+xmlDocUniquePtr pXmlDoc = parseExport(u"xl/charts/chart1.xml"_ustr);
+CPPUNIT_ASSERT(pXmlDoc);
+
+// test custom position of data label (xlsx)
+assertXPath(
+pXmlDoc,
+
"/c:chartSpace/c:chart/c:plotArea/c:doughnutChart/c:ser/c:dLbls/c:dLbl[2]/c:idx"_ostr,
+"val"_ostr, u"1"_ustr);
+OUString aXVal = getXPath(pXmlDoc,
+  
"/c:chartSpace/c:chart/c:plotArea/c:doughnutChart/c:ser/c:dLbls/"
+  "c:dLbl[2]/c:layout/c:manualLayout/c:x"_ostr,
+  "val"_ostr);
+double nX = aXVal.toDouble();
+CPPUNIT_ASSERT_DOUBLES_EQUAL(-0.13500189609404625, nX, 1e-7);
+
+OUString aYVal = getXPath(pXmlDoc,
+  
"/c:chartSpace/c:chart/c:plotArea/c:doughnutChart/c:ser/c:dLbls/"
+  "c:dLbl[2]/c:layout/c:manualLayout/c:y"_ostr,
+  "val"_ostr);
+double nY = aYVal.toDouble();
+CPPUNIT_ASSERT_DOUBLES_EQUAL(0.15994818221025045, nY, 1e-7);
+}
+
 CPPUNIT_TEST_FIXTURE(Chart2ExportTest2, testCustomDataLabelMultipleSeries)
 {
 loadFromFile(u"pptx/tdf115107-2.pptx");
diff --git a/oox/source/export/chartexport.cxx 
b/oox/source/export/chartexport.cxx
index c63c8497daf1..78d3d4cbcebf 100644
--- a/oox/source/export/chartexport.cxx
+++ b/oox/source/export/chartexport.cxx
@@ -4052,8 +4052,20 @@ void ChartExport::exportDataLabels(
 pFS->startElement(FSNS(XML_c, XML_dLbl));
 pFS->singleElement(FSNS(XML_c, XML_idx), XML_val, 
OString::number(nIdx));
 
+// As far as i know there can be issues with the Positions,
+// if a piechart label use AVOID_OVERLAP placement (== BestFit)
+// because LO and MS may calculate the bestFit positions differently.
+bool bWritePosition = true;
+if (eChartType == chart::TYPEID_PIE)
+{
+sal_Int32 nLabelPlacement = aParam.meDefault;
+xLabelPropSet->getPropertyValue(u"LabelPlacement"_ustr) >>= 
nLabelPlacement;
+if (nLabelPlacement == 
css::chart::DataLabelPlacement::AVOID_OVERLAP)
+bWritePosition = false;
+}
+
 // export custom position of data label
-if( eChartType != chart::TYPEID_PIE )
+if (bWritePosition)
 {
 chart2::RelativePosition aCustomLabelPosition;
 if( xLabelPropSet->getPropertyValue(u"CustomLabelPosition"_ustr) 
>>= aCustomLabelPosition )


core.git: chart2/qa chart2/source oox/source

2024-06-18 Thread Attila Szűcs (via logerrit)
 chart2/qa/extras/chart2export2.cxx |   27 
+++
 chart2/qa/extras/data/xlsx/tdf161607PieChartLeaderLinesColorWidth.xlsx |binary
 chart2/source/view/charttypes/PieChart.cxx |   26 
+--
 oox/source/drawingml/chart/seriesconverter.cxx |   29 

 oox/source/export/chartexport.cxx  |   34 
++
 5 files changed, 107 insertions(+), 9 deletions(-)

New commits:
commit ada05b8874aa2c5161550dbc87d79b47f40f0df8
Author: Attila Szűcs 
AuthorDate: Thu Jun 13 21:33:13 2024 +0200
Commit: Caolán McNamara 
CommitDate: Tue Jun 18 09:49:07 2024 +0200

tdf#161607 Chart: import-export LeaderLines data

Implemented Importexport of some leaderLines data
(color and width of the lines) from/to OOXML.

It now supports only the solidFill color.
Used properties: "LineColor" and "LineWidth"

Change-Id: Ib33392d0404e1186328176fd93322e02b4006f3c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168974
Reviewed-by: Caolán McNamara 
Tested-by: Jenkins
Tested-by: Caolán McNamara 

diff --git a/chart2/qa/extras/chart2export2.cxx 
b/chart2/qa/extras/chart2export2.cxx
index 7d81dbb6f6a7..440c526cb5fc 100644
--- a/chart2/qa/extras/chart2export2.cxx
+++ b/chart2/qa/extras/chart2export2.cxx
@@ -549,6 +549,33 @@ CPPUNIT_TEST_FIXTURE(Chart2ExportTest2, testLeaderLines)
 }
 }
 
+CPPUNIT_TEST_FIXTURE(Chart2ExportTest2, 
testTdf161607PieChartLeaderLinesColorWidth)
+{
+// FIXME: validation error in OOXML export
+skipValidation();
+
+loadFromFile(u"xlsx/tdf161607PieChartLeaderLinesColorWidth.xlsx");
+save(u"Calc Office Open XML"_ustr);
+xmlDocUniquePtr pXmlDoc = parseExport(u"xl/charts/chart1.xml"_ustr);
+CPPUNIT_ASSERT(pXmlDoc);
+
+// test LeaderLines width
+OUString aWidth = getXPath(
+pXmlDoc,
+
"/c:chartSpace/c:chart/c:plotArea/c:doughnutChart/c:ser/c:dLbls/c:leaderLines/c:spPr/"
+"a:ln"_ostr,
+"w"_ostr);
+sal_Int32 nWidth = aWidth.toInt32();
+CPPUNIT_ASSERT_LESSEQUAL(static_cast(100), std::abs(nWidth - 
88900));
+
+// test LeaderLines Color
+assertXPath(
+pXmlDoc,
+
"/c:chartSpace/c:chart/c:plotArea/c:doughnutChart/c:ser/c:dLbls/c:leaderLines/c:spPr/"
+"a:ln/a:solidFill/a:srgbClr"_ostr,
+"val"_ostr, u"7030a0"_ustr);
+}
+
 CPPUNIT_TEST_FIXTURE(Chart2ExportTest2, testNumberFormatExportPPTX)
 {
 loadFromFile(u"pptx/tdf115859.pptx");
diff --git 
a/chart2/qa/extras/data/xlsx/tdf161607PieChartLeaderLinesColorWidth.xlsx 
b/chart2/qa/extras/data/xlsx/tdf161607PieChartLeaderLinesColorWidth.xlsx
new file mode 100644
index ..c8c4e06a44c3
Binary files /dev/null and 
b/chart2/qa/extras/data/xlsx/tdf161607PieChartLeaderLinesColorWidth.xlsx differ
diff --git a/chart2/source/view/charttypes/PieChart.cxx 
b/chart2/source/view/charttypes/PieChart.cxx
index fcb79ef1907a..58193df880d6 100644
--- a/chart2/source/view/charttypes/PieChart.cxx
+++ b/chart2/source/view/charttypes/PieChart.cxx
@@ -27,7 +27,8 @@
 #include 
 #include 
 #include 
-
+#include "../../model/main/DataPointProperties.hxx"
+#include 
 #include 
 #include 
 
@@ -686,14 +687,21 @@ void PieChart::createTextLabelShape(
 drawing::PointSequenceSequence aPoints{ { {nX1, nY1}, 
{nX2, nY2} } };
 
 VLineProperties aVLineProperties;
-if (aPieLabelInfo.xTextShape.is())
-{
-sal_Int32 nColor = 0;
-
aPieLabelInfo.xTextShape->SvxShape::getPropertyValue(u"CharColor"_ustr) >>= 
nColor;
-//automatic font color does not work for lines -> 
fallback to black
-if (nColor != -1)
-aVLineProperties.Color <<= nColor;
-}
+
+sal_Int32 nColor = 0;
+nColor = rSeries.getModel()
+ ->getFastPropertyValue(
+ 
DataPointProperties::PROP_DATAPOINT_BORDER_COLOR)
+ .get();
+if (nColor != -1)
+aVLineProperties.Color <<= nColor;
+sal_Int32 nWidth = 0;
+nWidth = rSeries.getModel()
+ 
->getFastPropertyValue(LinePropertiesHelper::PROP_LINE_WIDTH)
+ .get();
+if (nWidth != -1)
+aVLineProperties.Width <<= nWidth;
+
 ShapeFactory::createLine2D(xTextTarget, aPoints, 
&aVLineProperties);
 }
 }
diff --git a/oox/source/drawingml/chart/seriesconverter.cxx 
b/oox/source/drawingml/chart/seriesconverter.cxx
index 4efe54f3c2e8..b3c8b51c16b9 100644
--- a/oox/source/drawingml/chart/seriesconverter.cxx
+++ b/oox/source/drawingml/cha