summaryrefslogtreecommitdiff
path: root/kit
AgeCommit message (Collapse)AuthorFilesLines
2019-12-16These can be made constMiklos Vajna2-2/+2
Change-Id: I952a7566176bda727f8c2e9618d41bfb7bb1240f Reviewed-on: https://gerrit.libreoffice.org/85197 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2019-12-06android: Fix crash on the 2nd editing start.Jan Holesovsky1-0/+5
The failing scenario was reproducible on my old phone: * start editing the document from the shell * add a word * leave the editing using the '<' in the top left * start editing the document again => boom! In the normali, non-crashing case, the order of destruction is that ~ChildSession is called first (and calls ChildSession::disconnect() that consequently calls Document::onUnload() via _docManager->onUnLoad(...). The Document::onUnload() then deregisters callbacks and all is fine. The in the above described crashing case, the Document is destroyed before ChildSession and calls resetDocManager() for all sessions. Before this patch, this meant that the _docManager was set to nullptr, leading to situation that later, in the ~ChildSession, the call of onUnload() was avoided, the callbacks were not unregistered, and later, on the next document load, the app crashed because it called stale callbacks. I suspect the change might be useful even for the non-mobile case, but not 100% sure, so rather do it MOBILEAPP-only. Change-Id: I279a160ccaab3080e84fe0437ed72684331b6e13 Reviewed-on: https://gerrit.libreoffice.org/84588 Reviewed-by: Jan Holesovsky <kendy@collabora.com> Tested-by: Jan Holesovsky <kendy@collabora.com>
2019-12-03Spelling context menu: Fix execution of LanguageStatusTamás Zolnai1-1/+2
Change-Id: Ia309246ee37c6c598e518e66f96fc80e1320ce55 Reviewed-on: https://gerrit.libreoffice.org/84341 Reviewed-by: Tamás Zolnai <tamas.zolnai@collabora.com> Tested-by: Tamás Zolnai <tamas.zolnai@collabora.com>
2019-12-02formula bar: function completeMarco Cecchetti2-1/+24
lok clients can request to complete a function name partially typed in the formula input box. Change-Id: If8e4485c5ed9f91a594dfcec04e0c0b10becdcd0 Reviewed-on: https://gerrit.libreoffice.org/83985 Reviewed-by: Marco Cecchetti <marco.cecchetti@collabora.com> Tested-by: Marco Cecchetti <marco.cecchetti@collabora.com>
2019-11-30insert image needs fps_office component these days.Michael Meeks1-1/+1
Change-Id: I29a5d5a5c9c180f7cab3b008874f9f2a7ea323f0
2019-11-30lok: add viewId to window painting, to allow special-casing on render.Michael Meeks1-3/+1
View switching should not cause the sidebar UX to re-build at all. So pass the view-id into the render call so we can avoid this. Change-Id: I194c1841df2cedfcdf82defb2712d20715d7ff1d Reviewed-on: https://gerrit.libreoffice.org/84131 Reviewed-by: Michael Meeks <michael.meeks@collabora.com> Tested-by: Michael Meeks <michael.meeks@collabora.com>
2019-11-27Fix minor comparison errormert1-1/+1
This patch is a follow-up for overflowing watermarks patch Change-Id: I8613736dc4fea49a22ae29aba209c95b1ea93557 Reviewed-on: https://gerrit.libreoffice.org/83635 Reviewed-by: Michael Meeks <michael.meeks@collabora.com> Tested-by: Michael Meeks <michael.meeks@collabora.com>
2019-11-25formula bar tunneling: function list wizardMarco Cecchetti1-0/+3
Change-Id: I63670151a009ce0a67ba64cebf326e13219f2ded
2019-11-25Add REST endpoint for admin metrics.Gabriel Masei1-0/+1
Change-Id: I701485631931334d27594c4907cb770f9888e5bf Reviewed-on: https://gerrit.libreoffice.org/82492 Reviewed-by: Michael Meeks <michael.meeks@collabora.com> Tested-by: Michael Meeks <michael.meeks@collabora.com>
2019-11-24SpellingPopup: Handle sapces in suggestion.Tamás Zolnai1-0/+8
Change-Id: I09db2cd1db67797a50bc2943200f97aabb004fc6 Reviewed-on: https://gerrit.libreoffice.org/83607 Reviewed-by: Tamás Zolnai <tamas.zolnai@collabora.com> Tested-by: Tamás Zolnai <tamas.zolnai@collabora.com>
2019-11-22Fix watermarks overflow the document areamert1-6/+10
Change-Id: Ia767d0b4f935bc28e0fb0ed0f8c2ddcfb8093734 Reviewed-on: https://gerrit.libreoffice.org/83441 Reviewed-by: Michael Meeks <michael.meeks@collabora.com> Tested-by: Michael Meeks <michael.meeks@collabora.com>
2019-11-19wsd: replace mutex in signal handlerAshod Nakashian1-3/+2
There are a few things acceptable/safe in a signal handler, and taking locks is not one of them. This replaces the logic with a simple counter that serves the purpose just as well. If we get a double signal, we log and ignore. Change-Id: If589c18492468c120d00c213805467bcbba05d27 Reviewed-on: https://gerrit.libreoffice.org/83150 Reviewed-by: Ashod Nakashian <ashnakash@gmail.com> Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2019-11-13loleaflet: Draw column/row grid lines on the backgroundIván Sánchez Ortega1-0/+1
Based on information from UNO ViewRowColumnHeaders messages, this draws the grid lines with Leaflet's SVG polylines, in a background pane. To prevent visual glitches on touchscreens, this also reverts parts of 26aad36771ebd5a304b763912184acd2ea26dfdf - that introduced a regression that prevented 'dragend' events from being fired when inertia-dragging. Instead, inertia drag is disabled in the L.Map constructor. [ Miklos: cherry-pick these early as they prevent automatic merging. ] Change-Id: I86c68214822a0a2c2f8ced82ccf5a6c201e2cf04
2019-11-10Rotate Watermarks with 45 degree anglemert2-1/+24
Change-Id: I9b399a4e1daf52f536d4becae2cc6dc692e16f7a Reviewed-on: https://gerrit.libreoffice.org/81436 Reviewed-by: Ashod Nakashian <ashnakash@gmail.com> Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2019-11-08killpoco: Remove trivial StringTokenizer uses from some files.Jan Holesovsky2-13/+9
Particularly those used on Android... Change-Id: I47bf9692f5e99ba30140d698558472201168a198 Reviewed-on: https://gerrit.libreoffice.org/82302 Reviewed-by: Jan Holesovsky <kendy@collabora.com> Tested-by: Jan Holesovsky <kendy@collabora.com>
2019-11-07killpoco: Get rid of Poco/Thread.h from the rest of the Android-related files.Jan Holesovsky2-4/+0
Change-Id: I724230a4428cab3cc26245ac4aa43a91af2e09ce Reviewed-on: https://gerrit.libreoffice.org/82204 Reviewed-by: Jan Holesovsky <kendy@collabora.com> Tested-by: Jan Holesovsky <kendy@collabora.com>
2019-11-07killpoco: Don't use POCO for app exit values.Jan Holesovsky2-24/+20
Change-Id: I2948ac45a7b4243f7afde08d5245530fdbf9a070 Reviewed-on: https://gerrit.libreoffice.org/82125 Reviewed-by: Michael Meeks <michael.meeks@collabora.com> Tested-by: Michael Meeks <michael.meeks@collabora.com> Reviewed-by: Jan Holesovsky <kendy@collabora.com>
2019-11-06wsd: cleanup the global flag accessorsAshod Nakashian2-4/+4
The following flags are affected: ShutdownRequestFlag TerminationFlag DumpGlobalState Since it's common to grep for all places that set or reset these global flags, it makes more sense to have explicit functions for each operation. Now we have set and reset accessors where appropriate and get is reserved for read-only access. This changes the getters to only return the boolean value of these flags rather than a reference to the atomic object, now that they are read-only. Also, a few Mobile-specific cases were folded either with other Mobile-specific sections, or they were now identical to the non-Mobile case and therefore deduplicated, making the code cleaner and more readable. Change-Id: Icc852aa43e86695d4e7d5962040a9b5086d9d08c Reviewed-on: https://gerrit.libreoffice.org/81978 Reviewed-by: Ashod Nakashian <ashnakash@gmail.com> Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2019-11-06wsd: leaflet: Insert backgroundAshod Nakashian1-5/+5
This adds support for .uno:SelectBackground which inserts slide background image. (cherry picked from commit 30a77e7e490e4e83bb6423f41388ee9adbccfae3) Change-Id: I587b31f67d518aba348ae7e8d058ada23a61e858 Reviewed-on: https://gerrit.libreoffice.org/67500 Reviewed-by: Ashod Nakashian <ashnakash@gmail.com> Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2019-11-04tdf#128577: Close an already open document when asked to open a new oneTor Lillqvist1-0/+3
Add a "singleton" class method to DocumentViewController to return the (as for now) singleton DocumentViewController. Change-Id: I0b8a8def558cfe7f9469b6062a86311dfa63f549 Reviewed-on: https://gerrit.libreoffice.org/82007 Reviewed-by: Tor Lillqvist <tml@collabora.com> Tested-by: Tor Lillqvist <tml@collabora.com> (cherry picked from commit 2807f907d947549a17c5bae586b85d412d552a09) Reviewed-on: https://gerrit.libreoffice.org/82021
2019-10-29test: improve TileCacheTestsAshod Nakashian1-2/+3
Sometimes core renderes with sub-pixel differences (the crosshair at the corners of the Writer pages show line anti-aliasing differences). This causes failure of the tests that count the tile deduplication. We now tolerate when we get an unchanged tile twice, assuming it was due to such a rendering difference, but we re-trigger another change and this time we don't expect any extra tiles, no more than two variations of the anti-aliased crosshair was observed. We also move some duplicate code into utility functions to improve readability and reuse. Reviewed-on: https://gerrit.libreoffice.org/81196 Reviewed-by: Andras Timar <andras.timar@collabora.com> Tested-by: Andras Timar <andras.timar@collabora.com> (cherry picked from commit 9603597fd1aaecb27893792cfd2d243e450b58b8) Change-Id: I1a66732dd3443bfbd770d8dc65721571dfa08615 Reviewed-on: https://gerrit.libreoffice.org/81572 Reviewed-by: Ashod Nakashian <ashnakash@gmail.com> Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2019-10-29testSaveOnDisconnect: sync after pasting and better loggingAshod Nakashian1-0/+1
Reviewed-on: https://gerrit.libreoffice.org/80898 Reviewed-by: Andras Timar <andras.timar@collabora.com> Tested-by: Andras Timar <andras.timar@collabora.com> (cherry picked from commit 230fcd2f07192f30fb6d6671d905800fde71495e) Change-Id: Iaacbe0bdc6a7ba88d2f09c343d9579315033acbb Reviewed-on: https://gerrit.libreoffice.org/81569 Reviewed-by: Ashod Nakashian <ashnakash@gmail.com> Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2019-10-28wsd: logging improvementsAshod Nakashian1-1/+1
Always log when we set the termination flag so we can trace how (and implicitly why) we terminated. In practice trace logging is not enabled, so a key event such as termination should be logged at info level. Reviewed-on: https://gerrit.libreoffice.org/80324 Reviewed-by: Andras Timar <andras.timar@collabora.com> Tested-by: Andras Timar <andras.timar@collabora.com> (cherry picked from commit 3f8d516e1399df687c2935fc551b171cbd850b7b) Change-Id: Id6615181c81ea56777f44b551b39925065b0e578 Reviewed-on: https://gerrit.libreoffice.org/81562 Reviewed-by: Michael Meeks <michael.meeks@collabora.com> Tested-by: Michael Meeks <michael.meeks@collabora.com>
2019-10-16Just call lok_init_2() and LibreOfficeKit::setLanguageTag() once on iOSTor Lillqvist1-0/+6
... when the app starts. Change-Id: Icac4a9e1074fb6c5f3c9b5282e20a4513717a323 Reviewed-on: https://gerrit.libreoffice.org/80881 Reviewed-by: Tor Lillqvist <tml@collabora.com> Tested-by: Tor Lillqvist <tml@collabora.com>
2019-10-15kit: also add missing modelineMiklos Vajna1-1/+3
Change-Id: Ibfc531b65d68928111df213bef08655ef21cea62
2019-10-15kit: add missing header/footerMiklos Vajna1-0/+8
Change-Id: I111aeafb2e2376983e47bb09cc134883ffee64bb
2019-10-15Added Watermark.hppmert1-0/+179
Change-Id: I3619283031865f59f94157d5b8df14a94ac9327b
2019-10-15Include normalizedViewId to TileCachemert2-176/+27
Change-Id: Ib23afa023d79189f7fd7aca8b5b0e198c3011fbc
2019-10-15jsdialogs: send events to the coreSzymon Kłos2-1/+25
Change-Id: I23a5a14b93bda205c9c276a697e58d1dc4147f0c Reviewed-on: https://gerrit.libreoffice.org/80838 Reviewed-by: Szymon Kłos <szymon.klos@collabora.com> Tested-by: Szymon Kłos <szymon.klos@collabora.com>
2019-10-15Revert "jsdialogs: send events to the core"Szymon Kłos2-25/+1
core not yet ready This reverts commit 80ecaa60f62aa41584ef1ab8b040806f8d92a0a7.
2019-10-14wsd: fix password-protect file loading from multiple viewsAshod Nakashian1-4/+8
With password-protected files, the first loading attempt always fails due to missing password. At that point the client is notified of the missing password and the user is prompted. The second attempt includes a (hopefully) correct password and the document loading commences. Due to the fact that an exception is raised when the loading fails, this left the loading latch triggered, which blocked subsequent attempts. Change-Id: I7cc257a36eb1cc080f460aac8cdb7030783a5914
2019-10-14jsdialogs: send events to the coreSzymon Kłos2-1/+25
Change-Id: I23a5a14b93bda205c9c276a697e58d1dc4147f0c
2019-10-09kit: fix UB in ChildSession::paste()Miklos Vajna1-1/+6
Seen during unit-large-paste with log level set to trace: common/SpookyV2.h:139:13: runtime error: load of misaligned address 0x62500042b919 for type 'const uint64' (aka 'const unsigned long'), which requires 8 byte alignment 0x62500042b919: note: pointer points here 74 6d 6c 0a 63 37 30 30 66 36 39 33 61 32 61 62 35 66 36 62 39 33 64 65 64 61 63 36 31 31 66 39 ^ SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior common/SpookyV2.h:139:13 in Change-Id: I6f15421bcdead839dac85adae5da10f4b41c04d1
2019-10-08Fix build for MOBILEAPP where we don't have Log::shutdown()Tor Lillqvist1-0/+4
(Because a mobile app is not supposed to ever exit voluntarily and cleanly anyway.) Perhaps we should call abort() in thse cases, though, and not just continue as if nothing is wrong? Change-Id: Iceb10cc767522c1fee587624ea6e810c62586207 Reviewed-on: https://gerrit.libreoffice.org/80446 Reviewed-by: Michael Meeks <michael.meeks@collabora.com> Tested-by: Michael Meeks <michael.meeks@collabora.com>
2019-10-08typo fixes in comments and codeAndras Timar1-4/+4
Change-Id: Idd98516d30d98dea18eda9bbec8ac9777063b553
2019-10-03Fatal exceptions need to take the kit process down.Michael Meeks1-1/+5
Otherwise the Kit main-loop continues while its event processing thread is dead, leaving the client stalled. Change-Id: I7089ed5b5bd8499623624ffdb84c22cedd80cc7e
2019-10-03single msg for deleting multiple charactersMarco Cecchetti2-1/+28
Change-Id: I589dbc933e4450d5dbcf35e99b1a55598d3dee76
2019-10-01tdf#127669: Implement "export as" in the iOS app in general, not just for PDFTor Lillqvist1-2/+5
Change-Id: Ib0c20e3e818f498e0fe386676698b38358c84658 Reviewed-on: https://gerrit.libreoffice.org/79965 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Tor Lillqvist <tml@collabora.com> Tested-by: Tor Lillqvist <tml@collabora.com> (cherry picked from commit f0799ce78e8df8f7da92181ec732648e6d4e1976) Reviewed-on: https://gerrit.libreoffice.org/79999
2019-09-29tdf#125575: Must reset the "kit" callback to null when closing documentTor Lillqvist1-0/+1
As we register the global "kit" callback with the Document object pointer as callback data, we must unregister it when the document is being "unloaded" and the Document object will destruct shortly. Otherwise the callback might be called for the next document with a stale pointer. Relevant only for the iOS app, and presumably the Android one. In web-based Online, the kit process will exit anyway after the document is closed. But in an app there is just one process that keeps running for a long time handling all documents that are edited. For some reason the crash only showed up when a document was created from a template, closed, and another document was created from a template. Change-Id: Ieb47838a597c5bcab89c1a33d9bc2f2adb57b3b3 Reviewed-on: https://gerrit.libreoffice.org/79633 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Tor Lillqvist <tml@collabora.com> Tested-by: Tor Lillqvist <tml@collabora.com> (cherry picked from commit ee497b873eadfa3ab4ba77793748e83ff649dacf) Reviewed-on: https://gerrit.libreoffice.org/79650 Reviewed-by: Andras Timar <andras.timar@collabora.com> Tested-by: Andras Timar <andras.timar@collabora.com>
2019-09-28Draw reference marks for formulasSzymon Kłos1-2/+3
(cherry picked from commit fd1b3b2a744388309fbbbcb73b2060183780109e) Change-Id: I3e361bd94cd6e0664e96494504064c2505c30774
2019-09-28tdf#107038 Poco::Timestamp replacement with std::chronoDarkByt312-14/+25
Change-Id: I55ba23fb104a90c882bc2af068b835e30877bc1e Reviewed-on: https://gerrit.libreoffice.org/78925 Reviewed-by: Michael Meeks <michael.meeks@collabora.com> Tested-by: Michael Meeks <michael.meeks@collabora.com>
2019-09-27jsdialogs: introduce LOK_CALLBACK_JSDIALOG enum valueSzymon Kłos1-0/+6
Change-Id: Ib1175dedcc8b6c66a10f81915da07b3bcfe0b3f1 Reviewed-on: https://gerrit.libreoffice.org/79717 Reviewed-by: Szymon Kłos <szymon.klos@collabora.com> Tested-by: Szymon Kłos <szymon.klos@collabora.com>
2019-09-25Remove invalidations triggered by LOK_CALLBACK_DOCUMENT_SIZE_CHANGEDMichael Meeks1-12/+1
Change-Id: I337471cdfdaa1f9b49f13bcb05340427f116cac0
2019-09-22wsd: improved kit thread namingAshod Nakashian3-9/+14
Now the wsd docbroker thread and its peer kit thread are trivial to match, since they are called docbroker_xxx and kitbroker_xxx (where xxx is the instance ID) respectively. Also, label spare kit instances as kit_spare_xxx to differentiate from ones with actual documents, where xxx is a running counter to differentiate spare instances from one another. Now we are able to easily see (and count) the number of spare kit instances, and match wsd and kit threads handling a given document. Unit-test logic updated to reflect the new thread naming scheme. Change-Id: I154dc8f200fbe0e65f3f5984e6dad2cef1b52e22 Reviewed-on: https://gerrit.libreoffice.org/79328 Reviewed-by: Ashod Nakashian <ashnakash@gmail.com> Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2019-09-03Fix build.Jan Holesovsky1-0/+2
Change-Id: Ibfe0d09ca156540f5ec535c6a5da5e9cd339b16d (cherry picked from commit b52dd6b14e63ff160524a0f6fe2d3d4e2361d547)
2019-09-03wsd: support resizing of the sidebarAshod Nakashian3-1/+26
(cherry picked from commit d3a900d3484e4e6690d8c625f1edc73289baba4d) Change-Id: If7d7b356563f503dfedfb0686c1d1b5be9b7b221
2019-09-03wsd: cosmetic formattingAshod Nakashian2-9/+12
Change-Id: I552b2468432ce6ed52c50e22b6f19d8055c5dbb1
2019-08-26Add watermark opacity setting.Michael Meeks1-1/+1
Change-Id: I839e8aef91acfed40d4afd8c1b50176ed54c670a
2019-08-26re-factor childsession onLoad callback to cleanup parameter clutter.Michael Meeks3-36/+16
Change-Id: I0665db05845a910abf1cc56e13d2f9845cc5c373
2019-08-22tdf#126968: Implement "Save as PDF" in the iOS appTor Lillqvist1-0/+10
For now, add an entry "Save as PDF" to the File menu in the iOS app. Handle in an iOS-specific way in ChildSession::downloadAs(). The PDF is saved in the app's document directory on the device. The name of the PDF is the basename of the document being edited with the "pdf" extension. Change-Id: Ib0059a86b03b978996eb4cadf230ba7f0abcba62 Reviewed-on: https://gerrit.libreoffice.org/77961 Reviewed-by: Tor Lillqvist <tml@collabora.com> Tested-by: Tor Lillqvist <tml@collabora.com>