A number of such bitmaps were removed by accident in commit
74463457b3 (android: chanhe handles to use
alias, tint handles with color, 2015-11-01).
Change-Id: I253c4b5790e82de32e6fd06896645adf360fa586
For example in Writer:
Ctrl-B for bold text
Ctrl-Shift-B/P for subscript/superscript
Ctrl-Alt-C insert comment
Ctrl-1 apply Heading 1 paragraph style
Change-Id: Iaeb8341f2cb273980b637ff2fed89585094e0d9d
This only works correctly for the default zoom level - since
the updateLibreOfficeKitCellCursor call happens during the
internal / hidden rendering, it uses the internal zoom values,
which can differ from the tiled-rendering zoom values.
Conflicts:
include/LibreOfficeKit/LibreOfficeKitEnums.h
Change-Id: Ie4f344fe771078fca10ad9d6f7a93e88fb93880a
This is common when widget gets a zoom request, resulting in a
new tile buffer, and the tiles from the old tile buffer are still
waiting to be processed in the LOK thread, for old tile buffer. If
we allow these useless operations to execute successfully, they
would end up writing in new tile buffer giving false results.
Lets tag every paint tile operations with their respective tile
buffer during `task` creation, and then check whether the tile
buffer has changed or not before writing to the tile buffer.
Change-Id: If784341a67ad430bc3415b765137badaad6b97f6
Reviewed-on: https://gerrit.libreoffice.org/19726
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
Tested-by: Miklos Vajna <vmiklos@collabora.co.uk>
Posting of the .uno:Something commands is asynchronous. To be able to find
out when eg. .uno:Save finished, this commit introduces a callback that fires
when that happens.
To be able to receive such a notification, the appropriate postUnoCommand()
must be called with 'true' as the parameter for bNotifyWhenFinished (defaults
to 'false').
Change-Id: I254939ebc8ea5f309ae39686dcaaeddd5148b0c9
Lets separate the task of painting the tile, and saving the tile
in tile buffer using GAsyncReadyCallback. This will provide us
with better control over tiles -- cancelling the painting operation,
and filtering tiles that should not be saved in the tile buffer.
Change-Id: I6aae928d8cc0c906034570ed0e9a054763d493a3
Reviewed-on: https://gerrit.libreoffice.org/19725
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
Tested-by: Miklos Vajna <vmiklos@collabora.co.uk>
It's undesirable to malloc a struct that has a TileBuffer member, while
TileBuffer doesn't have a default ctor.
Change-Id: I72dfacc0088f238ee101d84838bd7eea51ced82a
1) The size of the searchResultSelection array in
LOK_CALLBACK_SEARCH_RESULT_SELECTION provides the same information.
2) None of the clients except lokdocview used it.
3) Only sw provided this callback, not sc/sd.
Change-Id: I9da639b6693f24634f298f9bc4773f705e944359
To get a better functionality we need to know the button type (left,
right, middle). We also need the key modifier (ctrl, alt, shift) for
actions such as ctrl+click (to open a link) or shift+click to select
Change-Id: Iaccb93b276f8a6870dd41cc5132dbb85d2bbf71b
Resetting tiles only is not enough. We need to empty stale
selection rectangles, handle bars, cursor positions etc., so that
they do not interfere with next view to be opened using same
widget instance.
We are not destroying the document here, so the widget would
still point to the same document unless it is made to point to
another document by subsequent lok_doc_view_open_document calls.
Change-Id: I3c7cc789c8c7393b3793b4edf6aa96d54bc0b1a3
Reviewed-on: https://gerrit.libreoffice.org/18866
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
Tested-by: Miklos Vajna <vmiklos@collabora.co.uk>
... wherever possible. There are few things we can't move to
header file, for example, the comments corresponding to GObject
properties, and signals.
Change-Id: If74d61b17ccee11f8a056f3a93040d2cff2dd98d
Reviewed-on: https://gerrit.libreoffice.org/18863
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
Tested-by: Miklos Vajna <vmiklos@collabora.co.uk>
Also in SfxLokHelper::setView() set the current view shell directly,
GetFocus() in VCL may be a NOP for hidden windows.
With this, the Writer layout dump shows that two Gtk windows can have
different cursor positions correctly.
Change-Id: I81890c1d8ad7972f1194db3d5f2e9d8a39fc2f87
With this finally the number of GTK+ windows always match the number
returned by SfxLokHelper::getViews().
Change-Id: Ia45bef7dea86b80cfac00e2ad7c1a16d7f5b507b
In Writer, the meaning of 'parts' is a bit different than in Calc or Impress.
In Writer, the parts mean pages, and the document does not give a completely
different view, the cursor just jumps to the given page.
It is up to the client to follow the cursor appropriately to have the desired
effect.
Change-Id: I56b3264e0340cd639bdabfa92b74b52bd1f391a5
... and set each member variable manually.
Additionally, improves documentation of the struct LOEvent.
Change-Id: I2e8e1dc70298dc85943769e2f01c6127eedb8207
This is a thread pool with just single thread because LOK is
single threaded; using multiple threads in this case would be
useless.
Primary reason we are using a thread pool here is to avoid the
overhead in spawning a new thread for each LOK call.
Change-Id: Ibbfdb7cb0a8ef9f07bcc659e65ce8997716aa245