summaryrefslogtreecommitdiff
path: root/sfx2
AgeCommit message (Collapse)Author
2024-03-29null deref of mpSidebarControllerCaolán McNamara
follow the pattern used in the rest of this and skip the branch that depends on mpSidebarController existing git show -w Change-Id: I739754b2af7ad09fa80c36693d8adbf173ece2e2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165425 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-03-28lok: add method to allow explicit cleanup of temporary files.oMichael Meeks
Special case fast destruction of background saving children. Change-Id: I8fba4d0818d23a8b0e1bb4d074e1afae7dacde33 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165448 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com> Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-03-28lok: avoid perturbing parent background save process' temp file.Michael Meeks
The temporary file that typically contains the content of thes currently open document is re-written, and deleted on save. Avoid deleting the original when we are background save worker. Change-Id: Ibbb3a963cb3420088623994c067115ff77b96f54 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165408 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com> Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-03-27Enable allowing comment editing in readOnly view mode.Gökay Şatır
Signed-off-by: Gökay Şatır <gokaysatir@gmail.com> Change-Id: I536448da395568cd43af6f4d1d36ef09f3c6a6b3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165349 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Gökay ŞATIR <gokaysatir@collabora.com>
2024-03-26Use sdi properties for checking uno commands'a availability.Gökay Şatır
Signed-off-by: Gökay Şatır <gokaysatir@gmail.com> Change-Id: Ie70851756d1a4272876b07fefb876d7e6f8d4d81 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165287 Reviewed-by: Michael Meeks <michael.meeks@collabora.com> Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
2024-03-22Allow more uno commands in readonly view mode.Gökay Şatır
So user can use keyboard for selection. Signed-off-by: Gökay Şatır <gokaysatir@gmail.com> Change-Id: Ic7812c88110da9fbefe86d145f921e48360b4f34 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165157 Reviewed-by: Michael Meeks <michael.meeks@collabora.com> Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
2024-03-22cool#8278 sfx2 lok: fix lost hide notification on sidebar switchMiklos Vajna
Similar to commit 55feb670ca28e0a48ac82a65b5559598704d993e (cool#8278 sfx2 lok: fix unexpected non-json sidebar status update, 2024-03-21), the trouble here was not around hiding the sidebar but around switching between decks. This went wrong in commit aaf6ce108e91b1504befe19afcee471e3316ae7a (cool#7492 sfx2 lok: set language/locale on async sidebar update, 2024-01-11), where I didn't notice that SidebarController::SwitchToDeck() may emit two callbacks, so the effort to avoid code duplication went a bit too far: the hide+show case only emitted a show callback. Fix this by building a list of state changes to emit, so once se switch decks, not only the new one is "on", but also the old one is "off". (cherry picked from commit d8061151acf4e287b60a055a67b84c56989a37af) Change-Id: I1678ee61e004697a6a5c6ecaf40a18b2d1d47e61 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165155 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-03-21cool#8278 sfx2 lok: fix unexpected non-json sidebar status updateMiklos Vajna
Open an Impress document via LOK, open the slide layout sidebar, click the toggle icon so it gets closed: the toggle icon will signal that the sidebar is open, when it's closed already. This is a regression from commit aaf6ce108e91b1504befe19afcee471e3316ae7a (cool#7492 sfx2 lok: set language/locale on async sidebar update, 2024-01-11), previously we always emitted LOK_CALLBACK_STATE_CHANGED callbacks with plain text payloads for the sidebar, where the locale with implicit (with all its issues), but the above scenario worked fine. Fix the problem by making SidebarController::disposeDecks() consistent with SwitchToDeck(), so now we always emit JSON payloads for the sidebar deck changes. An alternative would be to improve the code around extractUnoCommand() in online.git to handle a mix of plain text and JSON payloads, but the plain text payload is tricky to extend, so using more JSON payloads sounds like a better fix. (cherry picked from commit 55feb670ca28e0a48ac82a65b5559598704d993e) Conflicts: sd/qa/unit/tiledrendering/tiledrendering.cxx Change-Id: I5b75c2987c230c6720181a1e95ae579727943235 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165092 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-03-18Allow export commands in readonly view mode.Gökay Şatır
Signed-off-by: Gökay Şatır <gokaysatir@gmail.com> Change-Id: I88e9a45fd9e5c7b6bf1984a424e36b010aaaff4d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164969 Reviewed-by: Michael Meeks <michael.meeks@collabora.com> Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
2024-03-18Send ParaRightToLeft state messageto client sideDarshan11
- Before this patch in online text in paragraph was changing according to uno command but client was not getting and info about is RTL true or TRL true - this will send message [:unoParaRightToLeft=true || :unoParaLeftToRight=true] at client side - added more properties like disabled and state information to handle both case at same time in online - which will be helpful to our existing locgic where to add or from where to remove selected class on element according to response Change-Id: Ia443215342d6a81f4e60fa9237149f6b18420e16 Change-Id: I08fb7e474e099822b26c732fe1e5dac8e773c58f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164767 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Szymon Kłos <szymon.klos@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164817
2024-03-12lok: Send Accept / RejectTrackedChangedToNext state changeAron Budea
Change-Id: I194c0c3260fe90273f5b5f50c18a63e48ae85449 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164699 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Aron Budea <aron.budea@collabora.com>
2024-03-11lok: use locale units in dialogs and sidebarJaume Pujantell
When oepning tha same doucment with different locales, the dailogs and sidebar show units (cm/inch) of the first locale (or the locale used in preloading, en-US) for all the views. This patch changes the units used according to the LOK locale. Change-Id: I3d515873bde661f2d9048bbc405843e83134cca7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164589 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2024-03-08Allow enabling saving when comment edit is allowed in readonly.Gökay Şatır
Signed-off-by: Gökay Şatır <gokaysatir@gmail.com> Change-Id: I88d535a5b23fb6d5de8e72eec61bdf3550bc757d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164570 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
2024-03-07Resolves tdf#131550 - Suppress Donate/Involve infobar if another is visibleHeiko Tietze
Change-Id: I013f0a1f0aa020f10d6beb21940959508eba4547 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164082 Tested-by: Jenkins Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org> (cherry picked from commit 607740654f2264e13469e4da1d020448217d7222) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164114 Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
2024-03-06Moving parts of readonly checks from model to view.Gökay Şatır
Summary for what's done with this commit: init.cxx * Add guards for modify commands. viewsh: * Add "IsCurrentLokViewReadOnly" for ease of use. unocitm: * Add guard for modify comamnds dispatch.cxx * Implement readonlyview. objmisc: * Modify IsReadOnlyUI check for LokReadOnly view. svx.sdi: * Disable TableChangeCurrentBorderPosition command for readOnly views. sw-editwin: * Treat mouse moves as readonly when the view is LokReadOnly. gridwin: * For autofilter. impedit2, inputhdl: * For text input. svdedtc: * For sdr object dragging. Signed-off-by: Gökay Şatır <gokaysatir@gmail.com> Change-Id: I71fc353976256bce22042bbb6042ee464b65cc13 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163731 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Gökay ŞATIR <gokaysatir@collabora.com>
2024-02-28sc: put used currencies on top of the currency pop-up listTomaž Vajngerl
The list of currencies is fairly long and there is no easy way to search the list, so to make it easier to concurrently fint the desired currency, put the currencies that are used in the document on top of the list. This adds a DocumentModelAccessor class, which is used to access parts of the document model from other modules throught the SfxObjectShell. Change-Id: I81a180b674ae69b373b0422f363678e8bab37194 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162638 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Miklos Vajna <vmiklos@collabora.com> (cherry picked from commit 79da840fac78f11c156801c43d8b79d6d4f32869) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162755 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com> (cherry picked from commit 2cac2ee38445c19c9281f54c2b961bbc9149cc00) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164088 Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-02-21tdf#155961 put some spacing to the right of the "more options" toolbarCaolán McNamara
the gtk overlay scrolling is all very pretty, but you can't click things underneath, and there is no discoverable way to dismiss the scrollbar to get "under" it, move this widget to the left a little to try and get it outside the hotzone for the overlay scrolling. Change-Id: Ic9d48be4a29754e9aff0f29dbe32bea762b6cc09 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163543 Tested-by: Jenkins Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2024-02-20Allow Document properties tab custom properties for LOKMéven Car
Change-Id: I4860f9bad69b3db0eef7b0e98159ca2b336b4f60 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163611 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
2024-02-16tdf#159707: fix crash when changing to edit mode (calc)Julien Nabet
bt: 0x00007f9eb4b902f2 in com::sun::star::uno::Reference<com::sun::star::frame::XModel>::operator->() const (this=0x55b8c2b54888) at include/com/sun/star/uno/Reference.h:387 0x00007f9eb4c03584 in ScVbaEventsHelper::notifyEvent(com::sun::star::document::EventObject const&) (this=0x55b8c2b54840, rEvent=...) at /home/julien/lo/libreoffice/sc/source/ui/vba/vbaeventshelper.cxx:605 0x00007f9ef464bd3c in (anonymous namespace)::NotifySingleListenerIgnoreRE<com::sun::star::document::XEventListener, com::sun::star::document::EventObject>::operator()(com::sun::star::uno::Reference<com::sun::star::document::XEventListener> const&) const (this=0x7ffc5044dfc0, listener=uno::Reference to (ScVbaEventsHelper *) 0x55b8c2b54870) at /home/julien/lo/libreoffice/sfx2/source/doc/sfxbasemodel.cxx:3293 0x00007f9ef463b8aa in comphelper::OInterfaceContainerHelper3<com::sun::star::document::XEventListener>::forEach<(anonymous namespace)::NotifySingleListenerIgnoreRE<com::sun::star::document::XEventListener, com::sun::star::document::EventObject> >((anonymous namespace)::NotifySingleListenerIgnoreRE<com::sun::star::document::XEventListener, com::sun::star::document::EventObject> const&) (this=0x55b8c2735c18, func=...) at include/comphelper/interfacecontainer3.hxx:279 0x00007f9ef463b010 in SfxBaseModel::postEvent_Impl(rtl::OUString const&, com::sun::star::uno::Reference<com::sun::star::frame::XController2> const&, com::sun::star::uno::Any const&) (this=0x55b8c2308ae0, aName="OnUnload", xController=empty uno::Reference, supplement=uno::Any(void)) at /home/julien/lo/libreoffice/sfx2/source/doc/sfxbasemodel.cxx:3338 0x00007f9ef463a089 in SfxBaseModel::Notify(SfxBroadcaster&, SfxHint const&) (this=0x55b8c2308ae0, rBC=..., rHint=...) at /home/julien/lo/libreoffice/sfx2/source/doc/sfxbasemodel.cxx:2960 See full bt here: https://bugs.documentfoundation.org/attachment.cgi?id=192546 Regression from: https://git.libreoffice.org/core/+/d2fccf0117a37f8aab8bb50ece419987f06af6b9%5E%21 "cool#6893 improve listeners in SfxBaseModel" Change-Id: I372808dade20c47275ab599054d8e9572dc3da4d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163356 Reviewed-by: Julien Nabet <serval2412@yahoo.fr> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Jenkins (cherry picked from commit 6c6b580428bc527da9af82da743616787617b39b) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163344 Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2024-02-14lok: remove unneeded mutex guardTomaž Vajngerl
Change-Id: I9e9ef3fd4ad43c2523c286f534e14e839aada453 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163114 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Miklos Vajna <vmiklos@collabora.com> (cherry picked from commit 21c215a0345feb347c7adeea5aca766ede23f54a) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163282 Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com> Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-02-10sfx2: fix clang plugin errorsAndras Timar
Change-Id: I595a5dd9edc37fa7b383bb02a3378b359d97524f
2024-02-09lok: introduce NotebookBarViewManager and NotebookBarViewDataTomaž Vajngerl
NotebookBarViewManager is a singleton which is responsible to hold NotebookBar view specific data, which is kept in NotebookBarViewData class. The idea is to have one NotebookBarViewData class instance per one view (SfxViewShell instance). This also refactors the existing code and now moves the m_pWeldedWrapper, m_pNotebookBar and the m_pToolbarUnoDispatcher into NotebookBarViewData class. Change-Id: I32f5954fa9f1628acd9f5f9bd5760ac23ca687ae Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162680 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Szymon Kłos <szymon.klos@collabora.com> (cherry picked from commit da8ebd2c348affbd7fa4975910296f32d3c9d1b0) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163173 Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com> Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-02-09sfx2: fix clang plugin errorsMiklos Vajna
Fixes: - sfx2/source/appl/appserv.cxx:285:23: error: public virtual function just calls public parent [loplugin:unnecessaryoverride] - sfx2/source/view/lokhelper.cxx:1137:60: error: bad static variable causes crash on shutdown [loplugin:badstatics] Change-Id: I826b2f2d9c2cb5842c29a9782a6bad48f0422d91 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163191 Tested-by: Miklos Vajna <vmiklos@collabora.com> Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2024-02-07kit mode is similar to !HAVE_FEATURE_DESKTOP mode wrt menubarCaolán McNamara
in that it is not used. SfxDispatcher: :SetMenu_Impl is 3.1% of long-profiling use Change-Id: I07bf0f130791795a49835e91ac8b8c5bec749f33 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162465 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com> Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-02-07use ViewShell DOCCOLOR when availableCaolán McNamara
for fallback, continue to warn if the terminal fallback gets used, but fill stub it to return the application DOCCOLOR Change-Id: I2bf3a1c6c6adb58811fd36c70f93932de246f10a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162782 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> (cherry picked from commit 3a48ad467b7fbf9cbdfff1222e08c02b0ff5d544) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162852 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Miklos Vajna <vmiklos@collabora.com> (cherry picked from commit 2bdc2d6327058d31bfd2ddb08f5c01ea9755bd66) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163077 Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-02-06tdf#159496: clear mxObjectContainer in PrepareSecondTryLoad_ImplMike Kaganski
The problem here is that the object container has own reference to the storage object. In SfxBaseModel::load, when preparing for a second try, the storage gets disposed, and a cleanup is performed; but previously, the reference to the disposed storage was used in the object container, and thus generated a failure when it was used to import the OLE. Clearing it allows to re-create it properly, with the updated storage. Change-Id: I08b7503d79240ccc51b253fe1f4e99a0232995b1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162866 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> (cherry picked from commit 6bddbe51cee5c4aea023cc68771800f46a4aad2f) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162828 Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
2024-02-06tdf#154587: allow directory entries in ZIP packagesMike Kaganski
The problem in the bugdoc was the directory entries. These entries are valid in ZIP packages (even if not common); they may be useful to e.g. define per-directory permissions (ACLs). In normal mode, ZipFile reads central directory; there we can read if the entry has FAT file attributes; and then, if the entry is a directory. Then it is OK to skip it. In repair mode, central directory is not used, local file headers don't contain a "directory" flag. A workaround is used, checking if there are entries that represent directories of other entries. Also this change fixes some places that didn't pass the recovery flag correctly. Change-Id: I324671841a2c4d0f279b03801d95c8f2eeb99b46 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162888 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> (cherry picked from commit 747463809e50c132557a95dcee6709a1fa82d760) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162897 Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2024-02-06tdf#159128 UI: Open Security settings option directlyBalazs Varga
Open Security Option Setting page directly from Security pop up warning infobar. Follow up of 1f440348eb0892fd2c9597806d87b5fe9d60d49a (tdf#157482 UI: Turn Security Warnings popup windows into infobars) cherry-pick from commit: 2c16ea16b305dc546164e28cf6b212ebccc44ec4 Change-Id: Iac116677801bdb13a9680bcfdf532ec3d874ce0e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162393 Tested-by: Jenkins Reviewed-by: Balazs Varga <balazs.varga.extern@allotropia.de> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162491 Reviewed-by: Thorsten Behrens <thorsten.behrens@allotropia.de>
2024-02-05lok: calc: fix for rendering issues on in place editingMarco Cecchetti
Our main problem is how to compute the correct output area for the requested tile zoom level. The old solution was using a fine-tuned edit rectangle as output area. An edit rectangle is the rectangle computed according to the range of rows and columns involved in the text editing. Unfortunately in some cases the edit rectangle can be enough larger than the output area. For instance that occurs with centered text. The new proposed solution is able to scale the output area to the requested tile zoom level by a few pixels (0 up to 3) offset/size error. The hope is to reduce the error in some follow-up patch. The new solution is also able to perform painting of text edited by different views in the correct order. The last painted text is the one belonging to the last view where editing occurred. SfxViewShell::maEditViewHistory keeps track of the last 10 editing events per document. Change-Id: I8f1035a730cb2b94b0990f3c8eb6445511b94223 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162196 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Tomaž Vajngerl <quikee@gmail.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162986 Reviewed-by: Marco Cecchetti <marco.cecchetti@collabora.com>
2024-01-29lok: notebookbar: enable currency dropdownSzymon Kłos
Add .uno:NumberFormatCurrency item to .ui Use weld:: way of widgets creation so we can inject jsdialog code and popup will be correctly registered. Signed-off-by: Szymon Kłos <szymon.klos@collabora.com> Change-Id: Ib57e1cad617ca5c7198d67e107441ba062580f06 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161829 (cherry picked from commit 91df0cafa87692b5c924c44b9c7adf4a8d6f3e34) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162623
2024-01-29sfx2: check SfxViewShell::Current()Xisco Fauli
Seen in https://crashreport.libreoffice.org/stats/crash_details/52df6de5-7ea8-48e4-8c45-f18b02d9a767 Change-Id: I56c17234a0f82797d37e26b0c39eeba7f78fcee5 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162492 Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> Tested-by: Jenkins Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org> (cherry picked from commit 1a4a215bc59e50958b2c04ac405c5200f5811970) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162468
2024-01-29lok: always toggle sidebar deckSzymon Kłos
This fixes regression from: commit 53fc5fa0fed077b7d11e39b710280f0a84b631ff tdf#142978 Show a11y sidebar when finding issues on PDF export LOK was unable to close sidebar Change-Id: Icd96394523020c30e63858bc372ba136c2be8158 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162608 Tested-by: Szymon Kłos <szymon.klos@collabora.com> Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2024-01-20LOK: disable popup bubble for hyperlinksAndras Timar
Change-Id: I0ca21a90561affa453bd249c86e58793618f809e (cherry picked from commit 88fea772610a4feef018ba03fd19749841772225)
2024-01-17lok: Replace loop with std::find_if(...)Aron Budea
Change-Id: Icfe912f7b79454b9d208c39382ba187d0a0c16c5 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161810 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Attila Szűcs <attila.szucs@collabora.com> Reviewed-by: Aron Budea <aron.budea@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162045 Tested-by: Jenkins
2024-01-17LOK: fix language warning in setViewAttila Szűcs
Made the warning before the new language set. This way we log the old (wrong) and new (good) language. Elseway we could save the old languages to a temporal variable, set the language, and do the warning with the saved variable, but i think the extra variables would be a waste of memory. Change-Id: I0b69f49d07e9130bf1538c2c8e1d0b09cf82091f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161841 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com> Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> (cherry picked from commit e09b3f5f4cd662a596b5d8d6ad4d5e2778e315f4) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161916 Tested-by: Jenkins
2024-01-17LOK: fix setView language problem  Attila Szűcs
Fix some mis-localization problem by checking for wrong language   at setView(...). setView does not change current localization, if the view we want   to set is the current view. But in some cases the language - view is not in a consistent state. Maybe the language changed but the view did not, or the current view   changed without language change (I found examples for both). Changed setView(...) so that it checks, if the current language matches to the current view, and if it does not, then we set the view, even if we want to set to the current view.         This won't fix everything, but hopefully it helps a lot. I think we should make sure that current view - current Language   are always changed at the same time (or at least we make sure they always match). Change-Id: Ie177b9b55f7befcbcf7cd1f62e402700f0e1aa60 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160219 Reviewed-by: Andras Timar <andras.timar@collabora.com> Tested-by: Andras Timar <andras.timar@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161915 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-01-16Send tooltip text to LOKMike Kaganski
Call vcl::Window::RequestHelp from LOKPostAsyncEvent for mouse movement. Introduce LOK_CALLBACK_TOOLTIP callback type, and send it from SwEditWin::RequestHelp. Intention is, that the tooltip is shown by client at the current mouse pointer position, which is hopefully not far away from the point that generated the mouse event. On the next movement, the client starts a timer to hide the tooltip. If the next tooltip message arrives, the tooltip would be updated in the new place. Alternatively, the payload could contain the coordinates from the HelpEvent. Change-Id: I8e96eb6e6983ad8d13b4c5d7be4d51ff3fd11893 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161302 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2024-01-16cool#7492 sfx2 lok: set language/locale on async sidebar updateMiklos Vajna
Create two Calc views, set the first view language to English, second view language to German. Type in the English view, double-click on a chart in the German view. The sidebar in the German view will have English strings in it. This doesn't happen if there is no typing right after the chart activation in the English view. What happens is that the sidebar update is async, and sfx2::sidebar::SidebarController::notifyContextChangeEvent() gets called, which registers an aync event when it calls AsynchronousCall::RequestCall(). Then later this job gets scheduled, but possibly by that time the active view is the English one, leading to English strings when chart::ColumnChartDialogController::getName() calls SchResId(), which works from the language of the current view. Fix the problem similar to what commit fb7b0b944741e4efae8d92a6e305036aff906c7a (cool#7492 sfx2 lok: just set language/locale on async binding update, 2024-01-09), did: set the language/locale from the current view before executing the async job and restore the old value once we're done. Extract the now duplicated code to a new SfxLokLanguageGuard, so in case more places have a problem with incorrect l10n, then it's meant to be a one-liner to fix further places. (cherry picked from commit aaf6ce108e91b1504befe19afcee471e3316ae7a) Change-Id: I52724a24d93fb753175a3b9b99bc33178519d981
2024-01-16cool#7492 sfx2 lok: just set language/locale on async binding updateMiklos Vajna
Trying to run online.git tests against commit 51d8a2ef54751403fa707816e27ddb4e7faa8231 (cool#7492 sfx2 lok: fix bad view id / statusbar string on async binding update, 2024-01-08), unit-tiletest failed. Manually trying to replace what the testSimultaneousTilesRenderedJustOnce test in that suite tries to do, it turned out that it can happen that the bindings are updated when a Writer view gets its focus, which is a problem, because the above commit started to switch views on binding updates, leading to a loop (bindings are updated about every second). Fix the problem by doing less work in SfxBindings::NextJob(): it's enough if the timer just switches languages and not views. That still keeps the Calc statusbar problem fixed from the above commit, but avoids the problematic view switching that broke unit-tiletest. (cherry picked from commit fb7b0b944741e4efae8d92a6e305036aff906c7a) Change-Id: I22cd9b3276c3f9987a2d90ad93f6026fdf6b8448
2024-01-16cool#7492 sfx2 lok: fix bad view id / statusbar string on async binding updateMiklos Vajna
With two Calc views (first is an English one, second is a German one), type in the English view and in parallel to that, create a cell selection in the German view. Sometimes the status bar update about the selected cells arrives in English, in the German view. The root of the problem is that SfxBindings has a timer that does the expensive update of all the UNO commands only after a delay, but by the time this timer runs, possibly the current view is no longer the German one, which leads to English strings in the German view. Fix the problem somewhat similar to what commit ee7ca8e4ea8ed93655f99e77a9e77032ac830c46 (cool#7865 sfx2 lok: fix bad view id on async command dispatch, 2023-12-20) did in SfxHintPoster::DoEvent_Impl() by restoring the original view for the duration of the timer job execution. The test works even in case '--with-lang=en-US de' is not used, because it asserts the locale, which is not downgraded to English when translations are not available. This required turning the payload of the .uno:RowColSelCount status update into JSON, which is meant to be mostly backwards-compatible, given that we already have a mix of plain text and JSON for the various UNO commands. Another trouble is that the SfxBindings lazy update is a timer, so processing idles won't help and sleeping in test code is not ideal, either. Solve that by exposing the timer of SfxBindings, so test code can explicitly invoke the timer without waiting. (cherry picked from commit 51d8a2ef54751403fa707816e27ddb4e7faa8231) Conflicts: sc/qa/unit/tiledrendering/tiledrendering.cxx Change-Id: Iacf17f81c28b95ce41a0ee29ad25eb576db0d62a
2024-01-15lok: send error on access denied in image import 2Szymon Kłos
followup for commit 64624d225c71229acce4f889d4863d7c29c52658 lok: send error on access denied in image import It shows an error in LOK when we try to insert image from remote host blocked by HostFilter Previously it was showing error in paste case, now do the same also on image insertion. For now disable HandleGraphicFilterError in sd, as it crashes, is synchronous and cannot be easily fixed - dialog sits inside module not linked to sfx2, needs some rework. Change-Id: I3c15ff5621add97ef9d60d4f4c1305dae2909158 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161001 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com> Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161774 Tested-by: Jenkins Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
2024-01-15lok: send error on access denied in image importSzymon Kłos
- when we paste HTML with references to external images and host filter is configured then we have empty graphics - inform client about that so we can show an error to the user Change-Id: I7d584c256d8d004955c970056341ab42864d1dd3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160319 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> Reviewed-by: Szymon Kłos <szymon.klos@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161773 Tested-by: Jenkins
2024-01-15Eliminate hang in iOS app (and maybe the Android app) during exportPatrick Luby
When exporting a document via this path, such as exporting to PDF via the .uno:ExportToPDF command, any exceptions thrown while saving the current document will leave the app in a blocked state if a "PENDING" message has been sent. The iOS app (and maybe the Android app) fails to set the URL to save to so we need to set it to a temporary file. Note: the iOS app is responsible for deleting the temporary file. Also, enable building iOS with TLS=OPENSSL by default. Signed-off-by: Patrick Luby <plubius@libreoffice.org> Change-Id: Ibc070bed4e792bb0a481d2b900d12d214e3c519f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161692 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Andras Timar <andras.timar@collabora.com>
2024-01-15cool#7865 sfx2 lok: fix bad view id on async command dispatchMiklos Vajna
If you try hard enough, it's possible to request an "add conditional format" dialog in one view and have the dialog pop up in an other view. This is related to cool#7853 but it focuses on the wider problem. What happens is that sometimes we do want to execute an uno command in an async way, e.g. one dialog opening an other dialog in its response handler: making sure the dialog is not manually / synchronously spinning the main loop while it's running is wanted. Also fixing each & every async command dispatch manually would be a lot of work. Fix the problem by remembering the current view in SfxHintPoster::Post() as it posts events to the main loop and restoring that view if necessary in SfxHintPoster::DoEvent_Impl(). Other comments: - An alternative would be to just dispatch all these UNO commands synchronously, but see above, there are cases where we want to stay async, a nested main loop would be worse. - An even more general fix would be to handle all calls to Application::PostUserEvent(), but vcl doesn't know what is the current view and would have trouble switching to that view (only sfx2 and higher up knows that), so do this only at a SfxHintPoster::Post() level, this is already meant to fix all async uno commands. - There was a single case in sd/ where we tried to dispatch an async event while switching views, so switch to a sync command dispatch there to avoid the problem. CppunitTest_sd_tiledrendering would hang without this and would emit a warning in SfxHintPoster::Post(). - Restore the sc/ code to do its async dispatch as it used to, so now CppunitTest_sc_tiledrendering's testOpenURL is a test case that covers this change. Change-Id: I765e618f55caad791aa1fe7569a32bcc31622525 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161071 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2024-01-15[cp] Let's use our ReleaseNotesURL here, tooAndras Timar
Change-Id: Iad11921bc11d59a9f47122a3deb75cebe3aa90b6
2024-01-15[cp] add EULA button to Help - License Information... dialogGülşah Köse
Forward port of acd8acfa89d9 from distro/collabora/cp-6.0 Rewritten for weld API Change-Id: I62b9293c68059389a63e523ea5747fdb267b1a99 28a21f5831e0b2e99eb11f1c1ac2b8845c462669 Reviewed-on: https://gerrit.libreoffice.org/79110 Reviewed-by: Andras Timar <andras.timar@collabora.com> Tested-by: Andras Timar <andras.timar@collabora.com>
2024-01-13[cp] remove donate and community involvement infobarsAndras Timar
Change-Id: I37c9c76eb88dea4effa786b62755ea8738efc3e0 Reviewed-on: https://gerrit.libreoffice.org/75600 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Andras Timar <andras.timar@collabora.com>
2024-01-13[cp] Send feedback to hello@collaboraoffice.comAndras Timar
Change-Id: Ic734235426001e4aa7119476c1e6884b7c39776d
2024-01-10UnoApiTest::loadFromURL -> UnoApiTest::loadFromFileMike Kaganski
The old name was misleading (it doesn't take an URL, but a filename); also, now it's easier to grep for it - doesn't get mixed with vcl::graphic::loadFromURL. Change-Id: Ib88d2194200a6a54d2326971e0306ba39f0c7025 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161578 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> Signed-off-by: Xisco Fauli <xiscofauli@libreoffice.org> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161888 Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
2024-01-05Resolves tdf#158810 - Hide recent actions while in template modeHeiko Tietze
Change-Id: I7291cc7a634a0507bb240bf417d346e7a50f3c6a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161587 Tested-by: Jenkins Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org> (cherry picked from commit fc03109024041ea00bb62e90975e9a20a3668101) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161635 Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>