summaryrefslogtreecommitdiff
path: root/include/LibreOfficeKit
AgeCommit message (Collapse)Author
2019-01-01lok: add signDocument to "Office" iface - to sign not opened docs.Tomaž Vajngerl
LOKit function "signDocument" can sign document without the need to open them. This is useful to sign PDF documents after they are created from a currently opened (ODF, DOCX) document. This adds DocumentDigner to sfx2, which could also be used in desktop LibreOffice without opening them and in further tests. Change-Id: Id6f242e817f594aa672f94f9c6f9b34e4035d46a Reviewed-on: https://gerrit.libreoffice.org/65767 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2018-12-13Revert adding the tanslateGet() and translateNGet() API to LibreOfficeKitTor Lillqvist
Will handle it another way instead that isn't so visible and annoying. This reverts commit 5f0dda8e9f2e35e1fdb5750089a70543478fa8a1. This reverts commit 4f1a341bc312673b8d92e4474cc39bc3ab69aa5b. Change-Id: If456d2792a5f2793ee6337898aaa4a55637f8522
2018-12-10Add inline implementations of the C++ translate functionsTor Lillqvist
Change-Id: I749fa9d647bf55925fad862152b673ced312ee34
2018-12-10Add a localisation API to LibreOfficeKitClassTor Lillqvist
Combines the LanguageTag::Create() and Translate::get() (or nget()) functionality. Also add an ABI test for the Kit class in the LibreOfficeKit unit test, and a test for the translation function. Change-Id: I78c48a8bbb434d6f204869290822830288022a53 Reviewed-on: https://gerrit.libreoffice.org/64882 Tested-by: Jenkins Reviewed-by: Tor Lillqvist <tml@collabora.com>
2018-12-10lok: shape scaling reworkMarco Cecchetti
Now shape scaling is handled through the transform dialog instead of simulating a drag and drop event in core. For Impress the unit used for length is '100th mm' instead of twips, so we need to transform positions and size from twips to '100th mm'. Anyway since we don't know in SetGeoAttrToMarked if the new data is due to a mouse event or by entering a new value in the transormation dialog or in the side pane, for Impress we need to convert the new values sent by the dialogs from '100th mm' to twips which are converted back in SetGeoAttrToMarked. For performing a uniform scaling when the shape/image is rotated we need to inform the client about the rotation angle for the selected graphic object that has been achieved but appending an angle argument to the graphic selection callback. Now it is also possible to reverse shapes/images through negative scaling. Change-Id: I8a32f3e4b28f36e884a59c59b7e1351e85ef4489 Reviewed-on: https://gerrit.libreoffice.org/64696 Tested-by: Jenkins Reviewed-by: Jan Holesovsky <kendy@collabora.com>
2018-12-07LOK: Fix API for renderShapeSelectionAshod Nakashian
Unlike C++, C doesn't allow reference-to-pointer types, and we do have C code that wouldn't compile with ref-to-ptr. Had to change to ptr-to-ptr, which is the proper way of having output arrays. For the same reason, we cannot use new/delete, rather we must use malloc/free. Another (lesser) issue was that we used the renderShapeSelection API to echo back an array we give it as prefix. This made the API unecessarily complex (in undocumented ways) and forced the implementation to both worry about user-data and managing the input memory. This logic is best moved to the client and the API simply returns the output data. Speaking of returning data, the API now returns the size of the array it allocated and wrote to, so the client can do a simple check on the return value directly. Change-Id: Ida216c10d5b37efd1e0861e26b72cabb25c568e6
2018-12-07Introduce client-server message for requesting the selected shape as SVGTamás Zolnai
It works for Impress only now. Change-Id: I95e3e37ae7df49b567108f6d6467038b715e886d
2018-11-08lokdialog: Implement hi-dpi support for the routed dialogs.Jan Holesovsky
Change-Id: I770c605a049b7ac9c26c2773414eef8b6fc093a2 Reviewed-on: https://gerrit.libreoffice.org/63032 Tested-by: Jenkins Reviewed-by: Jan Holesovsky <kendy@collabora.com>
2018-11-07lok: send signature status on document loadTomaž Vajngerl
Change-Id: If164d0edc9343b1db5ee96a2da46c9436ddbc73f Reviewed-on: https://gerrit.libreoffice.org/62776 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
2018-11-06lok: Notify about the current editing context.Jan Holesovsky
Change-Id: I47e67b680a6abdb66020b295f55ee6a73b7b5608 Reviewed-on: https://gerrit.libreoffice.org/62956 Tested-by: Jenkins Reviewed-by: Jan Holesovsky <kendy@collabora.com>
2018-11-03No need to mark libreofficekit_hook_2 with default visibility for iOSTor Lillqvist
Change-Id: Ib7b54ebed1c66324c79c116bd4d1e08ebaa1eac9 Reviewed-on: https://gerrit.libreoffice.org/62797 Tested-by: Jenkins Reviewed-by: Tor Lillqvist <tml@collabora.com>
2018-10-31lok: new function to add certificate to certificate DBTomaž Vajngerl
Also needed to extend XCertificateCreator with a new method "addDERCertificateToTheDatabase". Change-Id: I7b4df65365893bd5a0628aeec30b3156584849fe Reviewed-on: https://gerrit.libreoffice.org/62273 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2018-10-29lok: create certificate and private key with insertCertificateTomaž Vajngerl
Change-Id: Ie114068d9aec5259f9f7ed395c5dfeecf8bb787d Reviewed-on: https://gerrit.libreoffice.org/61915 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2018-10-28lokit: add funct. to insert, sign and verify signatureTomaž Vajngerl
A lot of signing code paths trigger a GUI dialog (to select the certificate for example) which aren't acceptable when triggering through the LOKit. This code paths needed to be duplicated and reworked to not trigger any GUI action. Change-Id: I2f0d6038fb1bcd00adcdf86e432f9df8858cc21c Reviewed-on: https://gerrit.libreoffice.org/61780 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2018-10-25Verify that we are actually passed a URL, not a pathnameTor Lillqvist
Sure, the test could be even more strict and actually do a case-insensitive check for an initial "file:" or "vnd.sun.star.pathname:". Change-Id: Ic252aeccdec708138530075d1f38fa348d1e469e
2018-10-10Move the iOS CGBitmapContextCreate() call do doc_paintTile()Tor Lillqvist
Thus it now actually takes a buffer pointer also on iOS, like on Linux and Android. Less confusing, more uniform. Add a separate iOS-specific paintTileToCGContext() method to LibreOfficeKitDocumentClass that takes a CGContextRef. Adapt callers correspondingly. (The LibreOfficeLight code in particular needs the paintTileToCGContext().) Change-Id: I81084806d37b9aac9f2b2bc03d0c262e991eec81
2018-08-29Fix typo: s/an other/another/gAndrea Gelmini
Change-Id: Ifd83affcb16209f4134c725640fbd95077c8ab0f Reviewed-on: https://gerrit.libreoffice.org/59099 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2018-07-27Related: rhbz#1602589 add comments to coverity annotationsCaolán McNamara
Change-Id: I88c941832a0d682ea4b6028c28edd48cf5df38f7 Reviewed-on: https://gerrit.libreoffice.org/58093 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2018-07-19Avoid gcc: "specified bound depends on the length of the source argument"Tor Lillqvist
Just use memcpy(). Change-Id: Icb705acb6c12baf28684c763a77da7abc514ea6d Reviewed-on: https://gerrit.libreoffice.org/57714 Tested-by: Jenkins Reviewed-by: Tor Lillqvist <tml@collabora.com>
2018-07-09lok: export preinit helper, and share code variously.Michael Meeks
Change-Id: I09f2992c4ba45ce91190a9f61dd0fedd0eb8a581 Reviewed-on: https://gerrit.libreoffice.org/57145 Tested-by: Jenkins Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
2018-04-07sw lok: View jumps to cursor position even if it is moved by an other view.Tamás Zolnai
Scrolling is done twice. Once in SwCursorShell::UpdateCursor() by SCROLLWIN flag. Here we can check the actual viewid and avoid scrolling if the cursor is move by an other user. The second instance in the LO online code, for it we need to pass the viewid identifying the view which moved the cursor. Change-Id: I033274f88ce41acbb632e2aeb0d986ab11cd2d52 Reviewed-on: https://gerrit.libreoffice.org/52220 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Tamás Zolnai <tamas.zolnai@collabora.com>
2018-04-03lok - sc: validity list drop down button callbackMarco Cecchetti
Change-Id: Iaedc7f15147ea7f09e71877b592f932e3ecb37d5 Reviewed-on: https://gerrit.libreoffice.org/51596 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Marco Cecchetti <mrcekets@gmail.com>
2018-04-03lok - calc: add support for show/hide tabs in onlineMarco Cecchetti
Change-Id: Ibd061414a0c3a5fad83d03f7047831cef62076d2 Reviewed-on: https://gerrit.libreoffice.org/49083 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Marco Cecchetti <mrcekets@gmail.com>
2018-03-17lok: notify clients of clipboard changesAshod Nakashian
Change-Id: I93d8eacc0defb1176ec5d767f49356812cf90ff6 Reviewed-on: https://gerrit.libreoffice.org/50327 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
2018-02-27postExtTextInputEvent() -> postWindowExtTextInputEvent()Pranav Kant
Let's avoid the confusion and name all these new APIs that can post both to document and window to have 'Window' in their name. The ones without window are the old APIs. In future, we can have postWindow{Key,Mouse}Event() to post to both document and window and deprecate the existing post{Key,Mouse}Event()s. Change-Id: I1f55386e7790e9c5b5d023b8831f3cd1e6faa2bb
2018-02-14lok IME: support dialogs as wellPranav Kant
Change-Id: Ic78da45dadaa5a4e1ca78e20d04974108581121e Reviewed-on: https://gerrit.libreoffice.org/49714 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: pranavk <pranavk@collabora.co.uk>
2018-02-08sw lok: IME support + unit testPranav Kant
Change-Id: I557493db23dfa3529606050c86161628dbd722e7 Reviewed-on: https://gerrit.libreoffice.org/49354 Reviewed-by: pranavk <pranavk@collabora.co.uk> Tested-by: pranavk <pranavk@collabora.co.uk>
2018-02-01LibreOfficeKit: MSVC: pragma warning: make more specific, remove obsoleteMike Kaganski
Change-Id: Id8dd284a9db04eae458593d8e411b44223d16a8e Reviewed-on: https://gerrit.libreoffice.org/49040 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2018-01-25desktop: always clear LOK error message on successMiklos Vajna
Change-Id: Idefdbd3d9ae19f7cf5889017b111c12620ab08c2 Reviewed-on: https://gerrit.libreoffice.org/48541 Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk> Tested-by: Jenkins <ci@libreoffice.org>
2018-01-12Repair windows build break.jan Iversen
Forgot to isolate extern declaration, mac/linux had no problem, but windows breaks. Change-Id: Ib09119661225193d9cfb1cd9118b78cf7d9bd2f4
2018-01-12iOS, stop trying to do dynamic load in init()jan Iversen
LibreOfficeKit, tries traditionally to load a dylib, and locate the symbols, for iOS this is already linked to a single Kit.o. Code is changed to a simple call Change-Id: Ie94a447260cb3007e7e2b56c1b67896ad40d79d3
2018-01-10Mention that the getError() semantics are unclearTor Lillqvist
Change-Id: Ifd5b04cc13085749f0f800bdb69cc3fdd5581916
2018-01-08lokdocview: Make g-ir-compiler, scanner happyPranav Kant
Silence their warnings Change-Id: Id397745bbf7fe6687b60eeca60d5a0b67da421b1
2017-12-21Fix typosAndrea Gelmini
Change-Id: I5c6e252072089a06f0be4292d51aed020cbc67fe Reviewed-on: https://gerrit.libreoffice.org/46888 Reviewed-by: Julien Nabet <serval2412@yahoo.fr> Tested-by: Julien Nabet <serval2412@yahoo.fr>
2017-12-21lokdocview: Handle INVALIDATE_HEADER cbPranav Kant
With this calc gtktiledviewer or any other lok client shouldn't crash anymore when a new view is opened. And while at it, update documentation of callbacks. Change-Id: I436c3b424dd4e2e6b8c312b0d3ba43d7006e944b
2017-12-19lokdialog: Allow windows / dialogs in different languages.Jan Holesovsky
Change-Id: I9f32161981aed73e6d97696e5f976af276d1625a Reviewed-on: https://gerrit.libreoffice.org/46327 Reviewed-by: Michael Meeks <michael.meeks@collabora.com> Tested-by: Michael Meeks <michael.meeks@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/46775 Tested-by: Jenkins <ci@libreoffice.org>
2017-12-16lok: sc: append the col, row position to the cell cursor messageMarco Cecchetti
The payload changes from: "x, y, width, height" to: "x, y, width, height, column, row". This feature is exploited by online starting from the 3.0 release. This change is compatible with older online release: the column, row coordinates are just ignored. Change-Id: I7f8c0e3685c57ff20520ee068b215037f6137389 Reviewed-on: https://gerrit.libreoffice.org/46528 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Marco Cecchetti <mrcekets@gmail.com>
2017-12-15lok: calc: LOK_FEATURE_RANGE_HEADERSMarco Cecchetti
For allowing the client to enable/disable the new range based header data Change-Id: I95da8ec3e48137fb75b9b22af3bb1296001ba9ca Reviewed-on: https://gerrit.libreoffice.org/46095 Reviewed-by: Jan Holesovsky <kendy@collabora.com> Tested-by: Jan Holesovsky <kendy@collabora.com> (cherry picked from commit 069cf9321be51e7203e336e0e87d8ba7dc9b729e) Reviewed-on: https://gerrit.libreoffice.org/46570 Reviewed-by: Marco Cecchetti <mrcekets@gmail.com> Tested-by: Marco Cecchetti <mrcekets@gmail.com>
2017-12-12Fix binary incompatible change in the LOK API + add unit test.Jan Holesovsky
Change-Id: I53cb40ea351bf56b1a299857a59ae4bf7c6b6dc3 Reviewed-on: https://gerrit.libreoffice.org/46272 Reviewed-by: Marco Cecchetti <mrcekets@gmail.com> Tested-by: Marco Cecchetti <mrcekets@gmail.com> Tested-by: Jenkins <ci@libreoffice.org>
2017-12-04lokdialog: Merge dialog & dialog child mouse event APIs into onePranav Kant
Change-Id: I91aaa6a58f33dd2d817e02533de96e0c8191f2ca
2017-12-04lokdialog: Rename postDialogKeyEvent -> postWindowKeyEventPranav Kant
Change-Id: I78b434106fbef153adde255d4fcc8f74a7169175
2017-12-04lokdialog: Simplify; make the LOK dialog API more genericPranav Kant
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-04lokdialog: Allow closing a dialog from LOK clientPranav Kant
... 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: set outline stateMarco Cecchetti
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/45445 Reviewed-by: Marco Cecchetti <mrcekets@gmail.com> Tested-by: Marco Cecchetti <mrcekets@gmail.com>
2017-11-29lokdialog: Remove getDialogInfo + update gtktiledviewer accordingly.Pranav Kant
Change-Id: I6f810c97f2fadd3b1ea602a97e24c8b42f4a84b9
2017-11-29lokdialog: Make vcl::DialogID an integerPranav Kant
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-23iOS, cleaned unused parameterjan Iversen
Change-Id: Iac097d9a4578ef7dcb47006a422703ab06a8284e
2017-11-09lokdialog: Move getting dialog information in separate LOK callPranav Kant
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-09lokdialog: Support painting parts of the dialogPranav Kant
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-04Make Windows error reporting more robustMike Kaganski
https://msdn.microsoft.com/en-us/library/ms679351 describes that "it is unsafe to take an arbitrary system error code returned from an API and use FORMAT_MESSAGE_FROM_SYSTEM without FORMAT_MESSAGE_IGNORE_INSERTS" Previously in case when an error string would contain inserts, function returned error, so the error message wasn't shown (at least it didn't crash, thanks to nullptr as the function's last argument). As the function may fail, we now pre-nullify the buffer pointer to avoid dereferencing uninitialized pointer later (though at least for some Windows versions, the function nullifies the pointer in case of FORMAT_MESSAGE_ALLOCATE_BUFFER, but there's no explicit guarantee of this). Also release of allocated buffer is changed to recommended use of HeapFree. The code that doesn't make use of OUString is left directly calling FormatMessage, to avoid introducing new dependencies. Where it makes sense, we now use WindowsErrorString from <comphelper/windowserrorstring.hxx> Change-Id: I834c08eb6d92987e7d3d01e2c36ec55e42aea848 Reviewed-on: https://gerrit.libreoffice.org/44206 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>