summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2022-01-11Bump version to 21.06.12.1cp-21.06.12-1Andras Timar1-1/+1
Change-Id: I7684599864becb805c5e0f8441debd227417671c
2022-01-11LOK android: Fix csv sheet name becomes temp nameMert Tumer1-11/+18
Signed-off-by: Mert Tumer <mert.tumer@collabora.com> Change-Id: If43d7a995a5e53734fc7ecdcbf9b750b4886dc45 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127684 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Andras Timar <andras.timar@collabora.com>
2022-01-11sc: fix cond. format icon size, when we work with pixelsTomaž Vajngerl1-7/+18
This is the case when the device is bWorksInPixels is true, which is the case when running LOKit. Change-Id: If7293d95589f52d46f24bc7254f1eeb6f50729b4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128199 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Andras Timar <andras.timar@collabora.com>
2022-01-11sc: make icon size of cond. formatting same as font sizeTomaž Vajngerl3-3/+22
This makes the behavior of the Calc te same as other spreadsheet programs, where the icon size of the conditional formatting is the same as the font size and not the actual cell height (as it is the behaviour now). Change-Id: I00c96ad83458cd31f67c0b6f566e3d01dd8cd47b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128186 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Andras Timar <andras.timar@collabora.com>
2022-01-11editeng: avoid writing past the end of of pLine->GetCharPosArray()Miklos Vajna1-2/+8
Thread 1 "soffice.bin" received signal SIGSEGV, Segmentation fault. 0x00007ffff6df4951 in ?? () from /usr/lib64/libstdc++.so.6 (gdb) bt 10 #0 0x00007ffff6df4951 in () at /usr/lib64/libstdc++.so.6 #1 0x00007ffff6df5792 in __gnu_debug::_Error_formatter::_M_error() const () at /usr/lib64/libstdc++.so.6 #2 0x00007ffff47384bf in std::__debug::vector<int, std::allocator<int> >::operator[](unsigned long) (this=0x6b3dca0, __n=7) at /usr/include/c++/7/debug/vector:417 #3 0x00007ffff47b5440 in ImpEditEngine::ImpBreakLine(ParaPortion*, EditLine*, TextPortion const*, int, long, bool) (this= 0x1ce0040, pParaPortion=0x206a010, pLine=0x6b3dca0, pPortion=0x6b3e480, nPortionStart=0, nRemainingWidth=5093, bCanHyphenate=false) at editeng/source/editeng/impedit3.cxx:2041 #4 0x00007ffff47b1fb6 in ImpEditEngine::CreateLines(int, unsigned int) (this=0x1ce0040, nPara=0, nStartPosY=0) at editeng/source/editeng/impedit3.cxx:1352 #5 0x00007ffff47ad0c2 in ImpEditEngine::FormatDoc() (this=0x1ce0040) at editeng/source/editeng/impedit3.cxx:387 #6 0x00007ffff47bf516 in ImpEditEngine::FormatAndLayout(EditView*, bool) (this=0x1ce0040, pCurView=0x0, bCalledFromUndo=false) at editeng/source/editeng/impedit3.cxx:4190 #7 0x00007ffff47be333 in ImpEditEngine::SetUpdateLayout(bool, EditView*, bool) (this=0x1ce0040, bUp=true, pCurView=0x0, bForceUpdate=false) at editeng/source/editeng/impedit3.cxx:3927 #8 0x00007ffff46f059e in EditEngine::SetUpdateLayout(bool, bool) (this=0x1ce2b20, bUpdate=true, bRestoring=false) at editeng/source/editeng/editeng.cxx:1472 #9 0x00007ffff48ce5e3 in Outliner::SetText(OutlinerParaObject const&) (this=0x1ce0cc0, rPObj=...) at editeng/source/outliner/outliner.cxx:586 (More stack frames follow...) (gdb) frame 3 #3 0x00007ffff47b5440 in ImpEditEngine::ImpBreakLine (this=0x1ce0040, pParaPortion=0x206a010, pLine=0x6b3dca0, pPortion=0x6b3e480, nPortionStart=0, nRemainingWidth=5093, bCanHyphenate=false) at editeng/source/editeng/impedit3.cxx:2041 2041 pLine->GetCharPosArray()[ nPosInArray ] = rTP.GetSize().Width(); (gdb) print pLine->GetCharPosArray() [Thread 0x7fffd2010700 (LWP 5008) exited] $1 = std::__debug::vector of length 7, capacity 7 = {707, 1414, 2121, 2828, 3535, 4242, 4949} (gdb) print nPosInArray $2 = 7 Change-Id: I3a8121c0c0a3b0949e91eb53c0468f7e629b146f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128224 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2022-01-11lokCalcRTL: fix chart insertion positionDennis Francis1-3/+13
Change-Id: I573cb19643d7a048f3313aba90fa9b5514c9cc74
2022-01-11lokCalcRTL: trim invalidation rect to ensure +ve XDennis Francis1-0/+9
Change-Id: Ifecb52167e3cddee036e1e1e9bd5782a1138b654
2022-01-11lok: setClientZoom: check PPTX/Y approx equality tooDennis Francis1-1/+5
This is needed because the initial PPTX/Y on document load does not match the implied PPTX/Y corresponding to the client requested zoomX/Y. For instance when document is loaded by LOK client and 100% zoom is requested, the correct PPTX/Y should be (1/15 = 0.0666667) but the initial PPTX/Y on the ScViewData is 0.0647702 Change-Id: I996e9f003abd269df0994f3d114e42f84bb2bb20
2022-01-11lokCalcRTL: fix rendering of charts in edit modeDennis Francis7-8/+55
Inform Sfx2InPlaceClient and LokChartHelper when negated X coordinates are used. Ensure that invalidation rectangles have positive coordinates in all cases. Change-Id: I8f5440718e288d8f0d379c8da5f49a29e51f6940
2022-01-11lokCalcRTL: negate mouse event X for chart and controlsDennis Francis1-4/+12
Change-Id: I389047140d1a3d2c67a861a3e20f799206d937b6
2022-01-11lokCalcRTL: fix editing of shape textDennis Francis6-7/+53
Inform editeng that negated document x coordinates are used in this case and ensure that editeng generated invalidation rectangles always have positive X coordinates. Change-Id: I2e450707ce02f7bcd8e4d299f857c37ebbd5e2c6
2022-01-11lokCalcRTL: shapes: negate mouse-event x coordinateDennis Francis1-0/+8
Change-Id: I153334940b41859e6fd9dee64217925627f0f292
2022-01-11lokCalcRTL: shapes: do not send negative(X) invalidationsDennis Francis6-4/+34
LOK client expects tile invalidations in positive document coordinates irrespective of RTL flags. For this introduce a flag mbNegativeX in svx class SdrMarkView to indicate the case when all x coordinates are negated (this happens only for the LOK + Calc + RTL mode). Use this flag to counter negate the x coordinates before sending invalidation rectangles. Change-Id: I35d8142718b538e55b668a8ee18f3dd1fe433951
2022-01-11lokCalcRTL: negate the +ve shape handle X coordinate...Dennis Francis1-1/+4
...from lok client as all shape X coordinates are negative in lok-RTL mode. Change-Id: Ic4ba064888901109c85760bb0afda609b5d5942c
2022-01-11lokCalcRTL: RTL negation for shape insertionDennis Francis1-1/+2
Change-Id: I8e3bb21fadd05a7b67acce34bfdc354fefba076b
2022-01-11lokCalcRTL: shape selection: negate mouse X...Dennis Francis1-0/+12
as in LOK RTL mode draw objects have negated document X coordinate. Change-Id: Ie4c00fc0d1aa458a0aa6dd502be227cd6f82be3e
2022-01-11lokCalcRTL: ensure +ve X coords in shape handles/selections msgsDennis Francis1-5/+22
LOK client expects all coordinates to be in +ve document coordinates, so negate the negative X coordinates of LOK RTL shapes before sending the selection/handles messages. Change-Id: I683581370c5b115efbe315224d6218ec2e74c7f1
2022-01-11lokCalcRTL: adjustments for shapes renderingDennis Francis2-13/+23
In LOK-RTL mode GetScrPos() always returns document pixel coordinates and not something mirrored w.r.t gridwindow width. * Grid offset must have the opposite sign since the SdrObjects/ranges have negative coordinates with no offset. * Drawing area rectangle and the pixel-offset for tile rendering device also needs adjustments when painting the drawing layers. Change-Id: I987a6876983aee129c06b3577918dbc62d6e7c4c
2022-01-11lokCalcRTL: fix autofilter popup positionDennis Francis1-2/+11
Change-Id: Iecf41c286e28f849f77da47a0c5f73cbbc02986a
2022-01-11lokCalcRTL: fix autofilter button hit detectionDennis Francis1-3/+4
No mirroring needed when not in tile painting mode. All positions are in document coordinates. Change-Id: I45425e2ddce7f5ddc5086dcdce31bb6d081edc41
2022-01-11lokCalcRTL: Workaround to avoid DrawPoly ghost drawingsDennis Francis1-1/+6
Change-Id: Ib6c794766fe68305566a293892c9123d64a2fc47
2022-01-11lokCalcRTL: draw autofilter buttons at correct coordinatesDennis Francis2-17/+44
Factor out the transformation from document coordinates to tile device coordinates in ScLokRTLContext. Change-Id: I426a179bff253233f6d45b67ddfde8b3bb1344a1
2022-01-11lokCalcRTL: selection coords should be mirrored w.r.t output areaDennis Francis2-4/+12
Change-Id: I52bbbd4ca69a599c90c00d25513064b025f72bf4
2022-01-11lokCalcRTL: fix editcell painting from other views as wellDennis Francis1-0/+14
Change-Id: Iac431996570f1f7eb091809442d8781ea60aa9b5
2022-01-11lokCalcRTL: edit cell painting: avoid indent...Dennis Francis1-1/+2
to match the behaviour in desktop Calc. Change-Id: I615255635500edf375b237abcab0a21ba6153cce
2022-01-11lokCalcRTL: text cursor pos should be mirrored w.r.t output areaDennis Francis1-0/+7
Change-Id: Ied4e02d2dd30b7132ea1bc5f0d5b717355ed8b4f
2022-01-11lokCalcRTL: fix editcell tile paintingDennis Francis3-13/+30
Don't use internal gridwindow width to invert the edit area coordinates. The gridwin width is not in sync with lok client width, and it seems making them in sync is non-trivial as it currently breaks other things. For tile-painting, always use the width of visible columns in the (combined-)tile area as the mirror width. In the case of LOK + RTL, because we avoid coordinate mirroring based on gridwin-width, any corresponding adjustments in edit engine paper-size, output area, visible area are done appropriately. Advantage of this approach is that the invalidation rectangles sent are in the document coordinates which is exactly what the client expects! So no additional coordinate reversal needed in core or in lok client for invalidation. Change-Id: I0b687a12dc9344fba9ee772111e7598888fa16bf
2022-01-11lokCalcRTL: incorrect invalidation rectangle for...Dennis Francis1-3/+4
cell properties change. LOK client expects invalidation rectangle in document coordinates so ensure we don't mirror the x coordinate. Change-Id: I27bdd29a0d56c7a7b838b7669e3edde805dd1504
2022-01-11lokCalcRTL: selections: lokclients need exact document coordinatesDennis Francis1-1/+2
so do not do horizontal mirroring. Change-Id: I93432002810dacfeb609268f436bdf2cfecb3a60
2022-01-11lokCalcRTL: no internal width based mirroring in GetPosFromPixelDennis Francis1-4/+7
The gridwindow width is historically not synced with the visible area in client. Mirroring is not necessary when the client is already sending the true document coordinates of the mouse events etc. Change-Id: I74573be406c512324f4c5db0c53fbc12374b88c8
2022-01-11lokCalcRTL: provide sheet RTL flags to clientDennis Francis1-0/+3
Change-Id: If881fdea1c6bae10735cfde624ad6f4f3a34e389
2022-01-11lok: copy over the alpha channel too for cairo...Dennis Francis1-1/+4
...based svp-graphics Change-Id: I653a8e4048c712911f44f610e13c7f6c3e323de2
2022-01-11lokCalcRTL: h-flip the "combined" tileDennis Francis1-0/+7
This h-flip is needed because the tile containing cell A1 will have the coordinates (0, 0). Further aim is to have document coordinates for all tile messages and tile invalidation messages. The LOK client should be able to map the document coordinates to the correct view coordinates. In the lok client we also need to h-flip the "regular" tiles at the tile position. Change-Id: Iaf89afeb89f916cb490800ee5d34c4780125f3a0
2022-01-11lokCalcRTL: Fix the tile offsetsDennis Francis1-0/+25
Change-Id: Id0db3d422c8c47ed6fbbc505ca9a857ac54c033a
2022-01-10PDF export of PDF images: preserve hyperlinksMiklos Vajna3-0/+65
The input file has a single page, with a full-page PDF image, which contains a hyperlink. Similar to pdfcrop, we used to wrap this into a form XObject, so page-level annotations like hyperlinks were lost. Explicitly merge page-level annotations from the source page to the page that contains the PDF image to preserve those annotations. (cherry picked from commit 1984a5c140cc3c7c291047dacf3bddd7061d2047) Conflicts: vcl/qa/cppunit/pdfexport/pdfexport.cxx Change-Id: I96e8bc9d33440b91f3514486d6a8bd75047546b2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128127 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2022-01-10lok: Fix freshly added comments are not displayedMert Tumer2-1/+7
Signed-off-by: Mert Tumer <mert.tumer@collabora.com> Change-Id: Ice772eff8b9f8ae8c23ec1e66675e33a80492028 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128217 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
2022-01-10tdf#146534 pptx import: make Z rotation work with rotation transformSarper Akdemir7-29/+73
Expands previous idea from a9c5c0d814a266096483572b84c72875ef8efd77 (tdf#133037 OOXML shape import: camera rotation along Z) and uses it also for shapes that have a true bUseRotationTransform flag Also fixes same Z rotation exporting twice from InteropGrabBag to both spPr and textBody causing text overrotating on roundtrip. Change-Id: If0f192af029ca86b932a63613f961be1f5003c5b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127880 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com> (cherry picked from commit 8bdd134bef3baca2ebd878163af4e55e5f898efe) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127956 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
2022-01-10test: move parseExportStream() from SdModelTestBaseXML up to MacrosTestMiklos Vajna5-18/+28
Move parseExportStream() from SdModelTestBaseXML up to MacrosTest, so oox/ test code can use it as well. Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126215 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins (cherry picked from commit f36767fde87191258ea21f3faac0be6ad79328e0) Change-Id: I8ba7d6f3b535456ddaa7cd0f0bb5d56fce7a7766 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128173 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2022-01-07jsonwriter: encode tab space characterSzymon Kłos1-0/+7
Change-Id: Idf473f029c2e38efe817c38d4cb00bdd09648d36 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128052 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
2022-01-07Make the LibreOffice6FloatingPointMode thing work like in the master branchTor Lillqvist5-11/+43
Add an Expert Configurtion setting to turn it on in addition to checking an environment variable. Don't expose the check as a Basic function. Change-Id: I6c7f3e85d63ce79f83a0747a00d05e14e559792f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126580 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Andras Timar <andras.timar@collabora.com>
2022-01-07Backport the better fix of tdf#73523 from masterAndras Timar1-9/+24
Change-Id: If12b17c2ff3adf317a7ea95c1148648194992c77 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128066 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2022-01-06Bump version to 21.06.11.1cp-21.06.11-1Andras Timar1-1/+1
Change-Id: I9012065f8d196f15b478fb3b5d6a083cd5b2b671
2022-01-06Unit test for 0-byte ods detectionSzymon Kłos2-0/+9
Fixed by commit: d9a4e323555d01202dd15e71a3a32294bfd568cc Open empty (0 bytes) ods as spreadsheet Change-Id: I9b7220f46f5d00f6e4a73d6325dca51d7ea5b656 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128033 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Andras Timar <andras.timar@collabora.com>
2022-01-06Open empty (0 bytes) ods as spreadsheetSzymon Kłos1-1/+6
Before this patch we opened it with Writer UI because we didn't detect any filter with PREFFERED annotation Change-Id: I6262fb695b5fe20a377120f298f144e2cafbadc9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128015 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2022-01-05We don't want or need any LOKClipboard on iOSTor Lillqvist6-5/+39
We use only the system clipboard on iOS. (It is actually called the "pasteboard" in Apple's operating systems.) The code to interface with the system clipboard is in vcl. It has worked fine to copy and paste between the Collabora Office iOS app and other iOS apps without any LOKClipboard being involved. If LOKClipboard is used it doesn't work at all. Change-Id: I0d3b4e3eabe17b633390e071701225e1d356a75a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127968 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Aron Budea <aron.budea@collabora.com>
2022-01-05Set the original size in crop dialog to preferred DPI calc. sizeTomaž Vajngerl7-8/+48
If we have the document setting preferred image size set, then use that as the default DPI and recalcualte the logical image size using the DPI and the size in pixels. This is useful so we have the preferred DPI size as 100% in the crop dialog, so we can adjust the size in relation to that value. This adds to SfxTabPage a new member maAdditionalProperties, to make it easier to transfer additional properties into a tab page. This is then used to transfer the preferred DPI into the tab page, which was previously done by user data, which is less than ideal and always doesn't work. Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127096 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com> (cherry picked from commit e34067483ef78c1569641becfe99b79a97600aed) Change-Id: I50806f194032e228ee2cf56a39e5735a57358d46 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127240 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2022-01-05Add graphic size checker for the preferred document DPITomaž Vajngerl25-1/+1003
This change adds a graphic size checker, which checks all the images in the document, if they largely differ (outside of 50% and 110% of the image size) from the set preferred image DPI document setting. For all images that don't fall under this bounds, list them in the dialog and offer the posibility to select/goto the image and pop-up the properties dialog for the image to change its size. Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127094 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com> (cherry picked from commit 046e6cfa544d2ffd67fd29ba7dde41b495744618) Change-Id: I06efce77c291fdb6ec3864d72c2f4d15dba9c42b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127239 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2022-01-05Add image preffered DPI document setting, use it in Writer, ImpressTomaž Vajngerl16-145/+380
This adds a "image preferred DPI" document setting, which is used as a suggestion of the DPI that an image should have in the document. This is currently used when the image is inserted into the document (Writer, Impress/Draw) to resize it to the preferred DPI value. Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126334 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com> (cherry picked from commit 4c00e8fb10437fcaefe8635ef390b78376938d15) Change-Id: I3ee9d409257e3c6aa2ead05144ecbba7b3b916f6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127238 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2022-01-05lok: paint the inputwin directly to the device...Dennis Francis1-16/+8
...using the correct map mode with twips instead of using DrawOutDev() to scale what was drawn in a temporary vdev back to the original device. This fixes the issue: When window width is large (>3.5k pixels) the text in the window is not visible. This was because of the incorrect limiting of the paint area width to the paper-width of the editengine. Change-Id: I46a5c219a6ef07437789fe3de3cbaa245c0e7d72 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126570 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Dennis Francis <dennis.francis@collabora.com>
2022-01-04lokit: double check for disposed windows & fix leak.Michael Meeks2-8/+11
it seems we can get windows disposed before we get to the emission. <segv> vcl::Window::IsTracking() const vcl/source/window/window2.cxx:341 (anonymous namespace)::LOKPostAsyncEvent(void*, void*) sfx2/source/view/lokhelper.cxx:725 LokChartHelper::postMouseEvent(int, int, int, int, int, int, double, double) include/rtl/ref.hxx:112 SwXTextDocument::postMouseEvent(int, int, int, int, int, int) sw/source/uibase/uno/unotxdoc.cxx:3561 Change-Id: I93aea931dad1e7f43d3d610568424c53d2b22fbc Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127898 Reviewed-by: Jan Holesovsky <kendy@collabora.com> Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>