Commit graph

345 commits

Author SHA1 Message Date
Henry Castro
36474b21a6 loleaflet: add special character 2016-11-11 15:24:48 -04:00
Pranav Kant
2168617d60 tdf#103641: Implement ability to hide save, print, export options
Add more WOPI extensions for this - HidePrintOption,
HideSaveOption, HideExportOption. Setting HideExportOption to
'true' in WOPI CheckFileInfo response would hide the 'Download
as' option from the File menu.

Change-Id: Ia2259ee9525cc6c4331a52e2221af4df188eab07
2016-11-10 22:03:17 +05:30
Pranav Kant
f1f5c4ed66 loleaflet: A more OO approach for WOPI post message API
Abstract all the WOPI related logic in a map handler which is
enabled only if map.options.wopi is set during map
initialization.

Change-Id: I54c5d6eecf33f88e4fd4d2b5ac9e8cf9dd001966
2016-11-10 14:45:17 +05:30
Andras Timar
127b39d5b6 fix l10n of word count (thousand separator!) 2016-11-08 14:25:18 +01:00
Andras Timar
b4dd01a3c8 loleaflet: update uno command translations 2016-11-07 18:51:25 +01:00
Andras Timar
760c1e732a loleaflet: hide zoom controls for spreadsheets 2016-10-31 18:39:32 +01:00
Andras Timar
d589618bc1 disable zoom for Calc 2016-10-31 14:45:04 +01:00
Henry Castro
3c9eed3bb0 loleaflet: row/column highlighting to reflect the existing selection 2016-10-29 16:05:31 -04:00
Henry Castro
52793e8dd2 loleaflet: add Ctrl+F for Find 2016-10-29 10:42:40 -04:00
Pranav Kant
4987df6547 tdf#103450: WOPI compliant message and new way to post message
Use map's WOPIPostMessage which takes care of bunch of things
according to WOPI

Change-Id: Id559179d684fd6243d3afa488d4cddc9eb92f4d6
2016-10-26 21:34:19 +05:30
Pranav Kant
cfcc6bdd94 tdf#103450: Implement WOPI initialization postmessage API
This includes support for Host_PostmessageReady and
App_LoadingStatus

Change-Id: Iaa0222dfa63c17b26a4fcb2236973bacdd61ee62
2016-10-26 21:34:11 +05:30
Andras Timar
f79546853f loleaflet: spelling noun vs. verb: checkout -> check out 2016-10-24 22:18:00 +02:00
Andras Timar
a502371c27 loleaflet: updated uno command translations 2016-10-23 16:01:52 +02:00
Henry Castro
e189f60ad4 loleaflet: refocus map due drop down insert table 2016-10-20 09:31:27 -04:00
Pranav Kant
49f4e696e5 loleaflet: Click user item to go to its cursor
Change-Id: Iac87da20cfe422000eb9a32ccad50e8483637616
2016-10-20 17:22:36 +05:30
Pranav Kant
9f69359b33 loleaflet: Disable these toolbar buttons too, in readonly mode
Change-Id: I8bc661dd3cfd689c7c7ded367deacdba853153e4
2016-10-19 21:08:33 +05:30
Tor Lillqvist
bb36ca79d4 Attempt to handle unauthorized WOPI usage better
Use the previously unused UnauthorizedRequestException for this, and
throw a such in StorageBase::create() when the WOPI host doesn't match
any of those configured.

In a developer debug build, without access to any real WOPI
functionality, you can test by setting the FAKE_UNAUTHORIZED
environment variable and attempting to edit a plain local file:
URI. That will cause such an exception to be thrown in that function.

Catch that UnauthorizedRequestException in
ClientRequestHandler::handleGetRequest(), and send an 'error:
cmd=internal kind=unauthorized' message to the client. Handle that in
loleaflet in the same place where the 'error: cmd=internal
kild=diskfull' message is handled, and in the same fashion, giving up
on the document.

Actually, using exceptions for relatively non-exceptional situations
like this is lame and makes understanding the code harder, but that is
just my personal preference...

FIXME: By the time StorageBase::create() gets called we have already
sent three 'statusindicator:' messages ('find', 'connect', and
'ready') to the client. We should ideally do the checks we do in
StorageBase::create() much earlier.

Also consider that ClientRequestHandler::handleClientRequest() has
code that catches UnauthorizedRequestException and
BadRequestException, and tries to set the HTTP response in those
cases. I am not sure if that functionality has ever been exercised,
though. Currently, we upgrade the HTTP connection to WebSocket early,
and only after that we check whether the WOPI host is authorized
etc. By that time it is too late to return an HTTP response to the
user. If that even is what we ideally should do? If not, then we
probably should drop the code that constructs HTTP responses and
attempts to send them.

Also, if I, as a test, force an HTTPResponse::HTTP_BAD_REQUEST to be
sent before the HTTP connection is upgraded to WebSocket, loleaflet
throws up the generic "Well, this is embarrassing" dialog anyway. At
least in Firefox on Linux. (Instead of the browser showing some own
dialog, which I was half-expecting to happen.)
2016-10-17 19:34:04 +03:00
Tor Lillqvist
b29ae3c032 Sort lines for clarity 2016-10-17 19:34:04 +03:00
Henry Castro
1d40b1eb79 loleaflet: fix mouse over text that it changes re-size cursor 2016-10-14 14:46:46 -04:00
Henry Castro
fbfd500a2e loleaflet: fix style names in Layout dropdown 2016-10-12 21:51:48 -04:00
Henry Castro
25dce7a30f loleaflet: column/row re-size cleanup 2016-10-12 17:30:52 -04:00
Henry Castro
5a2fe805db loleaflet: add localizable error message 2016-10-12 12:44:44 -04:00
Pranav Kant
a01d2fc91d loleaflet: Restore old coloring algorithm for non-text documents
.uno:TrackedChangeAuthors doesn't give correct colors for
documents other than writer, lets use our old algorithm for color
assignment for these documents.

Change-Id: If865788154a80da2637aad84183a0e947bb4b7e8
2016-10-10 18:00:38 +05:30
Pranav Kant
0ad39593d0 loleaflet: Use view colors directly from core
Change-Id: I2fdffd6dd0823a77ff52e40150a81db4b261ec81
2016-10-10 13:02:22 +05:30
Henry Castro
0f86fde3e0 loleaflet: add .uno:AutoSum 2016-10-06 14:37:06 -04:00
Henry Castro
97fa8e45f9 loleaflet: fix error message localization 2016-10-01 11:35:19 -04:00
Pranav Kant
ec88a53072 loleaflet: loleaflet-font for userlist items too
Change-Id: If2c96d9d70a84bac1e75816f07bb7da8ff2642f5
2016-09-30 15:49:24 +05:30
Pranav Kant
7b60a9e3f6 loleaflet: Show error message dialog on diskfull
Set the mode to viewonly after the error so that user can still
see the tiles downloaded from the server, but cannot interact
anymore before server administrator fixes the disk space.

Change-Id: If03f4fabe93458672a631c020d09dcebecbb955c
2016-09-30 15:22:12 +05:30
Pranav Kant
12dee85ef8 Serve all assets (l10n, images etc.) versioned
Rather than accessing them using '/dist/', access them using the
version (git hash) in the url.

Change-Id: I999bd99a13dbf92b26641e3bd5c9e0b7468bb654
2016-09-30 00:33:58 +05:30
Henry Castro
940e78162f loleaflet: remove map attribution 2016-09-28 10:00:35 -04:00
Henry Castro
c3568a6a41 loleaflet: refactor L.Control.Attribution.js 2016-09-27 17:28:30 -04:00
László Németh
459b5e585c loleaflet: show latency and other data in tile debugging mode
- show best, average, worst, last times of
  - server ping round trip
  - times between key press and invalidation message
  - tile based and total tile update latencies

- show data of the last five invalidation:
  - tilecombine messages, if they exist
  - otherwise the invalidation message
  - border of the last five invalidation rectangles

- visual fixes:
  - more transparent red color for better text typing
  - small letters over tiles with transparent background
  - black attribution text instead of gray + bottomleft position
2016-09-27 20:49:13 +02:00
Pranav Kant
5891371dca loleaflet: Show usercolor in userlist
Change-Id: I6be05f36ffc4c00aa986b3873fce1bc5acc6fbf0
2016-09-25 23:36:51 +05:30
László Németh
68d3693d97 loleaflet: extend tile debugging
- show invalidated rectangles with fading effect
- show last tilecombine message and cancelled tile count
- show received/requested tile updates
- fix popup handling
- custom popup style (transparent, big numbers)
- clean up
2016-09-23 12:25:00 +02:00
Pranav Kant
ed860594a1 loleaflet: Guard against null
This helps in preventing some of many warnings in the browser
console.

Change-Id: I568b9a20e7cecfddaffd7309271fae4f6c265b46
2016-09-21 13:00:39 +05:30
Pranav Kant
77e219ceff loleaflet: Kill editlock code, completely
Editlock buttons have already been removed; most of this code is
unreachable/useless anyways.

Don't listen to editlock messages anymore, and always set the map
permission to edit unless specified.

Change-Id: I2ee672e72beaa48a7c6cd0bbd1c548ff10a251d1
2016-09-20 11:17:20 +05:30
Pranav Kant
53b768de0f loleaflet: Remove troublesome checks
... and fix the incosistency among view count in UI

Change-Id: I6b055b6d145c2de314830731f6341462287b244a
2016-09-01 14:25:54 +05:30
Pranav Kant
d3eda7d198 loleaflet: userlist l10n fix
Change-Id: Id2be29e018f1c23a8d5b61ad3fbaebc36f1222ec
2016-09-01 12:50:06 +05:30
Pranav Kant
04064b2e23 loleaflet: User count in user list
Change-Id: Idde4e1bdf1b33590c3b9a8265e059c01943f4777
2016-09-01 11:25:21 +05:30
Pranav Kant
958c0e3534 loleaflet: Better algorithm for adding/removing users from list
Remove them dynamically, rather than creating a new list
everytime.

Change-Id: I3e1a8c603e092fdd727806154a3715139e4f5b2c
2016-09-01 11:25:21 +05:30
Jan Holesovsky
c3a3d81365 Breeze icon for the 'Document repair'. 2016-08-31 19:26:23 +02:00
Pranav Kant
d223f2a0e4 loleaflet: Notifications when new user joins, leaves
Change-Id: I71b9ffb82fa2a0104df6f2600558b1b094f1195f
2016-08-30 20:39:01 +05:30
Pranav Kant
aca73d2ac5 loleaflet: Don't use input for userlist; use menu list
Change-Id: I29244e3989fa5ca52c701c05996669cd548a0109
2016-08-30 20:39:01 +05:30
Pranav Kant
491876b537 loleaflet: Show cursor name on hover
Change-Id: Ibca3a5e80a21c83e27ba47a6fe39f788a261c1e5
2016-08-30 20:38:42 +05:30
Andras Timar
56370e60e8 loleaflet: font + l10n for Users dropdown 2016-08-30 11:50:53 +02:00
Pranav Kant
3d29df6f99 loleaflet: Show a user list in bottom toolbar
Change-Id: I5aa87a6da3c6af9da0138bdfe51fbb707a47ba3e
Reviewed-on: https://gerrit.libreoffice.org/28480
Reviewed-by: pranavk <pranavk@collabora.co.uk>
Tested-by: pranavk <pranavk@collabora.co.uk>
2016-08-30 07:45:28 +00:00
Pranav Kant
10d4c96b51 remove edit lock from UI
Change-Id: Ib437e1576efae45ca717b7eef8e3c535165b0c16
Reviewed-on: https://gerrit.libreoffice.org/28479
Reviewed-by: pranavk <pranavk@collabora.co.uk>
Tested-by: pranavk <pranavk@collabora.co.uk>
2016-08-30 07:44:58 +00:00
Henry Castro
ab780acd0a loleaflet: add document repair toolbar item 2016-08-28 09:08:18 -04:00
Henry Castro
fa96352881 loleaflet: add L.Control.DocumentRepair 2016-08-28 08:57:27 -04:00
Oliver Specht
5902700922 Add footnote and text wrap functions 2016-08-26 10:36:04 +02:00