instead of SwNodeIndex and SwContentIndex. Part of the process
of hiding the implementation of SwPosition.
Change-Id: I290fbc14d738d1bbf5d3f613eae6d114fc7cda17
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138271
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
since...
commit ea21b870f8
Date: Mon Apr 19 15:22:22 2021 +0100
weld SmGraphicWindow
where the outer Window is not directly drawn into any more
Change-Id: I70f45590f0fb7ff2f7af80da8873d580d219aca4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138297
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
When positioning a dialog via external UNO connection,
and no LibreOffice window is visible (only quickstarter is running),
the window was mispositioned.
The ClientToScreen call changes the requested position, so skip that
for dialogs too.
Change-Id: I7656ec66b6aeccdc1fa306f5e05cf72b3cb87214
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138135
Tested-by: Jenkins
Reviewed-by: Samuel Mehrbrodt <samuel.mehrbrodt@allotropia.de>
This is already the default when inserting images via menu,
do this also when pasting images from other applications
(currently it would anchor 'to page').
Change-Id: I5e1d010b026fc8eba2d3a7cca80ea96814a2ebe8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138005
Tested-by: Jenkins
Reviewed-by: Samuel Mehrbrodt <samuel.mehrbrodt@allotropia.de>
This change adds import and export code for the the chart's data
table properties to the ODF format for chart documents. The data
table properties are exported to a new element "data-table", which
then references a auto style with all the properties of a data
table + new data table specific properties: HBorder, VBorder,
Outline, Keys which are mapped to "show-horizontal-border",
"show-vertical-border", "show-outline" and "show-keys" chart
attributes.
Also adds a test for the import and export:
imports xlsx -> exports to ods -> imports ods
Change-Id: Id45d9369fd619959e4d6eba7ca51c8ddce9c8f56
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138260
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
SwLayoutFrame::MakeAll tried to manipulate the height instead of the
width for SwCellFrame and SwColumnFrame ( i.e. when IsNeghbourFrame()
is true. ), by selecting a wrong SwRectFn.
SwRectFn fnRect = bVert == IsNeighbourFrame() ? fnRectHori :
( IsVertLR() ? (IsVertLRBT() ? fnRectVertL2RB2T : fnRectVertL2R) : fnRectVert );
It doesn't make sense to select among fnRectVertL2RBT, fnRectVertL2R,
and fnRectVert if the layout is horizontal.
The frame position got a negative top value and make the frame invisble.
Check he following commit for reference:
commit c90b6806d1
Author: Andreas Martens <ama@openoffice.org>
Date: Wed Sep 19 07:45:10 2001 +0000
Chg: Moving vertical help functions from SwFrm to SwRect
Change-Id: I2f6da9cdbc2947de95a6fb9ce8fa94a79360c83a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138250
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
The style (default unnamed \s0, applied via \pard) defines green
borders, which are overridden at the 2nd paragraph and cleared.
Of course there isn't a single border control word to be found on the
2nd paragraph, the override happens by omitting the borders of the
implicitly applied style.
Hence handle LN_CT_PrBase_pBdr in getDefaultSPRM().
The export of the override relies on changes from commit
967a03eb8760fb498c5ea6c32d03d1eea486bbe2.
Change-Id: I081eb2908d76123e7828cab6c31ceb7b11760183
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138193
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
- don't require it to be successful.
Trying to connect to a server with self-signed CA results in:
warn:ucb.ucp.webdav.curl:6796:6568:ucb/source/ucp/webdav-curl/CurlSession.cxx:946:
curl_easy_perform failed: (35) schannel: next InitializeSecurityContext failed:
Unknown error (0x80092012) - The revocation function was unable to check revocation for the certificate.
Apparently schannel wants to check by default (called with
SCH_CRED_REVOCATION_CHECK_CHAIN) that all the certificates aren't
revoked, but the self-signed CA doesn't specify how to check.
Set it to only check revocation when the way to do so actually works,
via CURLSSLOPT_REVOKE_BEST_EFFORT, which sets these flags:
SCH_CRED_IGNORE_NO_REVOCATION_CHECK | SCH_CRED_IGNORE_REVOCATION_OFFLINE | SCH_CRED_REVOCATION_CHECK_CHAIN
Change-Id: I6d77ca23fe2012d8a5d65000b14775070b5c9a0f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138204
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
part of the process of hiding the internals of SwPosition
Change-Id: I76aee9e18f37f70648c181af0c2bbc4d4f2dfd2a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138264
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
since we are indexing into node content here
Change-Id: I28c1a669a5202fb47757913bc175f1a926c4d4f6
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138252
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
the dtor of ScAttrArray where the std::vector<ScAttrEntry> ends up
will call ScDocumentPool::Remove on each entries pPattern, assuming
that a matching ScDocumentPool::Put was called on each, something
that is elided if we just do a simply copy here.
probably a problem since:
commit dddee125cc
Date: Thu Mar 10 15:03:25 2022 +0100
load ods/xlsx with full row attributes without allocating all columns
Change-Id: I3a5e2e3fa4d40343f30f9eefbabd1579d8a97e02
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138262
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Otherwise reading SVM files would lose the Kashida but not the DX
adjustments and would leave blanks in their place.
Change-Id: Id37e09fed12da5e256d65e2c45c91869364c8d06
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138242
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
This partially reverts the still relevant parts of commit
commit 41007842ed
Author: Martin Hosken <martin_hosken@sil.org>
Date: Thu Sep 10 10:14:18 2015 +0700
Refactor graphite integration and update graphite
Change-Id: I09db7262c2a6180a078620ba086dd7a4c132bd82
Reviewed-on: https://gerrit.libreoffice.org/18459
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: László Németh <nemeth@numbertext.org>
Reviewed-by: Martin Hosken <martin_hosken@sil.org>
No mention of the commit about this change or its relevance to Graphite
integration. But the separate Graphite layout engine is long gone and
Graphite handling goes through HarfBuzz now, so whatever the change was
for is probably no longer relevant.
I reverted only one the two changes in impedit3.cxx, as the other one
does not seem to make any difference for this issue.
Change-Id: Id70a711d6231cce52c9a32dbc3604860b1da9f4a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138217
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
Makes it a bit more stable across zoom levels and avoids excessive
overlaps due to calculating one copy too many because of rounding
errors.
Change-Id: I6a21a89c1dfda085b1f7fa9570c9875a0d39f671
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138192
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
The font in the bug document has a very small Kashida advance width and
this gets rounded to zero at smaller zoom level. Try to round up the
value to avoid returning zero too eagerly.
Change-Id: I78c309d66a9e94812827c7c6724c67c4d09bcff9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138169
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
We are asked to validate the position *after* which Kashida will be
inserted, but HarfBuzz will tell us which glyph we can insert Kashida
*before*. So align both by passing down the position before and after
and make the loop iterating over glyph items a lot simpler.
As a bonus, the new code allow Kashida insertion across layout change in
both sides, old code allowed it only at the start of the layout.
Change-Id: I9f632610b92c0f4c512e50456bf7d207175f17ac
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138168
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
We were skipping the marks when checking for previous char, but not when
setting the index to previous char.
Fixes also the second part of tdf#106653.
Change-Id: I73436ba9df6ccf104ea6d4dfbd76a59c86040a44
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138154
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
It seems that editeng is using an old copy of the code in sw and it was
never updated.
With this change, the text in the test document from tdf#137528 looks
essentially identical in both cases.
Fixes also tdf#146199.
Change-Id: I38541bfb35eae36681af84e73a7965d36152448f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138145
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Communicate Kashida insertion positions in an explicit way.
Rest of LibreOffice communicate adjustments to character widths (e.g.
for justification or spacing) using so-called DX array. DX array is an
array of absolute character positions (e.g. DX[n] is the position after
character n from the start of the lines, and its widths is DX[n] -
DX[n-1]).
This DX array is modified also when Kashidas are inserted after a given
character for Arabic justification, by expanding its width. VCL would
use this to know where to insert the Kashidas and how many ones.
But because DX array is used for both widths adjustments and kashida
insertion, this turns out to be a source of bugs since VCL has tosecond
guess the DX array to find which is pure width adjustment and which also
involves Kashida insertion, and the heuristics it uses are fragile.
This change adds a second array of booleans that records where Kashida
is inserted and communicates it all the way from where Kashida insertion
is decoded in Writer and down to VCL layout.
This change passes the Kashida array only when it seems necessary (e.g.
during drawing but not when measuring text since the DX array is enough
in this case). Hopefully no places where Kashida insertion needs to be
passed down were missed.
A couple of glyph and layout flags that were used for old heuristics and
no longer needed and are removed.
This also fixes:
tdf#87731
tdf#106309
tdf#108604
tdf#112849
tdf#114257
tdf#127176
tdf#145647
tdf#146199
Change-Id: I4ed0850ef2fdc3e9143341afac649e7e7d463c39
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138068
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
This adds a new object type "Data Table", with all the object
identifiers and converters of properties.
The data table is now shown in the drop-down of chart elements.
A properties dialog was added, which allows to change properties
of a data table. This contains the area, line and font tab pages
and a new tab page specific for data tables, to change if the
horiz. or vert. borders, key or the outline should be show.
Change-Id: I9b4cd58cffbcc952daaa2c0c8f8a5a17e38ac293
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138246
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
detect and flag as error failure to sucessfully create a cairo surface
Change-Id: I6981ec3058e37f4f4f196f6136f1d81865623c52
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138238
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Using a parameter to select point/mark makes the code much harder to
read
Change-Id: Ic24098a6045ff2262d4c808228ded7bf8206fe8b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138085
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Using a parameter to select point/mark makes the code much harder to
read
Change-Id: I4ac8b904ac423e2b99253b7e4b6adc72c8afe1a7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138083
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
as part of the process of hiding the internals of SwPosition.
This just changes the places we are passing nNode to the constructor of
SwNodeIndex
Change-Id: I3dffba5df6c044a69da27b6a1254592695b976af
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138200
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
only need to check for max when we are incrementing the level
Change-Id: Ic8ae07783b6085c7566239d949cf351a11d0875f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138236
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
It looks like MS always provides an sprm that confirms
this, but Kingsoft was saving without that sprm.
Something similar ought to be done for ImportOLE,
but it doesn't have a ready option for specifying
that, so I just left it because I don't care about OLE.
Change-Id: I0ae304a08b381c8c29f3db24f791f25f5e33b0c1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138234
Tested-by: Jenkins
Reviewed-by: Justin Luth <jluth@mail.com>
part of the process of hiding the internals of SwPosition
Change-Id: I58e20facfb8987a31e354542a9a5e7824daa0b26
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138235
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>