summaryrefslogtreecommitdiff
path: root/sfx2/source/view
AgeCommit message (Collapse)Author
2023-06-02WaE: fix more warnings I see with gcc-13.1.1Caolán McNamara
Change-Id: I8f1087cb98991363ec78a21a90a55724ba3628ac Reviewed-on: https://gerrit.libreoffice.org/c/core/+/152466 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/152528 Tested-by: Jenkins
2023-06-02lok: accessibility event listener for focused paragraphMarco Cecchetti
LOKDocumentFocusListener keeps track of the currently focused paragraph. Also includes: Author: Andras Timar <andras.timar@collabora.com> Date: Mon May 15 22:06:10 2023 +0200 fix unused exception parameter 'e' Change-Id: Ibfee099e4e9b724648d7500b9ebb4e8ab84989b8 and: Author: Marco Cecchetti <marco.cecchetti@collabora.com> Date: Thu May 4 12:11:53 2023 +0200 lok: a11y: focused paragraph info sent to client For the currently focused paragraph the following data is notified to client: paragraph content, caret position, text selection start/end These data is kept as an instance state so the client can request such info at any time. Change-Id: Ic1a3be0d93472300b1b6a91fb0de5bad87c031aa and: Author: Marco Cecchetti <marco.cecchetti@collabora.com> Date: Sun May 7 11:52:14 2023 +0200 fixup! lok: accessibility event listener for focused paragraph It seems it was not a good idea using a unique_ptr as smart pointer for an instance of LOKDocumentFocusListener Change-Id: I8e6b0f48fee3c5db3c9b074a663f7f3fb96a601e Change-Id: I0fa400694f3129608228ade0b96e0b4e0aee87e2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/152488 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2023-05-31Resolves: tdf#109149 don't poll the Default Printer Name on every queryCaolán McNamara
We are queried on every change, so on every keystroke, and we are only using this to fill in the printername inside the label of "Print Directly (printer-name)" On Printer::GetDefaultPrinterName() is implemented with GetDefaultPrinter so don't call this excessively. 5 mins seems a reasonable refresh time. Change-Id: I71e87f26ed022241e09f9ab0eed94d09648ec9b9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/152415 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2023-05-23[API CHANGE] Add createShortCutManager function to uiconfigurationmanager.Gökay Şatır
We need to have different accelerator classes for differnt languages. This PR creates a new accelerator class for different languages. Since current code uses single instance for accelerators, i needed to add a create function. Also we now have an unordered map for different languages and modules. Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147157 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/148680 Tested-by: Miklos Vajna <vmiklos@collabora.com> Change-Id: Ia646f20b3206f430ece614fc127e8b748044e4c7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151798 Tested-by: Jenkins
2023-05-17navigator: use toggle available for all appsSzymon Kłos
Change-Id: I3136071ee943b120ebb2ad6491c91d8ebbcd6244 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151573 Tested-by: Szymon Kłos <szymon.klos@collabora.com> Reviewed-by: Szymon Kłos <szymon.klos@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151752 Tested-by: Jenkins
2023-05-15LOK: Navi-1 open/close on sidebarAttila Szűcs
Enabling Navigator sidebar in case of LOKit. Change-Id: I3a656fa12822e5866c2cd4fbf82627a88f26903a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151307 Tested-by: Szymon Kłos <szymon.klos@collabora.com> Reviewed-by: Szymon Kłos <szymon.klos@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151704 Tested-by: Jenkins
2023-05-12lok: escape notifyWindow messageSzymon Kłos
File properties dialog contains problematic characters. In lok case and nl language it was constructing incorrect message so boost JSON parser was throwing an exception and dialog was not created correctly. Change-Id: I7e81c9407fcbf57355c0890c9540ce1f828904e5 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/146900 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Henry Castro <hcastro@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/150042 Tested-by: Szymon Kłos <szymon.klos@collabora.com> Reviewed-by: Szymon Kłos <szymon.klos@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/150389 Tested-by: Jenkins
2023-04-30Use getXWeak in sfx2Mike Kaganski
Change-Id: I364f13308adf8b3257e53da2bc6576088bb958f0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/150867 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2023-04-28survive exporting to pdf without config for fuzzingCaolán McNamara
Change-Id: I229f25a8a15b21257756ecfa008b9e99681003c4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151172 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2023-04-27tdf#151715 sfx2: do not use FORCERELOAD for document stored in /tmpMichael Stahl
This does not fix the actual bug, but is a workaround for a bug somewhere in the Notebookbar code that was exposed by commit 5b5fb5e9c0580ecb70cf65882865bdaf16498fa5 "sfx2: do reload on SID_EDITDOC in SfxViewFrame::ExecReload_Impl()". For an ODF file, the Notebookbar is switched to editable by the call to SetReadOnlyUI() from ReadOnlyUIGuard, but the XLS file takes a different path and SetReadOnlyUI() is called in line 819. Here the SfxViewFrame is not yet connected to the SfxObjectShell so unsurprisingly it does not affect the UI; more surprising is that moving the call to around line 859 leads to the SfxHintId::ModeChanged event being handled in SfxViewFrame::Notify() with lots of things invalidated, but the NotebookBar is entirely unimpressed by that. Change-Id: I16f321bb3444eeae76348e20816af02938c3f46b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151089 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
2023-04-24loplugin:unnecessarygetstr extend to more std::string checkingNoel Grandin
suggested by mike kaganski Change-Id: I5f5f254142767aca45a6101abdd84a0163ca6a34 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/150936 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-04-09new loplugin:unnecessarygetstrNoel Grandin
which prevents constructing unnecessary temporaries via getStr() Change-Id: I9ca70893a10e954b5ee0e6ad6098660ee24c2bef Reviewed-on: https://gerrit.libreoffice.org/c/core/+/150170 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-04-05fix leaks when using tools::JsonWriterNoel Grandin
Specifically in sd/source/core/annotations/Annotation.cxx We seem to end up fixing leaks here often. The current tools::JsonWriter API is just very hard to use correctly. So rather return an OString, which is cheap to copy, and push that down into the LOK code. AFAIK that seems to end up requiring less code and less adhoc copying of data (specifically the queueing code in init.cxx was creating copies when converting to std::string). Ideally, we could have some special API to avoid the new strdup() calls in init.cxx, but not sure how to prevent other people from accidentally using that. Change-Id: Ia33437c1bfd9cc2d54dfb99914d1b72db20335f2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149963 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-04-02Avoid conversions between OUString and OString in VCLMike Kaganski
Standardize on OUString, which is the main internal string class. Convert from/to OUString only when communicating with respective external APIs. Removes about 200 conversions from the code. Change-Id: I96ecee7c6fd271bb76639220e96d69d2964bed26 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149930 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2023-04-01use more XVclWindowPeerNoel Grandin
Rather than using it's superclass XWindowPeer and implicitly relying on it being XVclWindowPeer and casting it everywhere. Change-Id: Icfb46f3b920d00f4a167a31803a71bbb0368d05c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149894 Tested-by: Noel Grandin <noel.grandin@collabora.co.uk> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-03-30loplugin:stringadd in sfx2Noel Grandin
when applying my upcoming patch to also consider O[U]StringBuffer Change-Id: I72c2afa0b6bddfe00fe09f34eb1b1bf2177461d1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149747 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-03-23tdf#142978 Show a11y sidebar when finding issues on PDF exportSamuel Mehrbrodt
Change-Id: I5234aca76153e1a781b7df1d3fbea8bb856af921 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149430 Tested-by: Jenkins Reviewed-by: Samuel Mehrbrodt <samuel.mehrbrodt@allotropia.de>
2023-03-18loplugin:stringadd use more O[U]StringCharNoel Grandin
Change-Id: I196e4539ad430a39415eff9d7170b33df7228230 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149062 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-03-10sw lok: notify clients about view option changesParis Oplopoios
Send a string of the view options to the kit when the view changes Change-Id: I89f65ff1d22a83a54dde35e39eb487edda0b58e1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/148078 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2023-03-07lok: form controls: rendering and mouse event forwardingMarco Cecchetti
What we got - Most controls rendered on Writer and Impress (on Calc already implemented by Tomaž Vajngerl) - Text labels rendered correctly - Mouse events forwarded to controls - Control state changed on click for Writer and Calc - Control invalidation for all apps - Fixed broken LOK_CALLBACK_MOUSE_POINTER msg - Correct pointer style when mouse is hovering over a control Need to be improved - in impress click method for a control is not executed even if the mouse event is forwarded correctly - avoid not needed control invalidations (as the one occurring on document autosaving) Change-Id: I4d5012af7f90a2c726b6b6b5b068e2be1ed5568a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/146569 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Tomaž Vajngerl <quikee@gmail.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147320 Tested-by: Jenkins Reviewed-by: Marco Cecchetti <marco.cecchetti@collabora.com>
2023-03-04check GetShellXisco Fauli
it might return nullptr Change-Id: I65b43d69f4757b6c331582ca2e256cdea01377af Reviewed-on: https://gerrit.libreoffice.org/c/core/+/148194 Tested-by: Jenkins Tested-by: Caolán McNamara <caolanm@redhat.com> Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2023-02-17SfxViewFrame* arg of SfxRequest ctor always dereferencedCaolán McNamara
change it to take a reference Change-Id: Ib9349f4c2660d297d93ee81256e7fa9873728ba3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147163 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2023-02-16SfxViewShell::GetViewFrame never returns null, change to a referenceCaolán McNamara
various null checks can be seen to be redundant and removed Change-Id: Icf49c1de4b0302795d2769a370af3abceaad0221 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147147 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2023-02-16SfxViewShell never takes a null SfxViewFrame*Caolán McNamara
Change-Id: I36f3a5c77a7fb2d3cf267184e403e6cd24dbd70b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147112 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2023-02-02Fix interchanged strings for macros disabledSamuel Mehrbrodt
Change-Id: Ie53b455506a55cf07ecade84f484c3f4c1925f8c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/146487 Tested-by: Jenkins Reviewed-by: Samuel Mehrbrodt <samuel.mehrbrodt@allotropia.de>
2023-02-02Own title for macro infobarsSamuel Mehrbrodt
Change-Id: If6ac6bb2379dfdc6080c768103e3d174c7bdc59c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/146355 Tested-by: Jenkins Reviewed-by: Samuel Mehrbrodt <samuel.mehrbrodt@allotropia.de>
2023-02-01sfx2: fix crash in SfxLokHelper::notifyAllViews(...)Aron Budea
Crashreport signature: program/libmergedlo.so SfxLokHelper::notifyAllViews(int, rtl::OString const&) sfx2/source/view/lokhelper.cxx:682 program/libmergedlo.so SfxClipboardChangeListener::ChangedContents() include/rtl/string.hxx:413 program/libmergedlo.so SfxClipboardChangeListener::LinkStubAsyncExecuteHdl_Impl(void*, void*) include/rtl/ref.hxx:128 program/libmergedlo.so ImplWindowFrameProc(vcl::Window*, SalEvent, void const*) include/rtl/ref.hxx:128 program/libmergedlo.so SvpSalInstance::ProcessEvent(SalUserEventList::SalUserEvent) Change-Id: Ibf70f42292d67a3d6cc68f579ee02f671da85acb Reviewed-on: https://gerrit.libreoffice.org/c/core/+/146150 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> (cherry picked from commit dc17158c99c8a15fbca57a9a0b0ea7178dcc5a34) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/146400 Tested-by: Jenkins Reviewed-by: Aron Budea <aron.budea@collabora.com>
2023-01-30Show infobar instead of dialog when unsigned content is foundSamuel Mehrbrodt
Follow up to f41627ab60372345be646c53d967b65be43b562f Change-Id: I67dadad0fe69e29199c5bc160af1a46cc8aafac2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/146338 Tested-by: Jenkins Reviewed-by: Samuel Mehrbrodt <samuel.mehrbrodt@allotropia.de>
2023-01-30Show infobar instead of blocking dialog when macros are not allowedSamuel Mehrbrodt
Change-Id: I45f898aaf15cb3540abff32954881186015cc6e5 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/146250 Tested-by: Jenkins Reviewed-by: Samuel Mehrbrodt <samuel.mehrbrodt@allotropia.de>
2023-01-29lok: support per-user timezoneAshod Nakashian
This adds support for user-specific timezone. When none is provided during loading, the system default is used. Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk> Change-Id: Ie863450687eb82bc475268a09c9112e9fd50020f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/144816 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Jan Holesovsky <kendy@collabora.com> (cherry picked from commit abaf8c0af1c6c7fe01276fdf2ae62419c7b0f654) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/146211 Tested-by: Jenkins Reviewed-by: Andras Timar <andras.timar@collabora.com>
2023-01-14use more VCLXPopupMenu instead of XPopupMenuNoel Grandin
which avoids a bunch of casting and makes the dependency explicit instead of implicit Change-Id: I754da72916fbbc51e7edc3c806155da34d347bd8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145472 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-12-20Async PDFExport dialog and parent methodsNickWingate
Filter dialogs are all called generically from guisaveas.cxx in GUIStoreModel() Signed-off-by: NickWingate <nick.wingate@collabora.com> Change-Id: Idfbe85c09f84d4a7cf3f00b9704d5af94868a051 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/140403 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Andras Timar <andras.timar@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/144511 Tested-by: Jenkins
2022-12-12tdf#152266 add an infobar with indicators for macro-like content in docCaolán McNamara
Show "macros" and "events" for now if we know that are present so they can be investigated by the user. There are other things which could potentially be added in the future. Change-Id: I981ee7a8e22791cd15405894f30fee659ba0b7ba Reviewed-on: https://gerrit.libreoffice.org/c/core/+/143897 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-12-09Fix hang during JunitTest_framework_complex on macOSStephan Bergmann
...when [NSSpellChecker init] is called on a non-main thread, leading to deadlock (see below). The fix is noticing that the first half of SfxFrameLoader_Impl::load and the call to SwGlobals::ensure from Writer_SwTextDocument_getImplementation both don't need to be covered by SolarMutex. Which in turn showed that the call to StartListening from the constructor of SwModule needs to be covered by the SolarMutex (which it no longer was now). The deadlock was at > thread #7, name = 'cppu_threadpool::ORequestThread' > #1: libsystem_pthread.dylib`_pthread_cond_wait > #2: Foundation`-[NSOperation waitUntilFinished] > #3: CoreFoundation`_CFXNotificationPost > #4: Foundation`-[NSNotificationCenter postNotificationName:object:userInfo:] > #5: AppKit`-[NSMenu insertItem:atIndex:] > #6: AppKit`-[NSApplication(NSServicesMenuPrivate) _fillSpellCheckerPopupButton:] > #7: AppKit`-[NSSpellChecker _fillSpellCheckerPopupButton:] > #8: AppKit`-[NSSpellChecker init] > #9: AppKit`__36+[NSSpellChecker sharedSpellChecker]_block_invoke > #10: libdispatch.dylib`_dispatch_client_callout > #11: libdispatch.dylib`_dispatch_once_callout > #12: AppKit`+[NSSpellChecker sharedSpellChecker] > #13: libMacOSXSpelllo.dylib`MacSpellChecker::getLocales at lingucomponent/source/spellcheck/macosxspell/macspellimp.mm:117:42 > #14: liblnglo.dylib`LngSvcMgr::GetAvailableSpellSvcs_Impl at linguistic/source/lngsvcmgr.cxx:969:63 > #15: liblnglo.dylib`LngSvcMgr::getAvailableServices at linguistic/source/lngsvcmgr.cxx:1395:9 > #16: liblnglo.dylib`LngSvcMgr::getAvailableLocales at linguistic/source/lngsvcmgr.cxx:1459:42 > #17: liblnglo.dylib`LngSvcMgr::UpdateAll at linguistic/source/lngsvcmgr.cxx:654:49 > #18: liblnglo.dylib`LngSvcMgr::LngSvcMgr at linguistic/source/lngsvcmgr.cxx:411:5 > #19: liblnglo.dylib`LngSvcMgr::LngSvcMgr at linguistic/source/lngsvcmgr.cxx:399:1 > #20: liblnglo.dylib`::linguistic_LngSvcMgr_get_implementation at linguistic/source/lngsvcmgr.cxx:1840:30 > #21: libuno_cppuhelpergcc3.dylib.3`decltype(com::sun::star::uno::XComponentContext*, com::sun::star::uno::Sequence<com::sun::star::uno::Any> const&)>(fp)(std::__1::forward<com::sun::star::uno::XComponentContext*>(fp0), std::__1::forward<com::sun::star::uno::Sequence<com::sun::star::uno::Any> const&>(fp0))) std::__1::__invoke<com::sun::star::uno::XInterface* (*&)(com::sun::star::uno::XComponentContext*, com::sun::star::uno::Sequence<com::sun::star::uno::Any> const&), com::sun::star::uno::XComponentContext*, com::sun::star::uno::Sequence<com::sun::star::uno::Any> const&>(com::sun::star::uno::XInterface* (*&)(com::sun::star::uno::XComponentContext*, com::sun::star::uno::Sequence<com::sun::star::uno::Any> const&), com::sun::star::uno::XComponentContext*&&, com::sun::star::uno::Sequence<com::sun::star::uno::Any> const&) > #22: libuno_cppuhelpergcc3.dylib.3`com::sun::star::uno::XInterface* std::__1::__invoke_void_return_wrapper<com::sun::star::uno::XInterface*, false>::__call<com::sun::star::uno::XInterface* (com::sun::star::uno::XComponentContext*, com::sun::star::uno::Sequence<com::sun::star::uno::Any> const&), com::sun::star::uno::XComponentContext*, com::sun::star::uno::Sequence<com::sun::star::uno::Any> const&>(com::sun::star::uno::XInterface* (*&)(com::sun::star::uno::XComponentContext*, com::sun::star::uno::Sequence<com::sun::star::uno::Any> const&), com::sun::star::uno::XComponentContext*&&, com::sun::star::uno::Sequence<com::sun::star::uno::Any> const&) > #23: libuno_cppuhelpergcc3.dylib.3`std::__1::__function::__alloc_func<com::sun::star::uno::XInterface* (*)(com::sun::star::uno::XComponentContext*, com::sun::star::uno::Sequence<com::sun::star::uno::Any> const&), std::__1::allocator<com::sun::star::uno::XInterface* (*)(com::sun::star::uno::XComponentContext*, com::sun::star::uno::Sequence<com::sun::star::uno::Any> const&)>, com::sun::star::uno::XInterface* (com::sun::star::uno::XComponentContext*, com::sun::star::uno::Sequence<com::sun::star::uno::Any> const&)>::operator(com::sun::star::uno::XComponentContext*&&, com::sun::star::uno::Sequence<com::sun::star::uno::Any> const&) > #24: libuno_cppuhelpergcc3.dylib.3`std::__1::__function::__func<com::sun::star::uno::XInterface* (*)(com::sun::star::uno::XComponentContext*, com::sun::star::uno::Sequence<com::sun::star::uno::Any> const&), std::__1::allocator<com::sun::star::uno::XInterface* (*)(com::sun::star::uno::XComponentContext*, com::sun::star::uno::Sequence<com::sun::star::uno::Any> const&)>, com::sun::star::uno::XInterface* (com::sun::star::uno::XComponentContext*, com::sun::star::uno::Sequence<com::sun::star::uno::Any> const&)>::operator(com::sun::star::uno::XComponentContext*&&, com::sun::star::uno::Sequence<com::sun::star::uno::Any> const&) > #25: libuno_cppuhelpergcc3.dylib.3`std::__1::__function::__value_func<com::sun::star::uno::XInterface* (com::sun::star::uno::XComponentContext*, com::sun::star::uno::Sequence<com::sun::star::uno::Any> const&)>::operator(com::sun::star::uno::XComponentContext*&&, com::sun::star::uno::Sequence<com::sun::star::uno::Any> const&) const > #26: libuno_cppuhelpergcc3.dylib.3`std::__1::function<com::sun::star::uno::XInterface* (com::sun::star::uno::XComponentContext*, com::sun::star::uno::Sequence<com::sun::star::uno::Any> const&)>::operator(com::sun::star::uno::XComponentContext*, com::sun::star::uno::Sequence<com::sun::star::uno::Any> const&) const > #27: libuno_cppuhelpergcc3.dylib.3`cppuhelper::ServiceManager::Data::Implementation::doCreateInstance at cppuhelper/source/servicemanager.cxx:702:13 > #28: libuno_cppuhelpergcc3.dylib.3`cppuhelper::ServiceManager::Data::Implementation::createInstance at cppuhelper/source/servicemanager.cxx:667:30 > #29: libuno_cppuhelpergcc3.dylib.3`cppuhelper::ServiceManager::createInstanceWithContext at cppuhelper/source/servicemanager.cxx:1002:36 > #30: libswlo.dylib`com::sun::star::linguistic2::LinguServiceManager::create at workdir/UnoApiHeadersTarget/offapi/normal/com/sun/star/linguistic2/LinguServiceManager.hpp:38:129 > #31: libswlo.dylib`SwLinguServiceEventListener::SwLinguServiceEventListener at sw/source/uibase/uno/dlelstnr.cxx:53:22 > #32: libswlo.dylib`SwLinguServiceEventListener::SwLinguServiceEventListener at sw/source/uibase/uno/dlelstnr.cxx:46:1 > #33: libswlo.dylib`SwModule::SwModule at sw/source/uibase/app/swmodule.cxx:161:44 > #34: libswlo.dylib`SwModule::SwModule at sw/source/uibase/app/swmodule.cxx:137:1 > #35: libswlo.dylib`std::__1::__unique_if<SwModule>::__unique_single std::__1::make_unique<SwModule, SfxObjectFactory*&, SfxObjectFactory*&, SfxObjectFactory*&> > #36: libswlo.dylib`SwDLL::SwDLL at sw/source/uibase/app/swdll.cxx:98:26 > #37: libswlo.dylib`SwDLL::SwDLL at sw/source/uibase/app/swdll.cxx:81:1 > #38: libswlo.dylib`(anonymous namespace)::SwDLLInstance::SwDLLInstance at sw/source/uibase/app/swdll.cxx:57:212 > #39: libswlo.dylib`(anonymous namespace)::SwDLLInstance::SwDLLInstance at sw/source/uibase/app/swdll.cxx:58:9 > #40: libswlo.dylib`rtl::Static<(anonymous namespace)::SwDLLInstance, (anonymous namespace)::theSwDLLInstance>::get at include/rtl/instance.hxx:399:18 > #41: libswlo.dylib`SwGlobals::ensure at sw/source/uibase/app/swdll.cxx:70:9 > #42: libswlo.dylib`::Writer_SwTextDocument_get_implementation((null)=0x000000011fde9130, args=0x000000028bb087b0) at sw/source/uibase/uno/unodoc.cxx:40:5 > #43: libuno_cppuhelpergcc3.dylib.3`decltype(com::sun::star::uno::XComponentContext*, com::sun::star::uno::Sequence<com::sun::star::uno::Any> const&)>(fp)(std::__1::forward<com::sun::star::uno::XComponentContext*>(fp0), std::__1::forward<com::sun::star::uno::Sequence<com::sun::star::uno::Any> const&>(fp0))) std::__1::__invoke<com::sun::star::uno::XInterface* (*&)(com::sun::star::uno::XComponentContext*, com::sun::star::uno::Sequence<com::sun::star::uno::Any> const&), com::sun::star::uno::XComponentContext*, com::sun::star::uno::Sequence<com::sun::star::uno::Any> const&>(com::sun::star::uno::XInterface* (*&)(com::sun::star::uno::XComponentContext*, com::sun::star::uno::Sequence<com::sun::star::uno::Any> const&), com::sun::star::uno::XComponentContext*&&, com::sun::star::uno::Sequence<com::sun::star::uno::Any> const&) > #44: libuno_cppuhelpergcc3.dylib.3`com::sun::star::uno::XInterface* std::__1::__invoke_void_return_wrapper<com::sun::star::uno::XInterface*, false>::__call<com::sun::star::uno::XInterface* (com::sun::star::uno::XComponentContext*, com::sun::star::uno::Sequence<com::sun::star::uno::Any> const&), com::sun::star::uno::XComponentContext*, com::sun::star::uno::Sequence<com::sun::star::uno::Any> const&>(com::sun::star::uno::XInterface* (*&)(com::sun::star::uno::XComponentContext*, com::sun::star::uno::Sequence<com::sun::star::uno::Any> const&), com::sun::star::uno::XComponentContext*&&, com::sun::star::uno::Sequence<com::sun::star::uno::Any> const&) > #45: libuno_cppuhelpergcc3.dylib.3`std::__1::__function::__alloc_func<com::sun::star::uno::XInterface* (*)(com::sun::star::uno::XComponentContext*, com::sun::star::uno::Sequence<com::sun::star::uno::Any> const&), std::__1::allocator<com::sun::star::uno::XInterface* (*)(com::sun::star::uno::XComponentContext*, com::sun::star::uno::Sequence<com::sun::star::uno::Any> const&)>, com::sun::star::uno::XInterface* (com::sun::star::uno::XComponentContext*, com::sun::star::uno::Sequence<com::sun::star::uno::Any> const&)>::operator(com::sun::star::uno::XComponentContext*&&, com::sun::star::uno::Sequence<com::sun::star::uno::Any> const&) > #46: libuno_cppuhelpergcc3.dylib.3`std::__1::__function::__func<com::sun::star::uno::XInterface* (*)(com::sun::star::uno::XComponentContext*, com::sun::star::uno::Sequence<com::sun::star::uno::Any> const&), std::__1::allocator<com::sun::star::uno::XInterface* (*)(com::sun::star::uno::XComponentContext*, com::sun::star::uno::Sequence<com::sun::star::uno::Any> const&)>, com::sun::star::uno::XInterface* (com::sun::star::uno::XComponentContext*, com::sun::star::uno::Sequence<com::sun::star::uno::Any> const&)>::operator(com::sun::star::uno::XComponentContext*&&, com::sun::star::uno::Sequence<com::sun::star::uno::Any> const&) > #47: libuno_cppuhelpergcc3.dylib.3`std::__1::__function::__value_func<com::sun::star::uno::XInterface* (com::sun::star::uno::XComponentContext*, com::sun::star::uno::Sequence<com::sun::star::uno::Any> const&)>::operator(com::sun::star::uno::XComponentContext*&&, com::sun::star::uno::Sequence<com::sun::star::uno::Any> const&) const > #48: libuno_cppuhelpergcc3.dylib.3`std::__1::function<com::sun::star::uno::XInterface* (com::sun::star::uno::XComponentContext*, com::sun::star::uno::Sequence<com::sun::star::uno::Any> const&)>::operator(com::sun::star::uno::XComponentContext*, com::sun::star::uno::Sequence<com::sun::star::uno::Any> const&) const > #49: libuno_cppuhelpergcc3.dylib.3`cppuhelper::ServiceManager::Data::Implementation::doCreateInstance at cppuhelper/source/servicemanager.cxx:702:13 > #50: libuno_cppuhelpergcc3.dylib.3`cppuhelper::ServiceManager::Data::Implementation::createInstance at cppuhelper/source/servicemanager.cxx:671:16 > #51: libuno_cppuhelpergcc3.dylib.3`cppuhelper::ServiceManager::createInstanceWithContext at cppuhelper/source/servicemanager.cxx:1002:36 > #52: libsfxlo.dylib`(anonymous namespace)::SfxFrameLoader_Impl::load at sfx2/source/view/frmload.cxx:668:58 > #53: libfwklo.dylib`framework::LoadEnv::impl_loadContent at framework/source/loadenv/loadenv.cxx:1160:37 > #54: libfwklo.dylib`framework::LoadEnv::start at framework/source/loadenv/loadenv.cxx:395:20 > #55: libfwklo.dylib`framework::LoadEnv::startLoading at framework/source/loadenv/loadenv.cxx:300:5 > #56: libfwklo.dylib`framework::LoadEnv::loadComponentFromURL at framework/source/loadenv/loadenv.cxx:168:14 > #57: libfwklo.dylib`framework::Desktop::loadComponentFromURL at framework/source/services/desktop.cxx:605:16 > #58: libgcc3_uno.dylib`callVirtualFunction at bridges/source/cpp_uno/gcc3_linux_aarch64/callvirtualfunction.cxx:38:5 > #59: libgcc3_uno.dylib`(anonymous namespace)::call at bridges/source/cpp_uno/gcc3_linux_aarch64/uno2cpp.cxx:293:13 > #60: libgcc3_uno.dylib`::unoInterfaceProxyDispatch at bridges/source/cpp_uno/gcc3_linux_aarch64/uno2cpp.cxx:505:17 > #61: libbinaryurplo.dylib`binaryurp::IncomingRequest::execute_throw const at binaryurp/source/incomingrequest.cxx:235:13 > #62: libbinaryurplo.dylib`binaryurp::IncomingRequest::execute const at binaryurp/source/incomingrequest.cxx:78:26 > #63: libbinaryurplo.dylib`::request at binaryurp/source/reader.cxx:85:9 > #64: libuno_cppu.dylib.3`cppu_threadpool::JobQueue::enter at cppu/source/threadpool/jobqueue.cxx:100:17 > #65: libuno_cppu.dylib.3`cppu_threadpool::ORequestThread::run at cppu/source/threadpool/thread.cxx:164:31 > #66: libuno_cppu.dylib.3`::threadFunc at include/osl/thread.hxx:189:15 > #67: libuno_sal.dylib.3`osl_thread_start_Impl at sal/osl/unx/thread.cxx:264:9 vs. > thread #1, queue = 'com.apple.main-thread' > #1: libsystem_pthread.dylib`_pthread_cond_wait > #2: libc++.1.0.dylib`std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&) [inlined] std::__1::__libcpp_condvar_wait > #3: libc++.1.0.dylib`std::__1::condition_variable::wait > #4: libvclplug_osxlo.dylib`void std::__1::condition_variable::wait<SalYieldMutex::doAcquire(unsigned int)::$_0> > #5: libvclplug_osxlo.dylib`SalYieldMutex::doAcquire at vcl/osx/salinst.cxx:215:36 > #6: libvclplug_osxlo.dylib`comphelper::SolarMutex::acquire at include/comphelper/solarmutex.hxx:86:5 > #7: libvclplug_osxlo.dylib`osl::Guard<comphelper::SolarMutex>::Guard at include/osl/mutex.hxx:142:17 > #8: libvclplug_osxlo.dylib`SolarMutexGuard::SolarMutexGuard at include/vcl/svapp.hxx:1348:11 > #9: libvclplug_osxlo.dylib`SolarMutexGuard::SolarMutexGuard at include/vcl/svapp.hxx:1348:78 > #10: libvclplug_osxlo.dylib`AquaSalTimer::callTimerCallback at vcl/osx/saltimer.cxx:140:21 > #11: libvclplug_osxlo.dylib`AquaSalTimer::handleDispatchTimerEvent at vcl/osx/saltimer.cxx:162:9 > #12: libvclplug_osxlo.dylib`AquaSalInstance::handleAppDefinedEvent at vcl/osx/salinst.cxx:406:47 > #13: libvclplug_osxlo.dylib`-[VCL_NSApplication sendEvent:] at vcl/osx/vclnsapp.mm:101:9 > #14: libvclplug_osxlo.dylib`AquaSalInstance::DoYield at vcl/osx/salinst.cxx:567:17 > #15: libvcllo.dylib`ImplYield at vcl/source/app/svapp.cxx:465:48 > #16: libvcllo.dylib`Application::Yield at vcl/source/app/svapp.cxx:532:5 > #17: libvcllo.dylib`Application::Execute at vcl/source/app/svapp.cxx:444:9 > #18: libsofficeapp.dylib`desktop::Desktop::Main at desktop/source/app/app.cxx:1587:13 > #19: libvcllo.dylib`ImplSVMain at vcl/source/app/svmain.cxx:198:35 > #20: libvclplug_osxlo.dylib`AquaSalInstance::handleAppDefinedEvent at vcl/osx/salinst.cxx:396:20 > #21: libvclplug_osxlo.dylib`-[VCL_NSApplication sendEvent:] at vcl/osx/vclnsapp.mm:101:9 > #22: AppKit`-[NSApplication _handleEvent:] > #23: AppKit`-[NSApplication run] > #24: AppKit`NSApplicationMain > #25: libvclplug_osxlo.dylib`AquaSalInstance::SVMainHook at vcl/osx/salinst.cxx:971:5 > #26: libvcllo.dylib`ImplSVMain at vcl/source/app/svmain.cxx:191:54 > #27: libvcllo.dylib`SVMain at vcl/source/app/svmain.cxx:230:12 > #28: libsofficeapp.dylib`soffice_main at desktop/source/app/sofficemain.cxx:98:12 > #29: soffice`sal_main at desktop/source/app/main.c:49:15 > #30: soffice`main at desktop/source/app/main.c:47:1 Change-Id: Ic5681f21a153e42a27680a9a6a179aff38f77fcd Reviewed-on: https://gerrit.libreoffice.org/c/core/+/143565 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2022-11-28sw: add a new .uno:TextFormFields UNO commandMiklos Vajna
Currently .uno:TextFormField can be used to insert a new fieldmark, but then there is no way to update it. Also, there is no way to update several fieldmarks at the same time. Given that the "ADDON" field type in a field mark can be used by extensions like Zotero, it's useful in case these fieldmarks can be not only inserted, but they can be also updated. This works by (in the LOK case) calling getCommandValues() with .uno:TextFormFields, and then once the client generates the new expanded values, there is no way to insert these updated expanded values into the document currently. Fix this by adding a new .uno:TextFormFields UNO command that can update all fieldmarks matching a certain prefix (looking at their field command). This allows e.g. updating all Zotero citations or the bibliography, but the API is generic to support any kind of ADDON fields. Similar to insertion, the content can be multi-paragraph, formatted HTML. This required adjusting SfxUnoAnyItem::CreateDefault(), this way an UNO command parameter can be an array of beans::PropertyValues, which is how the client can provide details of multiple fieldmarks. Change-Id: I44a1b1495ead79b92ccd0c9f6412a34cbec5d68b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/143361 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2022-11-22lok: draw Math in-place widget in sdMike Kaganski
Change-Id: If874c0227ec724fa5b1517080db252e64f9597c5 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/143121 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2022-11-22loplugin:unusedfieldsNoel Grandin
Change-Id: I4a7276ffc36b4f954fe1fa39fb5666fa184e66e1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/143016 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-11-21lok: Notify about last used row and column in CalcSzymon Kłos
We use HelperNotifyChanges::NotifyIfChangesListeners notifier so we know which cell was modified and we can correctly target only affected users. Change-Id: Iaeb68e350e85e4ed1492a7d350a790e68f2d63af Reviewed-on: https://gerrit.libreoffice.org/c/core/+/139473 Reviewed-by: Dennis Francis <dennis.francis@collabora.com> Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142994 Tested-by: Jenkins Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
2022-11-19lok: masterpage: Introduce mode property to tile renderingSzymon Kłos
This is needed for Impress which can have slides in two Edit Modes: Master Page and Page. Change-Id: I3eca0f51ba7970e793026d1ac6aa09b19b7a904b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137869 Reviewed-by: Ashod Nakashian <ash@collabora.com> Tested-by: Szymon Kłos <szymon.klos@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142969 Tested-by: Jenkins Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
2022-11-17Take in-place widget scaling into accountMike Kaganski
This is relevant when the Math OLE object is scaled in parent document (e.g., using Position and Size dialog, disabling its size protection); then the in-place editing widget uses own map mode reverting the OLE scaling; without taking that into account, mouse clicks get misplaced. Change-Id: I961fa8f3993c1b7992857c9f18d79650d078a684 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142822 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2022-11-16lok: handle mouse/keyboard events in Math embedded in CalcMike Kaganski
And extract the identical code used in all components into static SfxLokHelper methods. Change-Id: I6556b1b996936835ecfc0d59e2c1dd1ef6380db2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142793 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2022-11-16lok: handle mouse/keyboard events in Math embedded in Impress/DrawMike Kaganski
Since Impress/Draw use mm100, we need to convert object area that SfxInPlaceClient provides, which is in parent units, into twips. TODO: how would taking the units from object shell with Calc, given that it does not call SetMapUnit in ScDocShell ctor? Change-Id: I8de2088a3e0e7f9070d6c3c234b40038b6e00f15 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142777 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2022-11-10Simplify and deduplicate SfxBaseController::queryDispatchMike Kaganski
Change-Id: Iffc67ff7e0840bd2402c4ba357f45a1493ff78ee Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142543 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2022-11-10Simplify this a bitMike Kaganski
Change-Id: I6162b8f54eb685267aeebe48daa419933b6528a4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142542 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2022-11-10lok: masterpage: use EditMode as parameter in invalidation callbackSzymon Kłos
Change-Id: I3905fc9e6376ca1cef3e438e7a5f229d3720b1f5 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138961 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Henry Castro <hcastro@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142501 Tested-by: Jenkins Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
2022-11-09lok: masterpage: introduce EditMode setter and getter for ViewShellSzymon Kłos
Change-Id: I74d3307aab8fc038bd2409b5f10a2d08db885223 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138957 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Henry Castro <hcastro@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142472 Tested-by: Jenkins Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
2022-11-05lok: properly treat zoom in LokStarMathHelper::postMouseEventMike Kaganski
Previous naive implementation was dropped in commit 033a342a630dbb6329962156727e621866b77b48 (lok: use twips in Math, Wed Nov 02 11:03:08 2022 +0300). Unlike chart, Math expects twips, so PPT (pixel per twip) factor must be converted into percentage. Change-Id: Icd936e004d961c0abc25c241391d4e24c44e8c14 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142319 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2022-11-05lok: show Math cursorMike Kaganski
Change-Id: I17a449f0a0662f0433de9cad1522a090434c1e30 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142178 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2022-11-02Simplify LokStarMathHelperMike Kaganski
SfxInPlaceClient seems to have everything needed to check the OLE bounds; OTOH, the embedded Math windows/widgets lack that info. Set SmGraphicWidget MapMode to pixels when lok is active, as other windows do. Change-Id: Ib9b76a51a2d9253c20b782e8c53fbfa5dc776eca Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142130 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2022-10-28It's Frame-Controller-Model, not Model-View-ControllerMike Kaganski
Change-Id: I23a867623f77502baed6639ad3e255c06673d67f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/141957 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>