GSoC'23 Week 3 Report: More Certificate Manager Improvements

2023-06-24 Thread Ahmed Gamal Eltokhy
Dear everyone,

I hope this email finds you well. Excited to share the current progress in
GSoC. You can find the complete report on my blog at the following link:

https://tokiesan.github.io/blogposts/gsoc/week_3_report.html

*TL;DR*: Improved LibreOffice certificate managers' integration and
optimized certificate caching for enhanced user experience.

I would like to express my extreme gratitude to Thorsten Behrens, Heiko
Tietze, and Hossein Nourikhah for their invaluable guidance throughout this
journey.

Stay tuned for more updates in the upcoming weeks! If you have any
suggestions, questions, or just want to chat, please feel free to reach out
to me.

Best regards,

Tokhy


[Libreoffice-commits] core.git: Branch 'libreoffice-7-6' - svgio/inc svgio/qa svgio/source

2023-06-24 Thread Xisco Fauli (via logerrit)
 svgio/inc/svgnode.hxx   |3 
 svgio/qa/cppunit/SvgImportTest.cxx  |   19 
 svgio/qa/cppunit/data/tdf156034.svg |   20 +
 svgio/source/svgreader/svgnode.cxx  |  140 ++--
 4 files changed, 115 insertions(+), 67 deletions(-)

New commits:
commit 47a7f7e41e4c89ebeacab26d31dc78a2ffa94311
Author: Xisco Fauli 
AuthorDate: Fri Jun 23 12:59:17 2023 +0200
Commit: Xisco Fauli 
CommitDate: Sat Jun 24 09:36:37 2023 +0200

tdf#156034: check for css style further up in the hierarchy

Change-Id: I92c6673f1249cc4a273c490cdc0496474ce1f0c5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/153498
Tested-by: Jenkins
Reviewed-by: Xisco Fauli 
(cherry picked from commit dc7f80159823ef00048d9f5c2716e3122654cbbb)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/153518

diff --git a/svgio/inc/svgnode.hxx b/svgio/inc/svgnode.hxx
index f2eb0fcb1b6e..af23bc4eb32f 100644
--- a/svgio/inc/svgnode.hxx
+++ b/svgio/inc/svgnode.hxx
@@ -120,6 +120,9 @@ namespace svgio::svgreader
 
 /// helper for filling the CssStyle vector once dependent on 
mbCssStyleVectorBuilt
 void fillCssStyleVector(const OUString& rClassStr, const 
SvgStyleAttributes& rOriginal);
+void addCssStyle(
+const SvgDocument& rDocument,
+const OUString& aConcatenated);
 void fillCssStyleVectorUsingHierarchyAndSelectors(
 const OUString& rClassStr,
 const SvgNode& rCurrent,
diff --git a/svgio/qa/cppunit/SvgImportTest.cxx 
b/svgio/qa/cppunit/SvgImportTest.cxx
index d29cc30bf41c..8e7d86c145f2 100644
--- a/svgio/qa/cppunit/SvgImportTest.cxx
+++ b/svgio/qa/cppunit/SvgImportTest.cxx
@@ -320,6 +320,25 @@ CPPUNIT_TEST_FIXTURE(Test, testTdf145896)
 assertXPath(pDocument, "/primitive2D/transform/polypolygoncolor[3]", 
"color", "#ff");
 }
 
+CPPUNIT_TEST_FIXTURE(Test, testTdf156034)
+{
+Primitive2DSequence aSequence = 
parseSvg(u"/svgio/qa/cppunit/data/tdf156034.svg");
+CPPUNIT_ASSERT_EQUAL(1, static_cast(aSequence.getLength()));
+
+drawinglayer::Primitive2dXmlDump dumper;
+xmlDocUniquePtr pDocument = dumper.dumpAndParse(aSequence);
+
+CPPUNIT_ASSERT (pDocument);
+
+// Without the fix in place, this test would have failed with
+// - Expected: #008000
+// - Actual  : #ff
+assertXPath(pDocument, "/primitive2D/transform/polypolygoncolor[1]", 
"color", "#008000");
+assertXPath(pDocument, "/primitive2D/transform/polypolygoncolor[2]", 
"color", "#008000");
+assertXPath(pDocument, "/primitive2D/transform/polypolygoncolor[3]", 
"color", "#008000");
+assertXPath(pDocument, "/primitive2D/transform/polypolygoncolor[4]", 
"color", "#008000");
+}
+
 CPPUNIT_TEST_FIXTURE(Test, testTdf156018)
 {
 Primitive2DSequence aSequence = 
parseSvg(u"/svgio/qa/cppunit/data/tdf156018.svg");
diff --git a/svgio/qa/cppunit/data/tdf156034.svg 
b/svgio/qa/cppunit/data/tdf156034.svg
new file mode 100644
index ..ed14c5fe4aaf
--- /dev/null
+++ b/svgio/qa/cppunit/data/tdf156034.svg
@@ -0,0 +1,20 @@
+http://www.w3.org/2000/svg"; 
xmlns:xlink="http://www.w3.org/1999/xlink"; viewBox="-0 0 300 300">
+
+
+.g1 rect {fill:green;}
+#g3 rect {fill:green;}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/svgio/source/svgreader/svgnode.cxx 
b/svgio/source/svgreader/svgnode.cxx
index 2137209d5599..35277ef0ed87 100644
--- a/svgio/source/svgreader/svgnode.cxx
+++ b/svgio/source/svgreader/svgnode.cxx
@@ -39,53 +39,30 @@ namespace svgio::svgreader
 return nullptr;
 }
 
-void SvgNode::fillCssStyleVectorUsingHierarchyAndSelectors(
-const OUString& rClassStr,
-const SvgNode& rCurrent,
-const OUString& aConcatenated)
+void SvgNode::addCssStyle(const SvgDocument& rDocument, const 
OUString& aConcatenated)
 {
-const SvgDocument& rDocument = getDocument();
+const SvgStyleAttributes* pNew = 
rDocument.findGlobalCssStyleAttributes(aConcatenated);
 
-if(!rDocument.hasGlobalCssStyleAttributes())
-return;
-
-const SvgNode* pParent = rCurrent.getParent();
-
-// check for ID (highest priority)
-if(rCurrent.getId())
+if(pNew)
 {
-const OUString& rId = *rCurrent.getId();
-
-if(rId.getLength())
-{
-const OUString aNewConcatenated(
-"#" + rId + aConcatenated);
-
-if(pParent)
-{
-// check for combined selectors at parent firstso that 
higher specificity will be in front
-
fillCssStyleVectorUsingHierarchyAndSelectors(rClassStr, *pParent, 
aNewConcatenated);
-}
-
-c

New Defects reported by Coverity Scan for LibreOffice

2023-06-24 Thread scan-admin
Hi,

Please find the latest report on new defect(s) introduced to LibreOffice found 
with Coverity Scan.

37 new defect(s) introduced to LibreOffice found with Coverity Scan.
1 defect(s), reported by Coverity Scan earlier, were marked fixed in the recent 
build analyzed by Coverity Scan.

New defect(s) Reported-by: Coverity Scan
Showing 20 of 37 defect(s)


** CID 1532480:  Uninitialized variables  (UNINIT)



*** CID 1532480:  Uninitialized variables  (UNINIT)
/oox/source/ppt/pptshape.cxx: 458 in 
oox::ppt::PPTShape::addShape(oox::core::XmlFilterBase &, const 
oox::ppt::SlidePersist &, const oox::drawingml::Theme *, const 
com::sun::star::uno::Reference &, 
basegfx::B2DHomMatrix &, std::map, std::less, 
std::allocator>>> *)()
452 if (meShapeLocation == Slide && mpPlaceholder && 
getTextBody() && getTextBody()->isEmpty())
453 {
454 Reference < XText > xText(mxShape, UNO_QUERY);
455 if (xText.is())
456 {
457 TextCharacterProperties aCharStyleProperties;
>>> CID 1532480:  Uninitialized variables  (UNINIT)
>>> Using uninitialized value 
>>> "aCharStyleProperties.maUnderlineColor.meThemeColorType" when calling 
>>> "ApplyStyleEmpty".
458 getTextBody()->ApplyStyleEmpty(rFilterBase, xText, 
aCharStyleProperties, mpMasterTextListStyle);
459 }
460 }
461 if (pShapeMap)
462 {
463 // bnc#705982 - if optional model id reference is

** CID 1532479:  Memory - corruptions  (MISMATCHED_ITERATOR)
/cui/source/tabpages/tptrans.cxx: 373 in SvxTransparenceTabPage::Reset(const 
SfxItemSet *)()



*** CID 1532479:  Memory - corruptions  (MISMATCHED_ITERATOR)
/cui/source/tabpages/tptrans.cxx: 373 in SvxTransparenceTabPage::Reset(const 
SfxItemSet *)()
367 
m_xMtrTrgrStartValue->set_value(static_cast(((static_cast(aStart.GetRed())
 + 1) * 100) / 255), FieldUnit::PERCENT);
368 
m_xMtrTrgrEndValue->set_value(static_cast(((static_cast(aEnd.GetRed())
 + 1) * 100) / 255), FieldUnit::PERCENT);
369 
370 // MCGR: preserve ColorStops if given
371 // tdf#155901 We need offset of first and last stop, so include 
them.
372 if (rGradient.GetColorStops().size() >= 2)
>>> CID 1532479:  Memory - corruptions  (MISMATCHED_ITERATOR)
>>> Using iterator "rGradient->GetColorStops()->end()" from 
>>> "rGradient->GetColorStops()" with "".
373 maColorStops = 
basegfx::BColorStops(rGradient.GetColorStops().begin(), 
rGradient.GetColorStops().end());
374 else
375 maColorStops.clear();
376 
377 // linear transparence
378 sal_uInt16 nTransp = pLinearItem->GetValue();

** CID 1532478:(CHECKED_RETURN)
/svgio/source/svgreader/svgfecolormatrixnode.cxx: 99 in 
svgio::svgreader::SvgFeColorMatrixNode::apply(drawinglayer::primitive2d::Primitive2DContainer
 &) const()
/svgio/source/svgreader/svgfecolormatrixnode.cxx: 88 in 
svgio::svgreader::SvgFeColorMatrixNode::apply(drawinglayer::primitive2d::Primitive2DContainer
 &) const()



*** CID 1532478:(CHECKED_RETURN)
/svgio/source/svgreader/svgfecolormatrixnode.cxx: 99 in 
svgio::svgreader::SvgFeColorMatrixNode::apply(drawinglayer::primitive2d::Primitive2DContainer
 &) const()
93 
std::make_shared(aNum.getNumber(;
94 rTarget = drawinglayer::primitive2d::Primitive2DContainer{ xRef 
};
95 }
96 else if (maType == ColorType::HueRotate)
97 {
98 SvgNumber aNum(0.0);
>>> CID 1532478:(CHECKED_RETURN)
>>> Calling "readSingleNumber" without checking return value (as is done 
>>> elsewhere 65 out of 67 times).
99 readSingleNumber(maValuesContent, aNum);
100 const drawinglayer::primitive2d::Primitive2DReference xRef(
101 new drawinglayer::primitive2d::ModifiedColorPrimitive2D(
102 std::move(rTarget), 
std::make_shared(
103 
basegfx::deg2rad(aNum.getNumber();
104 rTarget = drawinglayer::primitive2d::Primitive2DContainer{ xRef 
};
/svgio/source/svgreader/svgfecolormatrixnode.cxx: 88 in 
svgio::svgreader::SvgFeColorMatrixNode::apply(drawinglayer::primitive2d::Primitive2DContainer
 &) const()
82 
std::make_shared()));
83 rTarget = drawinglayer::primitive2d::Primitive2DContainer{ xRef 
};
84 }
85 else if (maType == ColorType::Saturate)
86 {
87 SvgNumber aNum(1.0);
>>> CID 1532478:(CHECKED_RETURN)
>>> Calling "rea

[Libreoffice-commits] core.git: sw/inc sw/qa sw/source writerfilter/source xmloff/source

2023-06-24 Thread Mike Kaganski (via logerrit)
 sw/inc/unoprnms.hxx  |2 
 sw/qa/core/layout/data/floattable-2cols.docx |binary
 sw/qa/core/layout/data/floattable-compat14-body.docx |binary
 sw/qa/core/layout/data/floattable-compat14-nosplit.docx  |binary
 sw/qa/core/layout/data/floattable-compat14.docx  |binary
 sw/qa/core/layout/data/floattable-footer-2rows.docx  |binary
 sw/qa/core/layout/data/floattable-footer.docx|binary
 sw/qa/core/layout/data/floattable-widow.docx |binary
 sw/qa/extras/layout/data/tdf116256.docx  |binary
 sw/qa/extras/layout/data/tdf136613.docx  |binary
 sw/qa/extras/layout/layout2.cxx  |   13 
 sw/qa/extras/ooxmlexport/data/lastEmptyLineWithDirectFormatting.docx |binary
 sw/qa/extras/ooxmlexport/ooxmlexport19.cxx   |   11 
 sw/qa/extras/rtfexport/rtfexport6.cxx|4 
 sw/qa/extras/rtfimport/rtfimport.cxx |7 
 sw/source/core/doc/DocumentContentOperationsManager.cxx  |7 
 sw/source/core/doc/docfmt.cxx|6 
 sw/source/core/unocore/unoobj.cxx|9 
 writerfilter/source/dmapper/DomainMapper_Impl.cxx|  169 
++
 xmloff/source/text/txtparai.cxx  |   30 -
 20 files changed, 155 insertions(+), 103 deletions(-)

New commits:
commit fc1b9ab2913bc8c2d8414b6d8de3ceed3910c5d8
Author: Mike Kaganski 
AuthorDate: Fri Jun 23 09:31:01 2023 +0300
Commit: Mike Kaganski 
CommitDate: Sat Jun 24 10:18:47 2023 +0200

tdf#133560: re-anchor objects, to use paragraph's dispose for bEndOfDocument

1. During import, XParagraphAppend::finishParagraph(Insert) are called,
   which are implemented using SwXText::Impl::finishOrAppendParagraph,
   and the latter calls

m_pDoc->getIDocumentContentOperations().AppendTextNode( 
*aPam.GetPoint() );
// remove attributes from the previous paragraph
m_pDoc->ResetAttrs(aPam);

   so that there is always another (empty) paragraph after the finalized
   one;

2. During import, lcl_AddRange is called to create anchored text content;
   the start and end of it may reference the very end of the document
   (using xTextAppend->getEnd()) - i.e., that last (maybe empty, maybe
   extra) paragraph.

3. In many places, and in particular, in DomainMapper_Impl destructor,
   DomainMapper_Impl::RemoveLastParagraph is called; and the latter uses
   one of the two techniques to remove that last paragraph:

3.1. It either obtains the paragraph's lang::XComponent interface, and
 calls its dispose (SwXParagraph::dispose), which eventually calls
 DocumentContentOperationsManager::DelFullPara;

3.2. Or it uses cursor to select 1 ch back, and replace the resulting
 selection with nothing.

3.1 has an advantage of keeping the formatting of the remaining (second-
to-last) paragraph, but DocumentContentOperationsManager::DelFullPara,
among other things, removes all anchored objects, thus this mode is not
used for the end-of-document case (e.g., see commit message of commit
e521930ea1c855c236efb67793e540d07c201d35 "fdo#58327: writerfilter:
RemoveLastParagraph is tricky:", 2013-01-10);

3.2 keeps the anchored objects, but needs workarounds to keep bookmarks,
and destroys the remaining paragraph character formatting.

Let me try to use #3.1 also in the end-of-document case, by introducing
code to move anchored objects to previous paragraph before calling
XComponent::dispose. Indeed, it may happen that more processing could be
needed, if more properties would happen to be bound to the very last
extra paragraph.

This change adds a call to DocumentRedlineManager::CompressRedlines in
DocumentContentOperationsManager::DelFullPara, because previously, this
was called during #3.2 inside setString. testTdf150086 failed without
this change.

testTdf131386 and testTdf152872 were changed to the now-correct import of
last paragraph properties (previously both of them relied on the hidden
property not present there, while it is there in Word).

In DomainMapper_Impl::RemoveLastParagraph, the check of the content of
selection made by moving backward one character was generalized to be run
before both cases, because RTF sometimes has only one paragraph after a
table (see e.g. testTdf148515), which now could be removed in the absence
of the check.

testTdf104390 was changed to not check the number of runs, because now
the paragraph keeps the trailing "paragraph mark for

[Libreoffice-commits] core.git: Branch 'libreoffice-7-6' - sw/inc sw/qa sw/source writerfilter/source xmloff/source

2023-06-24 Thread Mike Kaganski (via logerrit)
 sw/inc/unoprnms.hxx  |2 
 sw/qa/core/layout/data/floattable-2cols.docx |binary
 sw/qa/core/layout/data/floattable-compat14-body.docx |binary
 sw/qa/core/layout/data/floattable-compat14-nosplit.docx  |binary
 sw/qa/core/layout/data/floattable-compat14.docx  |binary
 sw/qa/core/layout/data/floattable-footer-2rows.docx  |binary
 sw/qa/core/layout/data/floattable-footer.docx|binary
 sw/qa/core/layout/data/floattable-widow.docx |binary
 sw/qa/extras/layout/data/tdf116256.docx  |binary
 sw/qa/extras/layout/data/tdf136613.docx  |binary
 sw/qa/extras/layout/layout2.cxx  |   13 
 sw/qa/extras/ooxmlexport/data/lastEmptyLineWithDirectFormatting.docx |binary
 sw/qa/extras/ooxmlexport/ooxmlexport19.cxx   |   11 
 sw/qa/extras/rtfexport/rtfexport6.cxx|4 
 sw/qa/extras/rtfimport/rtfimport.cxx |7 
 sw/source/core/doc/DocumentContentOperationsManager.cxx  |7 
 sw/source/core/doc/docfmt.cxx|6 
 sw/source/core/unocore/unoobj.cxx|9 
 writerfilter/source/dmapper/DomainMapper_Impl.cxx|  169 
++
 xmloff/source/text/txtparai.cxx  |   30 -
 20 files changed, 155 insertions(+), 103 deletions(-)

New commits:
commit 0e6ad9029b8e6b0e912610d2e446682a16ceb402
Author: Mike Kaganski 
AuthorDate: Fri Jun 23 09:31:01 2023 +0300
Commit: Mike Kaganski 
CommitDate: Sat Jun 24 11:08:35 2023 +0200

tdf#133560: re-anchor objects, to use paragraph's dispose for bEndOfDocument

1. During import, XParagraphAppend::finishParagraph(Insert) are called,
   which are implemented using SwXText::Impl::finishOrAppendParagraph,
   and the latter calls

m_pDoc->getIDocumentContentOperations().AppendTextNode( 
*aPam.GetPoint() );
// remove attributes from the previous paragraph
m_pDoc->ResetAttrs(aPam);

   so that there is always another (empty) paragraph after the finalized
   one;

2. During import, lcl_AddRange is called to create anchored text content;
   the start and end of it may reference the very end of the document
   (using xTextAppend->getEnd()) - i.e., that last (maybe empty, maybe
   extra) paragraph.

3. In many places, and in particular, in DomainMapper_Impl destructor,
   DomainMapper_Impl::RemoveLastParagraph is called; and the latter uses
   one of the two techniques to remove that last paragraph:

3.1. It either obtains the paragraph's lang::XComponent interface, and
 calls its dispose (SwXParagraph::dispose), which eventually calls
 DocumentContentOperationsManager::DelFullPara;

3.2. Or it uses cursor to select 1 ch back, and replace the resulting
 selection with nothing.

3.1 has an advantage of keeping the formatting of the remaining (second-
to-last) paragraph, but DocumentContentOperationsManager::DelFullPara,
among other things, removes all anchored objects, thus this mode is not
used for the end-of-document case (e.g., see commit message of commit
e521930ea1c855c236efb67793e540d07c201d35 "fdo#58327: writerfilter:
RemoveLastParagraph is tricky:", 2013-01-10);

3.2 keeps the anchored objects, but needs workarounds to keep bookmarks,
and destroys the remaining paragraph character formatting.

Let me try to use #3.1 also in the end-of-document case, by introducing
code to move anchored objects to previous paragraph before calling
XComponent::dispose. Indeed, it may happen that more processing could be
needed, if more properties would happen to be bound to the very last
extra paragraph.

This change adds a call to DocumentRedlineManager::CompressRedlines in
DocumentContentOperationsManager::DelFullPara, because previously, this
was called during #3.2 inside setString. testTdf150086 failed without
this change.

testTdf131386 and testTdf152872 were changed to the now-correct import of
last paragraph properties (previously both of them relied on the hidden
property not present there, while it is there in Word).

In DomainMapper_Impl::RemoveLastParagraph, the check of the content of
selection made by moving backward one character was generalized to be run
before both cases, because RTF sometimes has only one paragraph after a
table (see e.g. testTdf148515), which now could be removed in the absence
of the check.

testTdf104390 was changed to not check the number of runs, because now
the paragraph keeps the trailing "paragraph mark for

[Libreoffice-commits] core.git: solenv/vs

2023-06-24 Thread Mike Kaganski (via logerrit)
 solenv/vs/LibreOffice.natvis |   10 ++
 1 file changed, 10 insertions(+)

New commits:
commit 698d82ec6c582fdd4633e9e5cc9c439d4a0eff7d
Author: Mike Kaganski 
AuthorDate: Sat Jun 24 11:57:35 2023 +0300
Commit: Mike Kaganski 
CommitDate: Sat Jun 24 11:52:05 2023 +0200

Add a natvis entry for o3tl::span

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

diff --git a/solenv/vs/LibreOffice.natvis b/solenv/vs/LibreOffice.natvis
index b2732cef3736..ba0ab29ae96b 100644
--- a/solenv/vs/LibreOffice.natvis
+++ b/solenv/vs/LibreOffice.natvis
@@ -147,6 +147,16 @@
   
 
   
+  
+o3tl::span (empty)
+o3tl::span of {size_,d} {"$T1",sb}
+
+  
+size_
+reinterpret_cast < const $T1 * >( data_ 
)
+  
+
+  
   
 {{{m_nSize,d} nodes}}
 


[Libreoffice-commits] core.git: Branch 'distro/collabora/co-22.05' - sw/source

2023-06-24 Thread Szymon Kłos (via logerrit)
 sw/source/core/undo/docundo.cxx |7 +--
 1 file changed, 5 insertions(+), 2 deletions(-)

New commits:
commit ad5539626401e097a7026d896339764e805789a4
Author: Szymon Kłos 
AuthorDate: Thu Jun 22 16:46:22 2023 +0200
Commit: Caolán McNamara 
CommitDate: Sat Jun 24 11:54:35 2023 +0200

lok: use correct shell when doing undo

When doing undo we save EditShell reference in the context object.
Later it is used to get cursor we want to move to the place
where modification was done (in sw/source/core/undo/unins.cxx:281).

In LOK case when 2 different sessions were used and undo was done
by user A - then user's B cursor was moved. This fixes that issue.

We use current shell instead of getting it indirectly through
SwDoc::GetEditShell()

Change-Id: I7a10ea98587f48818e8d0aaa9ad739d4eed514f5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/153461
Tested-by: Jenkins CollaboraOffice 
Reviewed-by: Michael Meeks 
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/153492
Reviewed-by: Caolán McNamara 

diff --git a/sw/source/core/undo/docundo.cxx b/sw/source/core/undo/docundo.cxx
index ccff1b663cf3..1933741ea971 100644
--- a/sw/source/core/undo/docundo.cxx
+++ b/sw/source/core/undo/docundo.cxx
@@ -29,6 +29,7 @@
 #include 
 #include 
 #include 
+#include 
 #include 
 #include 
 #include 
@@ -665,8 +666,10 @@ bool UndoManager::impl_DoUndoRedo(UndoOrRedoType 
undoOrRedo, size_t nUndoOffset)
 
 UnoActionContext c(& rDoc); // exception-safe StartAllAction/EndAllAction
 
-SwEditShell *const pEditShell( rDoc.GetEditShell() );
-
+SwView* pViewShell = dynamic_cast(SfxViewShell::Current());
+SwEditShell *const pEditShell(
+comphelper::LibreOfficeKit::isActive() && pViewShell ? 
pViewShell->GetWrtShellPtr()
+: rDoc.GetEditShell());
 OSL_ENSURE(pEditShell, "sw::UndoManager needs a SwEditShell!");
 if (!pEditShell)
 {


[Libreoffice-commits] core.git: sw/qa sw/source

2023-06-24 Thread Mike Kaganski (via logerrit)
 sw/qa/extras/htmlexport/data/twoListsWithSameStyle.fodt |   19 +++
 sw/qa/extras/htmlexport/htmlexport.cxx  |   14 +
 sw/source/filter/html/htmlnumwriter.cxx |   40 
 3 files changed, 53 insertions(+), 20 deletions(-)

New commits:
commit ad3cbef7f60de1e490c752051823a35ee37b311e
Author: Mike Kaganski 
AuthorDate: Sat Jun 24 12:00:08 2023 +0300
Commit: Mike Kaganski 
CommitDate: Sat Jun 24 11:57:10 2023 +0200

ReqIF: 'ol' elements must have no 'start' attribute

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

diff --git a/sw/qa/extras/htmlexport/data/twoListsWithSameStyle.fodt 
b/sw/qa/extras/htmlexport/data/twoListsWithSameStyle.fodt
new file mode 100644
index ..a5dc0f014d2a
--- /dev/null
+++ b/sw/qa/extras/htmlexport/data/twoListsWithSameStyle.fodt
@@ -0,0 +1,19 @@
+
+
+
+ 
+  
+   
+
+ 
+
+   
+   
+   
+
+ 
+
+   
+  
+ 
+
\ No newline at end of file
diff --git a/sw/qa/extras/htmlexport/htmlexport.cxx 
b/sw/qa/extras/htmlexport/htmlexport.cxx
index 521f15504357..6fdb67f68eb7 100644
--- a/sw/qa/extras/htmlexport/htmlexport.cxx
+++ b/sw/qa/extras/htmlexport/htmlexport.cxx
@@ -2703,6 +2703,20 @@ CPPUNIT_TEST_FIXTURE(SwHtmlDomExportTest, testTdf155871)
 CPPUNIT_ASSERT(pDoc);
 }
 
+CPPUNIT_TEST_FIXTURE(SwHtmlDomExportTest, testReqIF_ListsNoStartAttribute)
+{
+createSwDoc("twoListsWithSameStyle.fodt");
+ExportToReqif();
+
+SvMemoryStream aStream;
+WrapReqifFromTempFile(aStream);
+xmlDocUniquePtr pDoc = parseXmlStream(&aStream);
+CPPUNIT_ASSERT(pDoc);
+
+// No 'start' attribute must be present in 'ol'
+assertXPath(pDoc, "//reqif-xhtml:ol[@start]", 0);
+}
+
 CPPUNIT_PLUGIN_IMPLEMENT();
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sw/source/filter/html/htmlnumwriter.cxx 
b/sw/source/filter/html/htmlnumwriter.cxx
index 8fa9b0074c99..6640f8f9376b 100644
--- a/sw/source/filter/html/htmlnumwriter.cxx
+++ b/sw/source/filter/html/htmlnumwriter.cxx
@@ -217,10 +217,10 @@ SwHTMLWriter& OutHTML_NumberBulletListStart( 
SwHTMLWriter& rWrt,
 // Ordered list: 
 sOut += OOO_STRING_SVTOOLS_HTML_orderlist;
 
-// determine the type by the format
-char cType = 0;
-if (!rWrt.mbReqIF) // No 'type' attribute in ReqIF
+if (!rWrt.mbReqIF) // No 'type' nor 'start' attribute in ReqIF
 {
+// determine the type by the format
+char cType = 0;
 switch (eType)
 {
 case SVX_NUM_CHARS_UPPER_LETTER:
@@ -238,29 +238,29 @@ SwHTMLWriter& OutHTML_NumberBulletListStart( 
SwHTMLWriter& rWrt,
 cType = 'i';
 break;
 }
-}
-if( cType )
-{
-sOut += " " OOO_STRING_SVTOOLS_HTML_O_type "=\"" + 
OStringChar(cType) + "\"";
-}
+if( cType )
+{
+sOut += " " OOO_STRING_SVTOOLS_HTML_O_type "=\"" + 
OStringChar(cType) + "\"";
+}
 
-sal_uInt16 nStartVal = rNumFormat.GetStart();
-if( bStartValue && 1 == nStartVal && i == rInfo.GetDepth()-1 )
-{
-if ( 
rWrt.m_pCurrentPam->GetPointNode().GetTextNode()->GetNum() )
+sal_uInt16 nStartVal = rNumFormat.GetStart();
+if( bStartValue && 1 == nStartVal && i == rInfo.GetDepth()-1 )
 {
-nStartVal = static_cast< sal_uInt16 >( 
rWrt.m_pCurrentPam->GetPointNode()
-.GetTextNode()->GetNumberVector()[i] );
+if ( 
rWrt.m_pCurrentPam->GetPointNode().GetTextNode()->GetNum() )
+{
+nStartVal = static_cast< sal_uInt16 >( 
rWrt.m_pCurrentPam->GetPointNode()
+.GetTextNode()->GetNumberVector()[i] );
+}
+else
+{
+OSL_FAIL( "(nStartVal)) + "\"";
 }
 }
-if( nStartVal != 1 )
-{
-sOut += " " OOO_STRING_SVTOOLS_HTML_O_start "=\"" + 
OString::number(static_cast(nStartVal)) + "\"";
-}
 }
 
 rWrt.Strm().WriteOString(sOut);


[Libreoffice-commits] core.git: vcl/source

2023-06-24 Thread Paris Oplopoios (via logerrit)
 vcl/source/filter/GraphicFormatDetector.cxx |7 +++
 1 file changed, 3 insertions(+), 4 deletions(-)

New commits:
commit 85013c57dd29e32ec0411c159ea72824ebca5aa9
Author: Paris Oplopoios 
AuthorDate: Sat Jun 24 03:48:32 2023 +0300
Commit: Paris Oplopoios 
CommitDate: Sat Jun 24 12:16:34 2023 +0200

tdf#156016 Fix bug where SVG check size would be 0

Change-Id: I1c4adf75bbfbce7cb6b779375714b1c1bc7ec50d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/153543
Tested-by: Jenkins
Reviewed-by: Paris Oplopoios 

diff --git a/vcl/source/filter/GraphicFormatDetector.cxx 
b/vcl/source/filter/GraphicFormatDetector.cxx
index 4fc2c85c2a4e..d4a027d60ed3 100644
--- a/vcl/source/filter/GraphicFormatDetector.cxx
+++ b/vcl/source/filter/GraphicFormatDetector.cxx
@@ -1272,7 +1272,7 @@ bool GraphicFormatDetector::checkSVG()
   SVG_CHECK_SIZE, 
nDecompressedSize);
 nCheckSize = std::min(nDecompressedSize, 256);
 bool bIsSvg(false);
-bool bIsGZip = (nDecompressedSize > 0);
+bool bIsGZip = mbWasCompressed;
 const char* pCheckArrayAsCharArray = reinterpret_cast(pCheckArray);
 // check for XML
 // #119176# SVG files which have no xml header at all have shown up this 
is optional
@@ -1302,11 +1302,11 @@ bool GraphicFormatDetector::checkSVG()
 
 if (bIsGZip)
 {
-nCheckSize = std::min(nDecompressedSize, 2048);
+nCheckSize = std::min(nDecompressedSize, 
SVG_CHECK_SIZE);
 }
 else
 {
-nCheckSize = std::min(mnStreamLength, 2048);
+nCheckSize = std::min(mnStreamLength, SVG_CHECK_SIZE);
 mrStream.Seek(mnStreamPosition);
 nCheckSize = mrStream.ReadBytes(sExtendedOrDecompressedFirstBytes, 
nCheckSize);
 }
@@ -1423,7 +1423,6 @@ sal_uInt8* 
GraphicFormatDetector::checkAndUncompressBuffer(sal_uInt8* aUncompres
 mbWasCompressed = true;
 return aUncompressedBuffer;
 }
-nRetSize = 0;
 mbWasCompressed = false;
 return maFirstBytes.data();
 }


[Libreoffice-commits] core.git: Branch 'distro/collabora/co-22.05' - include/formula sc/inc sc/source

2023-06-24 Thread Eike Rathke (via logerrit)
 include/formula/tokenarray.hxx |5 +
 sc/inc/document.hxx|2 +-
 sc/inc/formulacell.hxx |3 ++-
 sc/source/core/data/formulacell.cxx|8 +++-
 sc/source/filter/oox/formulabuffer.cxx |   31 ---
 sc/source/ui/view/output2.cxx  |   13 +++--
 6 files changed, 46 insertions(+), 16 deletions(-)

New commits:
commit 447296c3c2676c855d98200b03bcec15310629bc
Author: Eike Rathke 
AuthorDate: Thu Feb 23 01:22:16 2023 +0100
Commit: Aron Budea 
CommitDate: Sat Jun 24 12:28:48 2023 +0200

Resolves: tdf#153767 Try harder to import OOXML bool shared formula result

... by setting the result value or if necessary recalculating even if
AutoCalc is turned off for the document. Similar for other implicitly
recalculating formula types.
Also set a boolean number format if none.

Change-Id: I2f75735707180eccf4b2c525738ac0b763901230
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147425
Reviewed-by: Eike Rathke 
Tested-by: Jenkins
(cherry picked from commit 05ac57f85eb622b798719db03bbdd07b79e1703a)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147444
Reviewed-by: Xisco Fauli 
(cherry picked from commit 816b0e97f32df82a1ffc23950d5bf21760a4cd39)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/153546
Tested-by: Jenkins CollaboraOffice 
Reviewed-by: Aron Budea 

diff --git a/include/formula/tokenarray.hxx b/include/formula/tokenarray.hxx
index 6b373ff44e15..e3c44e934a11 100644
--- a/include/formula/tokenarray.hxx
+++ b/include/formula/tokenarray.hxx
@@ -429,6 +429,11 @@ public:
 example OOXML. */
 boolIsRecalcModeMustAfterImport() const
 { return (nMode & ScRecalcMode::EMask) <= 
ScRecalcMode::ONLOAD_ONCE; }
+voidClearRecalcModeMustAfterImport()
+{
+if (IsRecalcModeMustAfterImport() && 
!IsRecalcModeAlways())
+SetExclusiveRecalcModeNormal();
+}
 
 /** Get OpCode of the most outer function */
 inline OpCode   GetOuterFuncOpCode() const;
diff --git a/sc/inc/document.hxx b/sc/inc/document.hxx
index 4f06b4b6473b..1188bbd9da2c 100644
--- a/sc/inc/document.hxx
+++ b/sc/inc/document.hxx
@@ -1226,7 +1226,7 @@ public:
 SC_DLLPUBLIC sal_uInt32   GetNumberFormat( SCCOL nCol, 
SCROW nRow, SCTAB nTab ) const;
 sal_uInt32GetNumberFormat( const ScRange& 
rRange ) const;
 SC_DLLPUBLIC sal_uInt32   GetNumberFormat( const 
ScInterpreterContext& rContext, const ScAddress& ) const;
-void  SetNumberFormat( const 
ScAddress& rPos, sal_uInt32 nNumberFormat );
+SC_DLLPUBLIC void SetNumberFormat( const 
ScAddress& rPos, sal_uInt32 nNumberFormat );
 
 void  GetNumberFormatInfo( const 
ScInterpreterContext& rContext, SvNumFormatType& nType, sal_uInt32& nIndex, 
const ScAddress& rPos ) const;
 SC_DLLPUBLIC const ScFormulaCell* GetFormulaCell( const ScAddress& 
rPos ) const;
diff --git a/sc/inc/formulacell.hxx b/sc/inc/formulacell.hxx
index 013a0058ba5d..6c1bca21f035 100644
--- a/sc/inc/formulacell.hxx
+++ b/sc/inc/formulacell.hxx
@@ -443,7 +443,8 @@ public:
 if (!IsDirtyOrInTableOpDirty())
 return false;
 
-return (rDocument.GetAutoCalc() || (cMatrixFlag != 
ScMatrixMode::NONE));
+return rDocument.GetAutoCalc() || (cMatrixFlag != ScMatrixMode::NONE)
+|| (pCode->IsRecalcModeMustAfterImport() && 
!pCode->IsRecalcModeAlways());
 }
 
 void MaybeInterpret()
diff --git a/sc/source/core/data/formulacell.cxx 
b/sc/source/core/data/formulacell.cxx
index 93cc0697090d..9547dcf8c072 100644
--- a/sc/source/core/data/formulacell.cxx
+++ b/sc/source/core/data/formulacell.cxx
@@ -2331,6 +2331,8 @@ void ScFormulaCell::InterpretTail( ScInterpreterContext& 
rContext, ScInterpretTa
 OSL_ENSURE( pCode->GetCodeError() != FormulaError::NONE, "no RPN code 
and no errors ?!?!" );
 ResetDirty();
 }
+
+pCode->ClearRecalcModeMustAfterImport();
 }
 
 void ScFormulaCell::HandleStuffAfterParallelCalculation(ScInterpreter* 
pInterpreter)
@@ -2546,7 +2548,7 @@ void ScFormulaCell::SetDirty( bool bDirtyFlag )
 // the FormulaTree, once in there it would be assumed that its
 // dependents already had been tracked and it would be skipped on a
 // subsequent notify. Postpone tracking until all listeners are set.
-if (!rDocument.IsImportingXML())
+if (!rDocument.IsImportingXML() && 
!rDocument.IsInsertingFromOtherDoc())
 rDocument.TrackFormulas();
 }
 
@@ -2647,10 +2649,6 @@ void ScFormulaCell::AddRecalcMod

[Libreoffice-commits] core.git: basegfx/source basegfx/test include/basegfx svgio/inc svgio/qa svgio/source

2023-06-24 Thread Xisco Fauli (via logerrit)
 basegfx/source/color/bcolormodifier.cxx  |   19 
 basegfx/test/BColorModifierTest.cxx  |   27 +++
 include/basegfx/color/bcolormodifier.hxx |   20 +
 svgio/inc/svgfecolormatrixnode.hxx   |2 +
 svgio/inc/svgfegaussianblurnode.hxx  |   14 ---
 svgio/inc/svgfilternode.hxx  |6 +
 svgio/qa/cppunit/SvgImportTest.cxx   |3 +-
 svgio/qa/cppunit/data/filterFeGaussianBlur.svg   |2 -
 svgio/source/svgreader/svgfecolormatrixnode.cxx  |   21 +
 svgio/source/svgreader/svgfegaussianblurnode.cxx |   18 +--
 10 files changed, 115 insertions(+), 17 deletions(-)

New commits:
commit 75399b8aad6c0f0998b9d0a6eddb2e29f8bc114c
Author: Xisco Fauli 
AuthorDate: Sat Jun 24 11:17:16 2023 +0200
Commit: Xisco Fauli 
CommitDate: Sat Jun 24 12:33:12 2023 +0200

tdf#132246, tdf#155735: Add support for SourceAlpha

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

diff --git a/basegfx/source/color/bcolormodifier.cxx 
b/basegfx/source/color/bcolormodifier.cxx
index 829b0abda659..52f34a69f205 100644
--- a/basegfx/source/color/bcolormodifier.cxx
+++ b/basegfx/source/color/bcolormodifier.cxx
@@ -69,6 +69,25 @@ namespace basegfx
 return "invert";
 }
 
+BColorModifier_alpha::~BColorModifier_alpha()
+{
+}
+
+bool BColorModifier_alpha::operator==(const BColorModifier& rCompare) const
+{
+return dynamic_cast< const BColorModifier_alpha* >(&rCompare) != 
nullptr;
+}
+
+::basegfx::BColor BColorModifier_alpha::getModifiedColor(const 
::basegfx::BColor& /*aSourceColor*/) const
+{
+return ::basegfx::BColor(0.0, 0.0, 0.0);
+}
+
+OUString BColorModifier_alpha::getModifierName() const
+{
+return "alpha";
+}
+
 BColorModifier_luminance_to_alpha::~BColorModifier_luminance_to_alpha()
 {
 }
diff --git a/basegfx/test/BColorModifierTest.cxx 
b/basegfx/test/BColorModifierTest.cxx
index 6be160ce43ae..5a4b941e1c44 100755
--- a/basegfx/test/BColorModifierTest.cxx
+++ b/basegfx/test/BColorModifierTest.cxx
@@ -378,6 +378,32 @@ public:
 CPPUNIT_ASSERT(aBColorModifier->operator==(*aBColorModifier2));
 }
 
+void testAlpha()
+{
+const basegfx::BColorModifierSharedPtr aBColorModifier
+= std::make_shared();
+
+CPPUNIT_ASSERT_EQUAL(maBlack, 
aBColorModifier->getModifiedColor(maWhite));
+CPPUNIT_ASSERT_EQUAL(maBlack, 
aBColorModifier->getModifiedColor(maGray));
+CPPUNIT_ASSERT_EQUAL(maBlack, 
aBColorModifier->getModifiedColor(maBlack));
+
+CPPUNIT_ASSERT_EQUAL(maBlack, 
aBColorModifier->getModifiedColor(maRed));
+CPPUNIT_ASSERT_EQUAL(maBlack, 
aBColorModifier->getModifiedColor(maGreen));
+CPPUNIT_ASSERT_EQUAL(maBlack, 
aBColorModifier->getModifiedColor(maBlue));
+CPPUNIT_ASSERT_EQUAL(maBlack, 
aBColorModifier->getModifiedColor(maYellow));
+CPPUNIT_ASSERT_EQUAL(maBlack, 
aBColorModifier->getModifiedColor(maMagenta));
+CPPUNIT_ASSERT_EQUAL(maBlack, 
aBColorModifier->getModifiedColor(maCyan));
+
+CPPUNIT_ASSERT(aBColorModifier->operator==(*aBColorModifier));
+const basegfx::BColorModifierSharedPtr aBColorModifierInvert
+= std::make_shared();
+CPPUNIT_ASSERT(*aBColorModifier != *aBColorModifierInvert);
+
+const basegfx::BColorModifierSharedPtr aBColorModifier2
+= std::make_shared();
+CPPUNIT_ASSERT(aBColorModifier->operator==(*aBColorModifier2));
+}
+
 CPPUNIT_TEST_SUITE(bcolormodifier);
 CPPUNIT_TEST(testGray);
 CPPUNIT_TEST(testInvert);
@@ -389,6 +415,7 @@ public:
 CPPUNIT_TEST(testMatrix);
 CPPUNIT_TEST(testIdentityMatrix);
 CPPUNIT_TEST(testBlackAndWhite);
+CPPUNIT_TEST(testAlpha);
 CPPUNIT_TEST_SUITE_END();
 };
 
diff --git a/include/basegfx/color/bcolormodifier.hxx 
b/include/basegfx/color/bcolormodifier.hxx
index 6eb40b67e9d7..37c6a5b9e2f3 100644
--- a/include/basegfx/color/bcolormodifier.hxx
+++ b/include/basegfx/color/bcolormodifier.hxx
@@ -126,6 +126,26 @@ namespace basegfx
 SAL_DLLPRIVATE virtual OUString getModifierName() const override;
 };
 
+/**
+ * convert to alpha
+*/
+class SAL_WARN_UNUSED BASEGFX_DLLPUBLIC BColorModifier_alpha final : 
public BColorModifier
+{
+public:
+BColorModifier_alpha()
+{
+}
+
+virtual ~BColorModifier_alpha() override;
+
+// compare operator
+SAL_DLLPRIVATE virtual bool operator==(const BColorModifier& rCompare) 
const override;
+
+// compute modified color
+SAL_DLLPRIVATE virtual ::basegfx::BColor getModifiedColor(const 
::basegfx::BColor& aSourceColor) const override;
+SAL_DLLPRIVATE virtual OUString

[Libreoffice-commits] help.git: source/text

2023-06-24 Thread Olivier Hallot (via logerrit)
 source/text/scalc/01/04060199.xhp |  140 +++---
 1 file changed, 70 insertions(+), 70 deletions(-)

New commits:
commit 5d7fd5dd8910f3d7bc98c8a3d452102d133f4ffa
Author: Olivier Hallot 
AuthorDate: Fri Jun 23 19:31:32 2023 -0300
Commit: Olivier Hallot 
CommitDate: Sat Jun 24 13:10:15 2023 +0200

Refactor, no changes.

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

diff --git a/source/text/scalc/01/04060199.xhp 
b/source/text/scalc/01/04060199.xhp
index 2f0be70c8a..d7c050fb11 100644
--- a/source/text/scalc/01/04060199.xhp
+++ b/source/text/scalc/01/04060199.xhp
@@ -19,12 +19,12 @@
 
 
 
-Operators in $[officename] Calc
+Operators in $[officename] Calc
 /text/scalc/01/04060199.xhp
 
 
 
-formulas; operators
+formulas; 
operators
 operators; formula functions
 division sign, see also operators
 multiplication sign, see also operators
@@ -35,16 +35,16 @@
 arithmetical operators
 reference operators
 mw added 7 new index entriesOperators in $[officename] Calc
-You can use 
the following operators in $[officename] Calc:
+You can use the following 
operators in $[officename] Calc:
 Arithmetical Operators
-These 
operators return numerical results.
+These operators return 
numerical results.
 
 
 
-Operator
+Operator
 
 
-Name
+Name
 
 
 Example
@@ -52,79 +52,79 @@
 
 
 
-+ 
(Plus)
++ (Plus)
 
 
-Addition
+Addition
 
 
-1+1
+1+1
 
 
 
 
-- 
(Minus)
+- (Minus)
 
 
-Subtraction
+Subtraction
 
 
-2-1
+2-1
 
 
 
 
-- 
(Minus)
+- (Minus)
 
 
-Negation
+Negation
 
 
--5
+-5
 
 
 
 
-* 
(asterisk)
+* (asterisk)
 
 
-Multiplication
+Multiplication
 
 
-2*2
+2*2
 
 
 
 
-/ 
(Slash)
+/ (Slash)
 
 
-Division
+Division
 
 
-9/3
+9/3
 
 
 
 
-% 
(Percent)
+% (Percent)
 
 
-Percent
+Percent
 
 
-15%
+15%
 
 
 
 
-^ 
(Caret)
+^ (Caret)
 
 
-Exponentiation
+Exponentiation
 
 
-3^2
+3^2
 
 
 
@@ -132,14 +132,14 @@
 Prefix "-" (negation) has a higher precedence 
than "^" (exponentiation). For example -3^2 equals 9, which is the square of a 
negative number.
 
 Comparative operators
-These 
operators return either true or false.
+These operators return either 
true or false.
 
 
 
-Operator
+Operator
 
 
-Name
+Name
 
 
 Example
@@ -147,80 +147,80 @@
 
 
 
-= (equal 
sign)
+= (equal sign)
 
 
-Equal
+Equal
 
 
-A1=B1
+A1=B1
 
 
 
 
-> 
(Greater than)
+> (Greater 
than)
 
 
-Greater 
than
+Greater than
 
 
-A1>B1
+A1>B1
 
 
 
 
-< (Less 
than)
+< (Less than)
 
 
-Less 
than
+Less than
 
 
-A1= 
(Greater than or equal to)
+>= (Greater than or equal 
to)
 
 
-Greater 
than or equal to
+Greater than or equal 
to
 
 
-A1>=B1
+A1>=B1
 
 
 
 
-<= (Less 
than or equal to)
+<= (Less than or equal 
to)
 
 
-Less than 
or equal to
+Less than or equal 
to
 
 
-A1<=B1
+A1<=B1
 
 
 
 
-<> 
(Inequality)
+<> 
(Inequality)
 
 
-Inequality
+Inequality
 
 
-A1<>B1
+A1<>B1
 
 
 
 Text operators
-The operator 
combines separate texts into one text.
+The operator combines separate 
texts into one text.
 
 
 
-Operator
+Operator
 
 
-Name
+Name
 
 
 Example
@@ -228,29 +228,29 @@
 
 
 
-& 
(And)
+& (And)
 
 
-text concatenation AND
+text concatenation 
AND
 
-text 
concatenation AND
+text concatenation 
AND
 
 
-"Sun" & 
"day" is "Sunday"
+"Sun" & "day" is 
"Sunday"
 
 
 
 
 Reference operators
-These 
operators return a cell range of zero, one or more cells.
-Range has the 
highest precedence, then intersection, and then finally union.
+These operators return a cell 
range of zero, one or more cells.
+Range has the highest 
precedence, then intersection, and then finally union.
 
 
 
-Operator
+Operator
 
 
-Name
+Name
 
 
 Example
@@ -258,38 +258,38 @@
 
 
 
-: 
(Colon)
+: (Colon)
 
 
-Range
+Range
 
 
-A1:C108, 
A:D or 3:13
+A1:C108, A:D or 
3:13
 
 
 
 
-! 
(Exclamation point)
+! (Exclamation 
point)
 
 
-intersection operator
+intersection 
operator
 
-Intersection
+Intersection
 
 
-SUM(A1:B6!B5:C12)
-Calculates 
the sum of all cells in the intersection; in this example, the result yields 
the sum of cells B5 and B6.
+SUM(A1:B6!B5:C12)
+Calculates the sum of all 
cells in the intersection; in this example, the result yields the sum of cells 
B5 and B6.
 
 
 
 
-~ 
(Tilde)
+~ (Tilde)
 
 
-Concatenation or union
+Concatenation or 
union
 
 
-Takes two 
references and returns a reference list, which is a concatenation of the left 
reference followed by the right reference. Double entries are referenced 
twice.
+Takes two references and 
returns a reference list, which is a concatenation of the left reference 
followed by the right reference. Double entries are referenced 
twice.
 =COUNT(A1:B2~B2:C3) counts values of 
A1:B2 and B2:C3. Note that the cell B2 is counted twice.
 =INDEX(A1:B2~C1:D2;2;1;2) selects 
cell C2, that is, the first cell of the second row, first column, of the second 
range (C1:D2) of the range list.
 


[Libreoffice-commits] core.git: helpcontent2

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

New commits:
commit da9dece79dd79d227e715e9c753e27175bcc445e
Author: Olivier Hallot 
AuthorDate: Sat Jun 24 08:10:15 2023 -0300
Commit: Gerrit Code Review 
CommitDate: Sat Jun 24 13:10:15 2023 +0200

Update git submodules

* Update helpcontent2 from branch 'master'
  to 5d7fd5dd8910f3d7bc98c8a3d452102d133f4ffa
  - Refactor, no changes.

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

diff --git a/helpcontent2 b/helpcontent2
index 6b96b1090554..5d7fd5dd8910 16
--- a/helpcontent2
+++ b/helpcontent2
@@ -1 +1 @@
-Subproject commit 6b96b109055418994353b2d36c8735b0fff14637
+Subproject commit 5d7fd5dd8910f3d7bc98c8a3d452102d133f4ffa


[Libreoffice-commits] help.git: source/text

2023-06-24 Thread Olivier Hallot (via logerrit)
 source/text/scalc/01/04060199.xhp |  176 +++---
 1 file changed, 145 insertions(+), 31 deletions(-)

New commits:
commit 9615cb2ed0275615f853c027087fa5ef46f72eae
Author: Olivier Hallot 
AuthorDate: Fri Jun 23 21:14:25 2023 -0300
Commit: Olivier Hallot 
CommitDate: Sat Jun 24 13:10:39 2023 +0200

tdf#156029 operator precedence in Calc

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

diff --git a/source/text/scalc/01/04060199.xhp 
b/source/text/scalc/01/04060199.xhp
index d7c050fb11..30648afb93 100644
--- a/source/text/scalc/01/04060199.xhp
+++ b/source/text/scalc/01/04060199.xhp
@@ -24,18 +24,20 @@
 
 
 
-formulas; 
operators
+
+operators; in spreadsheet formulas
+formulas; operators
 operators; formula functions
+mw added 7 new index entries
+Operators in $[officename] Calc
+You can use the following 
operators in $[officename] Calc:
+
+arithmetical operators
 division sign, see also operators
 multiplication sign, see also operators
 minus sign, see also operators
 plus sign, see also operators
-text operators
-comparisons;operators in Calc
-arithmetical operators
-reference operators
-mw added 7 new index entriesOperators in $[officename] Calc
-You can use the following 
operators in $[officename] Calc:
+
 Arithmetical Operators
 These operators return 
numerical results.
 
@@ -52,7 +54,7 @@
 
 
 
-+ (Plus)
++
 
 
 Addition
@@ -63,7 +65,7 @@
 
 
 
-- (Minus)
+-
 
 
 Subtraction
@@ -74,7 +76,7 @@
 
 
 
-- (Minus)
+-
 
 
 Negation
@@ -85,7 +87,7 @@
 
 
 
-* (asterisk)
+*
 
 
 Multiplication
@@ -96,7 +98,7 @@
 
 
 
-/ (Slash)
+/
 
 
 Division
@@ -107,7 +109,7 @@
 
 
 
-% (Percent)
+%
 
 
 Percent
@@ -118,7 +120,7 @@
 
 
 
-^ (Caret)
+^
 
 
 Exponentiation
@@ -131,6 +133,10 @@
 
 Prefix "-" (negation) has a higher precedence 
than "^" (exponentiation). For example -3^2 equals 9, which is the square of a 
negative number.
 
+
+operators;comparison
+comparisons;operators in Calc
+
 Comparative operators
 These operators return either 
true or false.
 
@@ -147,7 +153,7 @@
 
 
 
-= (equal sign)
+=
 
 
 Equal
@@ -158,18 +164,18 @@
 
 
 
-> (Greater 
than)
+>
 
 
 Greater than
 
 
-A1>B1
+A1>B1
 
 
 
 
-< (Less than)
+<
 
 
 Less than
@@ -180,7 +186,7 @@
 
 
 
->= (Greater than or equal 
to)
+>=
 
 
 Greater than or equal 
to
@@ -191,7 +197,7 @@
 
 
 
-<= (Less than or equal 
to)
+<=
 
 
 Less than or equal 
to
@@ -202,7 +208,7 @@
 
 
 
-<> 
(Inequality)
+<>
 
 
 Inequality
@@ -212,6 +218,10 @@
 
 
 
+
+text operators
+text concatenation
+
 Text operators
 The operator combines separate 
texts into one text.
 
@@ -228,18 +238,22 @@
 
 
 
-& (And)
+&
 
 
-text concatenation 
AND
-
-text concatenation 
AND
+text 
concatenation
 
 
 "Sun" & "day" is 
"Sunday"
 
 
 
+
+reference operators
+intersection reference operator
+union reference operator
+range operator
+
 
 Reference operators
 These operators return a cell 
range of zero, one or more cells.
@@ -253,12 +267,12 @@
 Name
 
 
-Example
+Example
 
 
 
 
-: (Colon)
+:
 
 
 Range
@@ -269,11 +283,9 @@
 
 
 
-! (Exclamation 
point)
+!
 
 
-intersection 
operator
-
 Intersection
 
 
@@ -283,7 +295,7 @@
 
 
 
-~ (Tilde)
+~
 
 
 Concatenation or 
union
@@ -297,5 +309,107 @@
 
 A reference list is not allowed inside an array 
expression.
 
+
+operators;precedence of
+
+Operator precedence
+Associativity and 
precedence of operators, from highest to lowest precedence.
+
+   
+Associativity
+   
+Operator(s)
+   
+Comments
+   
+   
+   
+left
+   
+:
+   
+Range.
+   
+   
+   
+left
+   
+!
+   
+Reference intersection (A1:C4!B1:B5 is 
B1:B4).
+   
+   
+   
+left
+   
+~
+   
+Reference union.
+   
+   
+   
+right
++,-
+   
+Prefix unary operators, e.g., -5 or -A1. Note that 
these have a different precedence than add and subtract.
+   
+   
+   
+left
+   
+%
+   
+Postfix unary operator % (divide by 100). Note that 
this is legal with expressions, for example, B1%.
+   
+   
+   
+left
+   
+^
+   
+Power (2^3 is 8).
+   
+   
+   
+left
+   
+*,/
+   
+Multiply, divide.
+   
+   
+   
+left
+   
++,-
+   
+Binary operations add, subtract. Note that unary 
(prefix) + and - have a different precedence.
+   
+   
+   
+left
+ 

[Libreoffice-commits] core.git: helpcontent2

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

New commits:
commit 3ee1691a82cce40263ba6e3fe5c455ea519d4c99
Author: Olivier Hallot 
AuthorDate: Sat Jun 24 08:10:40 2023 -0300
Commit: Gerrit Code Review 
CommitDate: Sat Jun 24 13:10:40 2023 +0200

Update git submodules

* Update helpcontent2 from branch 'master'
  to 9615cb2ed0275615f853c027087fa5ef46f72eae
  - tdf#156029 operator precedence in Calc

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

diff --git a/helpcontent2 b/helpcontent2
index 5d7fd5dd8910..9615cb2ed027 16
--- a/helpcontent2
+++ b/helpcontent2
@@ -1 +1 @@
-Subproject commit 5d7fd5dd8910f3d7bc98c8a3d452102d133f4ffa
+Subproject commit 9615cb2ed0275615f853c027087fa5ef46f72eae


[Libreoffice-commits] core.git: Branch 'libreoffice-7-6' - helpcontent2

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

New commits:
commit b5f0e12b0f3e37e08f49491d3a288bbae3bdc710
Author: Olivier Hallot 
AuthorDate: Sat Jun 24 08:12:24 2023 -0300
Commit: Gerrit Code Review 
CommitDate: Sat Jun 24 13:12:24 2023 +0200

Update git submodules

* Update helpcontent2 from branch 'libreoffice-7-6'
  to 472dfac74c2d0cb8dabb9c9bd377c86c472de6f1
  - tdf#156015 Mark unimplemented args of BASIC Shell

+ refactor

Change-Id: Ide7bc5a4abd4685b2bbe2727740358ac4c811030
Reviewed-on: https://gerrit.libreoffice.org/c/help/+/153455
Tested-by: Jenkins
Reviewed-by: Olivier Hallot 
(cherry picked from commit 0d3f7932c7af9b6b682668b96a36f2acc3910e2e)
Reviewed-on: https://gerrit.libreoffice.org/c/help/+/153427

diff --git a/helpcontent2 b/helpcontent2
index b04a11dbc71c..472dfac74c2d 16
--- a/helpcontent2
+++ b/helpcontent2
@@ -1 +1 @@
-Subproject commit b04a11dbc71c44fea46d99614097be13555034b9
+Subproject commit 472dfac74c2d0cb8dabb9c9bd377c86c472de6f1


[Libreoffice-commits] help.git: Branch 'libreoffice-7-6' - source/text

2023-06-24 Thread Olivier Hallot (via logerrit)
 source/text/sbasic/shared/03130500.xhp |   64 ++---
 1 file changed, 36 insertions(+), 28 deletions(-)

New commits:
commit 472dfac74c2d0cb8dabb9c9bd377c86c472de6f1
Author: Olivier Hallot 
AuthorDate: Thu Jun 22 06:43:13 2023 -0300
Commit: Olivier Hallot 
CommitDate: Sat Jun 24 13:12:24 2023 +0200

tdf#156015 Mark unimplemented args of BASIC Shell

+ refactor

Change-Id: Ide7bc5a4abd4685b2bbe2727740358ac4c811030
Reviewed-on: https://gerrit.libreoffice.org/c/help/+/153455
Tested-by: Jenkins
Reviewed-by: Olivier Hallot 
(cherry picked from commit 0d3f7932c7af9b6b682668b96a36f2acc3910e2e)
Reviewed-on: https://gerrit.libreoffice.org/c/help/+/153427

diff --git a/source/text/sbasic/shared/03130500.xhp 
b/source/text/sbasic/shared/03130500.xhp
index 2ae8648136..2282d64834 100644
--- a/source/text/sbasic/shared/03130500.xhp
+++ b/source/text/sbasic/shared/03130500.xhp
@@ -20,7 +20,7 @@
 
 
   
-Shell Function
+Shell Function
 /text/sbasic/shared/03130500.xhp
   
 
@@ -28,99 +28,107 @@
 
 
 
-
+
   Shell function
 
 
 Shell 
Function
-Starts another 
application and defines the respective window style, if necessary.
+Starts another application and 
defines the respective window style, if necessary.
 
 
 
-Shell (Pathname As 
String[, Windowstyle As Integer[, Param As String[, bSync]]]) 
+Shell (Pathname As String[, 
Windowstyle As Integer[, Param As String[, bSync]]]) 
 
 
 
 Pathname
-Name of the 
program that you want to start, optionally with complete path and/or 
arguments.
+Name of the program that you 
want to start, optionally with complete path and/or arguments.
 
 Windowstyle
-Optional 
integer expression that specifies the style of the window that the program is 
executed in. The following values are possible:
+Optional integer expression 
that specifies the style of the window that the program is executed 
in.
+
+Parameter Windowstyle is only 
effective on Windows systems. On other systems the parameter is ignored.
+
+The following values 
are possible:
 
 
 
 
 
-Windowstyle
+Windowstyle
 
 
-Meaning
+Meaning
 
 
 
   
 
-  0
+  0
 
 
-  The 
focus is on the hidden program window.
+  The focus is on the 
hidden program window.
+  Not implemented in 
%PRODUCTNAME.
 
   
   
 
-  1
+  1
 
 
-  The 
focus is on the program window in standard size.
+  The focus is on the 
program window in standard size.
+  
 
   
   
 
-  2
+  2
 
 
-  The 
focus is on the minimized program window.
+  The focus is on the 
minimized program window.
 
   
   
 
-  3
+  3
 
 
-  focus is 
on the maximized program window.
+  focus is on the maximized 
program window.
 
   
   
 
-  4
+  4
 
 
-  Standard 
size program window, without focus.
+  Standard size program 
window, without focus.
+  
 
   
   
 
-  6
+  6
 
 
-  Minimized program window, focus remains on the active 
window.
+  Minimized program window, 
focus remains on the active window.
+  
 
   
   
 
-  10
+  10
 
 
-  Full-screen display.
+  Full-screen 
display.
 
   
 
-
+Windowstyle 3 and 
10 are equivalent in Windows systems.
 Param
-String that 
specifies additional arguments passed to the program.
+String that specifies 
additional arguments passed to the program.
 
 bSync
-If this value 
is set to true, the Shell command and all 
$[officename] tasks wait until the shell process completes. If the value is set 
to false, the shell returns directly. The default value is 
false.
+If this value is set to 
true, the Shell command and all $[officename] tasks 
wait until the shell process completes. If the value is set to 
false, the shell returns directly. The default value is 
false.
 
 
 
@@ -128,9 +136,9 @@
 
 
 
-Sub ExampleShellForWin
-Shell("c:\windows\calc.exe",2)
-End Sub
+Sub 
ExampleShellForWin
+
Shell("c:\windows\calc.exe",2)
+End 
Sub
 
 
 


[Libreoffice-commits] help.git: Branch 'libreoffice-7-6' - source/text

2023-06-24 Thread Olivier Hallot (via logerrit)
 source/text/scalc/01/04060199.xhp |  140 +++---
 1 file changed, 70 insertions(+), 70 deletions(-)

New commits:
commit 691744afc91d923e2d7b165e1e675fb02c4fbd1f
Author: Olivier Hallot 
AuthorDate: Fri Jun 23 19:31:32 2023 -0300
Commit: Olivier Hallot 
CommitDate: Sat Jun 24 13:12:59 2023 +0200

Refactor, no changes.

Change-Id: I11d58e24520d749c30b73913555d478a24806cfc
Reviewed-on: https://gerrit.libreoffice.org/c/help/+/153541
Tested-by: Jenkins
Reviewed-by: Olivier Hallot 
(cherry picked from commit 5d7fd5dd8910f3d7bc98c8a3d452102d133f4ffa)
Reviewed-on: https://gerrit.libreoffice.org/c/help/+/153522

diff --git a/source/text/scalc/01/04060199.xhp 
b/source/text/scalc/01/04060199.xhp
index 2f0be70c8a..d7c050fb11 100644
--- a/source/text/scalc/01/04060199.xhp
+++ b/source/text/scalc/01/04060199.xhp
@@ -19,12 +19,12 @@
 
 
 
-Operators in $[officename] Calc
+Operators in $[officename] Calc
 /text/scalc/01/04060199.xhp
 
 
 
-formulas; operators
+formulas; 
operators
 operators; formula functions
 division sign, see also operators
 multiplication sign, see also operators
@@ -35,16 +35,16 @@
 arithmetical operators
 reference operators
 mw added 7 new index entriesOperators in $[officename] Calc
-You can use 
the following operators in $[officename] Calc:
+You can use the following 
operators in $[officename] Calc:
 Arithmetical Operators
-These 
operators return numerical results.
+These operators return 
numerical results.
 
 
 
-Operator
+Operator
 
 
-Name
+Name
 
 
 Example
@@ -52,79 +52,79 @@
 
 
 
-+ 
(Plus)
++ (Plus)
 
 
-Addition
+Addition
 
 
-1+1
+1+1
 
 
 
 
-- 
(Minus)
+- (Minus)
 
 
-Subtraction
+Subtraction
 
 
-2-1
+2-1
 
 
 
 
-- 
(Minus)
+- (Minus)
 
 
-Negation
+Negation
 
 
--5
+-5
 
 
 
 
-* 
(asterisk)
+* (asterisk)
 
 
-Multiplication
+Multiplication
 
 
-2*2
+2*2
 
 
 
 
-/ 
(Slash)
+/ (Slash)
 
 
-Division
+Division
 
 
-9/3
+9/3
 
 
 
 
-% 
(Percent)
+% (Percent)
 
 
-Percent
+Percent
 
 
-15%
+15%
 
 
 
 
-^ 
(Caret)
+^ (Caret)
 
 
-Exponentiation
+Exponentiation
 
 
-3^2
+3^2
 
 
 
@@ -132,14 +132,14 @@
 Prefix "-" (negation) has a higher precedence 
than "^" (exponentiation). For example -3^2 equals 9, which is the square of a 
negative number.
 
 Comparative operators
-These 
operators return either true or false.
+These operators return either 
true or false.
 
 
 
-Operator
+Operator
 
 
-Name
+Name
 
 
 Example
@@ -147,80 +147,80 @@
 
 
 
-= (equal 
sign)
+= (equal sign)
 
 
-Equal
+Equal
 
 
-A1=B1
+A1=B1
 
 
 
 
-> 
(Greater than)
+> (Greater 
than)
 
 
-Greater 
than
+Greater than
 
 
-A1>B1
+A1>B1
 
 
 
 
-< (Less 
than)
+< (Less than)
 
 
-Less 
than
+Less than
 
 
-A1= 
(Greater than or equal to)
+>= (Greater than or equal 
to)
 
 
-Greater 
than or equal to
+Greater than or equal 
to
 
 
-A1>=B1
+A1>=B1
 
 
 
 
-<= (Less 
than or equal to)
+<= (Less than or equal 
to)
 
 
-Less than 
or equal to
+Less than or equal 
to
 
 
-A1<=B1
+A1<=B1
 
 
 
 
-<> 
(Inequality)
+<> 
(Inequality)
 
 
-Inequality
+Inequality
 
 
-A1<>B1
+A1<>B1
 
 
 
 Text operators
-The operator 
combines separate texts into one text.
+The operator combines separate 
texts into one text.
 
 
 
-Operator
+Operator
 
 
-Name
+Name
 
 
 Example
@@ -228,29 +228,29 @@
 
 
 
-& 
(And)
+& (And)
 
 
-text concatenation AND
+text concatenation 
AND
 
-text 
concatenation AND
+text concatenation 
AND
 
 
-"Sun" & 
"day" is "Sunday"
+"Sun" & "day" is 
"Sunday"
 
 
 
 
 Reference operators
-These 
operators return a cell range of zero, one or more cells.
-Range has the 
highest precedence, then intersection, and then finally union.
+These operators return a cell 
range of zero, one or more cells.
+Range has the highest 
precedence, then intersection, and then finally union.
 
 
 
-Operator
+Operator
 
 
-Name
+Name
 
 
 Example
@@ -258,38 +258,38 @@
 
 
 
-: 
(Colon)
+: (Colon)
 
 
-Range
+Range
 
 
-A1:C108, 
A:D or 3:13
+A1:C108, A:D or 
3:13
 
 
 
 
-! 
(Exclamation point)
+! (Exclamation 
point)
 
 
-intersection operator
+intersection 
operator
 
-Intersection
+Intersection
 
 
-SUM(A1:B6!B5:C12)
-Calculates 
the sum of all cells in the intersection; in this example, the result yields 
the sum of cells B5 and B6.
+SUM(A1:B6!B5:C12)
+Calculates the sum of all 
cells in the intersection; in this example, the result yields the sum of cells 
B5 and B6.
 
 
 
 
-~ 
(Tilde)
+~ (Tilde)
 
 
-Concatenation or union
+Concatenation or 
union
 
 
-Takes two 
references and returns a reference list, which is a concatenation of the left 
reference followed by the right reference. Double entries are referenced 
twice.
+Takes two references and 
returns a reference list, which is a concatenation of the left reference 
followed by the right reference. Double entries are referenced 
twice.
 =COUNT(A1:B2~B2:C3) counts values of 
A1:B2 and B2:C3. Note that the cell B2 is counted twice.
 =INDEX(A1:B2~C1:D2;2;1;2) selects 
ce

[Libreoffice-commits] core.git: Branch 'libreoffice-7-6' - helpcontent2

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

New commits:
commit 4945e5aca16b0ce358d85ab168e32b7c7c5c7367
Author: Olivier Hallot 
AuthorDate: Sat Jun 24 08:13:00 2023 -0300
Commit: Gerrit Code Review 
CommitDate: Sat Jun 24 13:13:00 2023 +0200

Update git submodules

* Update helpcontent2 from branch 'libreoffice-7-6'
  to 691744afc91d923e2d7b165e1e675fb02c4fbd1f
  - Refactor, no changes.

Change-Id: I11d58e24520d749c30b73913555d478a24806cfc
Reviewed-on: https://gerrit.libreoffice.org/c/help/+/153541
Tested-by: Jenkins
Reviewed-by: Olivier Hallot 
(cherry picked from commit 5d7fd5dd8910f3d7bc98c8a3d452102d133f4ffa)
Reviewed-on: https://gerrit.libreoffice.org/c/help/+/153522

diff --git a/helpcontent2 b/helpcontent2
index 472dfac74c2d..691744afc91d 16
--- a/helpcontent2
+++ b/helpcontent2
@@ -1 +1 @@
-Subproject commit 472dfac74c2d0cb8dabb9c9bd377c86c472de6f1
+Subproject commit 691744afc91d923e2d7b165e1e675fb02c4fbd1f


[Libreoffice-commits] help.git: Branch 'libreoffice-7-6' - source/text

2023-06-24 Thread Olivier Hallot (via logerrit)
 source/text/swriter/01/pagenumbering.xhp |   30 ++
 1 file changed, 22 insertions(+), 8 deletions(-)

New commits:
commit 480fe02b9f1b4a31b9f474f79b321ec524954857
Author: Olivier Hallot 
AuthorDate: Thu Jun 22 16:26:45 2023 -0300
Commit: Olivier Hallot 
CommitDate: Sat Jun 24 13:14:22 2023 +0200

tdf#1552354 Update page number wizard help page

+ synch with latest 7.6 features.

Change-Id: Ia84f044cbb0e9f46da30219ac0c950dc1dda6396
Reviewed-on: https://gerrit.libreoffice.org/c/help/+/153474
Tested-by: Jenkins
Reviewed-by: Olivier Hallot 
(cherry picked from commit 6b96b109055418994353b2d36c8735b0fff14637)
Reviewed-on: https://gerrit.libreoffice.org/c/help/+/153428

diff --git a/source/text/swriter/01/pagenumbering.xhp 
b/source/text/swriter/01/pagenumbering.xhp
index 674d37b7fb..44053b9a93 100644
--- a/source/text/swriter/01/pagenumbering.xhp
+++ b/source/text/swriter/01/pagenumbering.xhp
@@ -10,30 +10,44 @@
 -->
 
 
-Page Number Wizard
+Page Number Wizard
 /text/swriter/01/pagenumbering.xhp
 
 
 
-
-
-
+
+
+
 page number;insert quickly
 
 
 Page Number 
Wizard
-Use this command to quickly insert a page number in the header 
or footer of the current page style.
+Use this command to 
quickly insert a page number in the header or footer of the current page 
style.
 
 
+
 Choose 
Insert - Page Number.
+
+In the 
Insert menu of the Insert tab, choose 
Page Numbers.
 
-
+
 Position
-Select the position of 
the page number: options are header or footer.
+Select the position of 
the page number, Options are Top of page (Header) or Bottom 
of page (Footer).
 The Page Number command enables 
the header or footer of the current page style.
-
+
+
 Alignment
 Select the alignment of 
the page number in the header or footer. Options are Left, Center and 
Right.
+
+Mirror on even pages
+Creates separate 
left/right pages with mirrored page number placement.
+
+Include page total
+Also insert the total 
number of pages.
+
+Page Numbers
+Select a numbering 
scheme for the page numbers.
+
 
 
 


[Libreoffice-commits] core.git: Branch 'libreoffice-7-6' - helpcontent2

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

New commits:
commit 586cd9aa192e9e72e03c324f2aafe84979f274fd
Author: Olivier Hallot 
AuthorDate: Sat Jun 24 08:14:22 2023 -0300
Commit: Gerrit Code Review 
CommitDate: Sat Jun 24 13:14:22 2023 +0200

Update git submodules

* Update helpcontent2 from branch 'libreoffice-7-6'
  to 480fe02b9f1b4a31b9f474f79b321ec524954857
  - tdf#1552354 Update page number wizard help page

+ synch with latest 7.6 features.

Change-Id: Ia84f044cbb0e9f46da30219ac0c950dc1dda6396
Reviewed-on: https://gerrit.libreoffice.org/c/help/+/153474
Tested-by: Jenkins
Reviewed-by: Olivier Hallot 
(cherry picked from commit 6b96b109055418994353b2d36c8735b0fff14637)
Reviewed-on: https://gerrit.libreoffice.org/c/help/+/153428

diff --git a/helpcontent2 b/helpcontent2
index 691744afc91d..480fe02b9f1b 16
--- a/helpcontent2
+++ b/helpcontent2
@@ -1 +1 @@
-Subproject commit 691744afc91d923e2d7b165e1e675fb02c4fbd1f
+Subproject commit 480fe02b9f1b4a31b9f474f79b321ec524954857


[Libreoffice-commits] core.git: Branch 'libreoffice-7-6' - basegfx/source basegfx/test include/basegfx svgio/inc svgio/qa svgio/source

2023-06-24 Thread Xisco Fauli (via logerrit)
 basegfx/source/color/bcolormodifier.cxx  |   19 
 basegfx/test/BColorModifierTest.cxx  |   27 +++
 include/basegfx/color/bcolormodifier.hxx |   20 +
 svgio/inc/svgfecolormatrixnode.hxx   |2 +
 svgio/inc/svgfegaussianblurnode.hxx  |   14 ---
 svgio/inc/svgfilternode.hxx  |6 +
 svgio/qa/cppunit/SvgImportTest.cxx   |3 +-
 svgio/qa/cppunit/data/filterFeGaussianBlur.svg   |2 -
 svgio/source/svgreader/svgfecolormatrixnode.cxx  |   21 +
 svgio/source/svgreader/svgfegaussianblurnode.cxx |   18 +--
 10 files changed, 115 insertions(+), 17 deletions(-)

New commits:
commit 31a66dab1e7d39e2d2062442f41090c583466cc1
Author: Xisco Fauli 
AuthorDate: Sat Jun 24 11:17:16 2023 +0200
Commit: Xisco Fauli 
CommitDate: Sat Jun 24 14:37:35 2023 +0200

tdf#132246, tdf#155735: Add support for SourceAlpha

Change-Id: I8feae2447b17e15113ca45fe46c0d68cb6b6ab71
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/153550
Tested-by: Jenkins
Reviewed-by: Xisco Fauli 
Signed-off-by: Xisco Fauli 
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/153554

diff --git a/basegfx/source/color/bcolormodifier.cxx 
b/basegfx/source/color/bcolormodifier.cxx
index 829b0abda659..52f34a69f205 100644
--- a/basegfx/source/color/bcolormodifier.cxx
+++ b/basegfx/source/color/bcolormodifier.cxx
@@ -69,6 +69,25 @@ namespace basegfx
 return "invert";
 }
 
+BColorModifier_alpha::~BColorModifier_alpha()
+{
+}
+
+bool BColorModifier_alpha::operator==(const BColorModifier& rCompare) const
+{
+return dynamic_cast< const BColorModifier_alpha* >(&rCompare) != 
nullptr;
+}
+
+::basegfx::BColor BColorModifier_alpha::getModifiedColor(const 
::basegfx::BColor& /*aSourceColor*/) const
+{
+return ::basegfx::BColor(0.0, 0.0, 0.0);
+}
+
+OUString BColorModifier_alpha::getModifierName() const
+{
+return "alpha";
+}
+
 BColorModifier_luminance_to_alpha::~BColorModifier_luminance_to_alpha()
 {
 }
diff --git a/basegfx/test/BColorModifierTest.cxx 
b/basegfx/test/BColorModifierTest.cxx
index 17b6a0c22257..ca811f67bd8a 100755
--- a/basegfx/test/BColorModifierTest.cxx
+++ b/basegfx/test/BColorModifierTest.cxx
@@ -352,6 +352,32 @@ public:
 CPPUNIT_ASSERT(aBColorModifier->operator==(*aBColorModifier2));
 }
 
+void testAlpha()
+{
+const basegfx::BColorModifierSharedPtr aBColorModifier
+= std::make_shared();
+
+CPPUNIT_ASSERT_EQUAL(maBlack, 
aBColorModifier->getModifiedColor(maWhite));
+CPPUNIT_ASSERT_EQUAL(maBlack, 
aBColorModifier->getModifiedColor(maGray));
+CPPUNIT_ASSERT_EQUAL(maBlack, 
aBColorModifier->getModifiedColor(maBlack));
+
+CPPUNIT_ASSERT_EQUAL(maBlack, 
aBColorModifier->getModifiedColor(maRed));
+CPPUNIT_ASSERT_EQUAL(maBlack, 
aBColorModifier->getModifiedColor(maGreen));
+CPPUNIT_ASSERT_EQUAL(maBlack, 
aBColorModifier->getModifiedColor(maBlue));
+CPPUNIT_ASSERT_EQUAL(maBlack, 
aBColorModifier->getModifiedColor(maYellow));
+CPPUNIT_ASSERT_EQUAL(maBlack, 
aBColorModifier->getModifiedColor(maMagenta));
+CPPUNIT_ASSERT_EQUAL(maBlack, 
aBColorModifier->getModifiedColor(maCyan));
+
+CPPUNIT_ASSERT(aBColorModifier->operator==(*aBColorModifier));
+const basegfx::BColorModifierSharedPtr aBColorModifierInvert
+= std::make_shared();
+CPPUNIT_ASSERT(*aBColorModifier != *aBColorModifierInvert);
+
+const basegfx::BColorModifierSharedPtr aBColorModifier2
+= std::make_shared();
+CPPUNIT_ASSERT(aBColorModifier->operator==(*aBColorModifier2));
+}
+
 CPPUNIT_TEST_SUITE(bcolormodifier);
 CPPUNIT_TEST(testGray);
 CPPUNIT_TEST(testInvert);
@@ -362,6 +388,7 @@ public:
 CPPUNIT_TEST(testHueRotate);
 CPPUNIT_TEST(testMatrix);
 CPPUNIT_TEST(testIdentityMatrix);
+CPPUNIT_TEST(testAlpha);
 CPPUNIT_TEST_SUITE_END();
 };
 
diff --git a/include/basegfx/color/bcolormodifier.hxx 
b/include/basegfx/color/bcolormodifier.hxx
index ceffae841847..a553ad18311f 100644
--- a/include/basegfx/color/bcolormodifier.hxx
+++ b/include/basegfx/color/bcolormodifier.hxx
@@ -127,6 +127,26 @@ namespace basegfx
 SAL_DLLPRIVATE virtual OUString getModifierName() const override;
 };
 
+/**
+ * convert to alpha
+*/
+class SAL_WARN_UNUSED BASEGFX_DLLPUBLIC BColorModifier_alpha final : 
public BColorModifier
+{
+public:
+BColorModifier_alpha()
+{
+}
+
+virtual ~BColorModifier_alpha() override;
+
+// compare operator
+SAL_DLLPRIVATE virtual bool operator==(const BColorModifier& rCompare) 
const override;
+
+// compute modified color
+SAL_DLLPRIVATE virtual ::basegfx::BColor getModifiedColor(cons

Re: ESC budget ranking vote

2023-06-24 Thread Michael Weghorn

On 22/06/2023 20.47, Ilmari Lauhakangas wrote:
Per the decision in the ESC budget review meeting today, below is the 
ranking of budget items to be submitted to TDF board of directors.


Non-conflicted ESC members: please give your approval of the ranking by 
replying to this mail.


+ Cleanup & further improve ODF conformance (2021)
+ Convert Impress slideshow to drawinglayer primitives (2021)
+ Writer tables: support cell margins (next to cell padding) (2021)
+ Font subsetter for font embedding (2022)
+ XLSX Aggressive Competitors tracker: gridlines for 3d line charts (2022)
+ Look-ahead styleref field for Writer (2022)
+ Normalized spell checking (2022)
+ Remove/Replace usages of XOR-Paint (2022)
+ ODT export nondeterminism (2022)
+ Bitmaps in vcl: Merge RGB and A layer into one (2022)
+ Allow inline graphics, formulas in impress (and draw), open equation 
with inline formulas from PPT, PPS, PPTX, PPSX (ranked 1 in Feb 2023)

+ Make Firebird implementation production-ready (ranked 3 in Feb 2023)
+ SVG rendering improvements (ranked 4 in Feb 2023)
+ Rotated Writer TextFrames (ranked 9 in Feb 2023)
+ XLSX Aggressive Competitors tracker: support math equations in Calc 
shapes (ranked 12 in Feb 2023)

+ Slideshow: rendering content on top of videos (ranked 19 in Feb 2023)
+ Missing ODF Features: Attribute svg:d of  some of the 
possible commands are missing (ranked 30 in Feb 2023)
+ Missing ODF Features: The attribute draw:text-rotate-angle is 
interpreted, but there exists no user interface to change it. (ranked 33 
in Feb 2023)
+ Missing ODF Feature:  missing completely (ranked 
33 in Feb 2023)
+ Missing ODF Features: Draw:shadow-offset-x/y only partially 
implemented (ranked 38 in Feb 2023)
+ Replace remaining Carbon functions with non-Carbon functions (macOS) 
(ranked 38 in Feb 2023)

+ Tests for drawinglayer and basegfx (ranked 41 in Feb 2023)


+1

Best regards,
Michael


OpenPGP_signature
Description: OpenPGP digital signature


[Libreoffice-commits] core.git: 2 commits - oox/source svgio/source

2023-06-24 Thread Caolán McNamara (via logerrit)
 oox/source/drawingml/color.cxx  |3 ++-
 svgio/source/svgreader/svgfecolormatrixnode.cxx |4 ++--
 2 files changed, 4 insertions(+), 3 deletions(-)

New commits:
commit 79bce686b7d3691deefcac23d5f8a090ff2e20ce
Author: Caolán McNamara 
AuthorDate: Sat Jun 24 11:07:51 2023 +0100
Commit: Caolán McNamara 
CommitDate: Sat Jun 24 16:02:12 2023 +0200

cid#1532478 silence Unchecked return value

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

diff --git a/svgio/source/svgreader/svgfecolormatrixnode.cxx 
b/svgio/source/svgreader/svgfecolormatrixnode.cxx
index 7902144e8bc8..e5ba501469f9 100644
--- a/svgio/source/svgreader/svgfecolormatrixnode.cxx
+++ b/svgio/source/svgreader/svgfecolormatrixnode.cxx
@@ -97,7 +97,7 @@ void 
SvgFeColorMatrixNode::apply(drawinglayer::primitive2d::Primitive2DContainer
 else if (maType == ColorType::Saturate)
 {
 SvgNumber aNum(1.0);
-readSingleNumber(maValuesContent, aNum);
+(void)readSingleNumber(maValuesContent, aNum);
 
 const drawinglayer::primitive2d::Primitive2DReference xRef(
 new drawinglayer::primitive2d::ModifiedColorPrimitive2D(
@@ -108,7 +108,7 @@ void 
SvgFeColorMatrixNode::apply(drawinglayer::primitive2d::Primitive2DContainer
 else if (maType == ColorType::HueRotate)
 {
 SvgNumber aNum(0.0);
-readSingleNumber(maValuesContent, aNum);
+(void)readSingleNumber(maValuesContent, aNum);
 const drawinglayer::primitive2d::Primitive2DReference xRef(
 new drawinglayer::primitive2d::ModifiedColorPrimitive2D(
 std::move(rTarget), 
std::make_shared(
commit 93b87910854e7c2a4fbe8abf2f2e704819c3dffe
Author: Caolán McNamara 
AuthorDate: Sat Jun 24 10:59:18 2023 +0100
Commit: Caolán McNamara 
CommitDate: Sat Jun 24 16:02:02 2023 +0200

cid#1532474 Uninitialized scalar field

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

diff --git a/oox/source/drawingml/color.cxx b/oox/source/drawingml/color.cxx
index d13e29839227..4d2ee2afbbce 100644
--- a/oox/source/drawingml/color.cxx
+++ b/oox/source/drawingml/color.cxx
@@ -294,7 +294,8 @@ Color::Color() :
 mnC1( 0 ),
 mnC2( 0 ),
 mnC3( 0 ),
-mnAlpha( MAX_PERCENT )
+mnAlpha( MAX_PERCENT ),
+meThemeColorType( model::ThemeColorType::Unknown )
 {
 }
 


[Libreoffice-commits] core.git: xmlsecurity/inc xmlsecurity/source xmlsecurity/uiconfig

2023-06-24 Thread TokieSan (via logerrit)
 xmlsecurity/inc/digitalsignaturesdialog.hxx|1 
 xmlsecurity/source/dialogs/digitalsignaturesdialog.cxx |   75 ++---
 xmlsecurity/uiconfig/ui/digitalsignaturesdialog.ui |8 -
 3 files changed, 68 insertions(+), 16 deletions(-)

New commits:
commit 17ba20e132d581c2298969451b510fb69c19f5fe
Author: TokieSan 
AuthorDate: Tue Jun 20 22:52:03 2023 +0300
Commit: Thorsten Behrens 
CommitDate: Sat Jun 24 18:19:18 2023 +0200

Certificate Manager button is hidden in case no manager exists.

A new function is implemented to check for that in
digitalsignaturesdialog.cxx

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

diff --git a/xmlsecurity/inc/digitalsignaturesdialog.hxx 
b/xmlsecurity/inc/digitalsignaturesdialog.hxx
index 218c3e99c8b3..21b048117670 100644
--- a/xmlsecurity/inc/digitalsignaturesdialog.hxx
+++ b/xmlsecurity/inc/digitalsignaturesdialog.hxx
@@ -89,6 +89,7 @@ private:
 voidImplGetSignatureInformations(bool bUseTempStream, bool 
bCacheLastSignature);
 voidImplFillSignaturesBox();
 voidImplShowSignaturesDetails();
+boolIsThereCertificateMgr();
 
 css::uno::Reference getCertificate(const 
SignatureInformation& rInfo);
 css::uno::Reference 
getSecurityEnvironmentForCertificate(
diff --git a/xmlsecurity/source/dialogs/digitalsignaturesdialog.cxx 
b/xmlsecurity/source/dialogs/digitalsignaturesdialog.cxx
index 0a306a008db0..ed73366234df 100644
--- a/xmlsecurity/source/dialogs/digitalsignaturesdialog.cxx
+++ b/xmlsecurity/source/dialogs/digitalsignaturesdialog.cxx
@@ -115,6 +115,16 @@ namespace
 
 m_nODF = nTmp;
 }
+const std::vector aGUIServersWindows = { 
u"Gpg4win\\kleopatra.exe",
+   
u"Gpg4win\\bin\\kleopatra.exe",
+   
u"GNU\\GnuPG\\kleopatra.exe",
+   
u"GNU\\GnuPG\\launch-gpa.exe",
+   u"GNU\\GnuPG\\gpa.exe",
+   u"GnuPG\\bin\\gpa.exe",
+   
u"GNU\\GnuPG\\bin\\kleopatra.exe",
+   
u"GNU\\GnuPG\\bin\\launch-gpa.exe",
+   
u"GNU\\GnuPG\\bin\\gpa.exe"};
+const std::vector aGUIServersNix = { u"kleopatra", 
u"seahorse", u"gpa", u"kgpg" };
 }
 
 DigitalSignaturesDialog::DigitalSignaturesDialog(
@@ -201,6 +211,11 @@ DigitalSignaturesDialog::DigitalSignaturesDialog(
 m_xRemoveBtn->hide();
 m_xStartCertMgrBtn->hide();
 }
+
+if ( !IsThereCertificateMgr() )
+{
+m_xStartCertMgrBtn->hide();
+}
 }
 
 DigitalSignaturesDialog::~DigitalSignaturesDialog()
@@ -473,22 +488,54 @@ IMPL_LINK_NOARG(DigitalSignaturesDialog, RemoveButtonHdl, 
weld::Button&, void)
 }
 }
 
+bool DigitalSignaturesDialog::IsThereCertificateMgr()
+{
+static std::vector aGUIServers;
+#ifdef _WIN32
+static const OUString aPath = [] {
+sal::systools::CoTaskMemAllocated sPath;
+HRESULT hr
+= SHGetKnownFolderPath(FOLDERID_ProgramFilesX86, KF_FLAG_DEFAULT, 
nullptr, &sPath);
+if (SUCCEEDED(hr))
+return OUString(o3tl::toU(sPath));
+return OUString();
+}();
+if (aPath.isEmpty())
+return false;
+aGUIServers = aGUIServersWindows;
+#else
+const char* cPath = getenv("PATH");
+if (!cPath)
+return false;
+OUString aPath(cPath, strlen(cPath), osl_getThreadTextEncoding());
+aGUIServers = aGUIServersNix;
+#endif
+
+if (aGUIServers.empty())
+return false;
+
+OUString sFoundGUIServer, sExecutable;
+
+for ( auto const &rServer : aGUIServers )
+{
+osl::FileBase::RC searchError = 
osl::File::searchFileURL(OUString(rServer), aPath, sFoundGUIServer );
+if (searchError == osl::FileBase::E_None)
+{
+osl::File::getSystemPathFromFileURL( sFoundGUIServer, sExecutable 
);
+break;
+}
+}
+
+return ( !sExecutable.isEmpty() );
+}
+
 IMPL_LINK_NOARG(DigitalSignaturesDialog, CertMgrButtonHdl, weld::Button&, void)
 {
+static std::vector aGUIServers;
 #ifdef _WIN32
 // FIXME: call GpgME::dirInfo("bindir") somewhere in
 // SecurityEnvironmentGpg or whatnot
 // FIXME: perhaps poke GpgME for uiserver, and hope it returns something 
useful?
-static const std::u16string_view aGUIServers[] = { 
u"Gpg4win\\kleopatra.exe",
-   
u"Gpg4win\\bin\\kleopatra.exe",
-   
u"GNU\\GnuPG\\kleopatra.exe",
-   
u"GNU\\GnuPG\\launch-gpa.ex

[Libreoffice-commits] core.git: Branch 'distro/vector/vector-7.5' - sw/qa sw/source

2023-06-24 Thread Mike Kaganski (via logerrit)
 sw/qa/extras/htmlexport/data/twoListsWithSameStyle.fodt |   19 +++
 sw/qa/extras/htmlexport/htmlexport.cxx  |   14 +
 sw/source/filter/html/htmlnumwriter.cxx |   40 
 3 files changed, 53 insertions(+), 20 deletions(-)

New commits:
commit 429527f86595018ec3121c5cebe22c50ebad0cbf
Author: Mike Kaganski 
AuthorDate: Sat Jun 24 12:00:08 2023 +0300
Commit: Mike Kaganski 
CommitDate: Sat Jun 24 12:58:21 2023 +0300

ReqIF: 'ol' elements must have no 'start' attribute

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

diff --git a/sw/qa/extras/htmlexport/data/twoListsWithSameStyle.fodt 
b/sw/qa/extras/htmlexport/data/twoListsWithSameStyle.fodt
new file mode 100644
index ..a5dc0f014d2a
--- /dev/null
+++ b/sw/qa/extras/htmlexport/data/twoListsWithSameStyle.fodt
@@ -0,0 +1,19 @@
+
+
+
+ 
+  
+   
+
+ 
+
+   
+   
+   
+
+ 
+
+   
+  
+ 
+
\ No newline at end of file
diff --git a/sw/qa/extras/htmlexport/htmlexport.cxx 
b/sw/qa/extras/htmlexport/htmlexport.cxx
index 3cdf01bf5174..b3543870d552 100644
--- a/sw/qa/extras/htmlexport/htmlexport.cxx
+++ b/sw/qa/extras/htmlexport/htmlexport.cxx
@@ -2562,6 +2562,20 @@ CPPUNIT_TEST_FIXTURE(SwHtmlDomExportTest, testTdf155871)
 CPPUNIT_ASSERT(pDoc);
 }
 
+CPPUNIT_TEST_FIXTURE(SwHtmlDomExportTest, testReqIF_ListsNoStartAttribute)
+{
+createSwDoc("twoListsWithSameStyle.fodt");
+ExportToReqif();
+
+SvMemoryStream aStream;
+WrapReqifFromTempFile(aStream);
+xmlDocUniquePtr pDoc = parseXmlStream(&aStream);
+CPPUNIT_ASSERT(pDoc);
+
+// No 'start' attribute must be present in 'ol'
+assertXPath(pDoc, "//reqif-xhtml:ol[@start]", 0);
+}
+
 CPPUNIT_PLUGIN_IMPLEMENT();
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sw/source/filter/html/htmlnumwriter.cxx 
b/sw/source/filter/html/htmlnumwriter.cxx
index 1a4528506964..381b146c36e7 100644
--- a/sw/source/filter/html/htmlnumwriter.cxx
+++ b/sw/source/filter/html/htmlnumwriter.cxx
@@ -222,10 +222,10 @@ Writer& OutHTML_NumberBulletListStart( SwHTMLWriter& rWrt,
 // Ordered list: 
 sOut += OOO_STRING_SVTOOLS_HTML_orderlist;
 
-// determine the type by the format
-char cType = 0;
-if (!rWrt.mbReqIF) // No 'type' attribute in ReqIF
+if (!rWrt.mbReqIF) // No 'type' nor 'start' attribute in ReqIF
 {
+// determine the type by the format
+char cType = 0;
 switch (eType)
 {
 case SVX_NUM_CHARS_UPPER_LETTER:
@@ -243,29 +243,29 @@ Writer& OutHTML_NumberBulletListStart( SwHTMLWriter& rWrt,
 cType = 'i';
 break;
 }
-}
-if( cType )
-{
-sOut += " " OOO_STRING_SVTOOLS_HTML_O_type "=\"" + 
OStringChar(cType) + "\"";
-}
+if( cType )
+{
+sOut += " " OOO_STRING_SVTOOLS_HTML_O_type "=\"" + 
OStringChar(cType) + "\"";
+}
 
-sal_uInt16 nStartVal = rNumFormat.GetStart();
-if( bStartValue && 1 == nStartVal && i == rInfo.GetDepth()-1 )
-{
-if ( 
rWrt.m_pCurrentPam->GetPointNode().GetTextNode()->GetNum() )
+sal_uInt16 nStartVal = rNumFormat.GetStart();
+if( bStartValue && 1 == nStartVal && i == rInfo.GetDepth()-1 )
 {
-nStartVal = static_cast< sal_uInt16 >( 
rWrt.m_pCurrentPam->GetPointNode()
-.GetTextNode()->GetNumberVector()[i] );
+if ( 
rWrt.m_pCurrentPam->GetPointNode().GetTextNode()->GetNum() )
+{
+nStartVal = static_cast< sal_uInt16 >( 
rWrt.m_pCurrentPam->GetPointNode()
+.GetTextNode()->GetNumberVector()[i] );
+}
+else
+{
+OSL_FAIL( "(nStartVal)) + "\"";
 }
 }
-if( nStartVal != 1 )
-{
-sOut += " " OOO_STRING_SVTOOLS_HTML_O_start "=\"" + 
OString::number(static_cast(nStartVal)) + "\"";
-}
 }
 
 if (!sOut.isEmpty() && SVX_NUM_BITMAP != eType)  // second condition 
to avoid adding extra ul, already done before.


[Libreoffice-commits] core.git: sw/CppunitTest_sw_htmlexport.mk

2023-06-24 Thread Mike Kaganski (via logerrit)
 sw/CppunitTest_sw_htmlexport.mk |8 
 1 file changed, 8 insertions(+)

New commits:
commit 5b02c7225837615d15f90e36a163fd3c39108465
Author: Mike Kaganski 
AuthorDate: Sat Jun 24 19:33:57 2023 +0300
Commit: Mike Kaganski 
CommitDate: Sat Jun 24 19:36:19 2023 +0200

Add missing dependency

Similar to commit 012875da5bb23e2c90e9cb6132c4b36a7f56648a ("Add missing
dependency", 2022-11-08).

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

diff --git a/sw/CppunitTest_sw_htmlexport.mk b/sw/CppunitTest_sw_htmlexport.mk
index 55450c3571db..3fc4a52c9d26 100644
--- a/sw/CppunitTest_sw_htmlexport.mk
+++ b/sw/CppunitTest_sw_htmlexport.mk
@@ -65,4 +65,12 @@ $(eval $(call gb_CppunitTest_use_rdb,sw_htmlexport,services))
 
 $(eval $(call gb_CppunitTest_use_configuration,sw_htmlexport))
 
+ifeq ($(OS),WNT)
+# Initializing DocumentSignatureManager will require gpgme-w32spawn.exe in 
workdir/LinkTarget/Executable
+# In fact, it is not even required to complete test successfully, but the 
dialog would stop execution
+$(eval $(call gb_CppunitTest_use_packages,sw_core_draw,\
+$(call gb_Helper_optional,GPGMEPP,gpgmepp)\
+))
+endif
+
 # vim: set noet sw=4 ts=4:


GSoC'23 - Week 3 Report

2023-06-24 Thread Baole Fang



2023-06-15-week3.md
Description: application/md


[Libreoffice-commits] core.git: cui/source sd/source svx/source

2023-06-24 Thread Regina Henschel (via logerrit)
 cui/source/tabpages/tpgradnt.cxx  |   13 ++---
 cui/source/tabpages/tptrans.cxx   |8 
 sd/source/ui/sidebar/SlideBackground.cxx  |   13 ++---
 svx/source/sidebar/area/AreaPropertyPanelBase.cxx |   13 ++---
 svx/source/sidebar/area/AreaTransparencyGradientPopup.cxx |9 -
 5 files changed, 26 insertions(+), 30 deletions(-)

New commits:
commit 81daca18b69d31995bcd56f804659318398c02e2
Author: Regina Henschel 
AuthorDate: Sat Jun 24 16:08:26 2023 +0200
Commit: Caolán McNamara 
CommitDate: Sat Jun 24 22:29:34 2023 +0200

CID several. Use ctor 'from other' instead 'first..last'

This covers CID#1532461, CID#1532462, CID#1532464, CID#1532467,
CID#1532479.
Now solutions without iterator are used.

In all cases constructions like
maColorStops = basegfx::BColorStops(rGradient.GetColorStops().begin(),
rGradient.GetColorStops().end());
are replaced with solutions like
maColorStops = rGradient.GetColorStops();

And instead of constructions like
aColorStops.emplace_back(maColorStops.front().getStopOffset(),
aStartBColor);
aColorStops.insert(aColorStops.begin(),
   maColorStops.begin() + 1, maColorStops.end() - 1);
aColorStops.emplace_back(maColorStops.back().getStopOffset(),
 aEndBColor);
now it is like
aColorStops = maColorStops;
aColorStops.front() =
basegfx::BColorStop(maColorStops.front().getStopOffset(),
aStartBColor);
aColorStops.back() =
basegfx::BColorStop(maColorStops.back().getStopOffset(),
aEndBColor);

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

diff --git a/cui/source/tabpages/tpgradnt.cxx b/cui/source/tabpages/tpgradnt.cxx
index d3d066236ae1..37c56da9aefc 100644
--- a/cui/source/tabpages/tpgradnt.cxx
+++ b/cui/source/tabpages/tpgradnt.cxx
@@ -551,8 +551,7 @@ void SvxGradientTabPage::ChangeGradientHdl_Impl()
 // MCGR: preserve ColorStops if given.
 // tdf#155901 We need offset of first and last stop, so include them.
 if (pGradient->GetColorStops().size() >= 2)
-m_aColorStops = 
basegfx::BColorStops(pGradient->GetColorStops().begin(),
- pGradient->GetColorStops().end());
+m_aColorStops = pGradient->GetColorStops();
 else
 m_aColorStops.clear();
 
@@ -645,11 +644,11 @@ basegfx::BColorStops 
SvxGradientTabPage::createColorStops()
 
 if(m_aColorStops.size() >= 2)
 {
-aColorStops.emplace_back(m_aColorStops.front().getStopOffset(),
- 
m_xLbColorFrom->GetSelectEntryColor().getBColor());
-aColorStops.insert(aColorStops.begin(), m_aColorStops.begin() + 1, 
m_aColorStops.end() - 1);
-aColorStops.emplace_back(m_aColorStops.back().getStopOffset(),
- 
m_xLbColorTo->GetSelectEntryColor().getBColor());
+aColorStops = m_aColorStops;
+aColorStops.front() = 
basegfx::BColorStop(m_aColorStops.front().getStopOffset(),
+  
m_xLbColorFrom->GetSelectEntryColor().getBColor());
+aColorStops.back() = 
basegfx::BColorStop(m_aColorStops.back().getStopOffset(),
+ 
m_xLbColorTo->GetSelectEntryColor().getBColor());
 }
 else
 {
diff --git a/cui/source/tabpages/tptrans.cxx b/cui/source/tabpages/tptrans.cxx
index 3d157850a526..04cbdfb6b24a 100644
--- a/cui/source/tabpages/tptrans.cxx
+++ b/cui/source/tabpages/tptrans.cxx
@@ -370,7 +370,7 @@ void SvxTransparenceTabPage::Reset(const SfxItemSet* rAttrs)
 // MCGR: preserve ColorStops if given
 // tdf#155901 We need offset of first and last stop, so include them.
 if (rGradient.GetColorStops().size() >= 2)
-maColorStops = basegfx::BColorStops(rGradient.GetColorStops().begin(), 
rGradient.GetColorStops().end());
+maColorStops = rGradient.GetColorStops();
 else
 maColorStops.clear();
 
@@ -519,9 +519,9 @@ basegfx::BColorStops 
SvxTransparenceTabPage::createColorStops()
 
 if(maColorStops.size() >= 2)
 {
-aColorStops.emplace_back(maColorStops.front().getStopOffset(), 
aStartBColor);
-aColorStops.insert(aColorStops.begin(), maColorStops.begin() + 1, 
maColorStops.end() - 1);
-aColorStops.emplace_back(maColorStops.back().getStopOffset(), 
aEndBColor);
+aColorStops = maColorStops;
+aColorStops.front() = 
basegfx::BColorStop(maColorStops.front().getStopOffset(), aStartBColor);
+aColorStops.back() = 
basegfx::BColorStop(maColorStops.back().getStopOffset(), aEndBColor);
 }
 else
 {
diff --git a/sd/source/ui/sidebar/Sl

Re: GSoC'23 - Week 1 Report

2023-06-24 Thread Ilmari Lauhakangas

On 10.6.2023 18.54, Baole Fang wrote:




Missed to copy the contents:

Join #tdf-infra

Joined.

Familiar with Mozilla’s work

Mozilla has made their code[1] public. testselect[2] aligns with our 
project best.


rust-code-analysis[3] can be used to calculate metrics from code/patches.

Now, data mining[4] is finished. It is able to generate raw features 
from commits


1: https://github.com/mozilla/bugbug
2: https://github.com/mozilla/bugbug/blob/master/bugbug/models/testselect.py
3: https://github.com/mozilla/rust-code-analysis
4: https://github.com/baolef/libreoffice-ci/blob/data/data/mining.py