Re: Getting started
On 16.08.23 23:38, Chris Tapp wrote: I had tried looking to see if there were open bugs for these, but I hadn’t managed to find them. There are many, for example https://bugs.documentfoundation.org/show_bug.cgi?id=35538 OpenPGP_signature.asc Description: OpenPGP digital signature
Re: Getting started
I’m supporting an organisation that is using LO to create pdfs that are used as inputs to a print-on-demand service, and we have identified a couple of issues that I would like to have a go at resolving: 1) The handling of font names differs between the Windows and MacOS builds, resulting in the rendering differing between the platforms; 2) The page size reported in exported pdfs (e.g. 21.01 × 29.71 cm) is not the same as the page size within the document (e.g. 21.00 × 29.70 cm), resulting in the pdf being rejected by the POD service (which expects 21.00 × 29.70 cm). Is there an “easy” way to navigate the code and/or can anyone point me to where the functionality I need to look at is located? ... Hello! To navigate the code, you can use: https://opengrok.libreoffice.org/ A good start point to code contribute in LO is : https://wiki.documentfoundation.org/Development/GetInvolved (you'll begin with how to build LO)
[Libreoffice-commits] core.git: Branch 'distro/collabora/co-23.05' - filter/source
filter/source/svg/svgwriter.cxx |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) New commits: commit 948d12ac4e829fb6f815bc5849f0a8c018fe6407 Author: Caolán McNamara AuthorDate: Wed Aug 16 15:04:58 2023 +0100 Commit: Noel Grandin CommitDate: Thu Aug 17 08:19:54 2023 +0200 cool#6616 compare graphics for equality with operator==... instead of checking equal CheckSums. For better or worse while Bitmap::operator== also considers equal CheckSums as equal Bitmaps operator== can quickly return true if both Bitmaps share the same underlying SalBitmap which is nearly always true in the example here Change-Id: I6b5cd484aeef7505721a493a3bff23ee345147dc Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155706 Tested-by: Jenkins CollaboraOffice Reviewed-by: Noel Grandin diff --git a/filter/source/svg/svgwriter.cxx b/filter/source/svg/svgwriter.cxx index 4df1352ddc10..bce563890361 100644 --- a/filter/source/svg/svgwriter.cxx +++ b/filter/source/svg/svgwriter.cxx @@ -2914,7 +2914,7 @@ void SVGActionWriter::ImplWriteBmp( const BitmapEx& rBmpEx, if (aGraphic.GetType() == GraphicType::Bitmap) { const BitmapEx& rGraphicBitmap = aGraphic.GetBitmapExRef(); -if (rGraphicBitmap.GetChecksum() == rBmpEx.GetChecksum()) +if (rGraphicBitmap == rBmpEx) { bool bPNG = false; GfxLink aGfxLink = aGraphic.GetGfxLink();
[Libreoffice-commits] core.git: sw/source
sw/source/core/inc/sectfrm.hxx|1 - sw/source/core/layout/sectfrm.cxx |9 +++-- sw/source/core/text/xmldump.cxx | 10 -- 3 files changed, 7 insertions(+), 13 deletions(-) New commits: commit b32c9df02bf4abc9d36083c51b28bad6565465c6 Author: Miklos Vajna AuthorDate: Wed Aug 16 20:19:54 2023 +0200 Commit: Miklos Vajna CommitDate: Thu Aug 17 08:13:00 2023 +0200 sw: fold SwSectionFrame::dumpAsXmlAttributes() into dumpAsXml() One dumpAsXml() per SwFrame subclass is enough, no need to have a separate function that dumps just the attributes. Also eliminate a manual reinterpret_cast<> and a static_cast<>. Change-Id: I99c44f4b097586bdc174d3133bbb4ee9f26e57cc Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155747 Tested-by: Jenkins Reviewed-by: Miklos Vajna diff --git a/sw/source/core/inc/sectfrm.hxx b/sw/source/core/inc/sectfrm.hxx index 80d8185bc1c0..82a41d4e3167 100644 --- a/sw/source/core/inc/sectfrm.hxx +++ b/sw/source/core/inc/sectfrm.hxx @@ -156,7 +156,6 @@ public: bool IsBalancedSection() const; virtual void dumpAsXml(xmlTextWriterPtr writer = nullptr) const override; -virtual void dumpAsXmlAttributes(xmlTextWriterPtr writer) const override; bool IsFootnoteAtEnd() const { return m_bFootnoteAtEnd; } bool IsEndnAtEnd() const { return m_bEndnAtEnd; } diff --git a/sw/source/core/layout/sectfrm.cxx b/sw/source/core/layout/sectfrm.cxx index 18fac7a397b1..41623fc77177 100644 --- a/sw/source/core/layout/sectfrm.cxx +++ b/sw/source/core/layout/sectfrm.cxx @@ -2958,8 +2958,13 @@ bool SwSectionFrame::IsBalancedSection() const void SwSectionFrame::dumpAsXml(xmlTextWriterPtr writer) const { -(void)xmlTextWriterStartElement(writer, reinterpret_cast("section")); -dumpAsXmlAttributes(writer); +(void)xmlTextWriterStartElement(writer, BAD_CAST("section")); +SwFrame::dumpAsXmlAttributes( writer ); +if ( HasFollow() ) +(void)xmlTextWriterWriteFormatAttribute( writer, BAD_CAST( "follow" ), "%" SAL_PRIuUINT32, GetFollow()->GetFrameId() ); + +if (m_pPrecede != nullptr) +(void)xmlTextWriterWriteFormatAttribute( writer, BAD_CAST( "precede" ), "%" SAL_PRIuUINT32, m_pPrecede->GetFrame().GetFrameId() ); (void)xmlTextWriterStartElement(writer, BAD_CAST("infos")); dumpInfosAsXml(writer); diff --git a/sw/source/core/text/xmldump.cxx b/sw/source/core/text/xmldump.cxx index 29cbd4c5e911..48c893bf403c 100644 --- a/sw/source/core/text/xmldump.cxx +++ b/sw/source/core/text/xmldump.cxx @@ -312,14 +312,4 @@ void SwFlyAtContentFrame::dumpAsXmlAttributes(xmlTextWriterPtr pWriter) const } } -void SwSectionFrame::dumpAsXmlAttributes( xmlTextWriterPtr writer ) const -{ -SwFrame::dumpAsXmlAttributes( writer ); -if ( HasFollow() ) -(void)xmlTextWriterWriteFormatAttribute( writer, BAD_CAST( "follow" ), "%" SAL_PRIuUINT32, GetFollow()->GetFrameId() ); - -if (m_pPrecede != nullptr) -(void)xmlTextWriterWriteFormatAttribute( writer, BAD_CAST( "precede" ), "%" SAL_PRIuUINT32, static_cast( m_pPrecede )->GetFrameId() ); -} - /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
[Libreoffice-commits] core.git: vcl/inc vcl/win
vcl/inc/win/wincomp.hxx | 50 vcl/win/window/salframe.cxx |9 --- 2 files changed, 59 deletions(-) New commits: commit ee52f20ec727e5c296cc5d8f4c2a25f1414eb0fe Author: Mike Kaganski AuthorDate: Thu Aug 17 00:43:12 2023 +0300 Commit: Mike Kaganski CommitDate: Thu Aug 17 06:53:40 2023 +0200 Drop defines obsoleted by Windows 7 baseline I.e., those that are guarded in Windows headers by stuff like #if(_WIN32_WINNT >= 0x0600) #if(WINVER >= 0x0501) Change-Id: If9ab06663b2c9f511549823f14c8bc759a30a74c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155751 Tested-by: Jenkins Reviewed-by: Mike Kaganski diff --git a/vcl/inc/win/wincomp.hxx b/vcl/inc/win/wincomp.hxx index 6f5b0ebc4cdd..4383bc5b77cc 100644 --- a/vcl/inc/win/wincomp.hxx +++ b/vcl/inc/win/wincomp.hxx @@ -178,54 +178,4 @@ inline HINSTANCE GetWindowInstance( HWND hWnd ) #define MSH_SCROLL_LINES L"MSH_SCROLL_LINES_MSG" -#ifndef WHEEL_DELTA -#define WHEEL_DELTA 120 -#endif -#ifndef WM_MOUSEWHEEL -#define WM_MOUSEWHEEL 0x020A -#endif -#ifndef SPI_GETWHEELSCROLLLINES -#define SPI_GETWHEELSCROLLLINES 104 -#endif -#ifndef SPI_SETWHEELSCROLLLINES -#define SPI_SETWHEELSCROLLLINES 105 -#endif -#ifndef WHEEL_PAGESCROLL -#define WHEEL_PAGESCROLL(UINT_MAX) -#endif - - -// - 5.0 extensions - - -#ifndef COLOR_GRADIENTACTIVECAPTION -#define COLOR_GRADIENTACTIVECAPTION 27 -#endif -#ifndef COLOR_GRADIENTINACTIVECAPTION -#define COLOR_GRADIENTINACTIVECAPTION 28 -#endif - -#ifndef SPI_GETFLATMENU -#define SPI_GETFLATMENU 0x1022 -#endif -#ifndef COLOR_MENUBAR -#define COLOR_MENUBAR 30 -#endif -#ifndef COLOR_MENUHILIGHT -#define COLOR_MENUHILIGHT 29 -#endif - -#ifndef CS_DROPSHADOW -#define CS_DROPSHADOW 0x0002 -#endif - -// MT 12/03: From winuser.h, only needed in salframe.cxx -// Better change salframe.cxx to include winuser.h - -#define WS_EX_LAYERED 0x0008 - -#ifndef WM_UNICHAR -#define WM_UNICHAR 0x0109 -#define UNICODE_NOCHAR 0x -#endif - /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/vcl/win/window/salframe.cxx b/vcl/win/window/salframe.cxx index c7c0bdd4f328..7ebe68077ec2 100644 --- a/vcl/win/window/salframe.cxx +++ b/vcl/win/window/salframe.cxx @@ -108,15 +108,6 @@ using namespace ::com::sun::star::lang; using namespace ::com::sun::star::container; using namespace ::com::sun::star::beans; -#ifndef SPI_GETWHEELSCROLLCHARS -# define SPI_GETWHEELSCROLLCHARS 0x006C -#endif -#ifndef SPI_SETWHEELSCROLLCHARS -# define SPI_SETWHEELSCROLLCHARS 0x006D -#endif -#ifndef WM_MOUSEHWHEEL -# define WM_MOUSEHWHEEL 0x020E -#endif #ifndef IDC_PEN # define IDC_PEN MAKEINTRESOURCE(32631) #endif
Re: Getting started
> On 16 Aug 2023, at 16:23, Khaled Hosny wrote: > > > >> On 16 Aug 2023, at 5:44 PM, Chris Tapp wrote: >> >> Hi Guys, >> >> I’m supporting an organisation that is using LO to create pdfs that are used >> as inputs to a print-on-demand service, and we have identified a couple of >> issues that I would like to have a go at resolving: >> >> 1) The handling of font names differs between the Windows and MacOS builds, >> resulting in the rendering differing between the platforms; > > This is https://bugs.documentfoundation.org/show_bug.cgi?id=105298, I had a > stap at it recently on https://gerrit.libreoffice.org/c/core/+/155455, but it > is a complicated issue since macOS have no way of giving us the names we need > for windows compatibility, and if we start to read the font name ourselves > (like in the change above), more system API become useless (e.g. if we ask > for font fallback, we will get names that is different from what we now have > on our font list). > > I have some ideas to how to handle this, if you are still interested. > > Regards, > Khaled Thanks. I had tried looking to see if there were open bugs for these, but I hadn’t managed to find them. Using the Open Sans Google Font, Font Book shows 12 styles: Regular Italic Light Light Italic Medium Medium Italic Semibold Semibold Italic Bold Bold Italic ExtraBold ExtraBold Italic Within a local build (MacOS) of LO that includes your patch, I see the following Family / Typefaces: Open Sans / Regular, Bold, Italic, Bold Italic Open Sans Extra Bold / Regular, Italic Open Sans Light / Regular, Italic, Bold, Italic Open Sans Medium / Regular, Italic Open Sans Semibold / Regular, Italic Within the latest release, all 12 styles are shown as Typefaces under the “Open Sans” family - which is consistent with the identifiers shown for each font in Font Book. I am definitely interested in any ideas you have to handle this. Chris
[Libreoffice-commits] core.git: oox/inc oox/source sd/qa
oox/inc/drawingml/chart/chartspacemodel.hxx |4 ++ oox/source/drawingml/chart/chartspacefragment.cxx | 19 + oox/source/drawingml/shape.cxx| 26 ++ sd/qa/unit/data/pptx/chart_pt_color_bg1.pptx |binary sd/qa/unit/import-tests2.cxx | 31 ++ 5 files changed, 75 insertions(+), 5 deletions(-) New commits: commit 953e586dbce1c3195ecb07b2491b6e1a20a2cd7f Author: Mike Kaganski AuthorDate: Wed Aug 16 22:06:23 2023 +0300 Commit: Mike Kaganski CommitDate: Wed Aug 16 23:31:06 2023 +0200 tdf#153012: import chart's c:clrMapOvr element Otherwise, a wrong mapping could be used, e.g. from slide. Change-Id: I8b0fcebcd21ac2bab8b7f58d0c24753d2eca02c7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155748 Tested-by: Jenkins Reviewed-by: Mike Kaganski diff --git a/oox/inc/drawingml/chart/chartspacemodel.hxx b/oox/inc/drawingml/chart/chartspacemodel.hxx index 0aa564fefd7e..dda0f577ae32 100644 --- a/oox/inc/drawingml/chart/chartspacemodel.hxx +++ b/oox/inc/drawingml/chart/chartspacemodel.hxx @@ -20,6 +20,9 @@ #ifndef INCLUDED_OOX_DRAWINGML_CHART_CHARTSPACEMODEL_HXX #define INCLUDED_OOX_DRAWINGML_CHART_CHARTSPACEMODEL_HXX +#include + +#include #include #include #include @@ -46,6 +49,7 @@ struct ChartSpaceModel View3DRef mxView3D; /// 3D settings. TitleRefmxTitle;/// Chart main title. LegendRef mxLegend; /// Chart legend. +ClrMapPtr mpClrMap; /// Optionally passed color map to update OUStringmaDrawingPath; /// Path to drawing fragment with embedded shapes. OUStringmaSheetPath;/// Path to embedded charts. sal_Int32 mnDispBlanksAs; /// Mode how to display blank values. diff --git a/oox/source/drawingml/chart/chartspacefragment.cxx b/oox/source/drawingml/chart/chartspacefragment.cxx index 7f0a6cd549f9..f43908d65cb5 100644 --- a/oox/source/drawingml/chart/chartspacefragment.cxx +++ b/oox/source/drawingml/chart/chartspacefragment.cxx @@ -75,6 +75,25 @@ ContextHandlerRef ChartSpaceFragment::onCreateContext( sal_Int32 nElement, const case C_TOKEN (externalData): mrModel.maSheetPath = getFragmentPathFromRelId(rAttribs.getStringDefaulted(R_TOKEN(id))); return nullptr; +case C_TOKEN(clrMapOvr): +if (mrModel.mpClrMap) +for (auto nClrToken : { + XML_bg1, + XML_tx1, + XML_bg2, + XML_tx2, + XML_accent1, + XML_accent2, + XML_accent3, + XML_accent4, + XML_accent5, + XML_accent6, + XML_hlink, + XML_folHlink, + }) +if (auto oMappedToken = rAttribs.getToken(nClrToken)) +mrModel.mpClrMap->setColorMap(nClrToken, *oMappedToken); +return nullptr; } break; diff --git a/oox/source/drawingml/shape.cxx b/oox/source/drawingml/shape.cxx index 78a20b46861b..4f600528b56a 100644 --- a/oox/source/drawingml/shape.cxx +++ b/oox/source/drawingml/shape.cxx @@ -2190,13 +2190,24 @@ void Shape::finalizeXShape( XmlFilterBase& rFilter, const Reference< XShapes >& // in the imported chart data bool bMSO2007Doc = rFilter.isMSO2007Document(); chart::ChartSpaceModel aModel(bMSO2007Doc); +oox::ppt::PowerPointImport* pPowerPointImport += dynamic_cast(&rFilter); + +ClrMapPtr pClrMap; // The original color map +if (pPowerPointImport) +{ +// Use a copy of current color map, which the fragment may override locally +pClrMap = pPowerPointImport->getActualSlidePersist()->getClrMap(); +aModel.mpClrMap = pClrMap ? std::make_shared(*pClrMap) + : std::make_shared(); + pPowerPointImport->getActualSlidePersist()->setClrMap(aModel.mpClrMap); +} + rtl::Reference pChartSpaceFragment = new chart::ChartSpaceFragment( rFilter, mxChartShapeInfo->maFragmentPath, aModel ); const OUString aThemeOverrideFragmentPath( pChartSpaceFragment-> getFragmentPathFromFirstTypeFromOfficeDoc(u"themeOverride") ); rFilter.importFragment( pChartSpaceFragment ); -
Minutes from the UX/design meeting 2023-Aug-16
Present: John, Hossein, Heiko Comments: Eike, Justin, Bogdan Tickets/Topics * Select paragraph (quad click) causes jumping to the end + https://bugs.documentfoundation.org/show_bug.cgi?id=156369 + see also https://bugs.documentfoundation.org/show_bug.cgi?id=137603 + MSO hides the caret on selection, we show it and give feedback where it is; changing this should be done + not so many people requesting this change (John) + actually it is a frequently asked question (Heiko) + depends on the OS/DE how selection works (Notepad on Windows hides the caret likewise MSO while Kate on Linux/KDE does the same as we do, ie. show and move the caret) + advantage of showing the caret is better feedback; you see what has been selected (important when the text spawns multiple pages) + do not change this; and if do it optional (Heiko) => make this request a duplicate of 137603 and comment there * Warn when default format is changed + https://bugs.documentfoundation.org/show_bug.cgi?id=90593 + no warning when changing the default at Tools > Options > Load/Save + pointless in first place and common without (Bogdan, Justin) + saving as plain txt gives no warning but changing on SaveAs to doc it warns; MSO gives a warning for odt (for example) even when it is the default (together with a don't show again checkbox) + would expect the same as MSO for all formats but odt/fodt; the "warn when not saving..." below should become "Do want in case of alien formats" being controlled on the confirmation dialog => do so * Wrong cell attributes assumed + https://bugs.documentfoundation.org/show_bug.cgi?id=113687 + valid request but header should be taken into account (Eike) => make the format of inserted rows/cols depending on the action left/right (rather prior/after) resp. below/top * Cannot copy formula by copying cell when displaying with Show Formula + https://bugs.documentfoundation.org/show_bug.cgi?id=156357 => assigned * Option to REQUIRE pressing F2 or Enter to switch to cell edit mode and ignore any data entry attempts otherwise + https://bugs.documentfoundation.org/show_bug.cgi?id=155891 + option to disallow direct input in Calc (F2 always required) + if implemented it should be done as expert option to make it hard to find for average users (Hossein) => do it OpenPGP_signature.asc Description: OpenPGP digital signature
[Libreoffice-commits] core.git: Branch 'libreoffice-7-6' - sw/source
sw/source/core/layout/paintfrm.cxx | 28 +++- 1 file changed, 27 insertions(+), 1 deletion(-) New commits: commit cfc49650d37e2a0eb28111097d7fc8453d9cafee Author: László Németh AuthorDate: Mon Aug 14 16:40:34 2023 +0200 Commit: László Németh CommitDate: Wed Aug 16 19:41:57 2023 +0200 tdf#156782 sw tracked table column: fix missing right table border Last visible column of a table followed with hidden deleted columns hid also the right border of the table, if the inner vertical column borders drawn only by left-only borders (like in the default table style). See also commit f9898fa64bd2a575be94c309b43373de53c5331b "tdf#150308 sw: fix missing top table border after hidden table rows" Note: layout testing doesn't work, because of the missing calculation with the width of the enabled border of the row frame. Also there is a problem with metafile testing (empty meta file?). Change-Id: I5e98c6751d889f8d5a3f7f2b0b31e44149742e25 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155669 Tested-by: László Németh Reviewed-by: László Németh (cherry picked from commit f7189c63b297b8756f02be65a7050609599651af) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155704 Tested-by: Jenkins diff --git a/sw/source/core/layout/paintfrm.cxx b/sw/source/core/layout/paintfrm.cxx index 117ac8eb5e61..c9fcc98436b6 100644 --- a/sw/source/core/layout/paintfrm.cxx +++ b/sw/source/core/layout/paintfrm.cxx @@ -2828,6 +2828,29 @@ static bool lcl_IsFirstRowInFollowTableWithoutRepeatedHeadlines( && rBoxItem.GetBottom()); } +/** + * Special case: + * last visible cell of a table row followed with a hidden deleted cell, + * and the right border of the visible cell was painted by its left border + */ +static bool lcl_IsLastVisibleCellBeforeHiddenCellAtTheEndOfRow( +SwFrame const& rFrame, SvxBoxItem const& rBoxItem) +{ +SwRowFrame const*const pThisRowFrame = +dynamic_cast(rFrame.GetUpper()); +const SwCellFrame* pThisCell = static_cast(&rFrame); + +return pThisRowFrame +// last visible cell +&& !rFrame.GetNext() +// it has only left border +&& !rBoxItem.GetRight() +&& rBoxItem.GetLeft() +// last visible table cell isn't equal to the last cell: +// there are invisible deleted cells in Hide Changes mode +&& pThisRowFrame->GetTabLine()->GetTabBoxes().back() != pThisCell->GetTabBox(); +} + void SwTabFramePainter::Insert(const SwFrame& rFrame, const SvxBoxItem& rBoxItem, const SwRect& rPaintArea) { // build 4 line entries for the 4 borders: @@ -2837,6 +2860,9 @@ void SwTabFramePainter::Insert(const SwFrame& rFrame, const SvxBoxItem& rBoxItem bool const bBottomAsTop(lcl_IsFirstRowInFollowTableWithoutRepeatedHeadlines( mrTabFrame, rFrame, rBoxItem)); +bool const bLeftAsRight(lcl_IsLastVisibleCellBeforeHiddenCellAtTheEndOfRow( +rFrame, rBoxItem)); + bool const bVert = mrTabFrame.IsVertical(); bool const bR2L = mrTabFrame.IsRightToLeft(); @@ -2898,7 +2924,7 @@ void SwTabFramePainter::Insert(const SwFrame& rFrame, const SvxBoxItem& rBoxItem } SwLineEntry aRight (nRight, nTop, nBottom, bRightIsOuter, -bVert ? (bBottomAsTop ? aB : aT) : (bR2L ? aL : aR)); +bVert ? (bBottomAsTop ? aB : aT) : ((bR2L || bLeftAsRight) ? aL : aR)); if (bWordTableCell && rBoxItem.GetRight()) { aRight.LimitVerticalEndPos(rFrame, SwLineEntry::VerticalType::RIGHT);
[Libreoffice-commits] core.git: solenv/sanitizers vcl/inc vcl/source vcl/uiconfig vcl/unx
solenv/sanitizers/ui/vcl.suppr |1 vcl/inc/strings.hrc|2 + vcl/source/control/edit.cxx|2 + vcl/source/edit/vclmedit.cxx |4 ++ vcl/uiconfig/ui/editmenu.ui|1 vcl/unx/gtk3/gtkinst.cxx | 81 - 6 files changed, 65 insertions(+), 26 deletions(-) New commits: commit 930cb8440697d80df0a399d765dc85966732ddce Author: Caolán McNamara AuthorDate: Wed Aug 16 09:55:45 2023 +0100 Commit: Caolán McNamara CommitDate: Wed Aug 16 18:12:26 2023 +0200 Resolves: tdf#156751 add "Special Character..." to GtkEntry context menus translation exists so doesn't require additional translation Change-Id: Ibc5df15b9b8442307195d79c862c69e0506c4057 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155733 Tested-by: Jenkins Reviewed-by: Caolán McNamara diff --git a/solenv/sanitizers/ui/vcl.suppr b/solenv/sanitizers/ui/vcl.suppr index a07c25780a76..52e3b4d86df5 100644 --- a/solenv/sanitizers/ui/vcl.suppr +++ b/solenv/sanitizers/ui/vcl.suppr @@ -7,6 +7,7 @@ vcl/uiconfig/ui/combobox.ui://GtkEntry[@id='entry'] no-labelled-by vcl/uiconfig/ui/combobox.ui://GtkToggleButton[@id='button'] button-no-label vcl/uiconfig/ui/combobox.ui://GtkMenuButton[@id='overlaybutton'] button-no-label vcl/uiconfig/ui/cupspassworddialog.ui://GtkLabel[@id='text'] orphan-label +vcl/uiconfig/ui/editmenu.ui://GtkMenuItem[@id='specialchar'] button-no-label vcl/uiconfig/ui/menutogglebutton3.ui://GtkToggleButton[@id='togglebutton'] button-no-label vcl/uiconfig/ui/menutogglebutton3.ui://GtkButton[@id='menubutton'] button-no-label vcl/uiconfig/ui/menutogglebutton4.ui://GtkToggleButton[@id='togglebutton'] button-no-label diff --git a/vcl/inc/strings.hrc b/vcl/inc/strings.hrc index c2e95f20ceac..7f5699aae1d6 100644 --- a/vcl/inc/strings.hrc +++ b/vcl/inc/strings.hrc @@ -125,6 +125,8 @@ #define STR_UNSAVED_DOCUMENTS NC_("STR_UNSAVED_DOCUMENTS", "There are unsaved documents") +#define STR_SPECIAL_CHARACTER_MENU_ENTRY NC_("editmenu|specialchar", "_Special Character...") + #endif // INCLUDED_VCL_INC_STRINGS_HRC /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/vcl/source/control/edit.cxx b/vcl/source/control/edit.cxx index 0db27e8a315a..92c03118727c 100644 --- a/vcl/source/control/edit.cxx +++ b/vcl/source/control/edit.cxx @@ -1978,6 +1978,8 @@ void Edit::Command( const CommandEvent& rCEvt ) pPopup->EnableItem(pPopup->GetItemId(u"copy"), bEnableCopy); pPopup->EnableItem(pPopup->GetItemId(u"delete"), bEnableDelete); pPopup->EnableItem(pPopup->GetItemId(u"paste"), bEnablePaste); +pPopup->SetItemText(pPopup->GetItemId(u"specialchar"), + BuilderUtils::convertMnemonicMarkup(VclResId(STR_SPECIAL_CHARACTER_MENU_ENTRY))); pPopup->EnableItem(pPopup->GetItemId(u"specialchar"), bEnableSpecialChar); pPopup->EnableItem( pPopup->GetItemId(u"undo"), diff --git a/vcl/source/edit/vclmedit.cxx b/vcl/source/edit/vclmedit.cxx index 541d6bfc20c8..d5197358591d 100644 --- a/vcl/source/edit/vclmedit.cxx +++ b/vcl/source/edit/vclmedit.cxx @@ -41,6 +41,8 @@ #include #include #include +#include +#include class ImpVclMEdit : public SfxListener { @@ -789,6 +791,8 @@ void TextWindow::Command( const CommandEvent& rCEvt ) pPopup->EnableItem(pPopup->GetItemId(u"copy"), bEnableCopy); pPopup->EnableItem(pPopup->GetItemId(u"delete"), bEnableDelete); pPopup->EnableItem(pPopup->GetItemId(u"paste"), bEnablePaste); +pPopup->SetItemText(pPopup->GetItemId(u"specialchar"), + BuilderUtils::convertMnemonicMarkup(VclResId(STR_SPECIAL_CHARACTER_MENU_ENTRY))); pPopup->EnableItem(pPopup->GetItemId(u"specialchar"), bEnableSpecialChar); pPopup->EnableItem(pPopup->GetItemId(u"undo"), bEnableUndo); pPopup->ShowItem(pPopup->GetItemId(u"specialchar"), !vcl::GetGetSpecialCharsFunction()); diff --git a/vcl/uiconfig/ui/editmenu.ui b/vcl/uiconfig/ui/editmenu.ui index 8c025d4f1a94..e0d55fb8cca0 100644 --- a/vcl/uiconfig/ui/editmenu.ui +++ b/vcl/uiconfig/ui/editmenu.ui @@ -69,7 +69,6 @@ True False -_Special Character... True diff --git a/vcl/unx/gtk3/gtkinst.cxx b/vcl/unx/gtk3/gtkinst.cxx index 2cfd0d6b203a..141039dfb79c 100644 --- a/vcl/unx/gtk3/gtkinst.cxx +++ b/vcl/unx/gtk3/gtkinst.cxx @@ -19024,41 +19024,67 @@ void GtkInstanceDrawingArea::im_context_set_cursor_location(const tools::Rectang } #if !GTK_CHECK_VERSION(4, 0, 0) -static gboolean signalEntryInsertSpecialCharKeyPress(GtkEntry* pEntry, GdkEventKey* pEvent, gpointer) + +static void InsertSpecialChar(GtkEntry *pEntry) { -if ((pEvent->keyval == GDK_KEY_S || pEvent->keyval == GDK_KEY_s) && -(pEvent->state & GDK_MODIFIER_MASK) == static_cast(GDK_SHIFT_MASK|GDK_CONTROL_MASK)) +if (auto pImplFncGetSpecialChars = vcl::GetGetSpecial
Re: Getting started
> On 16 Aug 2023, at 5:44 PM, Chris Tapp wrote: > > Hi Guys, > > I’m supporting an organisation that is using LO to create pdfs that are used > as inputs to a print-on-demand service, and we have identified a couple of > issues that I would like to have a go at resolving: > > 1) The handling of font names differs between the Windows and MacOS builds, > resulting in the rendering differing between the platforms; This is https://bugs.documentfoundation.org/show_bug.cgi?id=105298, I had a stap at it recently on https://gerrit.libreoffice.org/c/core/+/155455, but it is a complicated issue since macOS have no way of giving us the names we need for windows compatibility, and if we start to read the font name ourselves (like in the change above), more system API become useless (e.g. if we ask for font fallback, we will get names that is different from what we now have on our font list). I have some ideas to how to handle this, if you are still interested. Regards, Khaled
Getting started
Hi Guys, I’m supporting an organisation that is using LO to create pdfs that are used as inputs to a print-on-demand service, and we have identified a couple of issues that I would like to have a go at resolving: 1) The handling of font names differs between the Windows and MacOS builds, resulting in the rendering differing between the platforms; 2) The page size reported in exported pdfs (e.g. 21.01 × 29.71 cm) is not the same as the page size within the document (e.g. 21.00 × 29.70 cm), resulting in the pdf being rejected by the POD service (which expects 21.00 × 29.70 cm). Is there an “easy” way to navigate the code and/or can anyone point me to where the functionality I need to look at is located? Any pointers would be much appreciated. Chris -- Chris Tapp opensou...@keylevel.com www.keylevel.com
ESC meeting agenda: 2023-08-17 16:00 CEST
Hi, The prototype agenda is below. Extra items are appreciated either in this document or as a reply to this mail: https://pad.documentfoundation.org/p/esc You can join using Jitsi here: https://jitsi.documentfoundation.org/esc Regards, Miklos --- * Present: + * Completed Action Items: * Pending Action Items: + Try gtk4 local builds, Qt6 local builds (Cloph) + Fix gdb pretty-printers on tb99 (Cloph) * Release Engineering update (Xisco?) + 7.6 status: 7.6.1 rc1 next week? + 7.5 status: 7.5.6 rc1 this week? * Documentation (Olivier) + Bugzilla Documentation statistics 269(269) bugs open + Updates: BZ changes 1 week1 month 3 months 12 months created 5(-10)45(0) 79(-3) 307(2) commented 15(-24) 127(-4) 239(-7)1089(5) resolved 0(-8) 21(0) 32(-5) 171(-2) + top 10 contributors: Rafael Lima made 69 changes in 1 month, and 165 changes in 1 year Stéphane Guillou made 51 changes in 1 month, and 325 changes in 1 year Olivier Hallot made 23 changes in 1 month, and 454 changes in 1 year Seth Chaiklin made 16 changes in 1 month, and 304 changes in 1 year Nabet, Julien made 11 changes in 1 month, and 31 changes in 1 year Srebotnjak, Martin made 8 changes in 1 month, and 21 changes in 1 year Wolfgang Jäger made 6 changes in 1 month, and 6 changes in 1 year *UNKNOWN* made 5 changes in 1 month, and 12 changes in 1 year Bogdan B made 4 changes in 1 month, and 225 changes in 1 year خالد حسني made 4 changes in 1 month, and 4 changes in 1 year * UX Update (Heiko) + Bugzilla (topicUI) statistics 267(267) (topicUI) bugs open, 75(75) (needsUXEval) needs to be evaluated by the UXteam + Updates: BZ changes 1 week 1 month 3 months 12 months added 4(0) 30(1) 39(2) 71(2) commented 40(2)246(-8) 566(-5)2496(29) removed 0(0) 1(0) 5(-2) 28(-1) resolved 7(2) 29(-5)75(-11)329(0) + top 10 contributors: Stéphane Guillou made 73 changes in 1 month, and 468 changes in 1 year Heiko Tietze made 69 changes in 1 month, and 1446 changes in 1 year Eyal Rozenberg made 66 changes in 1 month, and 338 changes in 1 year ady made 36 changes in 1 month, and 97 changes in 1 year Vernon, Stuart Foote made 26 changes in 1 month, and 421 changes in 1 year Dieter made 22 changes in 1 month, and 261 changes in 1 year خالد حسني made 21 changes in 1 month, and 37 changes in 1 year Roman Kuznetsov made 19 changes in 1 month, and 171 changes in 1 year Ilmari Lauhakangas made 16 changes in 1 month, and 234 changes in 1 year Justin Luth made 16 changes in 1 month, and 107 changes in 1 year * Crash Testing (Caolan) + 30(+0) import failure, 0(+0) export failures + ??? coverity issues + Google / ossfuzz: ?? fuzzers active now * Crash Reporting (Xisco) + 7.5.4.212146(+984) + 7.5.5.24220(+1552) + 7.6.0.287(+27) + 7.6.0.36(+0) * Mentoring (Hossein) committer... 1 week 1 month 3 months12 months open 64(-10) 139(4) 193(4) 219(-8) reviews 318(-102) 1318(-22) 3178(48)11154(-18) merged 222(-76)1079(2) 3365(7) 12784(11) abandoned 23(15) 49(15) 142(15) 636(11) own commits 117(-80) 715(-28) 2117(-64) 10236(-85) review commits 31(-20) 205(-27)639(-35)3058(-17) contributor... 1 week 1 month 3 months12 months open 32(14) 53(2) 76(1)95(-150) reviews 962(192) 2860(324) 7726(264) 31892(-156) merged 6(-3) 57(-32)183(-30)2564(-64) abandoned 155(153)159(152)177(153) 619(152) own commits 11(-2) 62(-17)201(-13)1063(3) review commits 0(0)0(0)0(0) 0(0) + easyHack statistics: needsDevEval 8(8) needsUXEval 1(1) cleanup_comments 329(329) total 405(405) assigned 17(17) open 360(360) + top 10 contributors: Stéphane Guillou made 10 patches in 1 month, and 29 patches in 1 year Sahil Gautam made 5 patches in 1 month, and 5 patches in 1 year Dipam Turkar made 4 patches in 1 month, and 24 patches in 1 year Venetia Furtado made 4 patches in 1 month, and 5 patches in 1 year Colomban Wendling made 3 patches in 1 month, and 21 patches in 1 year Czeber László made 3 patches in 1 month, and 17 patches in 1 year Ahmed Eltokhy made 3 patches in 1 month, and 9 patches
[Libreoffice-commits] core.git: include/sfx2 sfx2/sdi sw/sdi sw/source
include/sfx2/sfxsids.hrc |1 + sfx2/sdi/sfx.sdi | 18 ++ sw/sdi/_docsh.sdi|6 ++ sw/sdi/swriter.sdi |6 +++--- sw/source/core/access/AccessibilityCheck.cxx |8 ++-- sw/source/core/access/AccessibilityIssue.cxx | 19 +-- sw/source/core/inc/AccessibilityIssue.hxx|1 + sw/source/uibase/app/docst.cxx |4 +++- 8 files changed, 55 insertions(+), 8 deletions(-) New commits: commit b4cbf44e8d5072e79b62e6b4e3b1c2480e4a34f3 Author: Balazs Varga AuthorDate: Tue Aug 8 21:06:59 2023 +0200 Commit: Samuel Mehrbrodt CommitDate: Wed Aug 16 17:03:47 2023 +0200 tdf#156591 - A11Y - add fix button for "Style has no language set." Open style language character settings if the language is set to 'None'. Add EditStyleFont uno command for editing directly Font of paragraph styles. Change-Id: I8b7d7880cc77f7352edac089ee95b4a6d0744575 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155494 Tested-by: Jenkins Reviewed-by: Samuel Mehrbrodt diff --git a/include/sfx2/sfxsids.hrc b/include/sfx2/sfxsids.hrc index b88b778714a8..cc94d98ac664 100644 --- a/include/sfx2/sfxsids.hrc +++ b/include/sfx2/sfxsids.hrc @@ -374,6 +374,7 @@ class SvxZoomItem; #define SID_STYLE_APPLY TypedWhichId(SID_SFX_START + 552) #define SID_STYLE_FAMILY TypedWhichId(SID_SFX_START + 553) #define SID_STYLE_FAMILYNAME TypedWhichId(SID_SFX_START + 566) +#define SID_STYLE_FONT TypedWhichId(SID_SFX_START + 558) #define SID_STYLE_WATERCAN TypedWhichId(SID_SFX_START + 554) #define SID_STYLE_NEW_BY_EXAMPLE TypedWhichId(SID_SFX_START + 555) #define SID_STYLE_UPDATE_BY_EXAMPLE TypedWhichId(SID_SFX_START + 556) diff --git a/sfx2/sdi/sfx.sdi b/sfx2/sdi/sfx.sdi index 4adb0f1b94fe..6541b39e47cd 100644 --- a/sfx2/sdi/sfx.sdi +++ b/sfx2/sdi/sfx.sdi @@ -1103,6 +1103,24 @@ SfxVoidItem EditStyle SID_STYLE_EDIT ] +SfxVoidItem EditStyleFont SID_STYLE_FONT +(SfxStringItem Param SID_STYLE_FONT,SfxUInt16Item Family SID_STYLE_FAMILY) +[ +AutoUpdate = FALSE, +FastCall = FALSE, +ReadOnlyDoc = FALSE, +Toggle = FALSE, +Container = FALSE, +RecordAbsolute = FALSE, +RecordPerSet; + +AccelConfig = FALSE, +MenuConfig = FALSE, +ToolBoxConfig = FALSE, +GroupId = SfxGroupId::Template; +] + + SfxVoidItem HideStyle SID_STYLE_HIDE (SfxStringItem Param SID_STYLE_HIDE,SfxUInt16Item Family SID_STYLE_FAMILY) [ diff --git a/sw/sdi/_docsh.sdi b/sw/sdi/_docsh.sdi index 60435805d761..5a398feff6d8 100644 --- a/sw/sdi/_docsh.sdi +++ b/sw/sdi/_docsh.sdi @@ -42,6 +42,12 @@ interface BaseTextDocument StateMethod = StateStyleSheet ; ] +SID_STYLE_FONT +[ +ExecMethod = ExecStyleSheet ; +StateMethod = StateStyleSheet ; +] + SID_STYLE_DELETE [ ExecMethod = ExecStyleSheet ; diff --git a/sw/sdi/swriter.sdi b/sw/sdi/swriter.sdi index 92fc37a342a3..56b381881939 100644 --- a/sw/sdi/swriter.sdi +++ b/sw/sdi/swriter.sdi @@ -4909,9 +4909,9 @@ SfxVoidItem PageAreaDialog FN_FORMAT_PAGE_AREA_DLG RecordPerSet; Asynchron; -AccelConfig = TRUE, -MenuConfig = TRUE, -ToolBoxConfig = TRUE, +AccelConfig = FALSE, +MenuConfig = FALSE, +ToolBoxConfig = FALSE, GroupId = SfxGroupId::Format; ] diff --git a/sw/source/core/access/AccessibilityCheck.cxx b/sw/source/core/access/AccessibilityCheck.cxx index c73de2bccfc6..1022337e73b7 100644 --- a/sw/source/core/access/AccessibilityCheck.cxx +++ b/sw/source/core/access/AccessibilityCheck.cxx @@ -1374,8 +1374,12 @@ public: OUString sName = pTextFormatCollection->GetName(); OUString sIssueText = SwResId(STR_STYLE_NO_LANGUAGE).replaceAll("%STYLE_NAME%", sName); -lclAddIssue(m_rIssueCollection, sIssueText, -sfx::AccessibilityIssueID::STYLE_LANGUAGE); + +auto pIssue = lclAddIssue(m_rIssueCollection, sIssueText, + sfx::AccessibilityIssueID::STYLE_LANGUAGE); +pIssue->setIssueObject(IssueObject::LANGUAGE_NOT_SET); +pIssue->setObjectID(sName); +pIssue->setDoc(*pDoc); } } } diff --git a/sw/source/core/access/AccessibilityIssue.cxx b/sw/source/core/access/AccessibilityIssue.cxx index 6810cc05cdfc..5c1744ad 100644 --- a/sw/source/core/access/AccessibilityIssue.cxx +++ b/sw/source/core/access/AccessibilityIssue.cxx @@ -51,7 +51,8 @@ bool AccessibilityIssue::canGotoIssue() const { if (m_pDoc && m_eIssueObject != IssueObject::UNKNOWN && m_eIssueObject != IssueObject::DOCUMENT_TITLE -&& m_eIss
[Libreoffice-commits] core.git: 2 commits - include/sfx2 sw/inc sw/source
include/sfx2/tabdlg.hxx|1 sw/inc/swabstdlg.hxx | 12 +++-- sw/source/ui/dialog/swdlgfact.cxx | 47 ++--- sw/source/ui/dialog/swdlgfact.hxx | 24 +- sw/source/ui/misc/num.cxx |4 +-- sw/source/uibase/inc/num.hxx |2 - sw/source/uibase/shells/txtnum.cxx |6 ++-- 7 files changed, 83 insertions(+), 13 deletions(-) New commits: commit c2164850f20d9342db94faa84c78fbb5b976552e Author: Caolán McNamara AuthorDate: Wed Aug 16 12:43:47 2023 +0100 Commit: Caolán McNamara CommitDate: Wed Aug 16 16:30:02 2023 +0200 cid#1539911 Big parameter passed by value Change-Id: I761fb02d80a224a4b170bb287169da923a003d99 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155736 Tested-by: Jenkins Reviewed-by: Caolán McNamara diff --git a/include/sfx2/tabdlg.hxx b/include/sfx2/tabdlg.hxx index bde7dee39660..f43df12970cc 100644 --- a/include/sfx2/tabdlg.hxx +++ b/include/sfx2/tabdlg.hxx @@ -141,6 +141,7 @@ public: const WhichRangesContainer& GetInputRanges( const SfxItemPool& ); voidSetInputSet( const SfxItemSet* pInSet ); const SfxItemSet* GetOutputItemSet() const { return m_pOutSet.get(); } +const SfxItemSet* GetInputItemSet() const { return m_pSet.get(); } virtual weld::Button& GetOKButton() const override { return *m_xOKBtn; } weld::Button& GetCancelButton() const { return *m_xCancelBtn; } diff --git a/sw/inc/swabstdlg.hxx b/sw/inc/swabstdlg.hxx index c6f38756a265..a9ceb855b337 100644 --- a/sw/inc/swabstdlg.hxx +++ b/sw/inc/swabstdlg.hxx @@ -339,6 +339,14 @@ public: virtual std::shared_ptr GetController() = 0; }; +class AbstractNumBulletDialog : public SfxAbstractTabDialog +{ +protected: +virtual ~AbstractNumBulletDialog() override = default; +public: +virtual const SfxItemSet* GetInputItemSet() const = 0; +}; + /** * Interface for e.g. the insert -> bookmark -> rename dialog. It's implemented by * AbstractSwRenameXNamedDlg_Impl, but SwInsertBookmarkDlg only knows about this interface and the @@ -531,7 +539,7 @@ public: virtual VclPtr CreateOutlineTabDialog(weld::Window* pParent, const SfxItemSet* pSwItemSet, SwWrtShell &) = 0; -virtual VclPtr CreateSvxNumBulletTabDialog(weld::Window* pParent, +virtual VclPtr CreateSvxNumBulletTabDialog(weld::Window* pParent, const SfxItemSet& rSwItemSet, SwWrtShell &) = 0; virtual VclPtr CreateMultiTOXTabDialog( diff --git a/sw/source/ui/dialog/swdlgfact.cxx b/sw/source/ui/dialog/swdlgfact.cxx index b75d4a39bd0a..960852fe3a44 100644 --- a/sw/source/ui/dialog/swdlgfact.cxx +++ b/sw/source/ui/dialog/swdlgfact.cxx @@ -187,6 +187,11 @@ short AbstractTabController_Impl::Execute() return m_xDlg->run(); } +short AbstractNumBulletDialog_Impl::Execute() +{ +return m_xDlg->run(); +} + short AbstractSwConvertTableDlg_Impl::Execute() { return m_xDlg->run(); @@ -353,6 +358,42 @@ void AbstractTabController_Impl::SetText( const OUString& rStr ) m_xDlg->set_title(rStr); } +void AbstractNumBulletDialog_Impl::SetCurPageId( const OUString &rName ) +{ +m_xDlg->SetCurPageId( rName ); +} + +const SfxItemSet* AbstractNumBulletDialog_Impl::GetOutputItemSet() const +{ +return m_xDlg->GetOutputItemSet(); +} + +const SfxItemSet* AbstractNumBulletDialog_Impl::GetInputItemSet() const +{ +return m_xDlg->GetInputItemSet(); +} + +WhichRangesContainer AbstractNumBulletDialog_Impl::GetInputRanges(const SfxItemPool& pItem ) +{ +return m_xDlg->GetInputRanges( pItem ); +} + +void AbstractNumBulletDialog_Impl::SetInputSet( const SfxItemSet* pInSet ) +{ + m_xDlg->SetInputSet( pInSet ); +} + +bool AbstractNumBulletDialog_Impl::StartExecuteAsync(AsyncContext &rCtx) +{ +return SfxTabDialogController::runAsync(m_xDlg, rCtx.maEndDialogFn); +} + +//From class Window. +void AbstractNumBulletDialog_Impl::SetText( const OUString& rStr ) +{ +m_xDlg->set_title(rStr); +} + IMPL_LINK_NOARG(AbstractApplyTabController_Impl, ApplyHdl, weld::Button&, void) { if (m_xDlg->Apply()) @@ -1213,11 +1254,11 @@ VclPtr SwAbstractDialogFactory_Impl::CreateMultiTOXMarkDlg(we return VclPtr::Create(std::make_unique(pParent, rTOXMgr)); } -VclPtr SwAbstractDialogFactory_Impl::CreateSvxNumBulletTabDialog(weld::Window* pParent, +VclPtr SwAbstractDialogFactory_Impl::CreateSvxNumBulletTabDialog(weld::Window* pParent, const SfxItemSet& rSwItemSet, SwWrtShell & rWrtSh) { -return VclPtr::Create(std::make_shared(pParent, rSwItemSet, rWrtSh)); +return VclPtr::Create(std::make_shared(pParent, rSwItemSet, rWrtSh)); } VclPtr
[Libreoffice-commits] core.git: canvas/source
canvas/source/vcl/canvashelper_texturefill.cxx | 54 + 1 file changed, 20 insertions(+), 34 deletions(-) New commits: commit f6cae6f1b661baafe8a1ac4655765ec49d56317d Author: Patrick Luby AuthorDate: Tue Aug 15 20:00:57 2023 -0400 Commit: Patrick Luby CommitDate: Wed Aug 16 13:47:31 2023 +0200 tdf#144073 and tdf#147645: use bounds and angle for gradient Passing an expanded, rotated polygon noticeably modifies the drawing of the gradient in a slideshow due to moving of the starting and ending colors far off the edges of the drawing surface. So try another way and set the angle of the gradient and draw only the unadjusted bounds. Change-Id: I95441dfa3215396d5bc7edfa9f985335480b37de Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155729 Tested-by: Jenkins Reviewed-by: Patrick Luby diff --git a/canvas/source/vcl/canvashelper_texturefill.cxx b/canvas/source/vcl/canvashelper_texturefill.cxx index 13778b990b61..5e9399f56841 100644 --- a/canvas/source/vcl/canvashelper_texturefill.cxx +++ b/canvas/source/vcl/canvashelper_texturefill.cxx @@ -154,24 +154,17 @@ namespace vclcanvas // 2 colors and 2 stops (at 0 and 1) is a linear gradient: if( rColors.size() == 2 && rValues.maStops.size() == 2 && rValues.maStops[0] == 0 && rValues.maStops[1] == 1) { -// tdf#144073: Note that the code below adjusts the gradient area this way. -// No, I have no idea why. -aLeftTop -= 2.0*nDiagonalLength*aDirection; -aLeftBottom -= 2.0*nDiagonalLength*aDirection; -aRightTop += 2.0*nDiagonalLength*aDirection; -aRightBottom += 2.0*nDiagonalLength*aDirection; +// tdf#144073 and tdf#147645: use bounds and angle for gradient +// Passing an expanded, rotated polygon noticeably modifies the +// drawing of the gradient in a slideshow due to moving of the +// starting and ending colors far off the edges of the drawing +// surface. So try another way and set the angle of the +// gradient and draw only the unadjusted bounds. Gradient vclGradient( css::awt::GradientStyle_LINEAR, rColors[ 0 ], rColors[ 1 ] ); -::tools::Polygon aTempPoly( static_cast(5) ); -aTempPoly[0] = ::Point( ::basegfx::fround( aLeftTop.getX() ), -::basegfx::fround( aLeftTop.getY() ) ); -aTempPoly[1] = ::Point( ::basegfx::fround( aRightTop.getX() ), -::basegfx::fround( aRightTop.getY() ) ); -aTempPoly[2] = ::Point( ::basegfx::fround( aRightBottom.getX() ), -::basegfx::fround( aRightBottom.getY() ) ); -aTempPoly[3] = ::Point( ::basegfx::fround( aLeftBottom.getX() ), -::basegfx::fround( aLeftBottom.getY() ) ); -aTempPoly[4] = aTempPoly[0]; -rOutDev.DrawGradient( ::tools::PolyPolygon(aTempPoly), vclGradient ); +double fRotate = atan2( aDirection.getY(), aDirection.getX() ); +const double nAngleInTenthOfDegrees = 3600.0 - basegfx::rad2deg<10>( fRotate ) + 900.0; +vclGradient.SetAngle( Degree10( ::basegfx::fround( nAngleInTenthOfDegrees ) ) ); +rOutDev.DrawGradient( rBounds, vclGradient ); return; } // 3 colors with first and last being equal and 3 stops (at 0, 0.5 and 1) is an axial gradient: @@ -179,24 +172,17 @@ namespace vclcanvas && rValues.maStops.size() == 3 && rValues.maStops[0] == 0 && rValues.maStops[1] == 0.5 && rValues.maStops[2] == 1) { -// tdf#144073: Note that the code below adjusts the gradient area this way. -// No, I have no idea why. -aLeftTop -= 2.0*nDiagonalLength*aDirection; -aLeftBottom -= 2.0*nDiagonalLength*aDirection; -aRightTop += 2.0*nDiagonalLength*aDirection; -aRightBottom += 2.0*nDiagonalLength*aDirection; +// tdf#144073 and tdf#147645: use bounds and angle for gradient +// Passing an expanded, rotated polygon noticeably modifies the +// drawing of the gradient in a slideshow due to moving of the +// starting and ending colors far off the edges of the drawing +// surface. So try another way and set the angle of the +// gradient and draw only the unadjusted bounds. Gradient vclGradient( css::awt::GradientStyle_AXIAL, rColors[ 1 ], rColors[ 0 ] ); -::tools::Polygon aTempPoly( static_cast(5) ); -aTempPoly[0] = ::Point( ::basegfx::fround( aLeftTop.getX()
[Libreoffice-commits] core.git: Branch 'libreoffice-7-6' - include/tools sc/source tools/qa tools/source
include/tools/duration.hxx | 30 ++- sc/source/core/tool/interpr5.cxx | 22 +++- tools/qa/cppunit/test_duration.cxx | 78 + tools/source/datetime/duration.cxx | 97 - tools/source/datetime/ttime.cxx| 12 5 files changed, 221 insertions(+), 18 deletions(-) New commits: commit c17641839855ba88b1c071c4f5e4533725ff2dbb Author: Eike Rathke AuthorDate: Mon Aug 7 16:37:26 2023 +0200 Commit: Adolfo Jayme Barrientos CommitDate: Wed Aug 16 13:13:14 2023 +0200 Resolves: tdf#127334 Backport tools::Duration ScInterpreter::CalculateAddSub() All tools::Duration implementation for completeness. This is a combination of 5 (+2 typo) commits. Introduce tools::Duration(sal_Int32 nDays, const Time& rTime) ctor xChange-Id: If002e04536149b49b2249103ac914d17dec3fae6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/153409 Reviewed-by: Eike Rathke Tested-by: Jenkins (cherry picked from commit 986c2d86a7b53a6599d014db7327f47cb33d4fea) Introduce tools::Duration individual time values ctor xChange-Id: I516d3727cbcf6667b32dc963febbf4b753ef6a91 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/153497 Reviewed-by: Eike Rathke Tested-by: Jenkins (cherry picked from commit c968d8989004301b49d67a093a6eb8a629533837) Clamp and assert maximum hours value in Time::init() xChange-Id: Ia777222f3c797b90663b55499a57025e410b1d70 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/153407 Reviewed-by: Eike Rathke Tested-by: Jenkins (cherry picked from commit b07d72c6c1075efa6b64c67758566426c22c5225) Use tools::Duration in ScInterpreter::CalculateAddSub() ... for all (date+)time inflicted operands. xChange-Id: I93043d912867e2ef7d4af271b5c4566a3ffb4ef9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/153291 Reviewed-by: Eike Rathke Tested-by: Jenkins (cherry picked from commit 174a72f3fd50d1146d6bedd4cc2a1971aa33be67) Resolves: tdf#127334 Increase tools::Duration accuracy epsilon unsharpness ... when converting from double, i.e. to 300 nanoseconds. Empirically determined.. xChange-Id: I92c43b5f244923363af5d44bece9c155126ca343 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155324 Reviewed-by: Eike Rathke Tested-by: Jenkins (cherry picked from commit 46e672db8002e7aaac881bee65b5c50c4e14c666) Change-Id: I92c43b5f244923363af5d44bece9c155126ca343 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155427 Tested-by: Jenkins Reviewed-by: Adolfo Jayme Barrientos diff --git a/include/tools/duration.hxx b/include/tools/duration.hxx index 83b9d12a77b3..9fae80d1d7c9 100644 --- a/include/tools/duration.hxx +++ b/include/tools/duration.hxx @@ -31,8 +31,30 @@ public: minutes and seconds values here though. */ Duration(const Time& rStart, const Time& rEnd); -/** Difference in days, like DateTime()-DateTime(). */ -explicit Duration(double fTimeInDays); +/** Difference in days, like DateTime()-DateTime(). + +@param nAccuracyEpsilonNanoseconds +Round for example by 1 nanosecond if it's just 1 off to a +second, i.e. 09 or 01. This can be loosened if +necessary. For example, if fTimeInDays is a date+time in +"today's" range with a significant seconds resolution, an +accuracy epsilon (=unsharpness) of ~300 is required. Hence default. +Must be 0 <= nAccuracyEpsilonNanoseconds <= Time::nanoSecPerSec - 1. + */ +explicit Duration(double fTimeInDays, sal_uInt64 nAccuracyEpsilonNanoseconds = 300); + +/** Time can be a limited duration as well and can have out-of-range +values, it will be normalized. Sign of both days and Time must be equal +unless one is 0. */ +Duration(sal_Int32 nDays, const Time& rTime); + +/** Individual time values can be out-of-range, all will be normalized. +Additionally, the resulting time overall hour value is not restricted +to sal_uInt16 like it is with Time, as values >=24 flow over into days. +For a negative duration only a negative nDays can be given, thus a +negative duration of less than one day is not possible. */ +Duration(sal_Int32 nDays, sal_uInt32 nHours, sal_uInt32 nMinutes, sal_uInt32 nSeconds, + sal_uInt64 nNanoseconds); bool IsNegative() const { return mnDays < 0 || maTime.GetTime() < 0; } sal_Int32 GetDays() const { return mnDays; } @@ -55,6 +77,10 @@ private: /** Internal days and Time values. */ Duration(sal_Int32 nDays, sal_Int64 nTime); +/** Prerequisite: mnDays is already set. */ +void Normalize(sal_uInt64 nHours, sal_uInt64 nMinutes, sal_uInt64 nSeconds, + sal_uInt64 nNanosecon
[Libreoffice-commits] core.git: filter/qa
filter/qa/pdf.cxx | 10 -- 1 file changed, 8 insertions(+), 2 deletions(-) New commits: commit d9f2193b72f6bd9e5f551c12331a5e547c3ac557 Author: Mike Kaganski AuthorDate: Wed Aug 16 08:59:52 2023 +0300 Commit: Mike Kaganski CommitDate: Wed Aug 16 13:10:49 2023 +0200 Fix a DPI-dependent test Change-Id: I228b927c4daac3a4da0819e490a9963b514b4c16 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155731 Tested-by: Jenkins Reviewed-by: Mike Kaganski diff --git a/filter/qa/pdf.cxx b/filter/qa/pdf.cxx index cc83f59e1652..9965114cadd2 100644 --- a/filter/qa/pdf.cxx +++ b/filter/qa/pdf.cxx @@ -172,8 +172,14 @@ void Test::doTestCommentsInMargin(bool commentsInMarginEnabled) std::unique_ptr pPdfDocument = pPDFium->openDocument(aStream.GetData(), aStream.GetSize(), OString()); CPPUNIT_ASSERT(pPdfDocument); -CPPUNIT_ASSERT_EQUAL(commentsInMarginEnabled ? 9 : 1, - pPdfDocument->openPage(0)->getObjectCount()); +if (commentsInMarginEnabled) +{ +// Unfortunately, the comment box is DPI dependent, and the lines there may split +// at higher DPIs, creating additional objects on import, hence the "_GREATER" +CPPUNIT_ASSERT_GREATER(8, pPdfDocument->openPage(0)->getObjectCount()); +} +else +CPPUNIT_ASSERT_EQUAL(1, pPdfDocument->openPage(0)->getObjectCount()); } CPPUNIT_TEST_FIXTURE(Test, testCommentsInMargin)
[Libreoffice-commits] core.git: Branch 'libreoffice-7-6' - sfx2/source
sfx2/source/sidebar/FocusManager.cxx |7 +++ 1 file changed, 7 insertions(+) New commits: commit ef4ac09618a859d7399c9b27030228745a5f Author: Jim Raykowski AuthorDate: Thu Aug 3 21:26:44 2023 -0800 Commit: Adolfo Jayme Barrientos CommitDate: Wed Aug 16 13:03:37 2023 +0200 tdf#156557 Sidebar: Make Shift+Tab kb navigation behave as expected This patch makes Shift+Tab change keyboard focus to the last panel control of the previous panel when focus is currently on a panel title. It also makes Shift+Tab change keyboard focus to the Tabbar hamburger menu when focus is currently on the "Close Sidebar Deck" button. Change-Id: I3ff849655afc4f01dba2268055292eee573adf43 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155333 Tested-by: Jenkins Reviewed-by: Michael Weghorn (cherry picked from commit e2db54b9bf48b79802154d5fc9460fc432ea69a0) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155396 Reviewed-by: Adolfo Jayme Barrientos diff --git a/sfx2/source/sidebar/FocusManager.cxx b/sfx2/source/sidebar/FocusManager.cxx index d0c38461b9ae..b77d30a75ba3 100644 --- a/sfx2/source/sidebar/FocusManager.cxx +++ b/sfx2/source/sidebar/FocusManager.cxx @@ -297,6 +297,11 @@ bool FocusManager::MoveFocusInsideDeckTitle ( FocusPanelContent(0); bConsumed = true; } +else if (nDirection < 0) +{ +FocusButton(0); +bConsumed = true; +} break; default: break; @@ -369,6 +374,8 @@ bool FocusManager::HandleKeyEvent( { case PC_PanelTitle: case PC_PanelToolBox: +if (rKeyCode.IsShift()) +break; MoveFocusInsidePanel(aLocation, nDirection); bConsumed = true; break;
[Libreoffice-commits] core.git: sc/source
sc/source/ui/view/tabview3.cxx | 39 --- 1 file changed, 20 insertions(+), 19 deletions(-) New commits: commit 552170c9c8ad6d215aa456ba9d622af01c25d275 Author: Denis Sorotnik AuthorDate: Tue Aug 8 15:19:17 2023 +0600 Commit: Ilmari Lauhakangas CommitDate: Wed Aug 16 12:47:50 2023 +0200 tdf#156311 Cycling through tabs in Calc Change-Id: Ieadae5dea642b27a2c91fd8c34049dc5a79bdf6d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155449 Tested-by: Jenkins Reviewed-by: Heiko Tietze diff --git a/sc/source/ui/view/tabview3.cxx b/sc/source/ui/view/tabview3.cxx index bb0c4701387d..03a15b4437d9 100644 --- a/sc/source/ui/view/tabview3.cxx +++ b/sc/source/ui/view/tabview3.cxx @@ -1779,33 +1779,34 @@ void ScTabView::SelectNextTab( short nDir, bool bExtendSelection ) ScDocument& rDoc = aViewData.GetDocument(); SCTAB nTab = aViewData.GetTabNo(); -if (nDir<0) +SCTAB nNextTab = nTab; +if (nDir < 0) { -if (!nTab) -return; ---nTab; -while (!rDoc.IsVisible(nTab)) +do { -if (!nTab) -return; ---nTab; -} +--nNextTab; +if (nNextTab < 0) +nNextTab = rDoc.GetTableCount(); +if (rDoc.IsVisible(nNextTab)) +break; +} while (nNextTab != nTab); } -else +if (nDir > 0) { SCTAB nCount = rDoc.GetTableCount(); -++nTab; -if (nTab >= nCount) -return; -while (!rDoc.IsVisible(nTab)) +do { -++nTab; -if (nTab >= nCount) -return; -} +++nNextTab; +if (nNextTab >= nCount) +nNextTab = 0; +if (rDoc.IsVisible(nNextTab)) +break; +} while (nNextTab != nTab); } +if (nNextTab == nTab) +return; -SetTabNo( nTab, false, bExtendSelection ); +SetTabNo(nNextTab, false, bExtendSelection); PaintExtras(); }
Denis Sorotnik license statement
All of my past & future contributions to LibreOffice may be licensed under the MPLv2/LGPLv3+ dual license.
[Libreoffice-commits] core.git: svgio/inc svgio/source
svgio/inc/svgtspannode.hxx |2 +- svgio/source/svgreader/svgcharacternode.cxx |4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) New commits: commit 8da4e517266e74d8b0e2cda02416263d8dd6f6bd Author: Xisco Fauli AuthorDate: Wed Aug 16 11:16:21 2023 +0200 Commit: Xisco Fauli CommitDate: Wed Aug 16 12:22:13 2023 +0200 svgio: fix typo in code Change-Id: Ice8e830cebf307b6a4deb9dbbd26e65b34420a31 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155734 Tested-by: Jenkins Reviewed-by: Xisco Fauli diff --git a/svgio/inc/svgtspannode.hxx b/svgio/inc/svgtspannode.hxx index 991b0ac451f6..d5aa40471d28 100644 --- a/svgio/inc/svgtspannode.hxx +++ b/svgio/inc/svgtspannode.hxx @@ -84,7 +84,7 @@ namespace svgio::svgreader void setLengthAdjust(bool bNew) { mbLengthAdjust = bNew; } void concatenateTextLineWidth(double nWidth) {mnTextLineWidth += nWidth;} -double getTextLineWith() const { return mnTextLineWidth; } +double getTextLineWidth() const { return mnTextLineWidth; } }; } // end of namespace svgio::svgreader diff --git a/svgio/source/svgreader/svgcharacternode.cxx b/svgio/source/svgreader/svgcharacternode.cxx index 91ec98ae9b68..9b9e87d23dca 100644 --- a/svgio/source/svgreader/svgcharacternode.cxx +++ b/svgio/source/svgreader/svgcharacternode.cxx @@ -261,12 +261,12 @@ namespace svgio::svgreader { case TextAlign::right: { -aPosition.setX(aPosition.getX() - mpParentLine->getTextLineWith()); +aPosition.setX(aPosition.getX() - mpParentLine->getTextLineWidth()); break; } case TextAlign::center: { -aPosition.setX(aPosition.getX() - (mpParentLine->getTextLineWith() * 0.5)); +aPosition.setX(aPosition.getX() - (mpParentLine->getTextLineWidth() * 0.5)); break; } case TextAlign::notset:
[Libreoffice-commits] core.git: Branch 'libreoffice-7-5' - configure.ac
configure.ac |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) New commits: commit f847a74a2ceffe3938736cb5ee88f81b2160a6b7 Author: Xisco Fauli AuthorDate: Wed Aug 16 12:18:01 2023 +0200 Commit: Xisco Fauli CommitDate: Wed Aug 16 12:18:01 2023 +0200 bump product version to 7.5.7.0.0+ Change-Id: I2c813a58731bd83fb6f98c8158b7af651503db87 diff --git a/configure.ac b/configure.ac index 9a4b4d5fb382..dfcdfd7bd59e 100644 --- a/configure.ac +++ b/configure.ac @@ -9,7 +9,7 @@ dnl in order to create a configure script. # several non-alphanumeric characters, those are split off and used only for the # ABOUTBOXPRODUCTVERSIONSUFFIX in openoffice.lst. Why that is necessary, no idea. -AC_INIT([LibreOffice],[7.5.6.1.0+],[],[],[http://documentfoundation.org/]) +AC_INIT([LibreOffice],[7.5.7.0.0+],[],[],[http://documentfoundation.org/]) dnl libnumbertext needs autoconf 2.68, but that can pick up autoconf268 just fine if it is installed dnl whereas aclocal (as run by autogen.sh) insists on using autoconf and fails hard
[Libreoffice-commits] translations.git: Changes to 'refs/tags/libreoffice-7.5.6.1'
Tag 'libreoffice-7.5.6.1' created by Xisco Fauli at 2023-08-16 10:12 + Tag libreoffice-7.5.6.1 -BEGIN PGP SIGNATURE- iQIzBAABCgAdFiEEwoOeytlAj76VMcPp9DSh76/urqMFAmTcoQcACgkQ9DSh76/u rqMgqRAAvNVX1lGvvFtDuQV8z5Zv8PkPpzJOi0wfv/6hor64I6/6Iy3TD/LT+rrv wfZ24ie7tVjcSnZckU9+G4xekdEuhbGDFT+7zDAHBpWXCLjk68lL94+FpN72mUxN nP3AiY+PrBIif5dtYICfeVuxjp7MWLaihJMIlQ6lK/VcdYomPBV0TxFpHhoLTU5N tz4M1B8lnXCQF6IXs/Ptwv9vrCXRPikYnVYkmf7s4Xzzt8/3K6mgxMBjk0EcpNE3 YOKJ41Ar1vch0KXRNFoGKGeU1aodDgU/NY6Ei5w9p4rpXY5+QlP4bdYPpJdS8e9Z Pp4/de3D40ipAAiB73V0jxtgcyGAZuV4EtZ8lKwe30LCChxsJQCArsEKMVsjWyww tLHKKDfFXB+MrwlL8zWbg9yvDtizA6vKpM2+4+8SSXxhSc3DP637BbCw8fArtbsr nf7NwmjNDIvNc4F/if2LUzXov+fVRvCHAkHx0PiukYarWeI8AY1ShKEhcXjrLm7p ZkZBA01JLz2t2AQpgFPZZUr948q6utUzAzbP77DyND7vxvxDx2j9bFpcUyV+AjSq 368p3s3X5Qt7nX2dLvqIm1lSpW5mEPsRT0ARoOynAlu5VJLJiLntNLntpqpItGsJ WxJTSJfMpB01IpEV5mbpNcwmgaPzN9PKL0N3Q0LUf/p+QIU+tIQ= =QUIc -END PGP SIGNATURE- Changes since co-23.05.2-3-1: --- 0 files changed ---
[Libreoffice-commits] help.git: Changes to 'refs/tags/libreoffice-7.5.6.1'
Tag 'libreoffice-7.5.6.1' created by Xisco Fauli at 2023-08-16 10:12 + Tag libreoffice-7.5.6.1 -BEGIN PGP SIGNATURE- iQIzBAABCgAdFiEEwoOeytlAj76VMcPp9DSh76/urqMFAmTcoQYACgkQ9DSh76/u rqOU+xAAki4832+cm9Om346hwQ7cKZc3+eWVZ+O2vF6oXqXheP/uCxn5HjiV9729 K2EiMJRBEBj7fNi/5ddZ8cyNNC69gEm6Ixf7UCnjYGB0bSBNCjXXzoNDygCrA0ax cqaKOTpOcspMxtDaefaq0gc63gArc1bzwEwLqlZaAuxJMMy1Spk+MKVA4adWoG+M /VgK5kG1BZoX0VlE8FhOSRIYhwvhTctuxDXTTIvtkrSWkSytdZ9S6FvJVRX+K0Yy GR29cNBO0EWvv8jh2KWICSbP2a3HQd9Yb0bkF7nRW1acmuaTZCahKx1u4rycoC88 9zsikuPBhU4FparmafGs+WEysTwRfDksOj5dt6HAWjjbHXpHlj5LXTOd49dw+4je FgMT2KNb6irhTN1Ia+AXuUUBiOKdtgXORH6Hl2PKcio14ODoqR6ljt5o1+uQCNOr IDeSlibICFpsDhvsICoKrR857gMXq9cMLNg+3OtoKMIMCeS8GwM6wQAyfS5QGEBi TWs39NPu8Q1xV1yHSD5wo6x9jRqIamgKMS2XWqM2HqYXwdLt/jWwJKed2Not5mhH ZBBPPqJxZABhvg5VvmT1kBz91yLny6TyM/nRoKGAogqe6F3LgRIyS0KKY/3kr+Le wN9KRq/lpxKo6woItDS8Bzc+DRHxux/UjJV1o0CbHK/PtnlUoVE= =Xdqa -END PGP SIGNATURE- Changes since co-23.05-branch-point-5: --- 0 files changed ---
[Libreoffice-commits] dictionaries.git: Changes to 'refs/tags/libreoffice-7.5.6.1'
Tag 'libreoffice-7.5.6.1' created by Xisco Fauli at 2023-08-16 10:12 + Tag libreoffice-7.5.6.1 -BEGIN PGP SIGNATURE- iQIzBAABCgAdFiEEwoOeytlAj76VMcPp9DSh76/urqMFAmTcoQUACgkQ9DSh76/u rqNZgRAAyROTBoqjthf3H8QScqWf5UUgoKQRr2qwOQBvmDDj08sNHxFWwMYQzHPl 5UqbUP+XXJcAsL/8tPKOCz6KmPMV4+d/AYpIk5JMmE1Yoe1dZ9e/cO2wVeg15p4e bIhSTW5llWVq6CQ32rE7ivH9aCocVCg7dV3v7Uf+strOXc46+tuQFQ6GsMeNnJQm Aua2HInnk4bn11OSpruqho31K1eE65lft2e353AYT4CdJrO7BQqMVC/hyxMNNUPi 1nvZ5eGgsUrGWMC7aHZXchnf8+jap4Me4kjvZ7HLYNwEmheUyLfJSvRQEmTmQfTT HCYAnRA1Njovx8yOvPS+hG+MtY4EGA2vyT6MgjmwrYw3EXlKmvLCxwE1+iJ85XwS 5dOSdRAdra9KWtXDCR/OVcUvRVfvFd3kNRnG5nUwMC61jJ5Jwuy7xN5rHLO/M9Gf v/e2vMOEJ1s/plcUBzQSgBcWHEIyYtZkWVEjhW44s+0Tt4h6bV0CowijC7XQRedI 3dbuH8nsTExOUWh0XCk/90fYnJNs5F+o/ZhYrCOqZPcd1EYe+XxeuzUE9nBmn8r5 YQgnoipIaLma5eelREc/37pGBF2kfzwpjBco516JoqvJzKUWiKQGomM/esdR+Xs5 If9+EJ3is43Rtong4ywSg2VfILesNFO6VjuKwWaD2Xx+S/h67Mw= =Iv60 -END PGP SIGNATURE- Changes since co-23.05-branch-point: Xisco Fauli (1): Version 7.5.6.1, tag libreoffice-7.5.6.1 --- 0 files changed ---
[Libreoffice-commits] core.git: Changes to 'refs/tags/libreoffice-7.5.6.1'
Tag 'libreoffice-7.5.6.1' created by Xisco Fauli at 2023-08-16 10:12 + Tag libreoffice-7.5.6.1 -BEGIN PGP SIGNATURE- iQIzBAABCgAdFiEEwoOeytlAj76VMcPp9DSh76/urqMFAmTcoQcACgkQ9DSh76/u rqOV8Q//ZQX5CJ59EeNfF8Ktkeqvhp2MttowbrQZ651CzU0snPJz1WULuSOgxXFD ygtr9QKQ8zPmsaoAe9BogI+2t4pa6pXLYB1cfU4b1Nhhp4I13W4roCJ6bLW5uJ55 rUtSoCJmmWzEhzQ6uL9gJMox1f4GlvSFVvwlOjNdeQnACw+etAW/zHJf8x346f36 R7oUVCgIC8pvv2rCfwLDCzy5UZZCtYuJsnWEICspE8t1dHZUv+koUNzmv6mhrZEL 6oAPhWk+ONH5dtfMOqYWi0DJ9pSJM0+0u8Bs7DUFBiQDq1YliovEGGT9VjaAmBtY MDlffACkMjF+bf0PuLsTcHN7ve1KY0UeiFsiXfusC/6jJsxhxreHCctcIDz5Imzm fH4XTbqK8jJQFMfeKY/ryh0Fxew12yMSwku8VE7of3TMQ6XIH7RyTB8MH0228YSd kQCb1AVx7E/xCJWWxYKJzOOheVPnRZy8g1/KAB/ZSAvWrBG6/IaqGtfwPMZYBdtz 3HOSFtW1lnXDZhWj7wQiRyqd+fJ7XHRFdsLDUKZrq6/oKOZ7PPobrHtbqUA/q5IL Sfbksh6NeTEuMnObFdRjq72N3YJWjQ7cAKC7OFHPX62485drqbYJ29XlYPVvUVwS xOx1BANf9t8o6vwuNXMe/6VFEINJEo+O7gB8pjy9F4h/hsjKHzA= =f+8v -END PGP SIGNATURE- Changes since co-23.05-branch-point-802: --- 0 files changed ---
[Libreoffice-commits] core.git: Branch 'libreoffice-7-5-6' - configure.ac
configure.ac |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) New commits: commit ac640194c67c87bb1105063a558cc42b6faf6521 Author: Xisco Fauli AuthorDate: Wed Aug 16 12:15:03 2023 +0200 Commit: Xisco Fauli CommitDate: Wed Aug 16 12:15:03 2023 +0200 bump product version to 7.5.6.1.0+ Change-Id: I2304e6f9e8f418b7752eb07c4f35fc54a2e5e6e9 diff --git a/configure.ac b/configure.ac index 4bd273f026ca..9a4b4d5fb382 100644 --- a/configure.ac +++ b/configure.ac @@ -9,7 +9,7 @@ dnl in order to create a configure script. # several non-alphanumeric characters, those are split off and used only for the # ABOUTBOXPRODUCTVERSIONSUFFIX in openoffice.lst. Why that is necessary, no idea. -AC_INIT([LibreOffice],[7.5.6.0.0+],[],[],[http://documentfoundation.org/]) +AC_INIT([LibreOffice],[7.5.6.1.0+],[],[],[http://documentfoundation.org/]) dnl libnumbertext needs autoconf 2.68, but that can pick up autoconf268 just fine if it is installed dnl whereas aclocal (as run by autogen.sh) insists on using autoconf and fails hard
[Libreoffice-commits] core.git: Branch 'libreoffice-7-5' - configure.ac
configure.ac |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) New commits: commit 45c6d35ed2e5fdebf6956bab77052f51f0e57853 Author: Xisco Fauli AuthorDate: Wed Aug 16 12:03:22 2023 +0200 Commit: Xisco Fauli CommitDate: Wed Aug 16 12:03:22 2023 +0200 bump product version to 7.5.6.1.0+ Change-Id: I469aecc0064916c57a376422f2ff0aa4328ef144 diff --git a/configure.ac b/configure.ac index 4bd273f026ca..9a4b4d5fb382 100644 --- a/configure.ac +++ b/configure.ac @@ -9,7 +9,7 @@ dnl in order to create a configure script. # several non-alphanumeric characters, those are split off and used only for the # ABOUTBOXPRODUCTVERSIONSUFFIX in openoffice.lst. Why that is necessary, no idea. -AC_INIT([LibreOffice],[7.5.6.0.0+],[],[],[http://documentfoundation.org/]) +AC_INIT([LibreOffice],[7.5.6.1.0+],[],[],[http://documentfoundation.org/]) dnl libnumbertext needs autoconf 2.68, but that can pick up autoconf268 just fine if it is installed dnl whereas aclocal (as run by autogen.sh) insists on using autoconf and fails hard
[Libreoffice-commits] core.git: Changes to 'libreoffice-7-5-6'
New branch 'libreoffice-7-5-6' available with the following commits: commit 130d94572afed9e1bc71c7aebc21d52c18fedbcb Author: Xisco Fauli Date: Wed Aug 16 12:00:27 2023 +0200 Branch libreoffice-7-5-6 This is 'libreoffice-7-5-6' - the stable branch for the 7.5.6 release. Only very safe changes, reviewed by three people are allowed. If you want to commit more complicated fix for the next 7.5.x release, please use the 'libreoffice-7-5' branch. If you want to build something cool, unstable, and risky, use master.
[Libreoffice-commits] help.git: Changes to 'libreoffice-7-5-6'
New branch 'libreoffice-7-5-6' available with the following commits: commit 3ffd5527264499f308d1db3a2153ef3d24228e46 Author: Xisco Fauli Date: Wed Aug 16 11:59:44 2023 +0200 Branch libreoffice-7-5-6 This is 'libreoffice-7-5-6' - the stable branch for the 7.5.6 release. Only very safe changes, reviewed by three people are allowed. If you want to commit more complicated fix for the next 7.5.x release, please use the 'libreoffice-7-5' branch. If you want to build something cool, unstable, and risky, use master. Change-Id: Iab5701b00f34a7962808ba0fd8423776af141532
[Libreoffice-commits] translations.git: Changes to 'libreoffice-7-5-6'
New branch 'libreoffice-7-5-6' available with the following commits: commit 7fd59baf3112c7ecd00f3ad4ed77e8ece5d0e41b Author: Xisco Fauli Date: Wed Aug 16 11:59:44 2023 +0200 Branch libreoffice-7-5-6 This is 'libreoffice-7-5-6' - the stable branch for the 7.5.6 release. Only very safe changes, reviewed by three people are allowed. If you want to commit more complicated fix for the next 7.5.x release, please use the 'libreoffice-7-5' branch. If you want to build something cool, unstable, and risky, use master. Change-Id: Iab5701b00f34a7962808ba0fd8423776af141532
[Libreoffice-commits] dictionaries.git: Changes to 'libreoffice-7-5-6'
New branch 'libreoffice-7-5-6' available with the following commits: commit b60744a375a0ceba2d79a4f66382dc2ae9c0257e Author: Xisco Fauli Date: Wed Aug 16 11:59:44 2023 +0200 Branch libreoffice-7-5-6 This is 'libreoffice-7-5-6' - the stable branch for the 7.5.6 release. Only very safe changes, reviewed by three people are allowed. If you want to commit more complicated fix for the next 7.5.x release, please use the 'libreoffice-7-5' branch. If you want to build something cool, unstable, and risky, use master. Change-Id: Iab5701b00f34a7962808ba0fd8423776af141532
[Libreoffice-commits] core.git: Branch 'libreoffice-7-5' - readlicense_oo/license
readlicense_oo/license/CREDITS.fodt | 1865 ++-- 1 file changed, 944 insertions(+), 921 deletions(-) New commits: commit e1ca302be1cf0f2e6cb45e78294bcf4082e5ba56 Author: Xisco Fauli AuthorDate: Wed Aug 16 11:45:52 2023 +0200 Commit: Xisco Fauli CommitDate: Wed Aug 16 11:52:48 2023 +0200 update credits Change-Id: Ife0d509b91f17510e6a32494e6456fe7043781ec diff --git a/readlicense_oo/license/CREDITS.fodt b/readlicense_oo/license/CREDITS.fodt index ec06bf5ddc4c..b0630f2aa276 100644 --- a/readlicense_oo/license/CREDITS.fodt +++ b/readlicense_oo/license/CREDITS.fodt @@ -294,52 +294,52 @@ - + - + - + - + - + - + - + - + - + - + @@ -351,19 +351,19 @@ - + - + - + - + - + @@ -389,7 +389,7 @@ - + @@ -432,23 +432,26 @@ - + - + - + - + - + + + + @@ -461,91 +464,91 @@ - - - - - - - - - - - - - - - - - - + - + - - - - - - - - - - - - - + + + - + + - + - + - - - - - + - + - + - + - + - + - + + + + + + + + + - + + + + + + + - + + + + + + + + + + + + + + + + + @@ -555,33 +558,14 @@ - - - - - - - - - - - - - - - + + - - + - - - - - - + @@ -596,7 +580,6 @@ - @@ -606,261 +589,290 @@ - + - + - + - + - + - + - + - + - + - + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + - + - - - - + - - - + + + @@ -1136,7 +1148,7 @@ Credits -1881 individuals contributed to OpenOffice.org (and whose contributions were imported into LibreOffice) or LibreOffice until 2023-08-08 11:31:22. +1881 individuals contributed to OpenOffice.org (and whose contributions were imported into LibreOffice) or LibreOffice until 2023-08-14 16:40:34. * marks developers whose first contributions happened after 2010-09-28. Developers committing code since 2010-09-28 @@ -1149,7 +1161,7 @@ Ruediger T
[Libreoffice-commits] core.git: Branch 'libreoffice-7-6' - readlicense_oo/license
readlicense_oo/license/CREDITS.fodt | 1865 ++-- 1 file changed, 944 insertions(+), 921 deletions(-) New commits: commit 87f6930ae1799e3c158cc36daa28c225e3404672 Author: Xisco Fauli AuthorDate: Wed Aug 16 11:45:52 2023 +0200 Commit: Xisco Fauli CommitDate: Wed Aug 16 11:52:12 2023 +0200 update credits Change-Id: Ife0d509b91f17510e6a32494e6456fe7043781ec diff --git a/readlicense_oo/license/CREDITS.fodt b/readlicense_oo/license/CREDITS.fodt index ec06bf5ddc4c..b0630f2aa276 100644 --- a/readlicense_oo/license/CREDITS.fodt +++ b/readlicense_oo/license/CREDITS.fodt @@ -294,52 +294,52 @@ - + - + - + - + - + - + - + - + - + - + @@ -351,19 +351,19 @@ - + - + - + - + - + @@ -389,7 +389,7 @@ - + @@ -432,23 +432,26 @@ - + - + - + - + - + + + + @@ -461,91 +464,91 @@ - - - - - - - - - - - - - - - - - - + - + - - - - - - - - - - - - - + + + - + + - + - + - - - - - + - + - + - + - + - + - + + + + + + + + + - + + + + + + + - + + + + + + + + + + + + + + + + + @@ -555,33 +558,14 @@ - - - - - - - - - - - - - - - + + - - + - - - - - - + @@ -596,7 +580,6 @@ - @@ -606,261 +589,290 @@ - + - + - + - + - + - + - + - + - + - + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + - + - - - - + - - - + + + @@ -1136,7 +1148,7 @@ Credits -1881 individuals contributed to OpenOffice.org (and whose contributions were imported into LibreOffice) or LibreOffice until 2023-08-08 11:31:22. +1881 individuals contributed to OpenOffice.org (and whose contributions were imported into LibreOffice) or LibreOffice until 2023-08-14 16:40:34. * marks developers whose first contributions happened after 2010-09-28. Developers committing code since 2010-09-28 @@ -1149,7 +1161,7 @@ Ruediger T
[Libreoffice-commits] core.git: readlicense_oo/license
readlicense_oo/license/CREDITS.fodt | 1865 ++-- 1 file changed, 944 insertions(+), 921 deletions(-) New commits: commit 500c73ba9e7dbe98ed82a64302f5b3a64f14b1ee Author: Xisco Fauli AuthorDate: Wed Aug 16 11:45:52 2023 +0200 Commit: Xisco Fauli CommitDate: Wed Aug 16 11:49:10 2023 +0200 update credits Change-Id: Ife0d509b91f17510e6a32494e6456fe7043781ec diff --git a/readlicense_oo/license/CREDITS.fodt b/readlicense_oo/license/CREDITS.fodt index ec06bf5ddc4c..b0630f2aa276 100644 --- a/readlicense_oo/license/CREDITS.fodt +++ b/readlicense_oo/license/CREDITS.fodt @@ -294,52 +294,52 @@ - + - + - + - + - + - + - + - + - + - + @@ -351,19 +351,19 @@ - + - + - + - + - + @@ -389,7 +389,7 @@ - + @@ -432,23 +432,26 @@ - + - + - + - + - + + + + @@ -461,91 +464,91 @@ - - - - - - - - - - - - - - - - - - + - + - - - - - - - - - - - - - + + + - + + - + - + - - - - - + - + - + - + - + - + - + + + + + + + + + - + + + + + + + - + + + + + + + + + + + + + + + + + @@ -555,33 +558,14 @@ - - - - - - - - - - - - - - - + + - - + - - - - - - + @@ -596,7 +580,6 @@ - @@ -606,261 +589,290 @@ - + - + - + - + - + - + - + - + - + - + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + - + - - - - + - - - + + + @@ -1136,7 +1148,7 @@ Credits -1881 individuals contributed to OpenOffice.org (and whose contributions were imported into LibreOffice) or LibreOffice until 2023-08-08 11:31:22. +1881 individuals contributed to OpenOffice.org (and whose contributions were imported into LibreOffice) or LibreOffice until 2023-08-14 16:40:34. * marks developers whose first contributions happened after 2010-09-28. Developers committing code since 2010-09-28 @@ -1149,7 +1161,7 @@ Ruediger T
[Libreoffice-commits] core.git: Branch 'libreoffice-7-6' - sw/inc sw/qa sw/source
sw/inc/frmfmt.hxx |2 sw/qa/core/accessibilitycheck/data/AccessibilityTests1.odt |binary sw/source/core/access/AccessibilityCheck.cxx |3 sw/source/core/access/AccessibilityIssue.cxx | 66 ++--- sw/source/core/layout/atrfrm.cxx | 12 ++ 5 files changed, 66 insertions(+), 17 deletions(-) New commits: commit f3f5ad60fbd75f70e7bb5b8bb5444098ff2581eb Author: Balazs Varga AuthorDate: Mon Aug 14 09:44:35 2023 +0200 Commit: Michael Stahl CommitDate: Wed Aug 16 11:21:04 2023 +0200 tdf#156670 - A11Y - Open the Format->Description dialog with the fix button The Fix button will open the Format->Description dialog in case of shapes, textBox, graphic, OLE objects. (Remove Description text from (AccessibilityTests1.odt) the shape for proper testing of no_alt_text.) Change-Id: I6678fa44a0a47bab60558f770cc709012f02d83b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155653 Tested-by: Jenkins Reviewed-by: Samuel Mehrbrodt (cherry picked from commit e027ef6c0534b7ce50dc5f8b74e27ce85b9eb97b) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155696 Reviewed-by: Michael Stahl diff --git a/sw/inc/frmfmt.hxx b/sw/inc/frmfmt.hxx index cb9846f969c4..6a0c6e8c2276 100644 --- a/sw/inc/frmfmt.hxx +++ b/sw/inc/frmfmt.hxx @@ -256,6 +256,8 @@ public: OUString GetObjDescription() const; void SetObjDescription( const OUString& rDescription, bool bBroadcast = false ); + +bool IsDecorative() const; void SetObjDecorative(bool isDecorative); /** SwFlyFrameFormat::IsBackgroundTransparent diff --git a/sw/qa/core/accessibilitycheck/data/AccessibilityTests1.odt b/sw/qa/core/accessibilitycheck/data/AccessibilityTests1.odt index 6b55335e773d..405fd6647a08 100644 Binary files a/sw/qa/core/accessibilitycheck/data/AccessibilityTests1.odt and b/sw/qa/core/accessibilitycheck/data/AccessibilityTests1.odt differ diff --git a/sw/source/core/access/AccessibilityCheck.cxx b/sw/source/core/access/AccessibilityCheck.cxx index ee2ba0aa8bef..f0d211d40069 100644 --- a/sw/source/core/access/AccessibilityCheck.cxx +++ b/sw/source/core/access/AccessibilityCheck.cxx @@ -1469,8 +1469,7 @@ void AccessibilityCheck::checkObject(SwNode* pCurrent, SdrObject* pObject) || nObjId == SdrObjKind::Media || nObjId == SdrObjKind::Group || nObjId == SdrObjKind::Graphic || nInv == SdrInventor::FmForm) { -OUString sAlternative = pObject->GetTitle(); -if (sAlternative.isEmpty()) +if (pObject->GetTitle().isEmpty() && pObject->GetDescription().isEmpty()) { OUString sName = pObject->GetName(); OUString sIssueText = SwResId(STR_NO_ALT).replaceAll("%OBJECT_NAME%", sName); diff --git a/sw/source/core/access/AccessibilityIssue.cxx b/sw/source/core/access/AccessibilityIssue.cxx index adc52b0dfea2..e0b66391c022 100644 --- a/sw/source/core/access/AccessibilityIssue.cxx +++ b/sw/source/core/access/AccessibilityIssue.cxx @@ -23,6 +23,7 @@ #include #include #include +#include namespace sw { @@ -155,29 +156,64 @@ void AccessibilityIssue::quickFixIssue() const case IssueObject::GRAPHIC: case IssueObject::OLE: { -OUString aDesc = SwResId(STR_ENTER_ALT); -SvxNameDialog aNameDialog(m_pParent, "", aDesc); -if (aNameDialog.run() == RET_OK) +SwFlyFrameFormat* pFlyFormat += const_cast(m_pDoc->FindFlyByName(m_sObjectID)); +if (pFlyFormat) { -SwFlyFrameFormat* pFlyFormat -= const_cast(m_pDoc->FindFlyByName(m_sObjectID)); -if (pFlyFormat) -m_pDoc->SetFlyFrameTitle(*pFlyFormat, aNameDialog.GetName()); +OUString aDescription(pFlyFormat->GetObjDescription()); +OUString aTitle(pFlyFormat->GetObjTitle()); +bool isDecorative(pFlyFormat->IsDecorative()); + +SwWrtShell* pWrtShell = m_pDoc->GetDocShell()->GetWrtShell(); +SvxAbstractDialogFactory* pFact = SvxAbstractDialogFactory::Create(); +ScopedVclPtr pDlg( + pFact->CreateSvxObjectTitleDescDialog(pWrtShell->GetView().GetFrameWeld(), + aTitle, aDescription, isDecorative)); + +if (pDlg->Execute() == RET_OK) +{ +pDlg->GetTitle(aTitle); +pDlg->GetDescription(aDescription); +pDlg->IsDecorative(isDecorative); + +m_pDoc->SetFlyFrameTitle(*pFlyFormat, aTitle); +m_pDoc->SetFlyFrameDescription(*pFlyFormat, aDescription); +m_pDoc->SetFlyFrameDecorative(*pFlyFormat, isDecorative); + +pWrtShell->SetModified(); +
[Libreoffice-commits] core.git: Branch 'libreoffice-7-6' - oox/source sw/qa
oox/source/drawingml/fillproperties.cxx | 24 sw/qa/extras/ooxmlexport/ooxmlexport6.cxx |8 2 files changed, 16 insertions(+), 16 deletions(-) New commits: commit dfe958b9d6cd2b2d7751c4db848dbd4fb37f7b2d Author: Mike Kaganski AuthorDate: Tue Aug 15 21:09:27 2023 +0300 Commit: Xisco Fauli CommitDate: Wed Aug 16 11:20:30 2023 +0200 Simplify and improve conversion Using o3tl::convert makes sure that rounding is correct, which shows in the improved unit test, that now doesn't need different values before and after roundtrip. Change-Id: If46e27300bc199e89c0abf0ea4d0cd825024aeb2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155728 Tested-by: Jenkins Reviewed-by: Mike Kaganski (cherry picked from commit d2c7cbc7d724d608f6d37bbb0233ad2b39eb938e) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155703 Reviewed-by: Xisco Fauli diff --git a/oox/source/drawingml/fillproperties.cxx b/oox/source/drawingml/fillproperties.cxx index 5edc71b8bc12..b6d6940918ec 100644 --- a/oox/source/drawingml/fillproperties.cxx +++ b/oox/source/drawingml/fillproperties.cxx @@ -105,9 +105,9 @@ std::optional CropQuotientsFromSrcRect(geometry::IntegerRectangle2D a aSrcRect.X2 = std::max(aSrcRect.X2, sal_Int32(0)); aSrcRect.Y1 = std::max(aSrcRect.Y1, sal_Int32(0)); aSrcRect.Y2 = std::max(aSrcRect.Y2, sal_Int32(0)); -if (aSrcRect.X1 + aSrcRect.X2 >= 100'000 || aSrcRect.Y1 + aSrcRect.Y2 >= 100'000) +if (aSrcRect.X1 + aSrcRect.X2 >= MAX_PERCENT || aSrcRect.Y1 + aSrcRect.Y2 >= MAX_PERCENT) return {}; // Cropped everything -return getQuotients(aSrcRect, 100'000.0, 100'000.0); +return getQuotients(aSrcRect, MAX_PERCENT, MAX_PERCENT); } // ECMA-376 Part 1 20.1.8.30 fillRect (Fill Rectangle) @@ -118,8 +118,8 @@ std::optional CropQuotientsFromFillRect(geometry::IntegerRectangle2D aFillRect.Y1 = std::min(aFillRect.Y1, sal_Int32(0)); aFillRect.Y2 = std::min(aFillRect.Y2, sal_Int32(0)); // Negative divisor and negative relative offset give positive value wanted in lclCropGraphic -return getQuotients(aFillRect, -100'000.0 + aFillRect.X1 + aFillRect.X2, --100'000.0 + aFillRect.Y1 + aFillRect.Y2); +return getQuotients(aFillRect, -MAX_PERCENT + aFillRect.X1 + aFillRect.X2, +-MAX_PERCENT + aFillRect.Y1 + aFillRect.Y2); } // Crops a piece of the bitmap. lclCropGraphic doesn't handle growing. @@ -624,13 +624,13 @@ void FillProperties::pushToPropMap(ShapePropertyMap& rPropMap, const GraphicHelp { text::GraphicCrop aGraphCrop( 0, 0, 0, 0 ); if ( aFillRect.X1 ) -aGraphCrop.Left = static_cast< sal_Int32 >( ( static_cast< double >( aOriginalSize.Width ) * aFillRect.X1 ) / 10 ); +aGraphCrop.Left = o3tl::convert(aFillRect.X1, aOriginalSize.Width, MAX_PERCENT); if ( aFillRect.Y1 ) -aGraphCrop.Top = static_cast< sal_Int32 >( ( static_cast< double >( aOriginalSize.Height ) * aFillRect.Y1 ) / 10 ); +aGraphCrop.Top = o3tl::convert(aFillRect.Y1, aOriginalSize.Height, MAX_PERCENT); if ( aFillRect.X2 ) -aGraphCrop.Right = static_cast< sal_Int32 >( ( static_cast< double >( aOriginalSize.Width ) * aFillRect.X2 ) / 10 ); +aGraphCrop.Right = o3tl::convert(aFillRect.X2, aOriginalSize.Width, MAX_PERCENT); if ( aFillRect.Y2 ) -aGraphCrop.Bottom = static_cast< sal_Int32 >( ( static_cast< double >( aOriginalSize.Height ) * aFillRect.Y2 ) / 10 ); +aGraphCrop.Bottom = o3tl::convert(aFillRect.Y2, aOriginalSize.Height, MAX_PERCENT); bool bHasCropValues = aGraphCrop.Left != 0 || aGraphCrop.Right !=0 || aGraphCrop.Top != 0 || aGraphCrop.Bottom != 0; // Negative GraphicCrop values means "crop" here. @@ -817,13 +817,13 @@ void GraphicProperties::pushToPropMap( PropertyMap& rPropMap, const GraphicHelpe { text::GraphicCrop aGraphCrop( 0, 0, 0, 0 ); if ( oClipRect.X1 ) -aGraphCrop.Left = rtl::math::round( ( static_cast< double >( aOriginalSize.Width ) * oClipRect.X1 ) / 10 ); +aGraphCrop.Left = o3tl::convert(oClipRect.X1, aOriginalSize.Width, MAX_PERCENT); if ( oClipRect.Y1 ) -aGraphCrop.Top = rtl::math::round( ( static_cast< double >( aOriginalSize.Height ) * oClipRect.Y1 ) / 10 ); +aGraphCrop.Top = o3tl::convert(oClipRect.Y1, aOriginalSize.Height, MAX_PERCENT); if ( oClipRect.X2
[Libreoffice-commits] core.git: Branch 'libreoffice-7-6' - oox/source sd/qa
oox/source/drawingml/fillproperties.cxx | 10 ++- sd/qa/unit/data/pptx/tdf153008-srcRect-smallNegBound.pptx |binary sd/qa/unit/import-tests2.cxx | 19 ++ 3 files changed, 23 insertions(+), 6 deletions(-) New commits: commit dd1f530bf7ab50f7b45bea5413c2328c7ecc5ed6 Author: Mike Kaganski AuthorDate: Tue Aug 15 14:42:20 2023 +0300 Commit: Michael Stahl CommitDate: Wed Aug 16 11:17:07 2023 +0200 tdf#153008: srcRect may have some members negative The overly strict check (implying that all members must be non-negative, to perform the crop) excluded valid cases where some of the members were negative, and some positive. Change-Id: I629689bdccedf9e37632a9fe14654778c0f14a6f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155717 Tested-by: Jenkins Reviewed-by: Mike Kaganski (cherry picked from commit 6c06c8a2be3d8cbbcb8ab1aaaeb04db95114dfcb) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155700 Reviewed-by: Michael Stahl diff --git a/oox/source/drawingml/fillproperties.cxx b/oox/source/drawingml/fillproperties.cxx index 7e2f5185b7f6..5edc71b8bc12 100644 --- a/oox/source/drawingml/fillproperties.cxx +++ b/oox/source/drawingml/fillproperties.cxx @@ -826,13 +826,11 @@ void GraphicProperties::pushToPropMap( PropertyMap& rPropMap, const GraphicHelpe aGraphCrop.Bottom = rtl::math::round( ( static_cast< double >( aOriginalSize.Height ) * oClipRect.Y2 ) / 10 ); rPropMap.setProperty(PROP_GraphicCrop, aGraphCrop); -bool bHasCropValues = aGraphCrop.Left != 0 || aGraphCrop.Right !=0 || aGraphCrop.Top != 0 || aGraphCrop.Bottom != 0; -// Positive GraphicCrop values means "crop" here. -bool bNeedCrop = aGraphCrop.Left >= 0 && aGraphCrop.Right >= 0 && aGraphCrop.Top >= 0 && aGraphCrop.Bottom >= 0; - -if(mbIsCustomShape && bHasCropValues && bNeedCrop) +if(mbIsCustomShape) { -xGraphic = lclCropGraphic(xGraphic, CropQuotientsFromSrcRect(oClipRect)); +// Positive GraphicCrop values means "crop" here. +if (aGraphCrop.Left > 0 || aGraphCrop.Right > 0 || aGraphCrop.Top > 0 || aGraphCrop.Bottom > 0) +xGraphic = lclCropGraphic(xGraphic, CropQuotientsFromSrcRect(oClipRect)); } } } diff --git a/sd/qa/unit/data/pptx/tdf153008-srcRect-smallNegBound.pptx b/sd/qa/unit/data/pptx/tdf153008-srcRect-smallNegBound.pptx new file mode 100644 index ..9870e3f2e2e9 Binary files /dev/null and b/sd/qa/unit/data/pptx/tdf153008-srcRect-smallNegBound.pptx differ diff --git a/sd/qa/unit/import-tests2.cxx b/sd/qa/unit/import-tests2.cxx index 4d197b364449..4e535c7749c7 100644 --- a/sd/qa/unit/import-tests2.cxx +++ b/sd/qa/unit/import-tests2.cxx @@ -1918,6 +1918,25 @@ CPPUNIT_TEST_FIXTURE(SdImportTest2, testIndentDuplication) CPPUNIT_ASSERT_EQUAL(sal_Int32(0), nIndent2); } +CPPUNIT_TEST_FIXTURE(SdImportTest2, test_srcRect_smallNegBound) +{ +// Given a cropped custom shape, with a srcRect having a small negative value in one of bounds +createSdImpressDoc("pptx/tdf153008-srcRect-smallNegBound.pptx"); + +uno::Reference xGraphic( +getShapeFromPage(0, 0)->getPropertyValue("FillBitmap"), uno::UNO_QUERY_THROW); + +BitmapEx aBitmap(Graphic(xGraphic).GetBitmapEx()); + +// Properly cropped bitmap should have black pixels close to left edge, near vertical center. +// Before the fix, the gear was distorted, and this area was white. +auto yMiddle = aBitmap.GetSizePixel().Height() / 2; +auto x5Percent = aBitmap.GetSizePixel().Width() / 20; +CPPUNIT_ASSERT(aBitmap.GetPixelColor(x5Percent, yMiddle).IsDark()); +// Just in case, check that the corner is bright (it is in fact yellow) +CPPUNIT_ASSERT(aBitmap.GetPixelColor(0, 0).IsBright()); +} + CPPUNIT_PLUGIN_IMPLEMENT(); /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
[Libreoffice-commits] core.git: Branch 'libreoffice-7-5' - sw/source
sw/source/core/layout/calcmove.cxx |3 +++ 1 file changed, 3 insertions(+) New commits: commit 0bfed8ac8f88f434081aa0694933419c77573b28 Author: Michael Stahl AuthorDate: Tue Aug 8 19:39:04 2023 +0200 Commit: Xisco Fauli CommitDate: Wed Aug 16 11:14:02 2023 +0200 tdf#151866 sw: layout: prevent deleting newly created SwSectionFrame A section frame is created so that content can move back from another page into it. Apparently only the pPrv frame is on the same page, and formatting it in SwFrame::MakePos() moves it backward, then CheckPageDescs() sees a page with only empty section frames on it and deletes the whole page. (regression from commit b9ef71476fd70bc13f50ebe80390e0730d1b7afb) Change-Id: I4f8e4debd4bcf993c9355dcfc3ced779fe6732ff Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155467 Tested-by: Jenkins Reviewed-by: Michael Stahl (cherry picked from commit 2f9e67d1e70bdc45dfc59554547bc3730481a757) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155475 Reviewed-by: Xisco Fauli diff --git a/sw/source/core/layout/calcmove.cxx b/sw/source/core/layout/calcmove.cxx index 184373585928..73b72d03305c 100644 --- a/sw/source/core/layout/calcmove.cxx +++ b/sw/source/core/layout/calcmove.cxx @@ -542,6 +542,9 @@ void SwFrame::MakePos() !pPrv->GetAttrSet()->GetKeep().GetValue() ) { +// tdf#151866 pPrv may MoveBwd and if this is a newly created +// section frame then CheckPageDescs() may delete the whole page! +SwFrameDeleteGuard g(this); // Prevent it. pPrv->Calc(getRootFrame()->GetCurrShell() ? getRootFrame()->GetCurrShell()->GetOut() : nullptr); // This may cause Prev to vanish! } else if ( pPrv->getFrameArea().Top() == 0 )
[Libreoffice-commits] core.git: Branch 'libreoffice-7-5' - sw/source
sw/source/core/inc/tabfrm.hxx|1 + sw/source/core/layout/fly.cxx|7 ++- sw/source/core/layout/tabfrm.cxx | 24 ++-- 3 files changed, 29 insertions(+), 3 deletions(-) New commits: commit 0bd916a78dc9e586d78dffdf57e6fa80b955eef6 Author: Michael Stahl AuthorDate: Tue Aug 8 12:21:20 2023 +0200 Commit: Xisco Fauli CommitDate: Wed Aug 16 11:13:32 2023 +0200 tdf#156551 tdf#150606 sw: layout: only invalidate SwTabFrame if it... ... wants to move back. In this document, the table 1709 splits across 3 columns of the section 1702 with 1 row each, and when its follows are invalidated in CalcContent(), the later SwTabFrame::MakeAll() of the 1st follow joins the 2nd follow and invalidates the size of the section frame, causing a loop. So only invalidate if that actually looks necessary. (regression from commit 59987d3c77ec7dbf59fbea9f47cc226f4e8903f9) Change-Id: I360c8f697a7666a19a08d8ebcabbcfa3a7cdf844 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155452 Tested-by: Jenkins Reviewed-by: Michael Stahl (cherry picked from commit a9b19f78f3cdcbf5c949a85b45877e903114cc54) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155409 Reviewed-by: Xisco Fauli diff --git a/sw/source/core/inc/tabfrm.hxx b/sw/source/core/inc/tabfrm.hxx index 8bf2b863548e..6360405e4407 100644 --- a/sw/source/core/inc/tabfrm.hxx +++ b/sw/source/core/inc/tabfrm.hxx @@ -59,6 +59,7 @@ class SAL_DLLPUBLIC_RTTI SwTabFrame final: public SwLayoutFrame, public SwFlowFr bool m_bCalcLowers :1; /// For stability of the content in MakeAll bool m_bLowersFormatted :1; /// Communication between MakeAll and Layact bool m_bLockBackMove:1; /// The Master took care of the BackMove test +bool m_bWantBackMove:1; /// Table wants to move back but was locked bool m_bResizeHTMLTable :1; /// Call the Resize of the HTMLTableLayout in the MakeAll /// This is an optimization, so that we don't have to call /// it in ContentFrame::Grow; there it might be called for diff --git a/sw/source/core/layout/fly.cxx b/sw/source/core/layout/fly.cxx index d1d023dbf3ed..250b634bab16 100644 --- a/sw/source/core/layout/fly.cxx +++ b/sw/source/core/layout/fly.cxx @@ -1683,7 +1683,12 @@ void CalcContent( SwLayoutFrame *pLay, bool bNoColl ) { assert(static_cast(pFrame)->IsFollow()); static_cast(pFrame)->m_bLockBackMove = false; -pFrame->InvalidatePos(); +// tdf#150606 encourage it to move back in FormatLayout() +if (static_cast(pFrame)->m_bWantBackMove) +{ +static_cast(pFrame)->m_bWantBackMove = false; +pFrame->InvalidatePos(); +} } } diff --git a/sw/source/core/layout/tabfrm.cxx b/sw/source/core/layout/tabfrm.cxx index 0200c9fb09cd..95a93c4112e7 100644 --- a/sw/source/core/layout/tabfrm.cxx +++ b/sw/source/core/layout/tabfrm.cxx @@ -79,6 +79,7 @@ SwTabFrame::SwTabFrame( SwTable &rTab, SwFrame* pSib ) , m_bCalcLowers(false) , m_bLowersFormatted(false) , m_bLockBackMove(false) +, m_bWantBackMove(false) , m_bResizeHTMLTable(false) , m_bONECalcLowers(false) , m_bHasFollowFlowLine(false) @@ -124,6 +125,7 @@ SwTabFrame::SwTabFrame( SwTabFrame &rTab ) , m_bCalcLowers(false) , m_bLowersFormatted(false) , m_bLockBackMove(false) +, m_bWantBackMove(false) , m_bResizeHTMLTable(false) , m_bONECalcLowers(false) , m_bHasFollowFlowLine(false) @@ -3696,9 +3698,17 @@ bool SwTabFrame::ShouldBwdMoved( SwLayoutFrame *pNewUpper, bool &rReformat ) } else if (!m_bLockBackMove) bMoveAnyway = true; +else +{ +m_bWantBackMove = true; +} } else if (!m_bLockBackMove) bMoveAnyway = true; +else +{ +m_bWantBackMove = true; +} if ( bMoveAnyway ) { @@ -3711,7 +3721,7 @@ bool SwTabFrame::ShouldBwdMoved( SwLayoutFrame *pNewUpper, bool &rReformat ) // This frame fits into pNewUpper in case it has no space, but this // frame is empty. bFits = nSpace >= 0; -if (!m_bLockBackMove && bFits) +if (bFits) { // #i26945# - check, if follow flow line // contains frame, which are moved forward due to its object @@ -3730,7 +3740,17 @@ bool SwTabFrame::ShouldBwdMoved( SwLayoutFrame *pNewUpper, bool &rReformat ) // 'return nHeight <= nSpace' to 'return nTmpHeight < nSpace'. // This obviously results in problems with table frames in // sections. Remember: Every twip is sacred. -
[Libreoffice-commits] core.git: Branch 'libreoffice-7-5' - sw/inc sw/source
sw/inc/undobj.hxx | 11 +-- sw/source/core/undo/undobj.cxx | 21 + sw/source/core/undo/unins.cxx |4 ++-- sw/source/core/undo/untblk.cxx |6 +++--- 4 files changed, 19 insertions(+), 23 deletions(-) New commits: commit 13ddb8bdc0e62f21b16f16088d5180234791eb7b Author: Michael Stahl AuthorDate: Wed Aug 2 13:26:39 2023 +0200 Commit: Xisco Fauli CommitDate: Wed Aug 16 11:12:34 2023 +0200 tdf#156546 sw: fix infinite loop in SwUndoInsert::RedoImpl() The problem is that SwUndoSaveContent::MovePtBackward() sets the point of a shell cursor to the document body's start node, which is not a valid position for a shell cursor; FindParentText() then loops forever. The purpose of this appears to be to move the point temporarily somewhere where subsequent inserting operations won't move it further, so that it can be restored to the start of the inserted stuff. Refactor a bit to use a temporary SwNodeIndex instead, which should work as nothing should delete the node it's pointing to. (regression from commit d81379db730a163c5ff75d4f3a3cddbd7b5eddda) Change-Id: I471bcced1741c77c07239ed124d4fd39ff7a7515 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155227 Tested-by: Jenkins Reviewed-by: Michael Stahl (cherry picked from commit 2d96d69322ac18f53668b75397c8587f94cd043b) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155239 Reviewed-by: Xisco Fauli diff --git a/sw/inc/undobj.hxx b/sw/inc/undobj.hxx index f95a3aa78bfc..9feaec0521b7 100644 --- a/sw/inc/undobj.hxx +++ b/sw/inc/undobj.hxx @@ -179,12 +179,11 @@ protected: const SwNodeOffset* pEndNdIdx = nullptr, bool bForceCreateFrames = false); -// These two methods move the SPoint back/forth from PaM. With it -// a range can be spanned for Undo/Redo. (In this case the SPoint -// is before the manipulated range!!) -// The flag indicates if there is content before the SPoint. -static bool MovePtBackward( SwPaM& rPam ); -static void MovePtForward( SwPaM& rPam, bool bMvBkwrd ); +// These two methods save and restore the Point of PaM. +// If the point cannot be moved, a "backup" is created on the previous node. +// Either way, it will not be moved by inserting at its original position. +static ::std::optional MovePtBackward(SwPaM& rPam); +static void MovePtForward(SwPaM& rPam, ::std::optional && oMvBkwrd); // Before moving stuff into UndoNodes-Array care has to be taken that // the content-bearing attributes are removed from the nodes-array. diff --git a/sw/source/core/undo/undobj.cxx b/sw/source/core/undo/undobj.cxx index 11009dfd230d..57fdd2a4118a 100644 --- a/sw/source/core/undo/undobj.cxx +++ b/sw/source/core/undo/undobj.cxx @@ -818,29 +818,26 @@ void SwUndoSaveContent::MoveFromUndoNds( SwDoc& rDoc, SwNodeOffset nNodeIdx, } } -// These two methods move the Point of Pam backwards/forwards. With that, one -// can span an area for a Undo/Redo. (The Point is then positioned in front of -// the area to manipulate!) -// The flag indicates if there is still content in front of Point. -bool SwUndoSaveContent::MovePtBackward( SwPaM& rPam ) +// These two methods save and restore the Point of PaM. +// If the point cannot be moved, a "backup" is created on the previous node. +// Either way, returned, inserting at its original position will not move it. +::std::optional SwUndoSaveContent::MovePtBackward(SwPaM & rPam) { rPam.SetMark(); if( rPam.Move( fnMoveBackward )) -return true; +return {}; -// If there is no content onwards, set Point simply to the previous position -// (Node and Content, so that Content will be detached!) -rPam.GetPoint()->Adjust(SwNodeOffset(-1)); -return false; +return { SwNodeIndex(rPam.GetPoint()->GetNode(), -1) }; } -void SwUndoSaveContent::MovePtForward( SwPaM& rPam, bool bMvBkwrd ) +void SwUndoSaveContent::MovePtForward(SwPaM& rPam, ::std::optional && oMvBkwrd) { // Was there content before this position? -if( bMvBkwrd ) +if (!oMvBkwrd) rPam.Move( fnMoveForward ); else { +*rPam.GetPoint() = SwPosition(*oMvBkwrd); rPam.GetPoint()->Adjust(SwNodeOffset(1)); SwContentNode* pCNd = rPam.GetPointContentNode(); if( !pCNd ) diff --git a/sw/source/core/undo/unins.cxx b/sw/source/core/undo/unins.cxx index 29eb0408d5bc..25ba85df20cd 100644 --- a/sw/source/core/undo/unins.cxx +++ b/sw/source/core/undo/unins.cxx @@ -321,7 +321,7 @@ void SwUndoInsert::RedoImpl(::sw::UndoRedoContext & rContext) if( m_nLen ) { -const bool bMvBkwrd = MovePtBackward( *pPam ); +::std::optional oMvBkwrd = MovePtBackward(*pPam); if (maText) { @@ -348,7 +348,7 @@ void SwUndoInsert::RedoImpl(::sw::UndoRedoContext & rContex
[Libreoffice-commits] core.git: Branch 'libreoffice-7-6' - svgio/inc svgio/qa svgio/source
svgio/inc/svgcharacternode.hxx|4 + svgio/inc/svgtspannode.hxx|8 +- svgio/qa/cppunit/SvgImportTest.cxx| 27 ++ svgio/qa/cppunit/data/tdf93583.svg|7 ++ svgio/source/svgreader/svgcharacternode.cxx | 70 +- svgio/source/svgreader/svgdocumenthandler.cxx | 24 svgio/source/svgreader/svgtspannode.cxx |3 - 7 files changed, 104 insertions(+), 39 deletions(-) New commits: commit 12eb15a9fac58fe2fb5baeeb35f8c43ba21b2e1e Author: Xisco Fauli AuthorDate: Mon Aug 14 14:52:41 2023 +0200 Commit: Michael Stahl CommitDate: Wed Aug 16 11:12:39 2023 +0200 tdf#93583: use getTextWidth to calculate line's width Since every character in the line might use different styles Change-Id: I2ce079d4308f4acde42a8366838749a7c20331b4 Change-Id: I01f51f157caa667cebc8860ae37d4458fac2d511 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155666 Tested-by: Jenkins Reviewed-by: Xisco Fauli Signed-off-by: Xisco Fauli Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155724 Reviewed-by: Michael Stahl diff --git a/svgio/inc/svgcharacternode.hxx b/svgio/inc/svgcharacternode.hxx index 059aa9ece1fd..d81066af47a6 100644 --- a/svgio/inc/svgcharacternode.hxx +++ b/svgio/inc/svgcharacternode.hxx @@ -24,6 +24,7 @@ #include +#include #include "svgtextnode.hxx" #include "svgtextposition.hxx" @@ -58,6 +59,9 @@ namespace svgio::svgreader OUString aText); virtual ~SvgCharacterNode() override; +static drawinglayer::attribute::FontAttribute getFontAttribute( +const SvgStyleAttributes& rSvgStyleAttributes); + virtual const SvgStyleAttributes* getSvgStyleAttributes() const override; void decomposeText(drawinglayer::primitive2d::Primitive2DContainer& rTarget, SvgTextPosition& rSvgTextPosition) const; diff --git a/svgio/inc/svgtspannode.hxx b/svgio/inc/svgtspannode.hxx index 92ed8319c628..991b0ac451f6 100644 --- a/svgio/inc/svgtspannode.hxx +++ b/svgio/inc/svgtspannode.hxx @@ -39,9 +39,9 @@ namespace svgio::svgreader boolmbLengthAdjust : 1; // true = spacing, false = spacingAndGlyphs -// The text line composed by the different SvgCharacterNode children +// The text line width composed by the different SvgCharacterNode children // it will be used to calculate their alignment -OUString maTextLine; +double mnTextLineWidth; public: SvgTspanNode( @@ -83,8 +83,8 @@ namespace svgio::svgreader bool getLengthAdjust() const { return mbLengthAdjust; } void setLengthAdjust(bool bNew) { mbLengthAdjust = bNew; } -void concatenateTextLine(std::u16string_view rText) {maTextLine += rText;} -const OUString& getTextLine() const { return maTextLine; } +void concatenateTextLineWidth(double nWidth) {mnTextLineWidth += nWidth;} +double getTextLineWith() const { return mnTextLineWidth; } }; } // end of namespace svgio::svgreader diff --git a/svgio/qa/cppunit/SvgImportTest.cxx b/svgio/qa/cppunit/SvgImportTest.cxx index 42cb98c4b6be..4032c934658e 100644 --- a/svgio/qa/cppunit/SvgImportTest.cxx +++ b/svgio/qa/cppunit/SvgImportTest.cxx @@ -742,6 +742,33 @@ CPPUNIT_TEST_FIXTURE(Test, testTdf85770) assertXPath(pDocument, "/primitive2D/transform/textsimpleportion[3]", "familyname", "Times New Roman"); } +CPPUNIT_TEST_FIXTURE(Test, testTdf93583) +{ +Primitive2DSequence aSequence = parseSvg(u"/svgio/qa/cppunit/data/tdf93583.svg"); +CPPUNIT_ASSERT_EQUAL(1, static_cast(aSequence.getLength())); + +drawinglayer::Primitive2dXmlDump dumper; +xmlDocUniquePtr pDocument = dumper.dumpAndParse(Primitive2DContainer(aSequence)); + +CPPUNIT_ASSERT (pDocument); + +assertXPath(pDocument, "/primitive2D/transform/textsimpleportion[1]", "text", "This is the"); +assertXPath(pDocument, "/primitive2D/transform/textsimpleportion[1]", "x", "62"); +assertXPath(pDocument, "/primitive2D/transform/textsimpleportion[1]", "y", "303"); +assertXPath(pDocument, "/primitive2D/transform/textsimpleportion[1]", "width", "16"); +assertXPath(pDocument, "/primitive2D/transform/textsimpleportion[1]", "height", "16"); +assertXPath(pDocument, "/primitive2D/transform/textsimpleportion[2]", "text", " first"); +assertXPath(pDocument, "/primitive2D/transform/textsimpleportion[2]", "x", "127"); +assertXPath(pDocument, "/primitive2D/transform/textsimpleportion[2]", "y", "303"); +assertXPath(pDocument, "/primitive2D/transform/textsimpleportion[2]", "width", "32"); +assertXPath(pDocument, "/primitive2D/transform/textsimpleportion[2]", "height", "32"); +assertXPath(pDocument, "/primitive2D/transform/textsimpleportion[3]", "text", " line"); +asser
[Libreoffice-commits] core.git: Branch 'libreoffice-7-5' - translations
translations |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) New commits: commit 03dd3e044fd52fc4b12c27236cd7b6c6a465cd37 Author: Xisco Fauli AuthorDate: Wed Aug 16 11:07:21 2023 +0200 Commit: Gerrit Code Review CommitDate: Wed Aug 16 11:07:21 2023 +0200 Update git submodules * Update translations from branch 'libreoffice-7-5' to 9756b7f8b028c50832712e0c7c0870e009c4040d - update translations for 7.5.6 rc1 and force-fix errors using pocheck Change-Id: I03025237ce24eb43bc1b8db8e4eaa24fd5abde88 diff --git a/translations b/translations index 54979d42cbf0..9756b7f8b028 16 --- a/translations +++ b/translations @@ -1 +1 @@ -Subproject commit 54979d42cbf05051c85662da70db2d988ca6a417 +Subproject commit 9756b7f8b028c50832712e0c7c0870e009c4040d
[Libreoffice-commits] core.git: sw/source
sw/source/core/layout/paintfrm.cxx | 28 +++- 1 file changed, 27 insertions(+), 1 deletion(-) New commits: commit a9b3d3ec7fe6fe995b689c1de7e065b68845ea85 Author: László Németh AuthorDate: Mon Aug 14 16:40:34 2023 +0200 Commit: László Németh CommitDate: Wed Aug 16 10:58:36 2023 +0200 tdf#156782 sw tracked table column: fix missing right table border Last visible column of a table followed with hidden deleted columns hid also the right border of the table, if the inner vertical column borders drawn only by left-only borders (like in the default table style). See also commit f9898fa64bd2a575be94c309b43373de53c5331b "tdf#150308 sw: fix missing top table border after hidden table rows" Note: layout testing doesn't work, because of the missing calculation with the width of the enabled border of the row frame. Also there is a problem with metafile testing (empty meta file?). Change-Id: I5e98c6751d889f8d5a3f7f2b0b31e44149742e25 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155669 Tested-by: László Németh Reviewed-by: László Németh diff --git a/sw/source/core/layout/paintfrm.cxx b/sw/source/core/layout/paintfrm.cxx index 8b44b33445d5..e1f6e12827fe 100644 --- a/sw/source/core/layout/paintfrm.cxx +++ b/sw/source/core/layout/paintfrm.cxx @@ -2829,6 +2829,29 @@ static bool lcl_IsFirstRowInFollowTableWithoutRepeatedHeadlines( && rBoxItem.GetBottom()); } +/** + * Special case: + * last visible cell of a table row followed with a hidden deleted cell, + * and the right border of the visible cell was painted by its left border + */ +static bool lcl_IsLastVisibleCellBeforeHiddenCellAtTheEndOfRow( +SwFrame const& rFrame, SvxBoxItem const& rBoxItem) +{ +SwRowFrame const*const pThisRowFrame = +dynamic_cast(rFrame.GetUpper()); +const SwCellFrame* pThisCell = static_cast(&rFrame); + +return pThisRowFrame +// last visible cell +&& !rFrame.GetNext() +// it has only left border +&& !rBoxItem.GetRight() +&& rBoxItem.GetLeft() +// last visible table cell isn't equal to the last cell: +// there are invisible deleted cells in Hide Changes mode +&& pThisRowFrame->GetTabLine()->GetTabBoxes().back() != pThisCell->GetTabBox(); +} + void SwTabFramePainter::Insert(const SwFrame& rFrame, const SvxBoxItem& rBoxItem, const SwRect& rPaintArea) { // build 4 line entries for the 4 borders: @@ -2838,6 +2861,9 @@ void SwTabFramePainter::Insert(const SwFrame& rFrame, const SvxBoxItem& rBoxItem bool const bBottomAsTop(lcl_IsFirstRowInFollowTableWithoutRepeatedHeadlines( mrTabFrame, rFrame, rBoxItem)); +bool const bLeftAsRight(lcl_IsLastVisibleCellBeforeHiddenCellAtTheEndOfRow( +rFrame, rBoxItem)); + bool const bVert = mrTabFrame.IsVertical(); bool const bR2L = mrTabFrame.IsRightToLeft(); @@ -2899,7 +2925,7 @@ void SwTabFramePainter::Insert(const SwFrame& rFrame, const SvxBoxItem& rBoxItem } SwLineEntry aRight (nRight, nTop, nBottom, bRightIsOuter, -bVert ? (bBottomAsTop ? aB : aT) : (bR2L ? aL : aR)); +bVert ? (bBottomAsTop ? aB : aT) : ((bR2L || bLeftAsRight) ? aL : aR)); if (bWordTableCell && rBoxItem.GetRight()) { aRight.LimitVerticalEndPos(rFrame, SwLineEntry::VerticalType::RIGHT);
[Libreoffice-commits] core.git: Branch 'libreoffice-7-6' - translations
translations |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) New commits: commit bee08c0e19f7a62e9df2d8bca6152cd78ef713b8 Author: Xisco Fauli AuthorDate: Wed Aug 16 10:50:00 2023 +0200 Commit: Gerrit Code Review CommitDate: Wed Aug 16 10:50:00 2023 +0200 Update git submodules * Update translations from branch 'libreoffice-7-6' to 7ed7b5db0b4937a15cf07967fe59e6aeef5ab3e5 - update translations for master/7.6.1 rc1 and force-fix errors using pocheck Change-Id: Ie4e0754d95811399ba74227f3387d7930a640cb1 diff --git a/translations b/translations index 0ddd242fab9e..7ed7b5db0b49 16 --- a/translations +++ b/translations @@ -1 +1 @@ -Subproject commit 0ddd242fab9ead8f54a95bc40225deea46193b12 +Subproject commit 7ed7b5db0b4937a15cf07967fe59e6aeef5ab3e5
[Libreoffice-commits] translations.git: Branch 'libreoffice-7-6' - source/ar source/bg source/ca source/ca-valencia source/de source/dsb source/el source/es source/fi source/fr source/gug source/hr so
source/ar/accessibility/messages.po |8 source/ar/avmedia/messages.po |8 source/ar/basctl/messages.po |8 source/ar/basic/messages.po |8 source/ar/chart2/messages.po | 34 source/ar/connectivity/messages.po | 111 source/ar/connectivity/registry/firebird/org/openoffice/Office/DataAccess.po | 10 source/ar/connectivity/registry/hsqldb/org/openoffice/Office/DataAccess.po | 10 source/ar/connectivity/registry/macab/org/openoffice/Office/DataAccess.po | 10 source/ar/connectivity/registry/mysql_jdbc/org/openoffice/Office/DataAccess.po | 10 source/ar/cui/messages.po | 34 source/ar/dbaccess/messages.po |4 source/ar/desktop/messages.po |4 source/ar/editeng/messages.po |4 source/ar/extensions/messages.po |6 source/ar/filter/messages.po |4 source/ar/filter/source/config/fragments/filters.po | 36 source/ar/forms/messages.po |4 source/ar/formula/messages.po | 282 - source/ar/fpicker/messages.po |8 source/ar/framework/messages.po | 40 source/ar/nlpsolver/help/en/com.sun.star.comp.Calc.NLPSolver.po |4 source/ar/officecfg/registry/data/org/openoffice/Office.po |8 source/ar/officecfg/registry/data/org/openoffice/Office/UI.po | 40 source/ar/oox/messages.po |8 source/ar/reportdesign/messages.po |6 source/ar/sc/messages.po | 48 source/ar/scaddins/messages.po |8 source/ar/sccomp/messages.po |8 source/ar/scp2/source/math.po | 10 source/ar/sd/messages.po |4 source/ar/sfx2/messages.po |6 source/ar/shell/messages.po |8 source/ar/starmath/messages.po | 149 source/ar/svl/messages.po |8 source/ar/svtools/messages.po | 14 source/ar/svx/messages.po | 12 source/ar/sw/messages.po | 22 source/ar/sysui/desktop/share.po | 12 source/ar/uui/messages.po |6 source/ar/vcl/messages.po |6 source/ar/wizards/messages.po |6 source/ar/writerperfect/messages.po |4 source/ar/xmlsecurity/messages.po |8 source/bg/cui/messages.po |6 source/bg/helpcontent2/source/text/simpress/01.po | 18 source/bg/sw/messages.po | 164 source/ca-valencia/accessibility/messages.po | 36 source/ca-valencia/avmedia/messages.po | 32 source/ca-valencia/basctl/messages.po | 66 source/ca-valencia/basic/messages.po | 34 source/ca-valencia/chart2/messages.po | 102 sourc
[Libreoffice-commits] core.git: translations
translations |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) New commits: commit 45de95dc585d79e7165a3035b27d65bb3f0af3d5 Author: Xisco Fauli AuthorDate: Wed Aug 16 10:46:26 2023 +0200 Commit: Gerrit Code Review CommitDate: Wed Aug 16 10:46:26 2023 +0200 Update git submodules * Update translations from branch 'master' to a2d843f1212a3a04da04244c4a21a70f46e22b9d - update translations for master/7.6.1 rc1 and force-fix errors using pocheck Change-Id: Ie4e0754d95811399ba74227f3387d7930a640cb1 diff --git a/translations b/translations index 9c0d5620123d..a2d843f1212a 16 --- a/translations +++ b/translations @@ -1 +1 @@ -Subproject commit 9c0d5620123db0ea25d5ecddbc4136c00d9413a7 +Subproject commit a2d843f1212a3a04da04244c4a21a70f46e22b9d
[Libreoffice-commits] translations.git: source/ar source/bg source/ca source/ca-valencia source/de source/dsb source/el source/es source/fi source/fr source/gug source/hr source/hsb source/id source/i
source/ar/accessibility/messages.po |8 source/ar/avmedia/messages.po |8 source/ar/basctl/messages.po |8 source/ar/basic/messages.po |8 source/ar/chart2/messages.po | 34 source/ar/connectivity/messages.po | 111 source/ar/connectivity/registry/firebird/org/openoffice/Office/DataAccess.po | 10 source/ar/connectivity/registry/hsqldb/org/openoffice/Office/DataAccess.po | 10 source/ar/connectivity/registry/macab/org/openoffice/Office/DataAccess.po | 10 source/ar/connectivity/registry/mysql_jdbc/org/openoffice/Office/DataAccess.po | 10 source/ar/cui/messages.po | 34 source/ar/dbaccess/messages.po |4 source/ar/desktop/messages.po |4 source/ar/editeng/messages.po |4 source/ar/extensions/messages.po |6 source/ar/filter/messages.po |4 source/ar/filter/source/config/fragments/filters.po | 36 source/ar/forms/messages.po |4 source/ar/formula/messages.po | 282 - source/ar/fpicker/messages.po |8 source/ar/framework/messages.po | 40 source/ar/nlpsolver/help/en/com.sun.star.comp.Calc.NLPSolver.po |4 source/ar/officecfg/registry/data/org/openoffice/Office.po |8 source/ar/officecfg/registry/data/org/openoffice/Office/UI.po | 40 source/ar/oox/messages.po |8 source/ar/reportdesign/messages.po |6 source/ar/sc/messages.po | 48 source/ar/scaddins/messages.po |8 source/ar/sccomp/messages.po |8 source/ar/scp2/source/math.po | 10 source/ar/sd/messages.po |4 source/ar/sfx2/messages.po |6 source/ar/shell/messages.po |8 source/ar/starmath/messages.po | 149 source/ar/svl/messages.po |8 source/ar/svtools/messages.po | 14 source/ar/svx/messages.po | 12 source/ar/sw/messages.po | 22 source/ar/sysui/desktop/share.po | 12 source/ar/uui/messages.po |6 source/ar/vcl/messages.po |6 source/ar/wizards/messages.po |6 source/ar/writerperfect/messages.po |4 source/ar/xmlsecurity/messages.po |8 source/bg/cui/messages.po |6 source/bg/helpcontent2/source/text/simpress/01.po | 18 source/bg/sw/messages.po | 164 source/ca-valencia/accessibility/messages.po | 36 source/ca-valencia/avmedia/messages.po | 32 source/ca-valencia/basctl/messages.po | 66 source/ca-valencia/basic/messages.po | 34 source/ca-valencia/chart2/messages.po | 102 sourc
[Libreoffice-commits] core.git: sw/CppunitTest_sw_core_text.mk sw/qa sw/source
sw/CppunitTest_sw_core_text.mk |1 sw/qa/core/text/data/floattable-leftover-para-portion.docx |binary sw/qa/core/text/porrst.cxx | 57 + sw/source/core/text/porrst.cxx |2 4 files changed, 59 insertions(+), 1 deletion(-) New commits: commit 1cf29168840f84c2e946e2678b99988e83503c96 Author: Miklos Vajna AuthorDate: Wed Aug 16 09:34:49 2023 +0200 Commit: Miklos Vajna CommitDate: Wed Aug 16 10:43:46 2023 +0200 tdf#156682 sw floattable: fix missing del of master anchor para por on split Pressing "enter" at the end of B1 in the bugdoc resulted in a split floating table, which had the anchor text duplicated (both on page 1 and page2). What happened is that the master anchor frame didn't have its paragraph portion cleared, the follow anchor frame had a correct frame offset (of 0). Fix the problem in SwTextFrame::FormatEmpty(), similar to what commit 00b9b4791079c2dc26b1ed4c123450cabf7d (sw: call FormatEmpty() in SwTextFrame::Format() for split fly masters, 2023-02-09), did; here what we want to avoid is setting some properties on the paragraph preventing the deletion of non-last anchor paragraph portions. As a side effect, this also fixes the hang from the bugreport, after pressing "enter" 5 times at the end of B1. Change-Id: I16e6d786f02ad503a0fdff465ecf7716c1c5f8b7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155732 Reviewed-by: Miklos Vajna Tested-by: Jenkins diff --git a/sw/CppunitTest_sw_core_text.mk b/sw/CppunitTest_sw_core_text.mk index 477e25b91612..37b2fa566094 100644 --- a/sw/CppunitTest_sw_core_text.mk +++ b/sw/CppunitTest_sw_core_text.mk @@ -17,6 +17,7 @@ $(eval $(call gb_CppunitTest_add_exception_objects,sw_core_text, \ sw/qa/core/text/frmform \ sw/qa/core/text/itratr \ sw/qa/core/text/itrform2 \ +sw/qa/core/text/porrst \ sw/qa/core/text/text \ )) diff --git a/sw/qa/core/text/data/floattable-leftover-para-portion.docx b/sw/qa/core/text/data/floattable-leftover-para-portion.docx new file mode 100644 index ..51eee56cf003 Binary files /dev/null and b/sw/qa/core/text/data/floattable-leftover-para-portion.docx differ diff --git a/sw/qa/core/text/porrst.cxx b/sw/qa/core/text/porrst.cxx new file mode 100644 index ..1c343dc0d9f2 --- /dev/null +++ b/sw/qa/core/text/porrst.cxx @@ -0,0 +1,57 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + */ + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include + +namespace +{ +/// Covers sw/source/core/text/porrst.cxx fixes. +class Test : public SwModelTestBase +{ +public: +Test() +: SwModelTestBase("/sw/qa/core/text/data/") +{ +} +}; + +CPPUNIT_TEST_FIXTURE(Test, testFloattableLeftoverParaPortion) +{ +// Given a document with a multi-page floating table, the anchor of the table has some text: +createSwDoc("floattable-leftover-para-portion.docx"); + +// When laying out that document: +calcLayout(); + +// Then make sure all anchor text goes to the second page: +SwDoc* pDoc = getSwDoc(); +SwRootFrame* pLayout = pDoc->getIDocumentLayoutAccess().GetCurrentLayout(); +auto pPage = dynamic_cast(pLayout->Lower()); +CPPUNIT_ASSERT(pPage); +SwFrame* pBody = pPage->FindBodyCont(); +SwFrame* pPara1 = pBody->GetLower(); +auto pPara2 = pPara1->GetNext()->DynCastTextFrame(); +CPPUNIT_ASSERT(pPara2); +// Without the accompanying fix in place, this test would have failed, the first page's anchor +// also had some (duplicated) anchor text. +CPPUNIT_ASSERT(!pPara2->GetPara()); +} +} + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sw/source/core/text/porrst.cxx b/sw/source/core/text/porrst.cxx index 255318119f87..5c6ea428c1db 100644 --- a/sw/source/core/text/porrst.cxx +++ b/sw/source/core/text/porrst.cxx @@ -413,7 +413,7 @@ bool SwTextFrame::FormatEmpty() // Split fly frames: non-last parts of the anchor want this optimization to clear the old // content. bool bHasNonLastSplitFlyDrawObj = HasNonLastSplitFlyDrawObj(); -if ((HasFollow() && !bHasNonLastSplitFlyDrawObj) || GetMergedPara() || GetTextNodeFirst()->GetpSwpHints() || +if ((HasFollow() && !bHasNonLastSplitFlyDrawObj) || GetMergedPara() || (GetTextNodeFirst()->GetpSwpHints() && !bHasNonLastSplitFlyDrawObj) || nullptr != GetTextNodeForParaProps()->GetNumRule() || GetTextNodeFirst()->HasHiddenCharAttribute(true) || IsInFootnote() || ( HasPara() && GetPara