summaryrefslogtreecommitdiff
path: root/include/LibreOfficeKit
AgeCommit message (Collapse)AuthorFilesLines
2017-12-05lokdialog: Merge dialog & dialog child mouse event APIs into onePranav Kant2-39/+12
Change-Id: I91aaa6a58f33dd2d817e02533de96e0c8191f2ca
2017-12-05lokdialog: Rename postDialogKeyEvent -> postWindowKeyEventPranav Kant2-4/+4
Change-Id: I78b434106fbef153adde255d4fcc8f74a7169175
2017-12-05lokdialog: Simplify; make the LOK dialog API more genericPranav Kant3-42/+1
Merge the dialog floating window callbacks and function calls into one. Unique window ids across vcl::Window is enough to distinguish between them. Floating windows don't have a LOK notifier as they are created in the vcl itself (so we can't access them from sfx2). Use the parent LOK notifier in that case (which would be a dialog). This API should also help in autopopup filter tunneling later. Change-Id: I63a2c97ffdd84695dc967e14c793089a7c50b41b
2017-12-05lokdialog: Allow closing a dialog from LOK clientPranav Kant3-8/+25
... and rename paintDialog -> paintWindow before it's too late. We not only render dialogs now but also popups. Change-Id: I6b1253c4d9be0c79199b683df4413658a461f850
2017-12-01lok: calc: small fixesMarco Cecchetti1-1/+1
For aligning with master Change-Id: I74cada5f50e88fc7c6ea0dfe78fdfab0d60a9af5 Reviewed-on: https://gerrit.libreoffice.org/45631 Reviewed-by: Marco Cecchetti <mrcekets@gmail.com> Tested-by: Marco Cecchetti <mrcekets@gmail.com>
2017-11-30lok: calc: set outline stateMarco Cecchetti2-0/+17
use a specific message from the client for set the visibility state of a group instead of hijacking the update row/column header message Change-Id: I9634c24bbffaddc916c8ad716ac6d5d31e735a55 Reviewed-on: https://gerrit.libreoffice.org/45471 Reviewed-by: Jan Holesovsky <kendy@collabora.com> Tested-by: Jan Holesovsky <kendy@collabora.com>
2017-11-28lokdialog: Remove getDialogInfo + update gtktiledviewer accordingly.Pranav Kant2-22/+0
Change-Id: I6f810c97f2fadd3b1ea602a97e24c8b42f4a84b9
2017-11-28lokdialog: Make vcl::DialogID an integerPranav Kant2-24/+24
This will help launching multiple instances of dialog from multiple views. The earlier approach of using the UNO command strings as dialog id would not have been useful for multi-view case. Change-Id: I01cfb3c8b204d5654df2417efdac6b50dc920f0e
2017-11-15[API CHANGE] lok: Don't use 'bool' and 'uint64_t' in the stable API.Jan Holesovsky2-6/+9
This is a f70e0ec6b3c61a7c7caa469949b0ac8016c89854 follow-up. Change-Id: I4acf00a6da85ed14be4ed0ca20d541a9441736e7 Reviewed-on: https://gerrit.libreoffice.org/42266 Reviewed-by: Michael Meeks <michael.meeks@collabora.com> Tested-by: Michael Meeks <michael.meeks@collabora.com>
2017-11-15lokdialog: Move getting dialog information in separate LOK callPranav Kant2-18/+32
Using outparameters to get the dialog information with the paintDialog call was quite confusing. Change-Id: Ief331b251dc66e66084b827ce5b025ba6c9ce7d2 Reviewed-on: https://gerrit.libreoffice.org/44473 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: pranavk <pranavk@collabora.co.uk>
2017-11-15lokdialog: Support painting parts of the dialogPranav Kant2-4/+16
Pass the dimensions of the region to the paintDialog call to paint only that much of the region in the dialog. The DIALOG_INVALIDATE callback also returns a 'rectangle' field now in the payload that tells the region of the dialog invalidated. It can be used in combination with the new paintDialog call then to paint only the invalidated region in the dialog. Change-Id: Iebb228865c71684e0f75dd01271b71ae41a0f906 Reviewed-on: https://gerrit.libreoffice.org/44472 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: pranavk <pranavk@collabora.co.uk>
2017-11-15lokdialog: Tunnel dialog title to lokclient as outparamPranav Kant2-2/+5
Change-Id: I1beb5ab3f06debdca7ebf999af7ac879a41ea47e Reviewed-on: https://gerrit.libreoffice.org/43959 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: pranavk <pranavk@collabora.co.uk>
2017-11-15lokdialog: Add more dialog related methods to LOK APIPranav Kant1-1/+50
Change-Id: I0e4abb38e1ea9450ae9c50f71ac6e8f9150868ae
2017-11-15lokdialog: Add dialog APIs to lok::Document classPranav Kant2-4/+41
Change-Id: I1947dc84c91e2e01072fbff3e97aa94d514ecb5a
2017-11-15Change CB_DIALOG_INVALIDATE to CB_DIALOGPranav Kant1-1/+1
We can specify whether it is an invalidation or something else in the payload. Change-Id: I95c5fc0a0a88b5277eaa93c8d1f9b937bddce7b3
2017-11-15lokdialog: Mouse events for dialog floating child windowsPranav Kant1-0/+10
Change-Id: I06a081835d246f752e57f8cc289162ed31fc91d4
2017-11-15lokdialog: Support for rendering floating window dialog widgetsPranav Kant2-1/+21
Now gtktiledviewer can show floating window dialog widgets when user clicks any of such widget in the dialog. Change-Id: I13d756f236379bc8b2041ed41cb7b502f7fd9b24
2017-11-15lokdialog: Set up intial posting mouse events to dialogsPranav Kant1-0/+17
Events from the dialog in GTV are forwarded correctly, but the events are still not processed by the dialog in core. Change-Id: Ib95ac0a3cd23f6cc2763c21425a67402b15f2de2
2017-11-15lokdialog: Dialog invalidation supportPranav Kant1-1/+5
For now, just invalidate the whole dialog whenever any of the controls in the dialog get invalidated. Since during dialog painting, many such invalidations are triggered, don't listen to them when we are painting. Change-Id: Ia8fc12cf9469691d60e91ef770d687e5ff01a7ef
2017-11-15Include dialogID in paintDialog APIPranav Kant1-1/+1
Change-Id: I6bc624272138f0e23d2e3abfd82b857fed12e12c
2017-11-15Add IDialogRenderable interface for rendering of dialogsTomaž Vajngerl1-0/+3
Change-Id: I1d85729a1ac1a99d33ea2bde1b50ccf4c05ca9a9
2017-11-15Revert "Lok: support for batch API calls"Jan Holesovsky2-20/+0
This was for the moment removed from the online.git, so let's disable the API bits too before it shows this is really necessary. Reverts also: Revert "Lok: unittest batch API" Change-Id: I7bf3fe62d1e73b6f233992d51f587868a78f4bec
2017-09-14implementing callback for ruler invalidationAditya Dewan1-1/+18
adding commands to fetch and changee ruler state '.uno:RulerState' and '.uno:RulerStateChange' Change-Id: I66107039a7ae5893691feb45c8ab2e4aa476ea76 Reviewed-on: https://gerrit.libreoffice.org/40727 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: pranavk <pranavk@collabora.co.uk>
2017-05-16lok: sc: notify cell cursor position to address control in clientMarco Cecchetti1-1/+6
A new callback has been introduced for notifying the client: LOK_CALLBACK_CELL_ADDRESS Change-Id: I40b38a3cb8fb658c3f00332d56cfcbaf98e13771 Reviewed-on: https://gerrit.libreoffice.org/37357 Reviewed-by: pranavk <pranavk@collabora.co.uk> Tested-by: pranavk <pranavk@collabora.co.uk> (cherry picked from commit 9cc9300bc20e9367728aa4b7ec3a789fdd274aff)
2017-04-21LOK - Calc: header, cursor and selection misplaced by other view actionsMarco Cecchetti1-1/+9
The row header, the cell cursor and the currect cell selection become misplaced when another user inserts, deletes or resizes a row. The same is true for columns. This patch provides to invalidate cached position values in all views when one of the listed action is performed in any view. It also introduce 2 new LOK callbacks for informing the client that the row/col header is no more valid and needs to be updated. Finally, when a new row/col is inserted or removed in one view, the cell cursor position and the current selection (if any) in other views may need to be shifted lower by one row/col. Change-Id: I7002a9adf971929b3e38ff58fa0429e792a1e7c4 Reviewed-on: https://gerrit.libreoffice.org/36716 Reviewed-by: Jan Holesovsky <kendy@collabora.com> Tested-by: Jan Holesovsky <kendy@collabora.com>
2017-03-24lok: Allow setting of the language during load.Jan Holesovsky1-0/+3
Change-Id: I9dbb62950e639376c26122ceb9fcec2982b3ca82
2017-02-28Run macro:// via LOKitKatarina Behrens2-0/+15
Change-Id: I54d3c734d86d4b44e1dfe1ad7728e2f51cd26d53 Reviewed-on: https://gerrit.libreoffice.org/34538 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk> (cherry picked from commit e7729f458409f7fef2b7dab752205e3b230acb65)
2017-02-17lok: Implement new callbacks for comment notificationsPranav Kant1-0/+26
Change-Id: I298183b295c68c4a39cb1f6fffe4b89b4eaee0f3 Reviewed-on: https://gerrit.libreoffice.org/33469 Reviewed-by: pranavk <pranavk@collabora.co.uk> Tested-by: pranavk <pranavk@collabora.co.uk> (cherry picked from commit 5f5073a84518e4a8660e0153c2e218fb75a85ec4)
2017-02-17lok: New feature flag to turn off tiled annotationsPranav Kant1-0/+5
Change-Id: Ie418642242ada98d4a41f30bb6cefcd57f398ef0 Reviewed-on: https://gerrit.libreoffice.org/33472 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Jan Holesovsky <kendy@collabora.com> (cherry picked from commit 75d8b305bbc1c2377f23361ecd64816a350baa4c)
2017-02-17Lok: support for batch API callsAshod Nakashian2-0/+20
Mouse and keyboard operations typically come in batches, and often each results in tile invalidations and/or layout modifications. Processing each input event on its own, then processing the resulting output event is very costly and unecessary when we know there is more of the same. The new API adds support for batching such related input events by disabling the output events generated by Core until the batch is done. The client can then process the resulting events, which will be compressed and deduplicated. Change-Id: Id381dab807186d010021a8778ee440074a739920 Reviewed-on: https://gerrit.libreoffice.org/33402 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Ashod Nakashian <ashnakash@gmail.com> (cherry picked from commit 1c27286b9d5331634c073cd3e327bd941e61bbb6)
2017-02-17Lok: number callback enum for easier debuggingAshod Nakashian1-32/+32
Since the entries and their order are part of the public API, and will not change, numbering them makes it easier to trap particular callbacks by their number (as that's what shows in logs and the debugger). Change-Id: Ife2fe3e601ce3dce0939363d748fcb54d3c85fd4 Reviewed-on: https://gerrit.libreoffice.org/31257 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Ashod Nakashian <ashnakash@gmail.com> (cherry picked from commit 719f7cb94ce783349fb1cf366a78edd9996d3e37)
2016-11-15Add the missing lok::Office::registerCallback().Jan Holesovsky1-0/+12
Change-Id: I0aebf12c4d685f69f094b9acbe6b04bb5b3234a4
2016-11-14lok: add character parameter to renderFontHenry Castro2-2/+4
When client side request special character, it is very useful to send a preview of the rendered font character Conflicts: desktop/source/lib/init.cxx Change-Id: I1f5727163dfcc861add121e616bdb17881c28197 Reviewed-on: https://gerrit.libreoffice.org/30784 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Andras Timar <andras.timar@collabora.com>
2016-10-21tdf#102511: Add (allow-none) for backward GI compatibilityPranav Kant1-6/+6
(allow-none), though deprecated since GI 1.42, is required to maintain the backward compatibility since (nullable), added in GI 1.42, is not understood by GI tools < 1.42 preventing the clients from passing a null parameter to various functions in the widget. We can remove this deprecated (allow-none) annotation once we bump the GI version in LibreOffice to atleast 1.42 Change-Id: I98a1f3d2205ec5afd8060f16e69c5f938f229e26
2016-09-29LOK: conditionally include part number in invalidation payloadMiklos Vajna1-0/+8
Since desktop/ code queues, compresses and only emits callbacks on idle, it's possible that two invalidations are in the queue, and there was a setPart() call between them. In this case it's impossible to tell what part the invalidation was sent for. Fix this by conditionally including the part number in the invalidation payload. It's off by default, a new feature flag is added to request this behavior. gtktiledviewer enables this feature flag by default, though just to show the part number in the debug output. Android doesn't enable it. Change-Id: I73e6def848c0eb61d64e71026002c7a0e750aab4
2016-09-16sfx2: add SfxLokHelper::getViewIdsMiklos Vajna2-0/+21
and also expose it in the LOK API. This way clients don't have to keep track of what views they created / destroyed, they can also get an up to date list with this method. Change-Id: Ibaee42c545803e04a31e7c13ab6ec370b99465c4
2016-09-16lok::Document: rename getViews() to getViewsCount()Miklos Vajna2-8/+8
As this only returns the number of views, not the actual views. Since it's a rename, it's just an API (but not an ABI) change. Change-Id: Ib4f0ea56a90e5ae9c80ee1781aa2f29aff4259e7
2016-09-15Revert "LOK: we use callbacks latch for not missing messages sent very early"Marco Cecchetti2-15/+0
This reverts commit bbae556d12e4edf7795b0b5643df77fd8cdbdacd. Change-Id: If1370751b612ff06ef5be13e8a4017af7dc34a7c Reviewed-on: https://gerrit.libreoffice.org/28908 Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk> Tested-by: Miklos Vajna <vmiklos@collabora.co.uk> (cherry picked from commit c0dd075d52409031876f5bc3923062ba5847fd53) Reviewed-on: https://gerrit.libreoffice.org/28929 Reviewed-by: Marco Cecchetti <mrcekets@gmail.com> Tested-by: Marco Cecchetti <mrcekets@gmail.com>
2016-09-11LOK: we use callbacks latch for not missing messages sent very earlyMarco Cecchetti2-0/+15
- lok::Document::setCallbackLatch: used on document load for set/unset the latch - now cell cursors of other views are correctly notified to the new view Change-Id: Ife6dca0e3e329b801d44070f55869afe95a2f313 Reviewed-on: https://gerrit.libreoffice.org/28812 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Marco Cecchetti <mrcekets@gmail.com>
2016-08-30Clarify what the error code actually isTor Lillqvist1-1/+1
Based on how LOK_CALLBACK_ERROR callbacks are actually done in desktop/source/lib/lokinteractionhandler.cxx. Change-Id: Ibbe37c681252aa91c979d51b9aae6236ff9d88de
2016-08-29Emit notification to a LibreOfficeKit client also when a redline is modifiedTor Lillqvist1-0/+23
Work in progress, not all modifications to a redline record cause notifications yet. Change-Id: I01614cd6ede9576e9cc329889fef86342567325f
2016-08-20Check arm64 tooTor Lillqvist1-1/+1
Change-Id: I51f89eb05f7844a7b0a99eab1587bbe333b96b09
2016-08-19sw redlines: expose description as part of the UNO/LOK APIMiklos Vajna1-0/+1
A redline can have a manual comment and also an autogenerated description, like "Insert 'abc'". Expose this later property as well, as it provides useful additional information, especially when the comment property is empty. Change-Id: Id0f0ff62aef58d96b9b6071706c6f5b4a0d74800
2016-08-19sw lok: add callbacks for redline table insertion / removalMiklos Vajna1-0/+24
An alternative would be to follow the Manage Changes dialog approach and subscribe to the SFX_HINT_DOCCHANGED notification in SwDocShell, cache the old redline table and find out the differences to the current one, but that way sound much more complex without benefits. Change-Id: I20a45285b88255ccea9d6646c0b5288ac1c91879
2016-08-18gtktiledviewer: specify author name when calling initializeForRendering()Miklos Vajna1-1/+3
Open two views, and type into both of them when a Writer doc with redlining enabled is open: the manage changes dialog now shows how the correct author is used when creating the redline items. Change-Id: I48fb90301bfcc04b06d5be5544324ca76fe7b3d7
2016-08-18Better fix for Objective-CTor Lillqvist1-4/+16
Not sure what the exact mechanism of the problem is, but anyway, this helps. Change-Id: I5812381af0e4f12fcbdd06eafb1eedc170ffb608
2016-08-17Revert "These 'inline' keywords are fairly pointless"Tor Lillqvist1-4/+4
Nah, they are a good idea in most cases. This reverts commit 1c8e4f74c63312fca5898452fae4ba32268fce65.
2016-08-17These 'inline' keywords are fairly pointlessTor Lillqvist1-4/+4
Change-Id: I1018ca4954282d0b62a254d509e29493588960c1
2016-08-09LOK init: strcpy() -> strncpy()Miklos Vajna1-4/+5
'strcpy' is insecure as it does not provide bounding of the memory buffer in general, so let's avoid it even here. Change-Id: If39319a2df7ddd9297938bc0be67fe5f8a2af962 Reviewed-on: https://gerrit.libreoffice.org/27999 Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk> Tested-by: Jenkins <ci@libreoffice.org>
2016-08-04LOK init: avoid non-inline function definition in header fileMiklos Vajna1-5/+5
To prevent possible ODR violations. Change-Id: Ic9538244a0bf3760808904d2bcf608151c53f899 Reviewed-on: https://gerrit.libreoffice.org/27883 Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk> Tested-by: Jenkins <ci@libreoffice.org>