Commit graph

5607 commits

Author SHA1 Message Date
Pranav Kant
b49fd14f91 loleaflet: Pass author name field everytime editing cell annotation
Unlike writer and impress, editing annotation in calc creates a new note
without inheriting the author value from the previous cell annotation.
If we don't send the author field here while editing annotation, no
author would be set for the annotation resulting in empty string in the
UI, which looks quite incomplete and ugly.

It should be noted that the new author that is being sent to core
corresponds the current view now. So if cell annotation was added by
someone else and we are trying to edit it, we'd be the new author. This
is contrary to the behavior in writer and impress where author name
persists even if someone else edits the annotation.

Change-Id: I3bfbb34cef304687e42f4ee422d89c5a240834f0
2017-04-27 10:55:55 +05:30
Pranav Kant
56c49af98a loleaflet: Bin client side cell annotation marker
No need as core renders its in-tile annotation marker now, if comment
indicator setting is on in the document.

Change-Id: I213827fc089790398e02b0fd9cba464ab62b0d8d
2017-04-27 10:40:47 +05:30
Jan Holesovsky
ad5a5e086d comments: If we fail to parse the date, show it verbatim.
Change-Id: Iefee7057b3c192c33d49891dd7ef5835d39d1cb8
2017-04-26 19:19:56 +02:00
Pranav Kant
8acc05fa85 loleaflet: Disable retina display on calc
Change-Id: I2a16844db7873b4c26e1f28d17dc33a5526efb78
2017-04-26 17:56:02 +05:30
Pranav Kant
e3ef5d01af loleaflet: Allow mouse clicks to pass through comment/redline selection
Otherwise, it was not possible to use the mouse to click on the text
beneath the text selection svg layer. This simulates a mouse click on
the document after selecting the comment.

Change-Id: Ia2717a0a4356f40e31db94b68563abffc87cac37
2017-04-26 13:16:48 +05:30
Pranav Kant
91421bae3d loleaflet: Allow selecting annotations in readonly mode too
Change-Id: I5c58baf95a1cbbb2ffbe756de30e596e2c35e6fb
2017-04-26 13:15:03 +05:30
Pranav Kant
91f824ae21 loleaflet: Warn here when unexpected data arrives
Hitting save, while there are redlines in the document, makes lo core send
redline information with empty textRange string. Further changes to the
document however brings in correct textRange rectangles back from the
core. Though ideally, it should be investigated why core is not able to
send correct redline text rectangles or why sending these redlines at
all while saving the document (not necessary unless some
attribute in redline changed), but no harm in having an additional check
here to filter unexpected messages received from server.

Change-Id: Ib709422e91cee6f141e4fea8ac923e88d7f65f50
2017-04-26 10:33:45 +05:30
Henry Castro
fa78cbf8a6 loleaflet: fix zooms and scroll annotations of the layer Impress
Change-Id: I4785551ebac4e8f0c1f877a00b651e7ac1203e67
2017-04-25 20:38:53 -04:00
Michael Meeks
faf24f7888 SocketDisposition - controls socket movement & lifecyle.
It is important that moving sockets between polls happens in a
safe and readable fashion, this enforces that.
2017-04-25 22:49:08 +01:00
Michael Meeks
c8d1c18cb5 Revert "wsd: correctly remove request from socket buffer"
This reverts commit c851c3e93b.
2017-04-25 22:49:08 +01:00
Henry Castro
d5ab42a999 loleaflet: initialize undefined variable
Math.min(undefined, number) return NaN

Change-Id: I4b1c7c0428a4e665235a170282a377f980e84924
2017-04-25 14:42:23 -04:00
Jan Holesovsky
04bf59060d inactive: Record also the change tracking and comments.
Unfortunately we need to record the entire sequences of what was happening.

Change-Id: I6c52f187e881dd3eadaea6958c0d49ed8f6942cb
Reviewed-on: https://gerrit.libreoffice.org/36960
Reviewed-by: Jan Holesovsky <kendy@collabora.com>
Tested-by: Jan Holesovsky <kendy@collabora.com>
2017-04-25 18:20:03 +02:00
Pranav Kant
31ff4d29a1 loleaflet: Warn, and don't crash, if we don't get expected data
It is possible that backend sends comment for which there is no parent
comment sent yet, as presently is the case as I am writing this. Warn
nicely in this case.

Change-Id: I2609dfdcdac69380b824d444ba8f64803996286c
2017-04-25 21:04:46 +05:30
Pranav Kant
0760786392 loleaflet: Commit reply comment when focus lost
Change-Id: I0a47c6b74afed31264aec06ab654063fb5beaca8
2017-04-25 20:27:23 +05:30
Pranav Kant
759b0945d4 loleaflet: Don't allow inserting breaks anywhere
overflow-break property is enough for us which still allows inserting
line breaks arbitrarily anywhere but only if there is no otherwise
acceptable break points in the line.

Change-Id: I8ea94daba258b00caa259c97597cf1206a89fa64
2017-04-25 19:40:30 +05:30
Jan Holesovsky
51d922f1af Lint.
Change-Id: Ie4fbe41568502f9c4f7642e8e85a631da648e3c3
Reviewed-on: https://gerrit.libreoffice.org/36939
Reviewed-by: Andras Timar <andras.timar@collabora.com>
Tested-by: Andras Timar <andras.timar@collabora.com>
2017-04-25 13:14:55 +02:00
Marco Cecchetti
6735fbc8a1 Loleaflet - fix: row/col header do not update on switching tab
Change-Id: I6528646276647ea78048d68eb91794cb394b67c3
Reviewed-on: https://gerrit.libreoffice.org/36935
Reviewed-by: Jan Holesovsky <kendy@collabora.com>
Tested-by: Jan Holesovsky <kendy@collabora.com>
2017-04-25 13:09:14 +02:00
Pranav Kant
2d55476b20 loleaflet: Don't overflow long names, align author names properly
Change-Id: I0d833291fc996ecb4007bcb58b588967afa6ea58
2017-04-25 14:48:23 +05:30
Pranav Kant
0c53975f18 loleaflet: New comment size/width
Change-Id: Ief2d9c942dffab7a98dc5a7de2208e511f45df78
2017-04-25 13:32:51 +05:30
Pranav Kant
7486f44ee1 loleaflet: Don't send linkified comment data back to core
Only use the modified markup for representation to the user.

Change-Id: I50a6ea4d7411a7d0a1662430f90201b00415ccbf
2017-04-25 11:40:35 +05:30
Pranav Kant
0c34857527 Bin superfluous object
Poco::DateTime is enough to create an object representing the current
date time, no need to create a timestamp first.

Change-Id: Ib95b43c1f7ae4993a6d9f7ec6da1234ac2bf59aa
2017-04-25 11:30:15 +05:30
Andras Timar
567308e4b5 loleaflet: updated translations
Change-Id: I5c4542b461240ce6d56be9b488b12f79458798d3
2017-04-24 20:25:00 +02:00
Jan Holesovsky
94737a890d loleaflet: Disable the Accept / Reject if the document is read only.
Change-Id: I8d3f312d9d2dd75b44e5a779875688da1a31e123
2017-04-24 20:09:47 +02:00
Jan Holesovsky
c36e619d24 inactive: Invalidate tiles when we return back to the active state.
Change-Id: Ib97d6463c52ecf153d3c19ab7efc47d99b71ce9b
2017-04-24 19:24:28 +02:00
Jan Holesovsky
e78c862c47 inactive: Replay the state payload, not the only the value.
We need to replay 'client-0054 statechanged: .uno:StateWordCount=5 words, 30 characters',
not 'client-0054 statechanged: 5 words, 30 characters'.

Change-Id: Ifd1fc7d6d567bcf209dffdd826400f5a5248aa7e
2017-04-24 19:24:15 +02:00
Pranav Kant
2b38191e3b loleaflet: Wrap both comments and redlines
Change-Id: Iee0c61340cc78b93a2d3d23157bab715c3e7411e
2017-04-24 20:31:06 +05:30
Pranav Kant
ca482f0065 loleaflet: Fix width of the redlines too
... otherwise with very long comments, they keep increasing their width
which looks ugly.

Change-Id: I5cd67258b251a9d522716433d5e190cd29fef078
2017-04-24 20:31:06 +05:30
Pranav Kant
3a10c48013 loleaflet: new dependency - autolinker - link what can be linked
... in annotations. Emails, phone numbers, email address and what not.
We are not sending the generated markup, eg: the html <a> tags back to
LO core, only the representation in the UI is linkified.

Autolinker license: MIT
https://www.npmjs.com/package/autolinker

Change-Id: I8df3676a9eb6122884defb6bc3da87d30f993b04
2017-04-24 20:31:06 +05:30
Pranav Kant
c88f1156b2 loleaflet: Increase the annotation height a bit more
Change-Id: Ibd04cfe3e17354244a31177edca23467e0f8e9c8
2017-04-24 20:31:06 +05:30
Pranav Kant
ecdb7e2645 loleaflet: Enable vertical scroll on annotations
Change-Id: I6ff7a29bd22f57b4d9bbdbb824619030cf5f2e43
2017-04-24 20:31:06 +05:30
Henry Castro
a33e9eab76 loleaflet: disable the annotation menu if the document is read only
Change-Id: Ic5973e582e56d2452672219bdd443ec8dd551dab
2017-04-24 09:49:47 -04:00
Pranav Kant
0b419faf10 loleaflet: Trigger layout algorithm on scrollend
This is just a quick workaround to circumvent the problem where
annotations dissappear when document is scrolled swiftly using the
mousewheel.

Change-Id: I51df6cecb770e5542ecdad765a5f0ccb6ec1eb98
2017-04-24 19:07:59 +05:30
Michael Meeks
ec12a0e16b DelaySocket: kill warning. 2017-04-24 11:39:31 +01:00
Pranav Kant
c7757a7263 loleaflet: do not unnecessarily layout on unselect
Return early if there is no annotation selected currently.
Without this patch, we were unnecessarily layouting all the annotations
again and again on every click which is likely to make things slow.

Change-Id: I20ce5894a4d605b9811eb37d3b3af207bbb48d50
2017-04-24 15:56:34 +05:30
Pranav Kant
3175a3a042 loleaflet: Check parent relationship before linking next comment
Change-Id: Ib22e1e1adca0544a70fa224abc9c98060ad83e5f
2017-04-24 15:44:53 +05:30
Ashod Nakashian
8b3a2ed9d7 wsd: reduce included headers
Change-Id: I3107b18b2edae34a76e9f56a5cbd24836b1b57c0
Reviewed-on: https://gerrit.libreoffice.org/36872
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2017-04-24 06:52:02 +02:00
Ashod Nakashian
c851c3e93b wsd: correctly remove request from socket buffer
POST requests require the full request to be
left in the socket buffer to be parsed in full.
But GET requests, especially WS upgrade, must
have the request cleared from the socket, as
there is more data expected to be read after
the upgrade, which happens by the DocBroker
thread, so clearing the buffer must be done
before the upgrade.

This patch accomodates these two conflicting
cases and refactors the code slightly to
make it more structured and readable.

Change-Id: Ia7357a745a3900f986099ba14af2a0946023018b
Reviewed-on: https://gerrit.libreoffice.org/36873
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2017-04-24 06:49:33 +02:00
Ashod Nakashian
988ddaf7be wsd: cleanup sendFile to allow header-only response
HTTP HEAD verb requires sending back NO content.

Currently we don't support HEAD and that harms
the browser from using its cache where possible.

Change-Id: I3c67dc106df95312c73f6ae786b7b1657a4167fb
Reviewed-on: https://gerrit.libreoffice.org/36871
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2017-04-24 06:47:42 +02:00
Andras Timar
f50b64b44e loleaflet: 'shutdown' is noun, 'shut down' is verb
Change-Id: I001a2ce9081b8f7145f2622ef844b6eeb7655193
2017-04-23 19:23:20 +02:00
Michael Meeks
8ef8e6737f DelaySocket - disable latency for now. 2017-04-22 18:42:16 +01:00
Michael Meeks
5d0e4fa020 DelaySocket: hide logging. 2017-04-22 18:42:16 +01:00
Michael Meeks
63aba6be1a DelaySocket: working, and much cleaner / simpler. 2017-04-22 18:42:16 +01:00
Michael Meeks
26a6d514d5 DelaySocket - simplified but working.
Assume for now that we have infinite space in-transit.
2017-04-22 18:42:16 +01:00
Michael Meeks
1c7f94045a Initial DelaySocket goodness. 2017-04-22 18:42:16 +01:00
Marco Cecchetti
1e0deae3df Calc: changed the way header are updated on row/col insertion/deletion
Now when a row/col is inserted/removed or resized is the core to
notify the client that current header is no more valid and a new
header should be requested by the client to core.

In this way core can notify the header invalidation to all views.

Change-Id: Ia3c1872b73cfb3458cd0d35907291a9fc9eebd11
Reviewed-on: https://gerrit.libreoffice.org/36729
Reviewed-by: Jan Holesovsky <kendy@collabora.com>
Tested-by: Jan Holesovsky <kendy@collabora.com>
2017-04-21 15:45:15 +02:00
Miklos Vajna
9c7cbab615 AdminModel: clean up redundant std::string init
Change-Id: Ia27219d0bf8d1c9787e38a7a287050b8728220d2
2017-04-21 13:27:10 +02:00
Ashod Nakashian
874b86ac89 wsd: simplify
Change-Id: I7a16d82d8e9ebb120950fc1d0227ffdbe962d8e8
Reviewed-on: https://gerrit.libreoffice.org/36764
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2017-04-21 05:55:15 +02:00
Ashod Nakashian
15e13e58f6 wsd: clear the socket buffer only after processing the request
Because POST requests need to consume the complete
request message, we shouldn't clear the buffer
before handling the POST request.

Change-Id: I53f7b664378dd6614afc6983fdd10d0102b38acf
Reviewed-on: https://gerrit.libreoffice.org/36763
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2017-04-21 05:54:43 +02:00
Ashod Nakashian
560406a308 wsd: don't remove session after saving unconditionally
We should only remove sessions that had already been
disconnected, which caused the saving.

Change-Id: I22fc54356af50df7a7bd2107fa17f6951d40812f
Reviewed-on: https://gerrit.libreoffice.org/36762
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2017-04-21 05:54:18 +02:00
Ashod Nakashian
7019ca8c25 wsd: ClientSession's isLoaded -> isViewLoaded
Not to confuse with the DocumentBroker isLoaded,
this is view-specific. Except for the first view,
which is identical to the document being loaded,
subsequent view loadings are independent from,
though follow, document loading.

Change-Id: I0f21016fa84bf507ca4bc0e7a6c7d0d76b033c60
Reviewed-on: https://gerrit.libreoffice.org/36761
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2017-04-21 05:53:30 +02:00