This is similar to what is implemented in online.git's leaflet. If the
zoom factor changes, then inform LOK about it on the first keyboard hit.
Change-Id: I2db4ffed3897db5c852f4b8aea8f4e2d3500a25a
Add setOptionalFeatures() function that clients must call during
initialization, and enum LibreOfficeKitOptionalFeatures.
Change-Id: I73035193c87033052921c3aad94fdc057fe81111
Reviewed-on: https://gerrit.libreoffice.org/21809
Reviewed-by: Jan Holesovsky <kendy@collabora.com>
Tested-by: Jan Holesovsky <kendy@collabora.com>
Now since, LOKDocView has started to get clients, we need to ship
all of its dependencies with the widget.
Reviewed on:
https://gerrit.libreoffice.org/21605
Change-Id: I874eb416587a80b7760c5f00183d6004dfca4cce
This way we can directly reference any property by pointers to
GParamSpec stored in a static array, rather than looking for
property using property name. The former is a faster approach.
This will come in handy for functions, such as, g_object_notify
which needs to access properties to notify the object of any
property change in a faster way.
Change-Id: Ic4087bff3bdb63a3e8853d158c7af688e5e67811
Reviewed-on: https://gerrit.libreoffice.org/20797
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: David Tardon <dtardon@redhat.com>
Tested-by: David Tardon <dtardon@redhat.com>
G_PARAM_CONSTRUCT implies that parameter will be set upon widget
initialization which means calling lok_doc_view_set_zoom() while
document still points to null.
Change-Id: Ib576ac3b32c2349be2b2df6067ae79a056a03028
Reviewed-on: https://gerrit.libreoffice.org/20775
Reviewed-by: David Tardon <dtardon@redhat.com>
Tested-by: David Tardon <dtardon@redhat.com>
Clients should now use these APIs to search for text in the
widget, rather than executing UNO commands directly on the
widget. This allows searching for text in the widget in view-only
mode too.
Change-Id: I013b6f96e69a634ec33367394d39c0f645a4994d
Reviewed-on: https://gerrit.libreoffice.org/20488
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: David Tardon <dtardon@redhat.com>
- Move text selection and graphic selection tasks into functions
- Merge GDK_BUTTON_PRESS, GDK_BUTTON_RELEASE conditional code
- Do not change to 'move' cursor in view-only mode
- Ignore LOK_POST_COMMAND, LOK_SET_GRAPHIC_SELECTION in view-only
As a consequence this commit also allows dragging handles during text
selection in view-only mode which was earlier not possible.
Change-Id: Iffb668d5447dd646a1e40237dee8d8d3fa3314b6
Reviewed-on: https://gerrit.libreoffice.org/20487
Reviewed-by: David Tardon <dtardon@redhat.com>
Tested-by: David Tardon <dtardon@redhat.com>
When passed NULL to lok_doc_view_new, use the default path :
$libdir/libreoffice/program as LOK install path
Change-Id: I1e033c407184b29b1509cfb8c416b514591d67ce
Reviewed-on: https://gerrit.libreoffice.org/20476
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: David Tardon <dtardon@redhat.com>
enabling us to delete a whole pile of foo
For android we patch cairo, which is internal in that case, to swap the rgb
components so that cairo then matches the OpenGL GL_RGBA format so we can use
it there where we don't have GL_BGRA support.
Change-Id: I25e34889c7b7263438b143dd2a2ad882fb0f190a
We need the callback to be able implement the formula bar
Change-Id: I1c78ab0b9ed9304c0465a9993a7101f8efb91052
Conflicts:
include/LibreOfficeKit/LibreOfficeKitEnums.h
libreofficekit/source/gtk/lokdocview.cxx
We need to know the client's view level to correctly handle the mouse
events in calc. PaintTile() set a zoom level that corresponds to the
requested tiles and previously postMouseEvent would call SetZoom(1,1).
Now we can make use of knowing the client's view level and call
SetZoom() with the correct parameters
Change-Id: I34b5afcdcc06a671a8ac92c03e87404e42adf4cd
Conflicts:
sc/source/ui/unoobj/docuno.cxx
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