See also f1be65668c
systemplate files should not be writable by lool user
Change-Id: I5684248d3d4b4b0ba56f8c5ab490a6e7df0e0038
Reviewed-on: https://gerrit.libreoffice.org/c/online/+/98069
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Tested-by: Jenkins
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>
Change-Id: I2f894f32d4c9e852d89159a55c0dd9effb45c09e
Reviewed-on: https://gerrit.libreoffice.org/c/online/+/97955
Tested-by: Dennis Francis <dennis.francis@collabora.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>
No idea how to add dependency on the build.gradle itself, so at least
this...
Change-Id: I7d43064d3a2299929b36a3ed3d5c13ada808c898
Reviewed-on: https://gerrit.libreoffice.org/c/online/+/97804
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Tested-by: Jenkins
Reviewed-by: Jan Holesovsky <kendy@collabora.com>
It's a global cache. Calling make clean on one branch
can break the build on a different because the
shared cache is removed.
Change-Id: Id03fb6b6fd69e899276abc93c3d907538576d8bd
Reviewed-on: https://gerrit.libreoffice.org/c/online/+/97841
Tested-by: Jenkins
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Tamás Zolnai <tamas.zolnai@collabora.com>
A small re-factoring to help planned re-plumbing of the iOS app.
Change-Id: I21f09216a7c5adf965179765a75f5a0d521cd7f3
Reviewed-on: https://gerrit.libreoffice.org/c/online/+/97771
Tested-by: Jenkins
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Tor Lillqvist <tml@collabora.com>
String comparisons are costly and much
less readable. Now we have a fast switch
with LOK_CALLBACK enum values.
Change-Id: Icc24b91b174cd9bbb7e0d64039df080c0a4338f2
Reviewed-on: https://gerrit.libreoffice.org/c/online/+/96375
Tested-by: Jenkins
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
This:
while (*pos++);
leaves pos pointing to the char *after* the first null char. Thus we
lost the timestamp, thread name, and message log level.
The log output ended up loooking like:
Mobile-0x42a805To JS: loolserver { "Version": "master..", "Hash": "1e3b28b0", "Protocol": "0.1", "Id": "e42d1a33" }| CODocument.mm:115
with no space between the thread id and the message, while what we
expect is:
Mobile-0x42be9e 2020-07-02 18:59:30.490298 [ main ] INF To JS: loolserver { "Version": "master..", "Hash": "1e3b28b0", "Protocol": "0.1", "Id": "46ebf726" }| CODocument.mm:115
As such it is not necessary to show "Mobile" (the name of the
process's main program) in the log messages. There is just one
process. Will remove that in a later commit.
Change-Id: I55c4a82f2b34e3b9e70e86cc7af8ea42a3108695