configure.ac | 4 - download.lst | 4 - emfio/qa/cppunit/emf/EmfImportTest.cxx | 24 +++++++ emfio/qa/cppunit/emf/data/TestFillRegion.emf |binary emfio/source/reader/emfreader.cxx | 60 +++++++++++-------- extensions/source/propctrlr/usercontrol.cxx | 9 +- extensions/source/propctrlr/usercontrol.hxx | 7 +- external/neon/configs/config.h | 10 +-- icon-themes/karasa_jaga/cmd/ar/sc_setoutline.png |binary icon-themes/karasa_jaga/cmd/sc_setoutline.png |binary icon-themes/karasa_jaga_svg/cmd/ar/sc_setoutline.svg | 2 icon-themes/karasa_jaga_svg/cmd/sc_setoutline.svg | 2 icon-themes/sukapura/cmd/sc_paralefttoright.png |binary icon-themes/sukapura/cmd/sc_pararighttoleft.png |binary icon-themes/sukapura_svg/cmd/sc_paralefttoright.svg | 6 + icon-themes/sukapura_svg/cmd/sc_pararighttoleft.svg | 6 + include/tools/date.hxx | 5 + sc/inc/global.hxx | 1 sc/qa/unit/ucalc.cxx | 16 +++++ sc/source/core/data/table4.cxx | 23 ++++++- solenv/README | 7 ++ solenv/flatpak-manifest.in | 6 - tools/qa/cppunit/test_date.cxx | 25 +++++++ tools/source/datetime/tdate.cxx | 11 +++ vcl/source/window/layout.cxx | 27 +++++--- vcl/source/window/syswin.cxx | 5 + 26 files changed, 199 insertions(+), 61 deletions(-)
New commits: commit 3a009b40801744a7af4c2bb8582ca618259f42a7 Author: Caolán McNamara <[email protected]> AuthorDate: Fri Apr 2 15:05:48 2021 +0100 Commit: Andras Timar <[email protected]> CommitDate: Tue Apr 6 10:18:14 2021 +0200 tdf#141318 Dialog::GetOptimalSize not including border if called before Show Change-Id: I96ed67d84660106af2ef5de488da8abc7d556d1b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/113483 Tested-by: Jenkins Reviewed-by: Adolfo Jayme Barrientos <[email protected]> diff --git a/vcl/source/window/syswin.cxx b/vcl/source/window/syswin.cxx index 8e396207df92..04139f454881 100644 --- a/vcl/source/window/syswin.cxx +++ b/vcl/source/window/syswin.cxx @@ -1066,7 +1066,10 @@ Size SystemWindow::GetOptimalSize() const if (!isLayoutEnabled()) return Window::GetOptimalSize(); - Size aSize = VclContainer::getLayoutRequisition(*GetWindow(GetWindowType::FirstChild)); + Window *pBox = GetWindow(GetWindowType::FirstChild); + // tdf#141318 Do the same as SystemWindow::setOptimalLayoutSize in case we're called before initial layout + const_cast<SystemWindow*>(this)->settingOptimalLayoutSize(pBox); + Size aSize = VclContainer::getLayoutRequisition(*pBox); sal_Int32 nBorderWidth = get_border_width(); commit 2ffe3b511b9563549435843253f4dfd042a7bb2b Author: Andreas Heinisch <[email protected]> AuthorDate: Tue Mar 23 10:54:14 2021 +0100 Commit: Andras Timar <[email protected]> CommitDate: Tue Apr 6 10:18:10 2021 +0200 tdf#58745 - Detect end of month when extending a date list Change-Id: Icaa64a493598dc4bb8f2d6d076ad4300e2e4dde6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/112976 Tested-by: Jenkins Reviewed-by: Andreas Heinisch <[email protected]> Signed-off-by: Xisco Fauli <[email protected]> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/113156 Reviewed-by: Eike Rathke <[email protected]> diff --git a/include/tools/date.hxx b/include/tools/date.hxx index cd69d16b10b6..6179d637e8ba 100644 --- a/include/tools/date.hxx +++ b/include/tools/date.hxx @@ -188,6 +188,9 @@ public: depending on month/year) */ bool IsValidDate() const; + // Returns true, if the date is the end of the month, false otherwise. + bool IsEndOfMonth() const; + /** Normalize date, invalid day or month values are adapted such that they carry over to the next month or/and year, for example 1999-02-32 becomes 1999-03-04, 1999-13-01 becomes 2000-01-01, 1999-13-42 becomes @@ -239,6 +242,8 @@ public: static sal_Int32 DateToDays( sal_uInt16 nDay, sal_uInt16 nMonth, sal_Int16 nYear ); /// Semantically identical to IsValidDate() member method. static bool IsValidDate( sal_uInt16 nDay, sal_uInt16 nMonth, sal_Int16 nYear ); + /// Semantically identical to IsEndOfMonth() member method. + static bool IsEndOfMonth(sal_uInt16 nDay, sal_uInt16 nMonth, sal_Int16 nYear); /// Semantically identical to Normalize() member method. static bool Normalize( sal_uInt16 & rDay, sal_uInt16 & rMonth, sal_Int16 & rYear ); diff --git a/sc/inc/global.hxx b/sc/inc/global.hxx index 3574a0aab0ed..21d33ccc35e9 100644 --- a/sc/inc/global.hxx +++ b/sc/inc/global.hxx @@ -346,6 +346,7 @@ enum FillDateCmd FILL_DAY, FILL_WEEKDAY, FILL_MONTH, + FILL_END_OF_MONTH, FILL_YEAR }; diff --git a/sc/qa/unit/ucalc.cxx b/sc/qa/unit/ucalc.cxx index f5da5620744c..5b339eba8f67 100644 --- a/sc/qa/unit/ucalc.cxx +++ b/sc/qa/unit/ucalc.cxx @@ -4831,6 +4831,22 @@ void Test::testAutoFill() CPPUNIT_ASSERT_EQUAL(aExpected, aFormula); } + // Clear column A for a new test. + clearRange(m_pDoc, ScRange(0, 0, 0, 0, MAXROW, 0)); + m_pDoc->SetRowHidden(0, MAXROW, 0, false); // Show all rows. + + m_pDoc->SetString(0, 100, 0, "2019-10-31"); + m_pDoc->SetString(0, 101, 0, "2019-11-30"); + m_pDoc->SetString(0, 102, 0, "2019-12-31"); + m_pDoc->Fill(0, 100, 0, 102, nullptr, aMarkData, 3, FILL_TO_BOTTOM, FILL_AUTO); + + // tdf#58745, Without the fix in place, this test would have failed with + // - Expected: 2020-01-31 + // - Actual : 2019-01-11 + CPPUNIT_ASSERT_EQUAL(OUString("2020-01-31"), m_pDoc->GetString(0, 103, 0)); + CPPUNIT_ASSERT_EQUAL(OUString("2020-02-29"), m_pDoc->GetString(0, 104, 0)); + CPPUNIT_ASSERT_EQUAL(OUString("2020-03-31"), m_pDoc->GetString(0, 105, 0)); + m_pDoc->DeleteTab(0); } diff --git a/sc/source/core/data/table4.cxx b/sc/source/core/data/table4.cxx index ede354eead8c..392eb8847028 100644 --- a/sc/source/core/data/table4.cxx +++ b/sc/source/core/data/table4.cxx @@ -534,7 +534,12 @@ void ScTable::FillAnalyse( SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, tools::Long nDDiff = aDate2.GetDay() - static_cast<tools::Long>(aDate1.GetDay()); tools::Long nMDiff = aDate2.GetMonth() - static_cast<tools::Long>(aDate1.GetMonth()); tools::Long nYDiff = aDate2.GetYear() - static_cast<tools::Long>(aDate1.GetYear()); - if ( nDDiff ) + if (nMDiff && aDate1.IsEndOfMonth() && aDate2.IsEndOfMonth()) + { + eType = FILL_END_OF_MONTH; + nCmpInc = nMDiff + 12 * nYDiff; + } + else if (nDDiff) { eType = FILL_DAY; nCmpInc = aDate2 - aDate1; @@ -565,7 +570,8 @@ void ScTable::FillAnalyse( SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, nDDiff = aDate2.GetDay() - static_cast<tools::Long>(aDate1.GetDay()); nMDiff = aDate2.GetMonth() - static_cast<tools::Long>(aDate1.GetMonth()); nYDiff = aDate2.GetYear() - static_cast<tools::Long>(aDate1.GetYear()); - if (nDDiff || ( nMDiff + 12 * nYDiff != nCmpInc )) + if ((nDDiff && !aDate1.IsEndOfMonth() && !aDate2.IsEndOfMonth()) + || (nMDiff + 12 * nYDiff != nCmpInc)) bVal = false; } aDate1 = aDate2; @@ -577,7 +583,8 @@ void ScTable::FillAnalyse( SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, } if (bVal) { - if ( eType == FILL_MONTH && ( nCmpInc % 12 == 0 ) ) + if ((eType == FILL_MONTH || eType == FILL_END_OF_MONTH) + && (nCmpInc % 12 == 0)) { eType = FILL_YEAR; nCmpInc /= 12; @@ -1513,6 +1520,7 @@ void ScTable::IncDate(double& rVal, sal_uInt16& nDayOfMonth, double nStep, FillD } break; case FILL_MONTH: + case FILL_END_OF_MONTH: { if ( nDayOfMonth == 0 ) nDayOfMonth = aDate.GetDay(); // init @@ -1548,7 +1556,14 @@ void ScTable::IncDate(double& rVal, sal_uInt16& nDayOfMonth, double nStep, FillD { aDate.SetMonth(static_cast<sal_uInt16>(nMonth)); aDate.SetYear(static_cast<sal_uInt16>(nYear)); - aDate.SetDay( std::min( Date::GetDaysInMonth( nMonth, nYear), nDayOfMonth ) ); + if (eCmd == FILL_END_OF_MONTH) + { + aDate.SetDay(Date::GetDaysInMonth(nMonth, nYear)); + } + else + { + aDate.SetDay(std::min(Date::GetDaysInMonth(nMonth, nYear), nDayOfMonth)); + } } } break; diff --git a/tools/qa/cppunit/test_date.cxx b/tools/qa/cppunit/test_date.cxx index 9a243cce504c..e11270e6a299 100644 --- a/tools/qa/cppunit/test_date.cxx +++ b/tools/qa/cppunit/test_date.cxx @@ -26,6 +26,7 @@ public: void testGetDayOfWeek(); void testGetDaysInMonth(); void testIsBetween(); + void testIsEndOfMonth(); CPPUNIT_TEST_SUITE(DateTest); CPPUNIT_TEST(testDate); @@ -37,6 +38,7 @@ public: CPPUNIT_TEST(testGetDayOfWeek); CPPUNIT_TEST(testGetDaysInMonth); CPPUNIT_TEST(testIsBetween); + CPPUNIT_TEST(testIsEndOfMonth); CPPUNIT_TEST_SUITE_END(); }; @@ -533,6 +535,29 @@ void DateTest::testIsBetween() CPPUNIT_ASSERT(aDate.IsBetween(Date(1, 1, 2018), Date(1, 12, 2018))); } +void DateTest::testIsEndOfMonth() +{ + { + Date aDate(31, 12, 2000); + CPPUNIT_ASSERT(aDate.IsEndOfMonth()); + } + + { + Date aDate(30, 12, 2000); + CPPUNIT_ASSERT(!aDate.IsEndOfMonth()); + } + + { + Date aDate(29, 2, 2000); + CPPUNIT_ASSERT(aDate.IsEndOfMonth()); + } + + { + Date aDate(28, 2, 2000); + CPPUNIT_ASSERT(!aDate.IsEndOfMonth()); + } +} + CPPUNIT_TEST_SUITE_REGISTRATION(DateTest); } diff --git a/tools/source/datetime/tdate.cxx b/tools/source/datetime/tdate.cxx index a38fb8e986c3..979611333813 100644 --- a/tools/source/datetime/tdate.cxx +++ b/tools/source/datetime/tdate.cxx @@ -452,6 +452,17 @@ bool Date::IsValidDate( sal_uInt16 nDay, sal_uInt16 nMonth, sal_Int16 nYear ) return true; } +bool Date::IsEndOfMonth() const +{ + return IsEndOfMonth(GetDay(), GetMonth(), GetYear()); +} + +//static +bool Date::IsEndOfMonth(sal_uInt16 nDay, sal_uInt16 nMonth, sal_Int16 nYear) +{ + return IsValidDate(nDay, nMonth, nYear) && ImplDaysInMonth(nMonth, nYear) == nDay; +} + void Date::Normalize() { sal_uInt16 nDay = GetDay(); commit b56dc807439d7174e223f9775c614488951b4d14 Author: Bartosz Kosiorek <[email protected]> AuthorDate: Thu Apr 1 16:42:34 2021 +0200 Commit: Andras Timar <[email protected]> CommitDate: Tue Apr 6 10:18:05 2021 +0200 tdf#55058 EMF: Implement PAINTRGN record The EMR_PAINTRGN record paints the specified region by using the brush currently selected into the playback device context. After implement support for PAINTRGN record, the reference image is displayed correctly: https://sourceforge.net/projects/libuemf/ Change-Id: I761779713d1200e6079ff798e9c3c9aaba57ad4f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/113461 Tested-by: Jenkins Reviewed-by: Bartosz Kosiorek <[email protected]> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/113561 diff --git a/emfio/source/reader/emfreader.cxx b/emfio/source/reader/emfreader.cxx index 1d1adc2f49aa..24fcf9095e3e 100644 --- a/emfio/source/reader/emfreader.cxx +++ b/emfio/source/reader/emfreader.cxx @@ -1924,6 +1924,18 @@ namespace emfio } break; + case EMR_PAINTRGN : + { + sal_uInt32 nRgnDataSize; + tools::PolyPolygon aPolyPoly; + mpInputStream->SeekRel( 0x10 ); // Skipping RectL bounds + mpInputStream->ReadUInt32( nRgnDataSize ); + + if ( ImplReadRegion( aPolyPoly, *mpInputStream, nRecSize ) ) + DrawPolyPolygon( aPolyPoly ); + } + break; + case EMR_CREATEDIBPATTERNBRUSHPT : { sal_uInt32 nStart = mpInputStream->Tell() - 8; @@ -1977,7 +1989,6 @@ namespace emfio case EMR_SETDIBITSTODEVICE : SAL_WARN("emfio", "not implemented 'SetDIBitsToDevice'"); break; case EMR_FRAMERGN : SAL_WARN("emfio", "not implemented 'FrameRgn'"); break; case EMR_INVERTRGN : SAL_WARN("emfio", "not implemented 'InvertRgn'"); break; - case EMR_PAINTRGN : SAL_WARN("emfio", "not implemented 'PaintRgn'"); break; case EMR_FLATTENPATH : SAL_WARN("emfio", "not implemented 'FlattenPath'"); break; case EMR_WIDENPATH : SAL_WARN("emfio", "not implemented 'WidenPath'"); break; case EMR_POLYDRAW : SAL_WARN("emfio", "not implemented 'Polydraw'"); break; commit 95495ff7a561b46322187e94176aa01a7693d63e Author: Bartosz Kosiorek <[email protected]> AuthorDate: Wed Mar 31 17:50:59 2021 +0200 Commit: Andras Timar <[email protected]> CommitDate: Tue Apr 6 10:18:01 2021 +0200 tdf#55058 tdf#141394 EMF FILLRGN record is not displayed correctly The EMR_FILLRGN record fills the specified region by using the specified brush. After deep analyse of [EMF] documentation, it seems that bounds from RegionDataHeader was treated as first rectangle of region. As a result whole bounds was treated as the Region. Change-Id: Ie34877b71292c05a1f17381a6de51aaed2386565 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/113423 Tested-by: Jenkins Reviewed-by: Bartosz Kosiorek <[email protected]> (cherry picked from commit 5d4d8278b7fd2a555d6c9678d37877853562bd85) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/113367 Tested-by: Caolán McNamara <[email protected]> Reviewed-by: Caolán McNamara <[email protected]> diff --git a/emfio/qa/cppunit/emf/EmfImportTest.cxx b/emfio/qa/cppunit/emf/EmfImportTest.cxx index 7ec0e915abdc..f4c75e883d30 100644 --- a/emfio/qa/cppunit/emf/EmfImportTest.cxx +++ b/emfio/qa/cppunit/emf/EmfImportTest.cxx @@ -50,6 +50,7 @@ class Test : public test::BootstrapFixture, public XmlTestTools, public unotest: void TestLinearGradient(); void TestTextMapMode(); void TestEnglishMapMode(); + void TestFillRegion(); void TestCreatePen(); void TestPdfInEmf(); @@ -68,6 +69,7 @@ public: CPPUNIT_TEST(TestLinearGradient); CPPUNIT_TEST(TestTextMapMode); CPPUNIT_TEST(TestEnglishMapMode); + CPPUNIT_TEST(TestFillRegion); CPPUNIT_TEST(TestCreatePen); CPPUNIT_TEST(TestPdfInEmf); CPPUNIT_TEST_SUITE_END(); @@ -308,6 +310,28 @@ void Test::TestEnglishMapMode() } +void Test::TestFillRegion() +{ + // Check import of EMF image with records: CREATEBRUSHINDIRECT, FILLRGN. The SETICMMODE is also used. + Primitive2DSequence aSequence = parseEmf(u"/emfio/qa/cppunit/emf/data/TestFillRegion.emf"); + CPPUNIT_ASSERT_EQUAL(1, static_cast<int>(aSequence.getLength())); + drawinglayer::Primitive2dXmlDump dumper; + xmlDocUniquePtr pDocument = dumper.dumpAndParse(comphelper::sequenceToContainer<Primitive2DContainer>(aSequence)); + CPPUNIT_ASSERT (pDocument); + + assertXPath(pDocument, "/primitive2D/metafile/transform/mask/polypolygon", "path", "m0 0h3943v3939h-3943z"); + + assertXPath(pDocument, "/primitive2D/metafile/transform/mask/polypolygoncolor", 1); + assertXPath(pDocument, "/primitive2D/metafile/transform/mask/polypolygoncolor[1]/polypolygon", + "path", "m1323 0h1323v1322h1323v1322h-1323v1322h-1323v-1322h-1323v-1322h1323z"); + assertXPath(pDocument, "/primitive2D/metafile/transform/mask/polypolygoncolor[1]", "color", "#ff0000"); + + assertXPath(pDocument, "/primitive2D/metafile/transform/mask/polygonhairline", 1); + assertXPathContent(pDocument, "/primitive2D/metafile/transform/mask/polygonhairline[1]/polygon", + "1323,0 2646,0 2646,1322 3969,1322 3969,2644 2646,2644 2646,3966 1323,3966 1323,2644 0,2644 0,1322 1323,1322"); + assertXPath(pDocument, "/primitive2D/metafile/transform/mask/polygonhairline[1]", "color", "#000000"); +} + void Test::TestCreatePen() { // Check import of EMF image with records: RESTOREDC, SAVEDC, MOVETOEX, LINETO, POLYLINE16, EXTTEXTOUTW with DxBuffer diff --git a/emfio/qa/cppunit/emf/data/TestFillRegion.emf b/emfio/qa/cppunit/emf/data/TestFillRegion.emf new file mode 100644 index 000000000000..da7d4cd65d1f Binary files /dev/null and b/emfio/qa/cppunit/emf/data/TestFillRegion.emf differ diff --git a/emfio/source/reader/emfreader.cxx b/emfio/source/reader/emfreader.cxx index 4c0859bbff5a..1d1adc2f49aa 100644 --- a/emfio/source/reader/emfreader.cxx +++ b/emfio/source/reader/emfreader.cxx @@ -329,41 +329,44 @@ SvStream& operator>>(SvStream& rInStream, BLENDFUNCTION& rBlendFun) bool ImplReadRegion( tools::PolyPolygon& rPolyPoly, SvStream& rStream, sal_uInt32 nLen ) { - if (nLen == 0) + if (nLen < 32) // 32 bytes - Size of RegionDataHeader return false; - sal_uInt32 nHdSize, nType, nCount, nRgnSize, i; + sal_uInt32 nHdSize, nType, nCountRects, nRgnSize, i; rStream.ReadUInt32(nHdSize); rStream.ReadUInt32(nType); - rStream.ReadUInt32(nCount); + rStream.ReadUInt32(nCountRects); rStream.ReadUInt32(nRgnSize); - if (!rStream.good() || nCount == 0 || nType != RDH_RECTANGLES) + if (!rStream.good() || nCountRects == 0 || nType != RDH_RECTANGLES) return false; + //bounds of the region + sal_Int32 nLeft, nTop, nRight, nBottom; + rStream.ReadInt32(nLeft); + rStream.ReadInt32(nTop); + rStream.ReadInt32(nRight); + rStream.ReadInt32(nBottom); + SAL_INFO("emfio", "\t\tLeft: " << nLeft << ", top: " << nTop << ", right: " << nRight << ", bottom: " << nBottom); + sal_uInt32 nSize; - if (o3tl::checked_multiply<sal_uInt32>(nCount, 16, nSize)) + if (o3tl::checked_multiply<sal_uInt32>(nCountRects, 16, nSize)) return false; if (o3tl::checked_add<sal_uInt32>(nSize, nHdSize - 16, nSize)) return false; if (nLen < nSize) return false; - sal_Int32 nx1, ny1, nx2, ny2; - for (i = 0; i < nCount; i++) + for (i = 0; i < nCountRects; i++) { - rStream.ReadInt32(nx1); - rStream.ReadInt32(ny1); - rStream.ReadInt32(nx2); - rStream.ReadInt32(ny2); - - tools::Rectangle aRectangle(Point(nx1, ny1), Point(nx2, ny2)); - - tools::Polygon aPolygon(aRectangle); - tools::PolyPolygon aPolyPolyOr1(aPolygon); - tools::PolyPolygon aPolyPolyOr2(rPolyPoly); - rPolyPoly.GetUnion(aPolyPolyOr1, aPolyPolyOr2); - rPolyPoly = aPolyPolyOr2; + rStream.ReadInt32(nLeft); + rStream.ReadInt32(nTop); + rStream.ReadInt32(nRight); + rStream.ReadInt32(nBottom); + + SAL_INFO("emfio", "\t\tLeft: " << nLeft << ", top: " << nTop << ", right: " << nRight << ", bottom: " << nBottom); + tools::PolyPolygon aPolyPolyOr1(tools::Polygon(tools::Rectangle(nLeft, nTop, nRight, nBottom))); + rPolyPoly.GetUnion(aPolyPolyOr1, rPolyPoly); } return true; } @@ -1906,10 +1909,10 @@ namespace emfio case EMR_FILLRGN : { - sal_uInt32 nLen; + sal_uInt32 nRgnDataSize; tools::PolyPolygon aPolyPoly; - mpInputStream->SeekRel( 0x10 ); - mpInputStream->ReadUInt32( nLen ).ReadUInt32( nIndex ); + mpInputStream->SeekRel( 0x10 ); // RectL bounds + mpInputStream->ReadUInt32( nRgnDataSize ).ReadUInt32( nIndex ); if ( ImplReadRegion( aPolyPoly, *mpInputStream, nRecSize ) ) { commit 14418f065002457e9fd5036bb6a5d5788bf32655 Author: Jan-Marek Glogowski <[email protected]> AuthorDate: Fri Apr 2 02:20:57 2021 +0200 Commit: Andras Timar <[email protected]> CommitDate: Tue Apr 6 10:17:57 2021 +0200 tdf#140229 neon: update to release 0.31.2 I didn't check all commits, but the most likely fix was "Fix hang on SSL connection close with IIS (issue #11)". The server from this bug report is a "Microsoft-IIS/10.0", according to the output from "curl --dump-header". Not sure this bug is critical enough to bump the neon dependency in configure. Change-Id: I3e20bad1aa732641e6f8a83316e58fc7513186c6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/113495 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <[email protected]> (cherry picked from commit c974b23ff78dbe11a7b23f7317fdd096ab8cb282) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/113523 Reviewed-by: Caolán McNamara <[email protected]> diff --git a/configure.ac b/configure.ac index 962c24516905..57e1f7c0f180 100644 --- a/configure.ac +++ b/configure.ac @@ -10598,11 +10598,11 @@ serf) neon) AC_MSG_RESULT([neon]) # Check for system neon - libo_CHECK_SYSTEM_MODULE([neon],[NEON],[neon >= 0.31.1]) + libo_CHECK_SYSTEM_MODULE([neon],[NEON],[neon >= 0.31.2]) if test "$with_system_neon" = "yes"; then NEON_VERSION="`$PKG_CONFIG --modversion neon | $SED 's/\.//g'`" else - NEON_VERSION=0311 + NEON_VERSION=0312 fi AC_SUBST(NEON_VERSION) ;; diff --git a/download.lst b/download.lst index 83063629e3b4..16a74fe081f0 100644 --- a/download.lst +++ b/download.lst @@ -213,8 +213,8 @@ export MWAW_VERSION_MICRO := 17 export MWAW_TARBALL := libmwaw-0.3.$(MWAW_VERSION_MICRO).tar.xz export MYTHES_SHA256SUM := 1e81f395d8c851c3e4e75b568e20fa2fa549354e75ab397f9de4b0e0790a305f export MYTHES_TARBALL := a8c2c5b8f09e7ede322d5c602ff6a4b6-mythes-1.2.4.tar.gz -export NEON_SHA256SUM := c9dfcee723050df37ce18ba449d7707b78e7ab8230f3a4c59d9112e17dc2718d -export NEON_TARBALL := neon-0.31.1.tar.gz +export NEON_SHA256SUM := cf1ee3ac27a215814a9c80803fcee4f0ede8466ebead40267a9bd115e16a8678 +export NEON_TARBALL := neon-0.31.2.tar.gz export NSS_SHA256SUM := ec6032d78663c6ef90b4b83eb552dedf721d2bce208cec3bf527b8f637db7e45 export NSS_TARBALL := nss-3.55-with-nspr-4.27.tar.gz export ODFGEN_SHA256SUM := 2c7b21892f84a4c67546f84611eccdad6259875c971e98ddb027da66ea0ac9c2 diff --git a/external/neon/configs/config.h b/external/neon/configs/config.h index 3f93d1e68132..af8408ad9ad3 100644 --- a/external/neon/configs/config.h +++ b/external/neon/configs/config.h @@ -1,4 +1,4 @@ -/* Contents kept in sync with config.h.in from neon 0.31.1 */ +/* Contents kept in sync with config.h.in from neon 0.31.2 */ /* Define if building universal (internal helper macro) */ /* #undef AC_APPLE_UNIVERSAL_BUILD */ @@ -370,7 +370,7 @@ #define NEON_IS_LIBRARY 1 /* Define to be the neon version string */ -#define NEON_VERSION "0.31.1" +#define NEON_VERSION "0.31.2" /* Define to enable debugging */ /* #undef NE_DEBUGGING */ @@ -435,7 +435,7 @@ #define NE_VERSION_MINOR (31) /* Define to be neon library patch version */ -#define NE_VERSION_PATCH (1) +#define NE_VERSION_PATCH (2) /* Define to the address where bug reports for this package should be sent. */ #define PACKAGE_BUGREPORT "[email protected]" @@ -444,13 +444,13 @@ #define PACKAGE_NAME "neon" /* Define to the full name and version of this package. */ -#define PACKAGE_STRING "neon 0.31.1" +#define PACKAGE_STRING "neon 0.31.2" /* Define to the one symbol short name of this package. */ #define PACKAGE_TARNAME "neon" /* Define to the version of this package. */ -#define PACKAGE_VERSION "0.31.1" +#define PACKAGE_VERSION "0.31.2" /* The size of `int', as computed by sizeof. */ #define SIZEOF_INT 4 diff --git a/solenv/README b/solenv/README index 68e58e8bc774..b5a730746674 100644 --- a/solenv/README +++ b/solenv/README @@ -32,3 +32,10 @@ src/ useful standard / re-usable component map files for components which shouldn't export anything more than a few registration symbols. + +flatpak-manifest.in + This file is used by flatpak/build.sh from the LO dev-tools + repository to generate the flatpak package. download.lst is + a Makefile snippet, so there seems to be no easy way to use + download.lst for the manifest generation (build.sh uses sed), + and its information must be kept in sync manually. diff --git a/solenv/flatpak-manifest.in b/solenv/flatpak-manifest.in index 9d2554da26f8..aababaf988dd 100644 --- a/solenv/flatpak-manifest.in +++ b/solenv/flatpak-manifest.in @@ -357,10 +357,10 @@ "dest-filename": "external/tarballs/mdds-1.7.0.tar.bz2" }, { - "url": "https://dev-www.libreoffice.org/src/neon-0.31.1.tar.gz", - "sha256": "c9dfcee723050df37ce18ba449d7707b78e7ab8230f3a4c59d9112e17dc2718d", + "url": "https://dev-www.libreoffice.org/src/neon-0.31.2.tar.gz", + "sha256": "cf1ee3ac27a215814a9c80803fcee4f0ede8466ebead40267a9bd115e16a8678", "type": "file", - "dest-filename": "external/tarballs/neon-0.31.1.tar.gz" + "dest-filename": "external/tarballs/neon-0.31.2.tar.gz" }, { "url": "https://dev-www.libreoffice.org/src/noto-fonts-20171024.tar.gz", commit 5dc1b728bb42a239812386f15e31f8d444c4c07a Author: Rizal Muttaqin <[email protected]> AuthorDate: Thu Apr 1 11:32:45 2021 +0700 Commit: Andras Timar <[email protected]> CommitDate: Tue Apr 6 10:17:52 2021 +0200 Sukapura: Improve sharpness of small Left To Right & Right To Left icons Change-Id: Id3ea8f601acfd01bef46e32079ff4dadba3654c3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/113436 Tested-by: Jenkins Reviewed-by: Rizal Muttaqin <[email protected]> (cherry picked from commit fba6c9b7b0c50a8f33ef71424cdce2ae0ea9cceb) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/113480 diff --git a/icon-themes/sukapura/cmd/sc_paralefttoright.png b/icon-themes/sukapura/cmd/sc_paralefttoright.png index 87a901aef6a9..f9669c7896e9 100644 Binary files a/icon-themes/sukapura/cmd/sc_paralefttoright.png and b/icon-themes/sukapura/cmd/sc_paralefttoright.png differ diff --git a/icon-themes/sukapura/cmd/sc_pararighttoleft.png b/icon-themes/sukapura/cmd/sc_pararighttoleft.png index e94f0e9f9ec5..e791888a2e45 100644 Binary files a/icon-themes/sukapura/cmd/sc_pararighttoleft.png and b/icon-themes/sukapura/cmd/sc_pararighttoleft.png differ diff --git a/icon-themes/sukapura_svg/cmd/sc_paralefttoright.svg b/icon-themes/sukapura_svg/cmd/sc_paralefttoright.svg index 02857d82f3b8..3ad9f54a5c6c 100644 --- a/icon-themes/sukapura_svg/cmd/sc_paralefttoright.svg +++ b/icon-themes/sukapura_svg/cmd/sc_paralefttoright.svg @@ -1,4 +1,6 @@ -<svg viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><linearGradient id="a" gradientUnits="userSpaceOnUse" x1="-25.399053" x2="-25.306424" y1="12.312397" y2="5.504995"><stop offset="0" stop-color="#0040dd"/><stop offset="1" stop-color="#0a84ff"/></linearGradient> +<svg viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><linearGradient id="a" gradientTransform="matrix(-1 0 0 1 7.000103 5)" gradientUnits="userSpaceOnUse" x1="5.000103" x2="5.000103" y1="11" y2="4"><stop offset="0" stop-color="#0040dd"/><stop offset="1" stop-color="#0a84ff"/></linearGradient> -/&amp;amp;amp;gt;<path d="m6 0c-2.209139 0-4 1.790861-4 4s1.790861 4 4 4v1.8671875l1.4941406 1.4941405-.2207031-.166016c.4596022.255718.6969053.72661.7265625 1.210938v-10.40625h2v14h2v-14l3-1v-1h-3-2-2zm2 12.597656c-.0273617.481987-.259874.952435-.7148438 1.210938l.2109376-.160156-1.4960938 1.490234v.861328h2z" fill="#4b4b4f"/><path d="m3.5273438 9c-.3055168-.007736-.4934255.2409329-.4960938.5h-.03125v2h-2.5c-.277 0-.5.223-.5.5v.505859.494141c0 .277.223.5.5.5h2.5v2h.0117188c.0083813.382489.5000415.706965.859375.349609l2.9199218-2.910156c.3388519-.192527.336656-.681609-.0039062-.871094l-2.9160156-2.9160152c-.0903789-.0935991-.2137025-.1482538-.34375-.1523438z" fill="url(#a)" fill-rule="evenodd"/></svg> \ No newline at end of file + + +/&amp;amp;amp;amp;amp;gt;<path d="m6 0c-2.209139 0-4 1.790861-4 4s1.790861 4 4 4v1 .8671875 5.2714845.361328.5h2v-.5-2.902344-.191406-3.40625-7h2v14h2v-14l3-1v-1h-3-2-2z" fill="#4b4b4f"/><path d="m6 8.8789062v.1210938.8671875 5.2714845.361328.5h.1210938l1.8789062-1.878906v-1.523438-.191406-1.527344z" fill="#fafafa" fill-opacity=".784314"/><path d="m4.515625 9.0000003c.1271638.00407.247996.05645.3378906.1464847l3 3c.1951757.195268.1951757.511763 0 .707031l-3 3c-.3143393.314083-.8515776.092794-.8535156-.351563v-1.501953l-3.49989743-.000001c-.2753644-.0011-.49996629-.224633-.49999999-.5v-2c.0000342-.276891.2250632-.501045.50195309-.5l3.49794433.000001v-1.5c-.0000999-.282345.2334165-.508785.515625-.4999997z" fill="url(#a)"/></svg> \ No newline at end of file diff --git a/icon-themes/sukapura_svg/cmd/sc_pararighttoleft.svg b/icon-themes/sukapura_svg/cmd/sc_pararighttoleft.svg index 373986b0a318..94b69ee00a36 100644 --- a/icon-themes/sukapura_svg/cmd/sc_pararighttoleft.svg +++ b/icon-themes/sukapura_svg/cmd/sc_pararighttoleft.svg @@ -1,4 +1,6 @@ -<svg viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><linearGradient id="a" gradientUnits="userSpaceOnUse" x1="-11.169561" x2="-11.316629" y1="12.264457" y2="5.457056"><stop offset="0" stop-color="#0040dd"/><stop offset="1" stop-color="#0a84ff"/></linearGradient> +<svg viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><linearGradient id="a" gradientUnits="userSpaceOnUse" x1="14" x2="14" y1="16" y2="9"><stop offset="0" stop-color="#0040dd"/><stop offset="1" stop-color="#0a84ff"/></linearGradient> -/&amp;amp;amp;gt;<path d="m12.472657 9c.305517-.00774.493425.2409329.496094.5h.03125v2h2.5c.277 0 .5.223.5.5v.505859.494141c0 .277-.223.5-.5.5h-2.5v2h-.01172c-.0084.382489-.500042.706965-.859375.349609l-2.9199211-2.910156c-.3388519-.192527-.336656-.681609.00391-.871094l2.9160121-2.9160152c.090379-.0935991.213702-.1482538.34375-.1523438z" fill="url(#a)" fill-rule="evenodd"/><path d="m5 0c-2.209139 0-4 1.790861-4 4s1.790861 4 4 4v8h2v-14h2v8.861328l2-1.9941405v-6.8671875l3-1v-1h-3-2-2zm4 14.136719v1.863281h1.863281z" fill="#4b4b4f"/></svg> \ No newline at end of file + + +/&amp;amp;amp;amp;amp;gt;<path d="m5 0c-2.209139 0-4 1.790861-4 4s1.790861 4 4 4v1 .8671875 5.2714845.361328.5h2v-.5-2.902344-.191406-3.40625-7h2v14h2v-14l3-1v-1h-3-2-2z" fill="#4b4b4f"/><path d="m11 8.0898438c-.210633.07404-.406112.1890652-.566406.3496093l-1.433594 1.4335938v5.2539061l.8730469.873047h1.1269531z" fill="#fafafa" fill-opacity=".784314"/><path d="m11.484375 9.0000003c-.127164.00407-.247996.05645-.337891.1464847l-3 3c-.1951757.195268-.1951757.511763 0 .707031l3 3c.314339.314083.851578.09279.853516-.351563v-1.501953l3.499897-.000001c.275364-.0011.499966-.224633.5-.5v-2c-.000034-.276891-.225063-.501045-.501953-.5l-3.497944.000001v-1.5c.0001-.282345-.233417-.508785-.515625-.4999997z" fill="url(#a)"/></svg> \ No newline at end of file commit af7cea9dbfcd77e7467d58c8b419d1d4094de0ba Author: Caolán McNamara <[email protected]> AuthorDate: Thu Apr 1 17:31:58 2021 +0100 Commit: Andras Timar <[email protected]> CommitDate: Tue Apr 6 10:17:47 2021 +0200 tdf#141084 don't notify that the control has changed content until focus-out while also keeping tdf#140239 working too Change-Id: I42833f6a4d2440781cf3f2297b78c6e313b3d239 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/113474 Tested-by: Jenkins Reviewed-by: Adolfo Jayme Barrientos <[email protected]> diff --git a/extensions/source/propctrlr/usercontrol.cxx b/extensions/source/propctrlr/usercontrol.cxx index fbf829b62938..345162ecffa0 100644 --- a/extensions/source/propctrlr/usercontrol.cxx +++ b/extensions/source/propctrlr/usercontrol.cxx @@ -248,9 +248,7 @@ namespace pcr bool bSuccess = rValue >>= sURL; if (bSuccess && GraphicObject::isGraphicObjectUniqueIdURL(sURL)) sURL = pControlWindow->GetPlaceHolder(); - // tdf#140239 leave current cursor valid if the contents won't change - if (sURL != pControlWindow->GetURL()) - pControlWindow->set_entry_text(sURL); + pControlWindow->set_entry_text(sURL); } Any SAL_CALL OFileUrlControl::getValue() @@ -266,6 +264,11 @@ namespace pcr return ::cppu::UnoType<OUString>::get(); } + IMPL_LINK_NOARG(OFileUrlControl, URLModifiedHdl, weld::ComboBox&, void) + { + editChanged(); + } + } // namespace pcr diff --git a/extensions/source/propctrlr/usercontrol.hxx b/extensions/source/propctrlr/usercontrol.hxx index facc2621707f..74821a25d0d4 100644 --- a/extensions/source/propctrlr/usercontrol.hxx +++ b/extensions/source/propctrlr/usercontrol.hxx @@ -119,6 +119,8 @@ namespace pcr typedef CommonBehaviourControl<css::inspection::XPropertyControl, SvtURLBox> OFileUrlControl_Base; class OFileUrlControl : public OFileUrlControl_Base { + private: + DECL_LINK(URLModifiedHdl, weld::ComboBox&, void); public: OFileUrlControl(std::unique_ptr<SvtURLBox> xWidget, std::unique_ptr<weld::Builder> xBuilder, bool bReadOnly); @@ -130,7 +132,10 @@ namespace pcr virtual void SetModifyHandler() override { OFileUrlControl_Base::SetModifyHandler(); - getTypedControlWindow()->connect_changed(LINK(this, CommonBehaviourControlHelper, ModifiedHdl)); + SvtURLBox* pControlWindow = getTypedControlWindow(); + // tdf#140239 and tdf#141084 don't notify that the control has changed content until focus-out + pControlWindow->connect_focus_out(LINK(this, CommonBehaviourControlHelper, LoseFocusHdl)); + pControlWindow->connect_changed(LINK(this, OFileUrlControl, URLModifiedHdl)); } virtual weld::Widget* getWidget() override { return getTypedControlWindow()->getWidget(); } commit 68ee7f1e3c54aab34e42b81cf47f75beef11fc3c Author: Caolán McNamara <[email protected]> AuthorDate: Thu Apr 1 10:31:27 2021 +0100 Commit: Andras Timar <[email protected]> CommitDate: Tue Apr 6 10:17:43 2021 +0200 Resolves: tdf#141258 turn scrollbars on/off once per layout loop in this scenario the vertical scrollbar is turned off, then turned on back to its original state but the off/on triggers another layout loop later which does the same thing. Turn on/off just once per loop so only one state change can occur so new layout is only triggered if the state really changes. Change-Id: I5736264a74723a15034e5fb467262dca6c0f283c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/113370 Tested-by: Jenkins Reviewed-by: Adolfo Jayme Barrientos <[email protected]> diff --git a/vcl/source/window/layout.cxx b/vcl/source/window/layout.cxx index 2cf77e81a688..9406aa4585f5 100644 --- a/vcl/source/window/layout.cxx +++ b/vcl/source/window/layout.cxx @@ -1913,31 +1913,36 @@ void VclScrolledWindow::doSetAllocation(const Size &rAllocation, bool bRetryOnFa tools::Long nAvailHeight = rAllocation.Height() - 2 * m_nBorderWidth; tools::Long nAvailWidth = rAllocation.Width() - 2 * m_nBorderWidth; + // vert. ScrollBar + bool bShowVScroll; if (GetStyle() & WB_AUTOVSCROLL) - { - m_pVScroll->Show(nAvailHeight < aChildReq.Height()); - } - else if (m_pVScroll->IsVisible() != bool(GetStyle() & WB_VSCROLL)) - m_pVScroll->Show((GetStyle() & WB_VSCROLL) != 0); + bShowVScroll = nAvailHeight < aChildReq.Height(); + else + bShowVScroll = (GetStyle() & WB_VSCROLL) != 0; - if (m_pVScroll->IsVisible()) + if (bShowVScroll) nAvailWidth -= getLayoutRequisition(*m_pVScroll).Width(); // horz. ScrollBar + bool bShowHScroll; if (GetStyle() & WB_AUTOHSCROLL) { - bool bShowHScroll = nAvailWidth < aChildReq.Width(); - m_pHScroll->Show(bShowHScroll); + bShowHScroll = nAvailWidth < aChildReq.Width(); if (bShowHScroll) nAvailHeight -= getLayoutRequisition(*m_pHScroll).Height(); if (GetStyle() & WB_AUTOVSCROLL) - m_pVScroll->Show(nAvailHeight < aChildReq.Height()); + bShowVScroll = nAvailHeight < aChildReq.Height(); } - else if (m_pHScroll->IsVisible() != bool(GetStyle() & WB_HSCROLL)) - m_pHScroll->Show((GetStyle() & WB_HSCROLL) != 0); + else + bShowHScroll = (GetStyle() & WB_HSCROLL) != 0; + + if (m_pHScroll->IsVisible() != bShowHScroll) + m_pHScroll->Show(bShowHScroll); + if (m_pVScroll->IsVisible() != bShowVScroll) + m_pVScroll->Show(bShowVScroll); Size aInnerSize(rAllocation); aInnerSize.AdjustWidth(-2 * m_nBorderWidth); commit 1406fb1d7d04bb217259b807dd6069aac605f84e Author: Rizal Muttaqin <[email protected]> AuthorDate: Thu Apr 1 11:01:26 2021 +0700 Commit: Andras Timar <[email protected]> CommitDate: Tue Apr 6 10:17:38 2021 +0200 KJ: Improve small Select Outline Format icons Change-Id: I18fd7e4656b12790ad8896cbe56f3896f4a178f4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/113435 Tested-by: Jenkins Reviewed-by: Rizal Muttaqin <[email protected]> (cherry picked from commit bc4f06a80a234ae4a90864a075df1e94ced3045a) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/113368 Reviewed-by: Adolfo Jayme Barrientos <[email protected]> diff --git a/icon-themes/karasa_jaga/cmd/ar/sc_setoutline.png b/icon-themes/karasa_jaga/cmd/ar/sc_setoutline.png index 349641b7f42e..f09d3fefde92 100644 Binary files a/icon-themes/karasa_jaga/cmd/ar/sc_setoutline.png and b/icon-themes/karasa_jaga/cmd/ar/sc_setoutline.png differ diff --git a/icon-themes/karasa_jaga/cmd/sc_setoutline.png b/icon-themes/karasa_jaga/cmd/sc_setoutline.png index d4b25a4ddc60..9db7ea8d374f 100644 Binary files a/icon-themes/karasa_jaga/cmd/sc_setoutline.png and b/icon-themes/karasa_jaga/cmd/sc_setoutline.png differ diff --git a/icon-themes/karasa_jaga_svg/cmd/ar/sc_setoutline.svg b/icon-themes/karasa_jaga_svg/cmd/ar/sc_setoutline.svg index a0f806ad7281..d1c98730322f 100644 --- a/icon-themes/karasa_jaga_svg/cmd/ar/sc_setoutline.svg +++ b/icon-themes/karasa_jaga_svg/cmd/ar/sc_setoutline.svg @@ -1 +1 @@ -<svg height="16" viewBox="0 0 4.2333333 4.2333335" width="16" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><linearGradient id="a" gradientTransform="matrix(2.9758551 0 0 2.9758549 -2309.4946 -578.87404)" gradientUnits="userSpaceOnUse" x1="778.88196" x2="778.88196" xlink:href="#b" y1="289.57986" y2="284.53162"/><linearGradient id="b"><stop offset="0" stop-color="#06f"/><stop offset="1" stop-color="#80b3ff"/></linearGradient><linearGradient id="c" gradientUnits="userSpaceOnUse" x1="7.093015" x2="7.093015" xlink:href="#b" y1="-274.81851" y2="-268.05536"/><g transform="matrix(.125 0 0 .125 0 -32.89167)"><path d="m2.1166677 267.36665 16.9333343-.00005v2.1167l-16.9333343.00005z" fill="#404040" fill-opacity=".839216"/><path d="m6.3500017 271.59993h12.6999993v2.11669h-12.6999993z" fill="#404040" fill-opacity=".839216"/><path d="m3.6715918 284.12396v-1.32424h2.2112989v-6.08899l-2.1416018 1.33691v-1.40028l2.2366433-1.45096h1.6854026v7.60332h2.0465603v1.32424z" stroke="url(#a)" stroke-linejoin="round" stroke-width="4.360674" transform="matrix(1.0236449 0 0 .97690126 20.168776 .000007)"/><path d="m3.960415 277.56085v-1.29365h2.1602208v-5.94835l-2.0921336 1.30604v-1.36794l2.1849798-1.41745h1.646472v7.4277h1.9992875v1.29365z" fill="#bfd9ff" stroke-width="2.180337" transform="translate(20.04701 .000007)"/><g transform="matrix(-.95875896 0 0 .95875896 27.52372 26.794976)"><path d="m8.1026671-272.99435a1.470957 1.470957 0 0 1 -1.470957 1.47095 1.470957 1.470957 0 0 1 -1.4709571-1.47095 1.470957 1.470957 0 0 1 1.4709571-1.47096 1.470957 1.470957 0 0 1 1.470957 1.47096z" fill="none" stroke="url(#c)" stroke-linecap="round" stroke-linejoin="round" stroke-width="5.88383" transform="scale(1 -1)"/><path d="m8.1026671 272.99435a1.470957 1.470957 0 0 1 -1.470957 1.47096 1.470957 1.470957 0 0 1 -1.4709571-1.47096 1.470957 1.470957 0 0 1 1.4709571-1.47095 1.470957 1.470957 0 0 1 1.470957 1.47095z" fill="#bfd9ff"/></g><path d="m2.1166691 284.30005 10.58333 09-.00001v2.1167l-10.5833309.00001z" fill="#404040" fill-opacity=".839216"/><path d="m6.3500021 288.53334 6.3499959.00004v2.11669l-6.3499959-.00004z" fill="#404040" fill-opacity=".839216"/><g fill="#fff" fill-opacity=".392157"><path d="m2.1166667 265.25003 16.9333343-.00005v2.1167l-16.9333343.00005z"/><path d="m6.3500007 269.48331h12.6999993v2.1167h-12.6999993z"/><path d="m2.1166681 282.18343 10.5833309-.00001v2.1167l-10.5833309.00001z"/><path d="m6.3500011 286.41672 6.3499959.00004v2.11669l-6.3499959-.00004z"/></g></g></svg> \ No newline at end of file +<svg height="16" viewBox="0 0 4.2333333 4.2333335" width="16" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><linearGradient id="a" gradientUnits="userSpaceOnUse" x1="6.7862" x2="6.7862" xlink:href="#b" y1="275.1897" y2="266.72305"/><linearGradient id="b"><stop offset="0" stop-color="#06f"/><stop offset="1" stop-color="#80b3ff"/></linearGradient><linearGradient id="c" gradientUnits="userSpaceOnUse" x1="7.093015" x2="7.093015" xlink:href="#b" y1="-274.81851" y2="-268.05536"/><g transform="matrix(-.125 0 0 .125 4.233333 -32.891675)"><path d="m-31.75 267.3667 16.933334-.00005v2.1167l-16.933334.00005z" fill="#404040" fill-opacity=".839216" transform="scale(-1 1)"/><path d="m-27.516666 271.59998h12.699999v2.11669h-12.699999z" fill="#404040" fill-opacity=".839216" transform="scale(-1 1)"/><g transform="matrix(.95875896 0 0 .95875896 6.342947 26.794969)"><path d="m8.1026671-272.99435a1.470957 1.470957 0 0 1 -1.470957 1.47095 1.470957 1.470957 0 0 1 -1.4709571 -1.47095 1.470957 1.470957 0 0 1 1.4709571-1.47096 1.470957 1.470957 0 0 1 1.470957 1.47096z" fill="none" stroke="url(#c)" stroke-linecap="round" stroke-linejoin="round" stroke-width="5.88383" transform="scale(1 -1)"/><path d="m8.1026671 272.99435a1.470957 1.470957 0 0 1 -1.470957 1.47096 1.470957 1.470957 0 0 1 -1.4709571-1.47096 1.470957 1.470957 0 0 1 1.4709571-1.47095 1.470957 1.470957 0 0 1 1.470957 1.47095z" fill="#bfd9ff"/></g><path d="m31.749998 284.30004-10.583331-.00001v2.1167l10.583331.00001z" fill="#404040" fill-opacity=".839216"/><path d="m27.516665 288.53333-6.349996.00004v2.11669l6.349996-.00004z" fill="#404040" fill-opacity=".839216"/><g fill="#fff" fill-opacity=".392157"><path d="m31.750001 265.25008-16.933334-.00005v2.1167l16.933334.00005z"/><path d="m27.516667 269.48336h-12.699999v2.1167h12.699999z"/><path d="m31.749999 282.18342-10.583331-.00001v2.1167l10.583331.00001z"/><path d="m27.516666 286.41671-6.349996.00004v2.11669l6.349996-.00004z"/></g><g stroke-width=" 2.180337" transform="matrix(-1 0 0 1 12.077738 -1.473016)"><path d="m6.2128906 266.72266a2.1170101 2.1170101 0 0 0 -1.0273437.26562l-2.5546875 1.41797a2.1170101 2.1170101 0 0 0 -1.0898438 1.86133l.00977 1.92773a2.1170101 2.1170101 0 0 0 .6015626 1.46289 2.1170101 2.1170101 0 0 0 -.6582032 1.53125v2.11719a2.1170101 2.1170101 0 0 0 2.1171875 2.11719h6.3496094a2.1170101 2.1170101 0 0 0 2.1171871-2.11719v-2.11719a2.1170101 2.1170101 0 0 0 -2.1171871-2.11718h.029297l-.013672-4.24024a2.1170101 2.1170101 0 0 0 -2.1171919-2.10937zm-.8847656 10.54101a2.1170101 2.1170101 0 0 0 .019531.004c-.0026-.00034-.019531-.002-.019531-.002s-.0000001-.002 0-.002z" fill="url(#a)"/><path d="m3.6112001 277.30638v-2.11666c.5847778 0 2.1910135.00078 2.125264-.00021l-.0086-4.23313-2.0600039 1.22994-.010292-1.92916 2.5559108-1.41766h1.646472l.021716 6.35001 2.0795306.0002v2.11667z" fill="#bfd9ff"/></g></g></svg> \ No newline at end of file diff --git a/icon-themes/karasa_jaga_svg/cmd/sc_setoutline.svg b/icon-themes/karasa_jaga_svg/cmd/sc_setoutline.svg index 6483a70fa6a1..c152ba8f9af8 100644 --- a/icon-themes/karasa_jaga_svg/cmd/sc_setoutline.svg +++ b/icon-themes/karasa_jaga_svg/cmd/sc_setoutline.svg @@ -1 +1 @@ -<svg height="16" viewBox="0 0 4.2333333 4.2333335" width="16" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><linearGradient id="a"><stop offset="0" stop-color="#06f"/><stop offset="1" stop-color="#80b3ff"/></linearGradient><linearGradient id="b" gradientUnits="userSpaceOnUse" x1="7.093015" x2="7.093015" xlink:href="#a" y1="-274.81851" y2="-268.05536"/><linearGradient id="c" gradientTransform="matrix(2.9758551 0 0 2.9758549 -2309.4946 -578.87404)" gradientUnits="userSpaceOnUse" x1="778.88196" x2="778.88196" xlink:href="#a" y1="289.57986" y2="284.53162"/><g transform="matrix(.125 0 0 .125 0 -32.89167)"><path d="m-31.75 267.3667 16.933334-.00005v2.1167l-16.933334.00005z" fill="#404040" fill-opacity=".839216" transform="scale(-1 1)"/><path d="m-27.516666 271.59998h12.699999v2.11669h-12.699999z" fill="#404040" fill-opacity=".839216" transform="scale(-1 1)"/><path d="m3.6715918 284.12396v-1.32424h2.2112989v-6.08899l-2.1416018 1.33691v-1.40028l2.2366433-1.45 096h1.6854026v7.60332h2.0465603v1.32424z" stroke="url(#c)" stroke-linejoin="round" stroke-width="4.360674" transform="scale(1.0236449 .97690126)"/><path d="m3.960415 277.56085v-1.29365h2.1602208v-5.94835l-2.0921336 1.30604v-1.36794l2.1849798-1.41745h1.646472v7.4277h1.9992875v1.29365z" fill="#bfd9ff" stroke-width="2.180337"/><g transform="matrix(.95875896 0 0 .95875896 6.342947 26.794969)"><path d="m8.1026671-272.99435a1.470957 1.470957 0 0 1 -1.470957 1.47095 1.470957 1.470957 0 0 1 -1.4709571-1.47095 1.470957 1.470957 0 0 1 1.4709571-1.47096 1.470957 1.470957 0 0 1 1.470957 1.47096z" fill="none" stroke="url(#b)" stroke-linecap="round" stroke-linejoin="round" stroke-width="5.88383" transform="scale(1 -1)"/><path d="m8.1026671 272.99435a1.470957 1.470957 0 0 1 -1.470957 1.47096 1.470957 1.470957 0 0 1 -1.4709571-1.47096 1.470957 1.470957 0 0 1 1.4709571-1.47095 1.470957 1.470957 0 0 1 1.470957 1.47095z" fill="#bfd9ff"/></g><path d="m31.749998 284.30004-10.583331-.00001v2.1167l10.5833 31.00001z" fill="#404040" fill-opacity=".839216"/><path d="m27.516665 288.53333-6.349996.00004v2.11669l6.349996-.00004z" fill="#404040" fill-opacity=".839216"/><g fill="#fff" fill-opacity=".392157"><path d="m31.750001 265.25008-16.933334-.00005v2.1167l16.933334.00005z"/><path d="m27.516667 269.48336h-12.699999v2.1167h12.699999z"/><path d="m31.749999 282.18342-10.583331-.00001v2.1167l10.583331.00001z"/><path d="m27.516666 286.41671-6.349996.00004v2.11669l6.349996-.00004z"/></g></g></svg> \ No newline at end of file +<svg height="16" viewBox="0 0 4.2333333 4.2333335" width="16" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><linearGradient id="a" gradientUnits="userSpaceOnUse" x1="6.7862" x2="6.7862" xlink:href="#b" y1="275.1897" y2="266.72305"/><linearGradient id="b"><stop offset="0" stop-color="#06f"/><stop offset="1" stop-color="#80b3ff"/></linearGradient><linearGradient id="c" gradientUnits="userSpaceOnUse" x1="7.093015" x2="7.093015" xlink:href="#b" y1="-274.81851" y2="-268.05536"/><g transform="matrix(.125 0 0 .125 0 -32.89167)"><path d="m-31.75 267.3667 16.933334-.00005v2.1167l-16.933334.00005z" fill="#404040" fill-opacity=".839216" transform="scale(-1 1)"/><path d="m-27.516666 271.59998h12.699999v2.11669h-12.699999z" fill="#404040" fill-opacity=".839216" transform="scale(-1 1)"/><g transform="matrix(.95875896 0 0 .95875896 6.342947 26.794969)"><path d="m8.1026671-272.99435a1.470957 1.470957 0 0 1 -1.470957 1.47095 1.470957 1.470957 0 0 1 -1.4709571-1.47095 1.470957 1.470957 0 0 1 1.4709571-1.47096 1.470957 1.470957 0 0 1 1.470957 1.47096z" fill="none" stroke="url(#c)" stroke-linecap="round" stroke-linejoin="round" stroke-width="5.88383" transform="scale(1 -1)"/><path d="m8.1026671 272.99435a1.470957 1.470957 0 0 1 -1.470957 1.47096 1.470957 1.470957 0 0 1 -1.4709571-1.47096 1.470957 1.470957 0 0 1 1.4709571-1.47095 1.470957 1.470957 0 0 1 1.470957 1.47095z" fill="#bfd9ff"/></g><path d="m31.749998 284.30004-10.583331-.00001v2.1167l10.583331.00001z" fill="#404040" fill-opacity=".839216"/><path d="m27.516665 288.53333-6.349996.00004v2.11669l6.349996-.00004z" fill="#404040" fill-opacity=".839216"/><g fill="#fff" fill-opacity=".392157"><path d="m31.750001 265.25008-16.933334-.00005v2.1167l16.933334.00005z"/><path d="m27.516667 269.48336h-12.699999v2.1167h12.699999z"/><path d="m31.749999 282.18342-10.583331-.00001v2.1167l10.583331.00001z"/><path d="m27.516666 286.41671-6.349996.00004v2.11669l6.349996-.00004z"/></g><g stroke-width="2.180337" transform="translate(-1.494536 -1.473016)"><path d="m6.2128906 266.72266a2.1170101 2.1170101 0 0 0 -1.0273437.26562l-2.5546875 1.41797a2.1170101 2.1170101 0 0 0 -1.0898438 1.86133l.00977 1.92773a2.1170101 2.1170101 0 0 0 .6015626 1.46289 2.1170101 2.1170101 0 0 0 -.6582032 1.53125v2.11719a2.1170101 2.1170101 0 0 0 2.1171875 2.11719h6.3496094a2.1170101 2.1170101 0 0 0 2.1171871-2.11719v-2.11719a2.1170101 2.1170101 0 0 0 -2.1171871-2.11718h.029297l-.013672-4.24024a2.1170101 2.1170101 0 0 0 -2.1171919-2.10937zm-.8847656 10.54101a2.1170101 2.1170101 0 0 0 .019531.004c-.0026-.00034-.019531-.002-.019531-.002s-.0000001-.002 0-.002z" fill="url(#a)"/><path d="m3.6112001 277.30638v-2.11666c.5847778 0 2.1910135.00078 2.125264-.00021l-.0086-4.23313-2.0600039 1.22994-.010292-1.92916 2.5559108-1.41766h1.646472l.021716 6.35001 2.0795306.0002v2.11667z" fill="#bfd9ff"/></g></g></svg> \ No newline at end of file _______________________________________________ Libreoffice-commits mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
