If L.CalcTileLayer.options.printTwipsMsgsEnabled is set, we will not get
some messages (with coordinates) from core when zoom changes because
print-twips coordinates are zoom-invariant. So we need to remember the
last version of each of them and replay, when zoom is changed. We also
need to replay the messages, when sheet-geometry changes. This is
because it is possible for the updated print-twips messages to arrive
before the sheet-geometry update message arrives.
Change-Id: Icd77ad77c7642aae24e68fb0b7f229c7ec62484a
Reviewed-on: https://gerrit.libreoffice.org/c/online/+/98114
Tested-by: Jenkins
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Dennis Francis <dennis.francis@collabora.com>
This is conditioned on the flag printTwipsMsgsEnabled.
Change-Id: I61a9165a9f81ce7473c3fa6579947f34552dbdaf
Reviewed-on: https://gerrit.libreoffice.org/c/online/+/98106
Tested-by: Jenkins
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Dennis Francis <dennis.francis@collabora.com>
with the height(width) of the parent container, because if it does, the
header-canvas scales its contents to adjust to the new height(width) and
of course goes out of sync with the tiles.
This bug is visible when we do synchronous update of headers and if one
or both of the headers change size due to increase/decrease of
table-outline levels.
Change-Id: Ib65fd27f3598c7d58323d37c80ce2a147e594911
Reviewed-on: https://gerrit.libreoffice.org/c/online/+/98104
Tested-by: Jenkins
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Dennis Francis <dennis.francis@collabora.com>
at document load till we get a response, by using flag.
Change-Id: I6296d6e18a122ee3cb714f26c019f9080c7febc7
Reviewed-on: https://gerrit.libreoffice.org/c/online/+/98101
Tested-by: Jenkins
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Dennis Francis <dennis.francis@collabora.com>
and use it to fetch the changed sheet geometry data and update the view.
Change-Id: I5a72012ce08f23e456cd64388e22385872f665a5
Reviewed-on: https://gerrit.libreoffice.org/c/online/+/98099
Tested-by: Jenkins
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Dennis Francis <dennis.francis@collabora.com>
sheet-geometry data source is enabled, because these messages are not
just for sheet geometry changes.
Change-Id: I8b2cca968a189607e46a4f9512c60e4b29f124bc
Reviewed-on: https://gerrit.libreoffice.org/c/online/+/98098
Tested-by: Jenkins
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Dennis Francis <dennis.francis@collabora.com>
Can be changed:
* configure --with-app-name
* brandProductName in loleaflet/dist/branding.js
When there is no brandProductName defined, this message will
appear in About box:
"The Personal edition is supported by volunteers and
intended for individual use."
Change-Id: Iec5aa2df7e734bdbc1dd8037656334f0016a7a82
Reviewed-on: https://gerrit.libreoffice.org/c/online/+/97837
Tested-by: Jenkins
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Andras Timar <andras.timar@collabora.com>
if the part is not hidden. The member _selectedPart is already set
to the new part in Parts.js's setPart(), as a result the code inside
the if was never getting executed. There is no need to call
map.setPart() as this was also done in Parts.js setPart(), and finally
there are no handler for 'setpart' event as of now, so lets remove the
fire() call too. All of this was not a problem when the
'.uno:ViewRowColumnHeader' data source was used, because that data
was getting requested unintentionally as part of related scroll events
during a sheet switch.
Change-Id: I3ea3916ba738d9616e822659fc64903eda8f99cf
Reviewed-on: https://gerrit.libreoffice.org/c/online/+/97952
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Dennis Francis <dennis.francis@collabora.com>
(more details in the comments)
This can help in a corner case (very improbable though) when we query
for the exact end-position of a span with trailing empty span. Lets do
the right thing, even if that does happen only extremely rarely.
Change-Id: Ib1370811c257e6ef3d52d29caf2963641bad8e40
Reviewed-on: https://gerrit.libreoffice.org/c/online/+/97951
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Dennis Francis <dennis.francis@collabora.com>
as it was before 317afcecb4
This 'adjustment' was just meant for refreshViewData() or whatever it
was called before, to indicate that both column/row headers/gridlines
should be updated, no matter what the actual offset is (probably only
meant for zoom changes?). The offset passed to refreshViewData is only
going to be used as a boolean flag.
This patch fixes the row/col headers getting a off-by-one pixel when
changing zooms with the new data-source (.uno:SheetGeometryData). If
using the older source (.uno:ViewRowColumnHeader), this bug is hidden
because of the delay for fetching the JSON everytime before painting the
headers.
TODO: Refactor all calls of refreshViewData to get rid of the 'offset'
and this adjustment code and only send the boolean flags to
refreshViewData().
Change-Id: I4c30e8f06a6a2d58b9a9a89e283d7a214d00b99c
Reviewed-on: https://gerrit.libreoffice.org/c/online/+/97948
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Dennis Francis <dennis.francis@collabora.com>
otherwise the header controls won't have the right position info
when refreshViewData causes an ~immediate header/gridline rendering
(.uno:SheetGeometryData source). This was not a problem in case of
.uno:ViewRowColumnHeader source, because of the roundtrip delay for
getting the msg from core.
Change-Id: I48298dbfb8d62acc64adbfd662a5304b856d702a
Reviewed-on: https://gerrit.libreoffice.org/c/online/+/97946
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Dennis Francis <dennis.francis@collabora.com>
We may need to have a dedicated sheetgeometrychanged msg for geometry
changes like change of col/row sizes, hidden/filtered, groups/outline
states.
Change-Id: I45a8038546c66797aed4b58f11c6450cbe6e2965
Reviewed-on: https://gerrit.libreoffice.org/c/online/+/97945
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Dennis Francis <dennis.francis@collabora.com>
And lets not unnecessarily extend the cellrange in the view as the
computation is accurate.
Change-Id: I62de80ce42430c62a399d4e39bafab7896217bf1
Reviewed-on: https://gerrit.libreoffice.org/c/online/+/97943
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Dennis Francis <dennis.francis@collabora.com>
to parse, store the .uno:SheetGeometryData JSON efficiently although it
is optimized for fast querying. L.SheetGeometry is the external class
that exposes all necessary sheet query interfaces.
Change-Id: I24df8d85734a6cdf9c393fd2c3c5ed4de0ea29f3
Reviewed-on: https://gerrit.libreoffice.org/c/online/+/97940
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Dennis Francis <dennis.francis@collabora.com>
from L.Control.Scroll to a new method requestViewRowColumnData() under
L.CalcTileLayer which is arguably a more appropriate place for it and
change all the places that calls map.fire() to emit
'updaterowcolumnheaders' to call the new method directly.
This helps to improve the code readability a bit by being more explicit
and also avoid an unnecessary indirection while code grepping.
This also makes it much easier to introduce the change in data source
from .uno:ViewRowColumnHeaders to .uno:SheetGeometryData by avoiding
lots of abrupt changes in one go.
Change-Id: Ia42d7586f06e28a5715fac278967a445089308af
Reviewed-on: https://gerrit.libreoffice.org/c/online/+/97939
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Dennis Francis <dennis.francis@collabora.com>
On getting a .uno:ViewRowColumnHeaders message, the order of header
painting should be the headers elements first, then the cursor
indication on the header, then the selection area indication on the
header if any. More importantly none of these painting will be correct
if the data in the tickMap member of both headers is stale.
As of now all three of these are executed by three different events.
Lets avoid depending on the implicit ordering of execution of these and
do these synchronously as part of the main event
('viewrowcolumnheaders') handler.
Change-Id: I4da29ba893c408af45159073e4389481b2eaecc7
Reviewed-on: https://gerrit.libreoffice.org/c/online/+/97937
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Dennis Francis <dennis.francis@collabora.com>
We can enable / disable autofiltering, but the
autofilter buttons are non functional on mobile.
Change-Id: I738a4565a8de1ec3c1f5ffe8b67c2edcacf7b324
Reviewed-on: https://gerrit.libreoffice.org/c/online/+/97866
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Tested-by: Jenkins
Reviewed-by: Tamás Zolnai <tamas.zolnai@collabora.com>
It would open a tunneled dialog which is not supported on mobile.
Change-Id: I377adf5e5fbc2d52af52b373f9552c74cd9bd07a
Reviewed-on: https://gerrit.libreoffice.org/c/online/+/97865
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Tested-by: Jenkins
Reviewed-by: Tamás Zolnai <tamas.zolnai@collabora.com>
with newer core version it changed a name
Change-Id: I3804f9f6e1acfc96123e4376aeb3b040deeebe4c
Reviewed-on: https://gerrit.libreoffice.org/c/online/+/97707
Tested-by: Jenkins
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>