Selection background color is now consistent across context menu
and menubars.
Don't change the cursor to 'pointer' in context menus on hover.
Change-Id: I25d1fcba113f2c27a8ab6d028244afd75c28cd59
* Center the label on top-level menubar items
* Remove padding off the top of menubar
* Little more padding-top to menubar
Change-Id: I70adc72bb93d7388f59f670ad76b1b4ac6741f68
1. Prune out all other items that are not possible now.
2. Add a seperator CSS class and use it between menuitems.
... and other minor functional/UI changes.
Change-Id: I037e2b6f751824c973072c52905d46b0fd4be38b
... with some CSS tweaks in sm-simple.css to make it look more
like LO menubar in desktop application.
Change-Id: I62c88d5876da752fb487e89a3613698c463d9f32
License: MIT
Additionally, the sm-simple.css file is indented appropriately as
we would need to modify it to our needs later.
Change-Id: Iab909d2e06af342b22ebeffc86b3efdc1bacb73e
Kept the small icons around for the case we'd like to implement switching
between these two (?) - OTOH not sure it makes sense, as the toolbars will not
get smaller by just using the smaller icons... But always can remove them in
a separate commit.
This message is required to update row/column headers when client
changes its part, otherwise we won't see new row/column headers
in new part.
This reverts commit d8f6aa7146.
Change-Id: Iabafdf27b45d174abd7bbd6ba79e7badc52b9985
But use a whitelist to not show items/uno commands that
correspond to opening a dialog. Whitelist is limited as of now,
but can be extended easily to include more commands to the
context menu as required.
Change-Id: I3ff8cf722d395aa643d512c98db41ebeee0a95d1
In case of presentation we are getting an empty value in response
to .uno:CharFontName. While this looks like a bug in LOKit, no harm
in putting a check for empty values here.
In ES5 argument to Object.keys must be an object otherwise it
throws an exception.
Change-Id: I5c2f7963544fda55bab3f314f1b098b3c9e3bd0b
Currently, it does get fired, it seems, and vertical scrollbar
does get adjusted automatically according to new size, but
horizontal scrollbar doesn't for some reason/bug. Lets explicitly
tell the plugin to update on every resize we do.
Change-Id: I706228302cb43fb22cf54acfe1b990d3e66d5281
Text documents have a single coordinate system, so they
only render in part 0. For others, each page/slide/tab
is a part.
Change-Id: I3c61f4482e5bb535e41ea699147c8c258ca6fb93
Reviewed-on: https://gerrit.libreoffice.org/24850
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
'Standard', and 'Default' styles seem to containing same values
anyways. If we do not have 'Default', use 'Standard' ones.
Change-Id: I4402f78fb54c77a7cf6d9868210cb97a9e2c4580
Upon creating an .odp file from owncloud, 'Default' styles are
not created which leads to a js error as variable styles go
undefined later in the script.
Change-Id: I30caf980bd924e6329559b36b1f0a5fbe60ecc4b
... otherwise, shift + space combination would select the whole
row in calc even while editing. After this, row selection feature
using shift + space would only work while we are not editing,
that is, when text cursor is not visible.
Change-Id: I07ddf045d023487d70fa632edd7c173ed1df610d
And use these directly from debug/document/loleaflet.html instead
of CDN. Helpful for development when no internet connection.
License: MIT
Change-Id: I4d2086ffc9e9e646164c70481ae74e6c1f7a7062
Invalidation for spreadsheet and presentation
are part-sensitive. The handler will take
care of this distinction and construct the correct
invalidate command.
Also, set active flag before firing invalidation.
Change-Id: I9e897750e0768b54cc1521d47d69b5dbb1a36244
Reviewed-on: https://gerrit.libreoffice.org/24779
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
The handles imply (and indeed are designed for) changing the
selection by dragging them around. Viewers can't change the
selection, so no reason to give them the selection handles either.
Change-Id: Ifa793ac982fd48be877e7ed7709f70890d8de194
Reviewed-on: https://gerrit.libreoffice.org/24770
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
This message is already sent from CalcTilelayer.js.
Change-Id: I9f84d5f365dbfea38061e206d5d52e2201be22ed
Reviewed-on: https://gerrit.libreoffice.org/24769
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
Make sure to sync both lokit and viewers as to which
part is being edited when a previously-viewer takes
editing.
Change-Id: Ia70f647a26029447bb4360633f79233fa9596059
Reviewed-on: https://gerrit.libreoffice.org/24768
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
This leads to row/column offsets because the document view would
ignore the scroll but row/col header would be scrolled.
Change-Id: Ieec25429dbf698e710ce1f9765c51756f2a75032
In case of spreadsheets, zooming in and then switching
the sheet to a new one will leave the new sheet in a situation
where panning would not be possible. This is because of incorrect
maximum bounds set on the map.
Further, this often leads to row/col offsets in spreadsheets
because document view is bound under these MaxBounds but row/col
are not.
Change-Id: I468d2fee5424e11c93a0a707fde96e687061fb89
We use 180x180 px as thumbnail size, and 2px border for selected
thumbnail on top of that which makes its 184x180.
.parts-preview needs to be expanded to 214px for
mCustomScrollbar to work properly without hiding any thumbnails
including borders. With all of this, we also need to shift
impress document offset to 214px from left to make all things fit
nicely.
Change-Id: I446918403cd43fe61f0ebfb358e6a2051014b28a
Hide the spreadsheet-toolbar by default, and only show when we
are confirmed that its a spreadsheet, instead of doing
vice-versa.
Change-Id: Iddaca0fb272dbe8dd8b6e73157eb4733762d8a8a
Use w2overlay instead of w2popup. The former adjusts itself in
the visible screen region and fixes, and does not introduce any
additional scrollbars for the lifetime of the popup message.
The w2overlay gets removed with mouse events. So instead of
'mousedown' events originally, use 'mouseup', so that there is no
succeeding mouse events to switch the overlay off.
Also point the overlay pointer towards the button, not the label.
Change-Id: Ic6c22fecc2e32075c27b6f4647373c28d2f635ae
On Windows, AltGr events are treated as Alt + Ctrl. Use the
'location' property to distinguish from plain Alt + Ctrl.
It is not present in 'keypress' event, so use
the previous invocation of Alt + Ctrl to detect whether AltGr was
used or not.
Change-Id: Id6b64b6fc0a5300ea5362880536d3b926eb0acce
Reviewed-on: https://gerrit.libreoffice.org/24400
Reviewed-by: Andras Timar <andras.timar@collabora.com>
Tested-by: Andras Timar <andras.timar@collabora.com>
Reviewed-by: pranavk <pranavk@collabora.com>
Treating empty item as an object expects `id` attribute on which
toString method would be invoked. In case of object without `id`, it
would throw an error trying to call toString on undefined
attribute.
Change-Id: I44e591044487b0d236760cc79438ccfcf0f53846
Socket._onSocketClose is always called on error, and
it displays an error message already.
Change-Id: Ib8d740bbbf45d0d705abe8e2cb3b600b133c2979
Reviewed-on: https://gerrit.libreoffice.org/24351
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
We should also reconsider message queueing altogether.
If we lose connection we should not have any expectation
to recover at the same state when the document is shared.
In fact it could be dangerous to send those last messages
before losing connection, lest they modify a more
recent version of the document (after others' changes).
Change-Id: I9077c1db5fe1535f1fc85436580b10c751bac2ee
Reviewed-on: https://gerrit.libreoffice.org/24348
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
The invalidatetiles is normally a notification coming from
LOK and it signifies that the tiles in quesion need
rendering anew. Issuing this internally from the Kit
removes TileCache images unnecessarily.
Furthermore, since this message is always sent in response
useractive message, there is no need in issuing it from
WSD when loleaflet is perfectly capable of issuing it
itself (internally).
Change-Id: Ia97de6d803745dca3f6e73100f2d921dbbdf76f6
Reviewed-on: https://gerrit.libreoffice.org/24316
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
Instead of asking for individual tiles, try to find rectangular areas in the
tile requests, and ask for the large rectangles using tilecombine, instead of
asking for individual tiles.
For some reason, text cursor gets stuck making it impossible to
type in the document. This only happens with firefox + owncloud.
Lets keep the editlock state separately in map, and do not yet
mix the permissions with editlock state.
Change-Id: If4193d08b7228cde510321ec5b4c892b8617d8a7
It is still possible to access them directly via loleaflet/dist/<something>,
but such use can lead to unexpected behaviour due to various caching in the
browsers etc.
It is incorrect to add the <div> elements with parent as w2ui
toolbar outside of onRefresh() method because toolbar can
refresh multiple times during its lifetime meaning that all such
added elements will be removed after first refresh breaking the
font/back color feedback javascript code.
Hence, this also fixes the font/back color feedback.
Change-Id: Iacd4f8a5c8ebb64e5bba5e7f05ceef8b77051534