Commit graph

6937 commits

Author SHA1 Message Date
Jan Holesovsky
f3d7e5c6c2 android chrome: Make the insertion of . , ! $ and similar chars work.
The trick is that actually the 'onInput' (the 'input') event decides
what data we should actually use - if those from compose event, or from
the text input event.

With this, things finally seem to work reasonably well - I am able to
insert even emoji :-)

Change-Id: I9f19d1e56e4e638cf88b8497abb8eefd24e82cee
Reviewed-on: https://gerrit.libreoffice.org/61337
Reviewed-by: Aron Budea <aron.budea@collabora.com>
Tested-by: Aron Budea <aron.budea@collabora.com>
(cherry picked from commit 10bfc4b449577590c4de82cb15d73204be053a3c)
2018-10-10 14:38:37 +03:00
Jan Holesovsky
2bb3e5955c android chrome: Move the onTextInput handling to a separate method.
Change-Id: I1cf091ed9bf82b719ff7bd5170b9e75ecb999d01
Reviewed-on: https://gerrit.libreoffice.org/61336
Reviewed-by: Aron Budea <aron.budea@collabora.com>
Tested-by: Aron Budea <aron.budea@collabora.com>
(cherry picked from commit ea5165794338a05837cc14257ebfcf0fa437c2ab)
2018-10-10 14:38:37 +03:00
Jan Holesovsky
bd2bd13749 android chrome: Stop composing when we get an actual key event.
So that it is possible to press Enter while still in composition.
It is necessary to stop the composing itself, because otherwise the word
gets duplicated on the new line as soon as the user presses a key.

Change-Id: I78951a423715e71533f1a73d5bbe3b0f0f05e6cd
Reviewed-on: https://gerrit.libreoffice.org/61334
Reviewed-by: Aron Budea <aron.budea@collabora.com>
Tested-by: Aron Budea <aron.budea@collabora.com>
(cherry picked from commit f42e0bb4d1c99c1d229a638e59061ef7985d01e8)
2018-10-10 14:38:37 +03:00
Jan Holesovsky
d99736cc9a android chrome: We have to delete the interim results sometimes.
When we are autocorrecting a word, we get a deleteContentBackward event;
in that case we have to delete everything we have composed so far.

Change-Id: I36f3d1afcb9b74ac75dee7d64832cc5a3d346045
Reviewed-on: https://gerrit.libreoffice.org/61333
Reviewed-by: Aron Budea <aron.budea@collabora.com>
Tested-by: Aron Budea <aron.budea@collabora.com>
(cherry picked from commit f176bb1e81b5f3769cb56752c7102f93f2eca024)
2018-10-10 14:38:37 +03:00
Jan Holesovsky
a346d690fa android chrome: When autocompleting a word, don't enter it twice.
Most of the text input on Android in Chrome works via the composition;
only the space has to be entered via textInput.

Change-Id: Icd6cea54a962f324215bb6438265e6500f28421d
Reviewed-on: https://gerrit.libreoffice.org/61332
Reviewed-by: Aron Budea <aron.budea@collabora.com>
Tested-by: Aron Budea <aron.budea@collabora.com>
(cherry picked from commit 04b858d90fb1de00f312efcbf131bacda5479e7c)
2018-10-10 14:38:37 +03:00
Tor Lillqvist
b193e95696 Add source files from sfx2/source/doc for easier breakpointing in advance 2018-10-10 10:31:07 +03:00
Tor Lillqvist
e907d0ee01 Switch to using just one mutex in FakeSocket.cpp for now
Makes things simpler and easier to follow, I hope. I had hoped it
would also make the occasional hang I see when loading the document go
away, but nope. Possibly it isn't caused by FakeSocket after all, even
if FakeSocket is the obvious first suspect.
2018-10-10 10:31:07 +03:00
Tor Lillqvist
be945ed51b Bin duplicate const variable 2018-10-10 10:31:07 +03:00
Andras Timar
ff5f7a5260 typo
Change-Id: I925c99699b8d383d2b8643c3846dafc1d19f33ec
2018-10-10 09:04:05 +02:00
Michael Meeks
8211bef32f Hide other view cursors on zoom.
Change-Id: I9e953f841b5c526b499f9170aef9b2682011947e
2018-10-09 21:48:17 +01:00
Michael Meeks
70a99202fa cursor simplify.
Don't show cursor when graphics are selected either.

Change-Id: I0a604d73bd1818317a2b04d8bdd392d1d6472627
2018-10-09 21:48:17 +01:00
Michael Meeks
1f54217261 First attempt to simplify cursor visibility.
Removes race conditions between kit messages and browser.
Avoid storing old state wherever possible.

Change-Id: I56aa57df22a4190881c8d197df8445ca542d4fc1
2018-10-09 21:48:17 +01:00
Henry Castro
1cc4acd95c loleaflet: mobile: ensure to not create the ruler
Change-Id: I7f985f93d8282533aa6cb32bff455b08011d7dfc
Reviewed-on: https://gerrit.libreoffice.org/61281
Reviewed-by: Jan Holesovsky <kendy@collabora.com>
Tested-by: Jan Holesovsky <kendy@collabora.com>
2018-10-09 15:55:37 -04:00
Henry Castro
25e4bb1c51 loleaflet: mobile: use max-device-height media query
max-height it is used for window size, max-device-height
it is the device screen dimensions, so when a tablet
rotate to landscape we keep the mobile layout

Change-Id: I921007014a63374114ec7563144f3532a53fd021
Reviewed-on: https://gerrit.libreoffice.org/61339
Reviewed-by: Jan Holesovsky <kendy@collabora.com>
Tested-by: Jan Holesovsky <kendy@collabora.com>
2018-10-09 15:54:50 -04:00
Henry Castro
fcc34e6fb9 loleafet: mobile: fix max-height screen size tablet
Change-Id: I1c869089aee6991de34e06daf0a38d8b07f82a22
Reviewed-on: https://gerrit.libreoffice.org/61280
Reviewed-by: Jan Holesovsky <kendy@collabora.com>
Tested-by: Jan Holesovsky <kendy@collabora.com>
2018-10-09 15:54:05 -04:00
Henry Castro
278904ef80 loleaflet: mobile fix after hitting back, on-screen keyboard...
"permanently" disappears

This forces to blur and focus the text area even it is focused
because there is no way to determine when the soft on-screen keyboard
disappears

Change-Id: Ib89ecc42fb795e34032564a62715463dd944c588
Reviewed-on: https://gerrit.libreoffice.org/61277
Reviewed-by: Jan Holesovsky <kendy@collabora.com>
Tested-by: Jan Holesovsky <kendy@collabora.com>
2018-10-09 15:52:56 -04:00
Henry Castro
0610196d4f loleaflet: mobile: fix max-width screen size tablet
Change-Id: I3337e669521f0f0f1dd749884f38dd35663491d3
Reviewed-on: https://gerrit.libreoffice.org/60977
Reviewed-by: Jan Holesovsky <kendy@collabora.com>
Tested-by: Jan Holesovsky <kendy@collabora.com>
2018-10-09 15:51:56 -04:00
Henry Castro
95b10e27b4 loleaflet: mobile: fix the dragging of the map when the size ...
fits with the maximum bounds

Change-Id: Ib30afed8f8a8538a438b70e3983fb1c55baf9d42
2018-10-09 15:46:35 -04:00
Tor Lillqvist
1f6eabafce Bin leftover verbose dump of part of a tile 2018-10-09 15:54:46 +03:00
Tor Lillqvist
f09c84e809 It's hard to get the references to the core build and source directories sane
Sadly we can't use the so-called user-defined LOSRCDIR and LOBUILDDIR
variables from the Build Settings in the pathnames to files. We have
to use relative pathnames, so if attempting to build this you need to
fix them all (instead of just editing the LOSRCDIR and LOBUILDDIR
values), most easily by editing the project.pbxproj manually.

Anyway, for me now I don't see any "red" (not found) referenced files
any more in Xcode.
2018-10-09 12:51:01 +03:00
Tor Lillqvist
72f36be509 Set up the EditFileExtensions set also for the mobile app
Use the same discovery.xml and the ClientRequestDispatcher::
InitStaticFileContentCache() call as in Online, even if as such we
aren't serving any "static files" (like discovery.xml) to a WOPI
server in the mobile app case.
2018-10-08 16:47:15 +03:00
Tor Lillqvist
de0d57faac Pass also permission=edit in the query URL 2018-10-08 16:25:02 +03:00
Tor Lillqvist
f2644681d6 Remove accidental whitespace 2018-10-08 16:09:04 +03:00
Tor Lillqvist
61c9a21c53 Add more core source files for easier setting of breakpoints in advance 2018-10-05 19:01:19 +03:00
Tor Lillqvist
51035056d6 LibreOfficeKit wants the tile pixmap bytes to be in BGRA order in memory
To get that with CoreGraphics on iOS we need to use also
kCGImageByteOrder32Little in the CGBitmapContextCreate() call,
otherwise the bytes will be in ARGB order in memory.

Also, yes, we do need to turn the coordinate system upside-down from
the top left corner.
2018-10-05 19:01:19 +03:00
Andras Timar
2d62529359 don't use ssl key file for admin console auth, use a generated key instead
Change-Id: I424afe0184a64b7f069d896bde6941e42b7b5531
rational: setup is easier in case, when user does not use ssl in loolwsd config
Reviewed-on: https://gerrit.libreoffice.org/61076
Reviewed-by: Andras Timar <andras.timar@collabora.com>
Tested-by: Andras Timar <andras.timar@collabora.com>
2018-10-05 16:38:46 +02:00
Andras Timar
c745732ac7 tdf#115163 allow bind to loopback interface
Change-Id: I4808fb0fd685dfe990efd5fb739ee86f1276ffad
Reviewed-on: https://gerrit.libreoffice.org/61297
Reviewed-by: Andras Timar <andras.timar@collabora.com>
Tested-by: Andras Timar <andras.timar@collabora.com>
2018-10-05 16:38:28 +02:00
Andras Timar
3c005f952a fix that internal port 9981 was opened on all interfaces
Change-Id: I04cd12b7fa2f0be9b08a3d325f08b36ca2ce240e
Reviewed-on: https://gerrit.libreoffice.org/61296
Reviewed-by: Andras Timar <andras.timar@collabora.com>
Tested-by: Andras Timar <andras.timar@collabora.com>
2018-10-05 16:38:03 +02:00
Michael Meeks
6f9ad8759b Cleanup and extend protocol docs.
Change-Id: I51763f7e362c0aa048fe2d484f589d6558a67008
2018-10-05 14:08:49 +01:00
Andras Timar
d2465f6915 document how to run loolwsd with ownCloud/Nextcloud integration for developers
Change-Id: I64c34dfb8a03fc5913262fac2a691d753e46a352
2018-10-05 13:41:00 +02:00
Jan Holesovsky
250ffe6f83 calc: We currently cannot paste text/rtf or text/html via LOK...
Change-Id: Ic699dddb2cbeaab4c13d030c2f8f3c71eeddac4f
Reviewed-on: https://gerrit.libreoffice.org/61258
Reviewed-by: Jan Holesovsky <kendy@collabora.com>
Tested-by: Jan Holesovsky <kendy@collabora.com>
2018-10-02 17:44:01 +02:00
Aron Budea
0e52cab664 Menu: Add Hyperlink to Insert menu in Calc
Change-Id: I1401315e0a679adfe074d68a8e3ac2ee45df5e80
Reviewed-on: https://gerrit.libreoffice.org/60980
Reviewed-by: Jan Holesovsky <kendy@collabora.com>
Tested-by: Jan Holesovsky <kendy@collabora.com>
2018-10-02 11:01:58 +02:00
Andras Timar
de48e47a17 typo: BUILDLING_TESTS -> BUILDING_TESTS
Change-Id: I1c5865c7ea427b2594bb0501c1666501da537403
Reviewed-on: https://gerrit.libreoffice.org/61212
Reviewed-by: Andras Timar <andras.timar@collabora.com>
Tested-by: Andras Timar <andras.timar@collabora.com>
2018-10-01 19:43:22 +02:00
Tamás Zolnai
f16a868226 Reduce the running time of testWireIDFilteringOnWSDSide
Change-Id: I1c7e576aaa1af938380a2de33b1512b31ef6ca75
2018-10-01 18:36:50 +02:00
Tamás Zolnai
4512d4090f Reduce the running time of these this test
Change-Id: Iaf72007309e8e2aca09a01e7d1637f2875f3e564
2018-10-01 18:29:20 +02:00
Tamás Zolnai
8a318cc44d wsd: Avoid parsing tile messages twice
Change-Id: I049e7ce645999a4d0366ab34ffa75ab0d351947b
2018-10-01 18:16:14 +02:00
Tamás Zolnai
835959a617 Remove accidentally pushed log line
Change-Id: Icd7fcb96725b3cf7fded199a5eae13ec2c109a58
2018-10-01 18:16:14 +02:00
Andras Timar
402ace8eaa remove duplicated node modules
Change-Id: I5b7c4c17810aa5cf3a85049559c67cae596e9561
Reviewed-on: https://gerrit.libreoffice.org/61168
Reviewed-by: Andras Timar <andras.timar@collabora.com>
Tested-by: Andras Timar <andras.timar@collabora.com>
2018-09-30 21:56:25 +02:00
Tamás Zolnai
ac2cd92d25 Upper limit of sent out versions of the same tile
We try to decrease the network usage with avoiding sending out
to much tiles to the client. When we already sent out two versions
of the same tile without having the tileprocessed message from the
client we delay sending out the next version to avoid spamming tiles
on the network.

Change-Id: Ia47cd7c0d3fb829f6777f0c3265970433591df19
2018-09-29 09:27:06 +02:00
Tamás Zolnai
a1e2acd5ef Better to have a smaller tiles-on-fly limit
It's good if this limit big enough to send all the tiles of the
current visible area at once, so the tiles arrive at the same
time to the client by zoom or scroll. Now this value is set to a bit
bigger so if we have a small amount of tiles before zoom / scroll we'll
still see the same on the client side.

Change-Id: I8e28dbf6197fe2f683fe9528e9a32c15a191b20e
2018-09-29 09:27:06 +02:00
Tamás Zolnai
9683f53a9c Filter out tiles by wired on wsd side too
Some times tiles with the same wireID survives the wireID
filtering in kit, so we should do that in wsd too.
The issue is with the tilesBeingRendered construction. First when
one tile is filtered out on kit side the client remains subcribed
to the tile, since wsd does not know filtering happened.
Second via the tilesBeingRendered object more clients can be subcribed
to the same tile and so when one client request a new version of this
tile (with an old wireID) the rendered tile is sent to all subscribed
clients even if the other clients has up-to-date tiles.

Change-Id: I4ca6b7a83a5d6979a9f924d766a71aba5e5362c7
2018-09-29 09:27:06 +02:00
Tamás Zolnai
a1a0bf3718 Don't send tiles which was changed outside of the visible area
Since this commit:
9473908d45
We can avoid that, because the tiles will be invalidated
on the client side and when the client visible area changes
the invalidated tiles are requested anyway.

Change-Id: I272e3b4b87380ae574c16a2b480dbc8caabf4b32
2018-09-29 09:27:06 +02:00
Tamás Zolnai
07e99ad336 Fix tilesBeingRendered tracking by client
I changed the code in this commit:
c2a5f6acb0

To make kit send a tilecombine message even if it does not
send actual tile data so we can track that the rendering was
done and so we can update the clients' _tilesBeingRendered
list. The issue is that tileBeingRendered object
belongs to not only one client, but more and so we don't
know which client gets the actual empty tile response.

So revert this method and rather use a smaller timeout for "waiting" the
arrival of the rendered tile.

Change-Id: I2dbbab1a62b81cbbb5314f2f37fdbc3415c69130
2018-09-29 09:27:06 +02:00
Tamás Zolnai
5260eae05f Avoid rendering / sending the same tile twice
When we're doing the prerendering we also need to register
a tileBeingRendered object, so we know that the given tile
will arrive soon. In earlier version of the code, rendering
and sending of the tile was not separated in time, but now it is,
so we need create a tileBeingRendered object even if we don't
subscribe the client to it yet.

Change-Id: I1374c22e5ffebe1d6fcc6e37261ddcedeb9066ec
2018-09-29 09:27:06 +02:00
Tamás Zolnai
b7f76d24fb loleaflet: Reset invalid counter when request new tiles by view change
This invalidCount does not work perfectly, since we don't always
send tile after every invalidation message (e.g. tile deduplication
on severs side, wireID handling). So this invalidCount usage should
be reconsidered. Now just avoid to have a tile still invalid after
we requested (and get) the newest tile when we are changing the view.

Change-Id: I249be63611767af02b04e142bb1c2afcb3a8eebb
2018-09-29 09:27:06 +02:00
Henry Castro
d1b7f10e8f loleaflet: remove docLayer precondition when the map is focused
Change-Id: Id7fb2e9d7823a788cb40cd3a953b3f024dd22ee5
2018-09-27 09:51:44 -04:00
Henry Castro
c47a27b49b loleaflet: mobile: fix non composition input
Change-Id: I6f72f888314baaef00549bb08bcfa78854a0b610
2018-09-27 09:51:02 -04:00
Henry Castro
2adfcb0995 loleaflet: mobile: hide the ruler
Change-Id: I87335f3a1116553f1ea548ee759680ffa6533aca
2018-09-27 09:50:04 -04:00
Henry Castro
c95f319f94 loleaflet: mobile: fix input text composition events
Change-Id: I04446f8c29c4901ebe67e49ae8dffcfac286f300
2018-09-27 09:49:23 -04:00
Henry Castro
a25aefaaee loleaflet: mobile: add to layer if and only if the cursor marker is created
Change-Id: Ida69eeceddcc0a3f223b724fb31d48f7722e21bf
2018-09-27 09:48:48 -04:00