Commit graph

1510 commits

Author SHA1 Message Date
Henry Castro
1c1ecf20f6 loleaflet: add double click to insert the symbol 2016-11-21 22:43:21 -04:00
Henry Castro
5e143c813d loleaflet: process command values .uno:FontSubset 2016-11-21 22:13:46 -04:00
Tor Lillqvist
8fe58df759 An updated preview of a slide should be broadcast to all document clients
Amazingly, this (my third attempt) seems to work.

Add a boolean 'forAllClients' parameter to the loleafget getPreview()
function, and pass it as true in the location where a new preview of
an edited slide is requested.

Add a parameter 'broadcast' to the 'tile' (request) message. Set to
'yes' in the above case. When subscribing to a such tile rendering,
subscribe all sessions of the document.

While at it, drop the default values for the parameters of the
TileDesc constructor. I dislike default values...

Change-Id: Idb438f11c953d791fafe4c890e0497d8dfbaa733
Reviewed-on: https://gerrit.libreoffice.org/29591
Reviewed-by: pranavk <pranavk@collabora.co.uk>
Tested-by: pranavk <pranavk@collabora.co.uk>
2016-11-21 07:07:18 +00:00
Ashod Nakashian
7f29a11bf3 loleaflet: don't show disconnection notice when inactive
Users aren't bothered with connection errors when inactive.
Instead, when they try to re-activate, the connection is
re-established, and only if that is not possible does
the user see the disconnection notice. Otherwise,
the connection is re-established semi-transparently
(the is a small "connecting" status shown at the bottom).

Change-Id: If4735cc1593c6e29c65d3c9686a8f2861365c583
Reviewed-on: https://gerrit.libreoffice.org/31026
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-11-20 15:52:28 +00:00
Pranav Kant
57790dd2b8 loleaflet: Let readonly/view modes change slides
Change-Id: Ia4eef3f20cd0cc33c76de1070e09c8d4c8a6c4c8
2016-11-20 14:57:15 +05:30
Pranav Kant
8f3b5bff4c loleaflet: Let readonly/view views change spreadsheet tabs too
Change-Id: If443a71a4e009657ec7d29582a96f4c23962cfe3
2016-11-20 14:53:22 +05:30
Pranav Kant
4e945eefdf loleaflet: Do not grey out for disabled context menus
Change-Id: Id3bf5db6054e5df9511c491452ef164faa3289f9
2016-11-20 14:51:49 +05:30
Pranav Kant
7312aaced7 loleaflet: More sane names
Change-Id: Idc47e84cd1242e61c98b9caa5eed28dd3d1912e4
2016-11-20 14:50:23 +05:30
Pranav Kant
61af82792f loleaflet: Rename to spreadsheet-tabs-container
Change-Id: I08d57e55e4963beefb2aa3d26b05da75a5fd0ba6
2016-11-20 14:41:32 +05:30
Pranav Kant
8a2c2ad91d loleaflet: Don't unnecessarily update map bounds
This leads to emission of 'docsize' event somewhere down the line
which leads inconsistencies while navigating the document.

Change-Id: Iffabac66153e7b32c9b2af041282ef82b813bef3
2016-11-20 14:15:12 +05:30
Ashod Nakashian
fe10c1d272 loleaflet: close open dialogs before showing close frame
Change-Id: I833ec51f47106dc42b7e9d2412f03256721b270d
Reviewed-on: https://gerrit.libreoffice.org/31005
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-11-20 00:27:09 +00:00
Ashod Nakashian
6b7219e25a loleaflet: notify the user when server intentionally closes connection
Change-Id: I82d855c1a50dca42e40d1123e42b0e02227f73d1
Reviewed-on: https://gerrit.libreoffice.org/31003
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-11-20 00:26:00 +00:00
Henry Castro
8876be85bc loleaflet: modify special character dialog 2016-11-19 17:17:25 -04:00
Henry Castro
b592fa923c loleaflet: add more constants for Unicode blocks 2016-11-19 17:17:25 -04:00
Henry Castro
647fe679e9 loleaflet: fix 0-based index 2016-11-19 17:17:24 -04:00
Pranav Kant
373e68d42c Set reconnection flag when reconnecting
'status' message can well be sent after document has already been
loaded. Eg: when the doc size is changed. We don't want this code
to execute in all such cases.

Change-Id: Ia69ab70edddda1a4e27618101eaff35bd0e5eb65
2016-11-18 17:20:19 +05:30
Pranav Kant
bad071760d Supercede a hack with a better solution + flush tiles on reconn.
This also introduced a regression where upon reconnection of the
document, tiles were not updated. This was because calling
setView leads to calling 'canceltiles' down the line which would
cancel the the 'tilecombine' request for fetching all tiles
leading to stale tiles in the UI

Change-Id: Ib0f583c92802195384ea10f328c0ba2eafc82ffd
2016-11-18 17:18:14 +05:30
Pranav Kant
8a1ac91fa6 loolwsd: Prevent double decoding
Change-Id: I5927e0113505ffcc167e16700db7c2f6408ed3b7
2016-11-17 17:22:09 +05:30
Henry Castro
30531f88f1 loleaflet: update new and last valid slide thumbnails 2016-11-16 10:50:43 -04:00
Pranav Kant
4d28338a10 More WOPI documentation
Change-Id: I0c04d2105ff6227f9f7b6eaa73a7efe6a94faecd
2016-11-16 19:56:33 +05:30
Andras Timar
a65f7d34d1 loleaflet: add missing ui-bg_highlight-soft_100_eeeeee_1x100.png to dist 2016-11-15 20:38:46 +01:00
Pranav Kant
26adebfcb0 tdf#103641: Fix save button visible for presentation
Additionally, change the variable name for presentation-toolbar
to avoid any future confusion.

Also, put the code hiding the save button in onRefresh event so that
save button doesn't show up in the UI as soon as we get the wopi
properties object from the server.

Change-Id: Ib168010c509f55a69aae9752e11321d319f59e99
2016-11-15 18:23:42 +05:30
Pranav Kant
d8a202bf1c tdf#103641: Split App_LoadedStatus - Frame_Ready, Document_Loaded
Post App_LoadingStatus with 'Status' field as Frame_Ready when
we are ready to show the UI.

Post Document_Loaded when document is completely loaded after
which loleaflet is ready to respond to more document specific
queries through post message API.

Change-Id: I60a4e9b75e115c748fcee8d449bc8c2d4ffa34a9
2016-11-15 18:23:40 +05:30
Andras Timar
d02f4bf753 loleaflet: Translation of Special Characters dialog from LibreOffice core 2016-11-15 10:27:45 +01:00
Andras Timar
cb21e68691 loleaflet: Translations of Unicode subsets from LibreOffice core 2016-11-15 10:03:58 +01:00
Henry Castro
c40b79df9e loleaflet: enable font character preview 2016-11-15 00:07:21 -04:00
Aleksander Machniak
fc3a059e75 Fix setting DontTerminateEdit/DontSaveIfUnmodified arguments in Action_Save postMessage
Change-Id: I61a2064104b1748571036891ff7696c1a1e6a3d2
Reviewed-on: https://gerrit.libreoffice.org/30842
Reviewed-by: pranavk <pranavk@collabora.co.uk>
Tested-by: pranavk <pranavk@collabora.co.uk>
2016-11-14 18:08:58 +00:00
Pranav Kant
efe6863f17 loleaflet: 'Click to resume editing' label' when inactive doc
Change-Id: I9013158fc6f064dc76398aec044c5b4aa83aa9b7
2016-11-14 23:28:22 +05:30
Pranav Kant
7b332782da loleaflet: Mention sheet name in delete sheet confirm dialog
Change-Id: Ifac13c8fb2f4ec792f1e62541cb92b63edecad56
2016-11-14 20:38:33 +05:30
Pranav Kant
383e8a13a5 loleaflet: Focus after inserting or deleting a sheet
Change-Id: I2807cbeaa0fb5b7ec20002a3f5758ce47bb7d421
2016-11-14 20:38:33 +05:30
Andras Timar
b35ac4cbbf loleaflet: Control.Menubar.js indentation fixes 2016-11-14 14:23:22 +01:00
Andras Timar
40009af7aa loleaflet: add Insert - Special character... to menu 2016-11-14 11:41:03 +01:00
Andras Timar
0e5cf0e07f loleaflet: disable Insert Special Character button in view-only mode 2016-11-14 11:38:12 +01:00
Ashod Nakashian
da5ef9b5a2 loleaflet: add shutdown command to the admin settings
When we add more server controls (restart, f.e.)
we will need to move this to a separate page.

Also, we need to prompt the admin for reason,
which we can broadcast to all users when the server
goes down.

Change-Id: Ide92e58b5b64a5107b6556aef6b1a88191d5d21b
Reviewed-on: https://gerrit.libreoffice.org/30832
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-11-14 05:35:13 +00:00
Henry Castro
36474b21a6 loleaflet: add special character 2016-11-11 15:24:48 -04:00
Henry Castro
e6cdb7fa19 loleaflet: simplify remove all child elements 2016-11-11 14:05:15 -04:00
Henry Castro
1fde78d6cd loleaflet: move isVisible to Control class 2016-11-11 13:48:32 -04:00
Pranav Kant
25db37484c tdf#103697: Fix color value for spreadsheets and presentations
Change-Id: I89f871f829abd847321bee927b98e9a96e8babbb
2016-11-11 16:22:44 +05:30
Pranav Kant
d060b242e8 More documentation about post message API
Change-Id: I362e159c32d2ea93139be58ca647a2f4c5678dee
2016-11-10 22:37:38 +05:30
Pranav Kant
08a365302e loleaflet: Fix browser print
Accessing the parent iframe, atleast on my local box, where
parent frame and loleaflet frame have different origin, is not
allowed by browser security policy.

Change-Id: Ia3a356fa1d8a81f38bbc27d256471302be8b6729
2016-11-10 22:03:17 +05:30
Pranav Kant
e850ac836f tdf#103641: Another Post message API - Get_Export_Formats
Change-Id: I8a502d3c88c83cc7fb6c3113522ed637bf349a0e
2016-11-10 22:03:17 +05:30
Pranav Kant
5219baaab0 tdf#103641: WOPI: Implement Action_Save, Action_Print, Action_Export
WOPI hosts can now send above mentioned messages to loleaflet so
that loleaflet does stuff accordingly.

Change-Id: I50e10a62c5b629bd12f7d9ce51bcd13cb13cdd8a
2016-11-10 22:03:17 +05:30
Pranav Kant
9bfd5a512e loleaflet: Factor out save uno command
Change-Id: I155329f9dfa37cb47cbac34aa885b3d7a0cbb573
2016-11-10 22:03:17 +05:30
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
9c5928a87b tdf#103641: Convert 'wopi:' message to JSON formatted message
... to accomdate other WOPI properties easily in future.

Change-Id: Ic92364f06f4f16ebe8f9f128cd49087f6d72a4d1
2016-11-10 22:03:17 +05:30
Pranav Kant
7cacabad40 loleaflet: Give id to these menu items
So that it is easy to manipulate them in future by their
identifier.

Change-Id: I252aa448c26c23a00f0a3e717e1603b0d0277e67
2016-11-10 22:03:17 +05:30
Pranav Kant
df50c8fd34 loleaflet: Fix some silliness
Change-Id: I8977d2f3a569d2442c34248a9b86fec9761fb0e2
2016-11-10 22:03:17 +05:30
Pranav Kant
b0933b063e tdf#103640: Implement OwnerTermination; send application-level close frame
This implements a new feature 'OwnerTermination' for WOPI based
hosts. WOPI hosts now have to enable this feature by mentioning
'EnableOwnerTermination' as 'true' in their CheckFileInfo
response. If the OwnerId of the file matches that of the UserId
of the session, this session would be able to terminate all other
sessions currently editing the same document.

The reason for this kind of document termination is sent to all
sessions in a new application-level 'close:' message. This new message is
similar to the CLOSE frame of WebSocket protocol which doesn't
seem to work across all browsers as of now. Eg: Chrome -
https://bugs.chromium.org/p/chromium/issues/detail?id=426798
After receiving this 'close: ' message, loleaflet acts
accordingly and tells the WOPI host why the websocket was closed
via post message API.

Change-Id: I997aa2e7805157ed599a3946a877fd32477cee1b
2016-11-10 15:04:21 +05:30
Pranav Kant
7f77618f38 Document PostMessage API in reference.html
Change-Id: Ibdd3fc060a99f3b6185362fa3143014710873079
2016-11-10 14:45:20 +05:30
Pranav Kant
1a1792cdc1 loleaflet: Group map getters together
Change-Id: I576f78aaa215b6ba3aff6a5ce8498a3449080927
2016-11-10 14:45:20 +05:30