summaryrefslogtreecommitdiff
path: root/sc/source/ui/inc
AgeCommit message (Collapse)Author
2021-11-12svx: Don't end text edit mode for all viewsTomaž Vajngerl
This allows multiple views to not disturb each other editing inside a impress document. With the ending of text edit for all views still enabled, one view can cancel other views text editing just by moving or resizing a unrelated shape in the document. To make this possible we also need a view-local undo manager for the text edit mode, which is independent of the document undo manager. When the text edit mode ends, all the changes will be added as one change to the document undo stack. This prevents any conflicts in the undo stack that could be made when 2 views are editing the same document at the same time. This also adds the test for the new use case and changes the existing tests to reflect the change. Reviewed-on: https://gerrit.libreoffice.org/c/core/+/123220 Tested-by: Tomaž Vajngerl <quikee@gmail.com> Reviewed-by: Tomaž Vajngerl <quikee@gmail.com> (cherry picked from commit c175c1dc19d0edc8ca66e39f0b4b8af04e3d6c87) Change-Id: I04edb4f91d7e111a490c946f7121cbca75f818d7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/125070 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2021-06-26Dialog: Import CSV: Improve layoutPedro Pinto Silva
Remove extra padding from headers, they are already in bold no need to add extra padding to emphasis hierarchy. Do not use the first header to repeat what the dialog title already says "Import", use instead "Character encoding" as the first header of the first group (advantage: 1st dropdown does not need extra labeling) The 2 radio buttons for Use/not use separators appear to be grouping the elements underneath them. This is wrong, all those options are actually related only to the user chooses to use separators. - Convert those two radio buttons in one check button labeled "Use separators" - Fixes the confusion above mentioned - Reduced the amount of items - It does force the user to do trial and error in order to understand what is what Change-Id: Iee63a6dd336d7c5a4e6f5ce8c845b32902e49a73 Signed-off-by: Pedro Pinto Silva <pedro.silva@collabora.com> Signed-off-by: Mert Tumer <mert.tumer@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116265 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
2021-04-26Revert ScInputWindow::setPosSizePixel() early returnsSzymon Kłos
Revert changes that were introduced to fix CollaboraOnline/online#1988 because it should be fixed in online The root cause was that online was sending "resizewindow" even when size was not changed what was triggering many times ScInputWindow::setPosSizePixel(). (before online fix "resizewindow" message was sent on every sidebar refresh) "Fix early return in ScInputWindow::setPosSizePixel" reverts commit a9e0bbadb151d6cfe652fad1d49147f559a6d83c. "Early return from ScInputWindow::setPosSizePixel() if no-op" reverts commit 0ad467d9abd27197bc5f7f22db5a25b3246e6808. Change-Id: Iad1c3d427a5feefdbb2bac912710847addf4ee02 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114474 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Tor Lillqvist <tml@collabora.com>
2021-04-26lok: add global notifier to the "Text Import Dialog"merttumer
This dialog is displayed before the document is loaded so no way to get access to the view shell notifier when model/view/controller are not created yet. Change-Id: Ic9259b0b1d72b2c4f29b7265742136e650c7b67b Signed-off-by: merttumer <mert.tumer@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114637 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
2021-04-20Fix early return in ScInputWindow::setPosSizePixelSzymon Kłos
change: Early return from ScInputWindow::setPosSizePixel() if no-op 0ad467d9abd27197bc5f7f22db5a25b3246e6808 was too agressive optimization causing input bar not showing in the online and blocking the fix: online: update calc inputbar position on change 09afa34955d76419ebe8f4d15780d801f95256ca Sending message was originally introduced to update information about position in the online when notebookbar become visible (what causes input bar position change). Send it only when vertical position changed. Change-Id: Id7a231dabd20efe38094f31156f4f17f7d5a478e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114318 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Tor Lillqvist <tml@collabora.com>
2021-04-05lok: draw bgcolor lines for covering client grid...Dennis Francis
... that are over merged cells area. This is needed as client has no information about merged cells. Change-Id: I625d64cc3abd0ee1e60a8af9469a152286f25fd0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/113145 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
2021-03-30online: update calc inputbar position on changeSzymon Kłos
Change-Id: I9b340cb0f5d5d28b0cc683878ba8fad2c4d8a5af Reviewed-on: https://gerrit.libreoffice.org/c/core/+/113307 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Jan Holesovsky <kendy@collabora.com>
2021-02-11Don't shrink row height when deleting cell contents interactively eitherTor Lillqvist
Follow-up to e763e13873adfe3c6abfa4c2dfd3ac3847e2d494. Such shrinking of row height, typically by a few silly pixels, just causes unnecessary invalidation thrash in a collaborative editing context. Change-Id: I5651ce994ba4bf82c83d7d4ef1bb8ed5bab0a66d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/110697 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Dennis Francis <dennis.francis@collabora.com> Reviewed-by: Tor Lillqvist <tml@collabora.com>
2021-02-09fontwork: insert in the center of LOK viewSzymon Kłos
Change-Id: Iabde4ee927546b0e396c4fbd6d0099fa82240166 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/109968 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Jan Holesovsky <kendy@collabora.com>
2021-02-05prevent reference range resetting on panning in mobilePranam Lashkari
Change-Id: Ic6cabe1d4e5a1e7c4d42294550d654e38e27db22 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/109769 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Pranam Lashkari <lpranam@collabora.com>
2021-02-01Don't bother shrinking row height when changing just one row interactivelyTor Lillqvist
I.e. when interactively entering a new value. This used to happen at least for a sample document in .xlsx format for cells with automatic wrap turned on. After entering a value, the row height was annoyingly shrunk by a few pixels, which looked weird and pointless, and caused unnecessary invalidation thrash in the online collaborative editing context. We assume that the call to ScDocFunc::SetNormalString() in ScViewFunc::EnterData() is the result of interactivity. Change-Id: I3c77f7fb4e575f02e1dd7cdc18f2919f5eb3426e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/110245 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
2021-01-22tdf#139830: keep the right sidebar context for chart after view switch (calc).Tamás Zolnai
There is a general behavior to switch to the default sidebar context by view deactivation and switch back to the right context by view activation. See SfxShell::Activate() and SfxShell::Deactivate(). By activation, we use the selection to find out the right sidebar context. See GetContextForSelection_SC() method for example. However, for charts, this does not work, because the chart window is a separate environment and the shell does not know what is selected inside the chart window. So let's avoid context switches when we have a chart window active. Let the chart controller handle sidebar context changes. Change-Id: I272ee5c35ac30221eed2930201c4710a9a5877c4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/109790 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Tamás Zolnai <tamas.zolnai@collabora.com>
2020-12-16pivot table: properly close all subdialogsSzymon Kłos
Change-Id: Ieda601ce25d822394d6ddd12da861128b9270aa2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/107843 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
2020-12-16jsdialog: make Data field dialog workingSzymon Kłos
Change-Id: Iae4ec2b585272fb09253b6e05ac2a59da2219fd7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/107777 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
2020-12-16pivot table: make subdialogs of pivot table dialog asyncSzymon Kłos
Change-Id: I2c1b26ebe661a2f66bc7bf94e4f3ede2fc5e18b9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/107775 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
2020-12-15online: make buttons work in statistics dialogsSzymon Kłos
Change-Id: Ie4810b87ea5ce4fc7b3e98afdd37bcd903e2907c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/107755 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
2020-12-04Revert "Avoid crash while closing autofilter"Szymon Kłos
This reverts commit 8e75c42253d92a014baf24dda82d3379bd736978. Fixed by other patch solving problem in DockingManager during removing DockingWindows. see "Avoid crash on closing docking window" Change-Id: I1a2d0a18705ad497f3aef0edcf01e2b8d57b5cd4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/107216 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
2020-12-03jsdialog: make source selector dialog buttons workSzymon Kłos
Make sure buttons are welded so we will be able to execute actions. Change-Id: I1cb7bdcd80d1cd4d60751940e4d24ecf8e7be1ce Reviewed-on: https://gerrit.libreoffice.org/c/core/+/107164 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
2020-12-01Avoid crash while closing autofilterSzymon Kłos
EndPopupMode called on destroy causes set of actions which may cause a crash in DockingManager Change-Id: Ia01f6ca6e200a2e23f8b72da26053dbf800316a4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/106969 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
2020-12-01autofilter: make working with multiple users in onlineSzymon Kłos
Change-Id: Ib0255178112fae5d964cd6155d42848e7c7c51e8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/106909 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
2020-12-01jsdialog: notify about autofilter dropdown closeSzymon Kłos
Change-Id: If6eb585f04f2d7441a7950bbdca378cc92ba641b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/106906 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
2020-11-30Autofilter popup: sync code with masterSzymon Kłos
Change-Id: I37f236e9f2331b42fe86d933d64ff136e98cad90 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/106877 Tested-by: Szymon Kłos <szymon.klos@collabora.com> Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
2020-11-30rework treeview initial toggle button col to be like expander colCaolán McNamara
cause this assumption is baked into the vcl one making it hard to adapt remaining cases Change-Id: I75dd5264c65b1ffbf4d26c9a86f6d4d08b400d90 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/95622 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/106874 Tested-by: Szymon Kłos <szymon.klos@collabora.com> Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
2020-11-30weld checklistmenuCaolán McNamara
rework the "menu" to be a treeview using hover selection instead of a custom set of widgetry, and drop the newly unused custom a11y code Change-Id: Ie7d9b7875ce00843b3f262882816cebb472bf681 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/95223 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/106870 Tested-by: Szymon Kłos <szymon.klos@collabora.com> Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
2020-11-29LOKit: hide 'To document' dropdowncp-6.4-15Andras Timar
In Online sheets can be copied/moved only in current document Change-Id: Ic30d9ae1e48184ab2aadccedcc670e0fea357296 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/106844 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Andras Timar <andras.timar@collabora.com>
2020-11-29Resolves: tdf#137215 restore original modality before dialog loop endsCaolán McNamara
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105214 Tested-by: Jenkins Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com> (cherry picked from commit 022c11602d2101b49724b5cf104cc6c70b5a5e4b) Change-Id: I83467e28534b781c51b8d75a023e41f3c6a03903 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/106831 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Andras Timar <andras.timar@collabora.com>
2020-10-23tdf#136694 - share spelling context across all ScGridWindows.Michael Meeks
Adding new ScGridWindows later (as we do for split panes) didn't call EnableAutoSpell on them; also duplicating the spell-checking cache looks wasteful, so share it. Change-Id: Ieb67bb292590a097bb5a59d369416a094c54c954 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/104704 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
2020-10-23Improve spell checking performance and impl. in several ways:Dennis Francis
* do synchronous spell checking, avoiding an idle handler * avoid continuous invalidations caused per-cell by spell-checking * cache spell-checking information for a given SharedString to avoid repeated checking of frequently recurring strings. Change-Id: Ie251f263a8932465297dd8bd66dfc4aa10984947 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103941 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
2020-10-07Online: Hide right clicked sheet.gokaysatir
On core side, if user clicks on a tab with right mouse button, clicked tab is selected. So, for core side, if this feature will be desired, some more modification will be needed. Change-Id: Ic4755b27b8ba98d3a6aa086b2e0a3566d095ba16 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103685 Reviewed-by: Szymon Kłos <szymon.klos@collabora.com> Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
2020-09-17Online: Show input help on Online / Core part.gokaysatir
Change-Id: I9d10179f266a725b770fdae50045fdb5d77178ab Reviewed-on: https://gerrit.libreoffice.org/c/core/+/102708 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Andras Timar <andras.timar@collabora.com>
2020-08-24lok-freezepanes: fixed freeze row and column handlingPranam Lashkari
Added freeze row and column buttons in online UI did not work because the case for LOK was not handled Change-Id: I44315c6bc89ae02b7a8ac4c7c493ad7e8eda439e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/101127 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Dennis Francis <dennis.francis@collabora.com>
2020-08-02rhbz#1861794 csv fixed width import missing split handleCaolán McNamara
regression from... commit 1e97ca02773e2ba968606eed61d25d88f0d7e417 Author: Caolán McNamara <caolanm@redhat.com> Date: Mon Oct 14 11:05:07 2019 +0100 EndMouseTracking was left uncalled Change-Id: Ia952addac585737c3d3aa4fd68d772c3acbae848 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/99733 Tested-by: Jenkins Reviewed-by: Eike Rathke <erack@redhat.com>
2020-07-27fix tree disabled in autofilter pulldown, tdf#76481 relatedNoel Grandin
regression from commit f71557e958a8a626dfc1eef646b84b3c8b72569a Date: Thu May 21 15:05:08 2020 +0200 tdf#76481 speed up searching in autofilter pulldown Change-Id: Iac7fba87e12ae68a040706694ef94655113a6491 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/95142 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> (cherry picked from commit b81432a23c900329ece07854fd06a322225a97c1) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/96173 Tested-by: Gabor Kelemen <kelemen.gabor2@nisz.hu> Reviewed-by: Gabor Kelemen <kelemen.gabor2@nisz.hu>
2020-07-24lok-freezepanes: Generalize FreezePanes* uno-commands...Dennis Francis
to allow an integer parameter as the row/column index of the freeze and use them to set/get freeze indices (row/column) from the lok clients. The behaviour of the exisiting freeze/split-panes controls in desktop Calc is not affected, but new menu/notebookbar options can be added for freezing on a specific row/column in a follow-up commit. For now, the freeze-panes are shared between all views for each tab of the spreadsheet. "Private" freeze-panes support can also be added without much difficulty (for this we need another uno command for the private/shared flag, but that can be in a separate commit). Notes regarding compatibility: Since Online-Calc has support only for the freeze-panes functionality presently, any pre-exisiting 'real splits' in the spreadsheet (created using the native-desktop Calc or alternatives) are converted to equivalent 'freezes' on import, but on export, such 'freezes' are re-converted and written as 'real splits'. In case the spreadsheet has 'freezes' on import, they are used/exported as such. In short, the type of sheet-window splits in the document is preserved. Change-Id: Ia990616f5cedfb2b5db820770c17ec7e209f0e48 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/99352 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Dennis Francis <dennis.francis@collabora.com>
2020-07-06scPrintTwipsMsgs: Use print logical coordinates for draw objectsDennis Francis
as a result LOK_CALLBACK_GRAPHIC(_VIEW)_SELECTION messages will now be in print-twips. For tile-rendering, it needs the pixel-aligned coordinates of each object. The translation of print coordinates to pixel-aligned coordinates can be done behind the scenes by the ViewContact/ObjectContact/ViewObjectContact objects associated with the draw object which uses the cached "grid-offset" for each object (introduced in the patch "Refactor calc non-linear ViewToDevice transform"). For doing this, a subclass of FmFormView with a specialized "createViewSpecificObjectContact" method is used for tile-rendering. The createViewSpecificObjectContact creates a "proxy" object-contact object that delegates the grid-offsets queries to the actual ScDrawView generated ObjectContact. This is needed because currently there is no way to share the ObjectContact/ViewObjectContact instances between different SdrPaintWindow's without making changes ~everywhere. Change-Id: Ifdfb623c8d6dd81700ec4a5dfeeb6b2391a96154 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/98166 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Dennis Francis <dennis.francis@collabora.com>
2020-07-06Allow edit-area computation in print-twips...Dennis Francis
via a optional flag bInPrintTwips (false by default) in ScViewData::GetEditArea() Change-Id: I9bf7465b703a2df817fe438db3671261d0d907a8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/98058 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Dennis Francis <dennis.francis@collabora.com>
2020-07-04lokit: scPrintTwipsMsgs: LOK_CALLBACK_*SELECTION*Dennis Francis
Allow print twips coordinates in the below messages: LOK_CALLBACK_CELL_SELECTION_AREA LOK_CALLBACK_TEXT_SELECTION LOK_CALLBACK_TEXT_VIEW_SELECTION Change-Id: I267a636bbeab434b305a45abe3e21cb5afc4c1e9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/97966 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Dennis Francis <dennis.francis@collabora.com>
2020-07-04Allow cell coordinates calculation in print twips tooDennis Francis
Change-Id: Ie8f23bd7ba8de57d7aab104add99501a54f08819 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/97961 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Dennis Francis <dennis.francis@collabora.com>
2020-07-04lokit: scPrintTwipsMsgs: Extend the tiled-area limits...Dennis Francis
if the client visible area is "close" to these limits. Also send tile-invalidations for the new area uncovered. ** All this is done only if the flag scPrintTwipsMsgs is set. Change-Id: I3d6b8c6aaae1eb934030c5bdbc1094dc8be16a9f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/96971 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Dennis Francis <dennis.francis@collabora.com>
2020-07-04lokit: add new callback type LOK_CALLBACK_INVALIDATE_SHEET_GEOMETRYDennis Francis
This is to notify the clients about changes in current sheet's geometry data. Use this to notify clients of various sheet geometry invalidations if the new feature flag scPrintTwipsMsgs is set. Change-Id: I478d2e646606320399905d7b15881a165a53146d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/96969 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Dennis Francis <dennis.francis@collabora.com>
2020-06-24tdf#128502: Try to support multiple documents in LibreOfficeKit-using processTor Lillqvist
The LibreOfficeKit-specific code typically has assumed that all the "views" (SfxViewShell instances) are for the same document, because all LibreOfficeKit-based application processes (including the "kit" processes in Online and the iOS app) so far have only had one document open at a time. It is now possible to pass several document file names on the command line to gtktiledviewer and that is an easy way to demonstrate how badly it still works even with this patch. Introduce a unique numeric document id that is increased in the LibLODocument_Impl constructor. Add APIs to access that. When iterating over views, try to skip views that are not of the document visible in the "current" view, if we know what the "current" view is. Also add a couple of FIXMEs at places where it is a bit unclear (to me) whether it is correct to iterate over all views, or whether only views for the "current" document are what we would want. Change-Id: Id5ebb92a115723cdeb23907163d5b5f282016252 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/95353 Tested-by: Jenkins Reviewed-by: Tor Lillqvist <tml@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/97024 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
2020-06-24weld ScNumberFormat ItemWindowCaolán McNamara
Change-Id: Ib019912e91be617edbbcdf2fafb92d6685487b98 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/88174 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/97015 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
2020-06-23Resolves: tdf#133411 drop CONTENT_FLOWS_TO from dialog to search resultsCaolán McNamara
in the document, looks like only the calc one actually works, and when it works on large quantities of results calc grinds to a complete halt This was introduced with: commit b41332475783c31136673fb44cf4c411bb0148f8 Date: Mon Dec 2 15:54:29 2013 +0000 Integrate branch of IAccessible2 and has been a problem on and off with calc's potentially ~infinite grid There is the on-by-default search results dialog in calc (which has a limit on how many it shows) which provides an alternative route to iterate through the results Reviewed-on: https://gerrit.libreoffice.org/c/core/+/95006 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> (cherry picked from commit 0b94169d820482434dc98a37c3c1633ca46fd0dc) Change-Id: I2685e480d2d15220be0bddbc83baad3992e7d5d1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/95014 Tested-by: Jenkins Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/96919 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Andras Timar <andras.timar@collabora.com>
2020-06-22Introduce ITiledRenderable::getSheetGeometryData()Dennis Francis
ITiledRenderable::getSheetGeometryData(bool bColumns, bool bRows, bool bSizes, bool bHidden, bool bFiltered, bool bGroups) and implement it for the Calc derivation (ScModelObj). The aim is to use it actively in LOOL instead of the interface: ITiledRenderable::getRowColumnHeaders(const tools::Rectangle& /*rRectangle*/) This is used by the LOOL to fetch the sheet geometry data for just the current view-area in the clients, so LOOL queries this everytime some client's view-area changes. Like the existing interface, the new one will provide all 'kinds' of sheet geometry info [col/row sizes(twips), hidden/filtered and grouping]. But the difference is, it generates data for the whole sheet (not view-area specific). So the method need not be queried every time the view area changes in the LOOL clients, and more importantly it enables the clients to locate any cell at any zoom level without any further help from the core. This means core needn't send various client(zoom) specific positioning messages in pixel aligned twips. It just can send all positioning messages in print twips uniformly to all clients. Change-Id: Ib6aee9a0c92746b1576ed244e98cb54b572778c0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/96892 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Dennis Francis <dennis.francis@collabora.com>
2020-06-19Resolves: tdf#133780 allow sorting search result treeview columnsCaolán McNamara
Change-Id: I7d5b1ffdaf99fd2e28dfd124db0fbbd4036e2dd6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/95878 Tested-by: Jenkins Reviewed-by: Eike Rathke <erack@redhat.com>
2020-06-15tdf#133953 use a popover to show interactive row/column resize intoCaolán McNamara
because a simple tooltip won't fire under gtk for that interaction Change-Id: I487b5c05805e3d0233da9a3b3c5ff1912d98baf6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/96275 Tested-by: Jenkins Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
2020-05-28formula bar: Change completeFunction() to accept string instead of index.Jan Holesovsky
The 'index' is unsafe, because the set it tries to index can change in the meantime. Instead, use the function name and search for it in the set, to get the recent index. Change-Id: Id2a021c32f421057c87b6f7f4fffcc1c98009acb Reviewed-on: https://gerrit.libreoffice.org/c/core/+/93666 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Andras Timar <andras.timar@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/93910 Tested-by: Jenkins
2020-05-28lok: calc: input bar: send number of text lines to clientMarco Cecchetti
Change-Id: Iec919ef11e22ae5d02009570f446064e3f7bfe01 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/92690 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Andras Timar <andras.timar@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/93345 Tested-by: Jenkins
2020-05-26lokit: fix edit-text/view-cursor positionDennis Francis
in case of views with heterogeneous zooms. 1. EditText render position fix The EditView has an 'output-area' which is used to clip the rectangle we pass to the Paint() call. It also holds on to the ScGridWindow instance where the edit started. The 'output-area' of the EditView is in the coordinates/units of the MapMode of the ScGridWindow it holds. So we need to temporarily change the MapMode and 'output-area' of the EditView in agreement to the device(with the current view's zoom settings) where we are going to paint to. After we call the Paint(), we rollback the original settings of the EditView. 2. EditViewCursor position fix Before this change the cursor position in twips (calculated based on pixel aligned cell position in the view where editing occurred) is broadcasted to all the client-views. If the clients have different zooms, then simply scaling this common cursor position in the client for its zoom is not going to be accurate enough (due to the non-linear Logic->Pixel->Logic transformation involving pixel rounding). This is very visible if you are editing far away from A1 (like Z50). The fix is to turn off this broadcast for calc-cell editing and send view specific edit-cursor invalidation messages. This is accompanied by a online.git patch that removes unnessecary broadcast of view-cursor invalidation messages which messes up things again. "Do not broadcast view-cursor invalidation messages" Change-Id: Ib2fbbe4b6f93f26fc85d6adaa8684dd4397d886f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/92631 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Michael Meeks <michael.meeks@collabora.com> (cherry picked from commit d58f1e334245f9e136750fbba267c2a941a213cc) Conflicts: editeng/source/editeng/impedit.hxx
2020-05-26lok: calc - update our version of the other view's selections on zoom.Michael Meeks
Change-Id: I4d23bb77045b41d04109e7dd70a1f47bca8aaa56 Reviewed-on: https://gerrit.libreoffice.org/84767 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Michael Meeks <michael.meeks@collabora.com> (cherry picked from commit ca2fdd792de5d6d208097b3049238865058c7cc1)