summaryrefslogtreecommitdiff
path: root/include/sfx2/shell.hxx
AgeCommit message (Collapse)Author
2024-06-28tdf#33603: fix notespane (side/tool)bar interactionsSarper Akdemir
Introduces OverridingShells that when set, makes the view act like the MainViewShell. The main use case is having more then one ViewShell in a single window, where context (toolbars, sidebars etc.) can jump in between different ViewShells. Uses OverridingShells to enable NotesPane to react ToolBarShells. Accessing the functionality of ToolBarShells without the previous hacks with slot forwarding. Change-Id: Icc9721d7f54097025bc9dc7ef7069aed856e6d96 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169658 Tested-by: Jenkins Reviewed-by: Sarper Akdemir <sarper.akdemir@allotropia.de>
2024-06-04sfx2: use SAL_RET_MAYBENULL in GetDispatcher() and GetFrame()Xisco Fauli
Change-Id: Ic9876dbdd0dc0ce887a6eb135bd411f8e3dc9e12 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168288 Tested-by: Jenkins Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2023-12-21Remove DeleteItemOnIdlexArmin Le Grand (allotropia)
There are some CrashReports in 7.6 which have DeleteItemOnIdle on the stack, but there is nothing reproducable. So I took a look... I first thought it's a MCGR regression, due to classes on the stack. But the Item involved is just random, can happen with any Item. Then I thought it may have to do with ITEM refactorings, but it happens with DeleteItemOnIdle involved, so also not the case. I already saw DeleteItemOnIdle when doing these and qualified as 'hack' in the way. already It is only on Windows and DeleteItemOnIdle is involved. This again (took a deeper look now) is an old hack to keep an SfxPoolItem 'alive' for some 'time'. For that, it triggers an async reschedule which then deletes the Item when being called. If the Item will be used after that is pure coincidence - seems to work in most cases. It seems as if for Windows the timing slightly changed for some scenarios, so a reschedule is too early. This can happen with this hack anytime. DeleteItemOnIdle is used in scenarios where SfxPoolItem* is e.g. returned, but is *not* anchored, so e.g. not member of an SfxItemSet. Or in short: Lifetime is not safe. DeleteItemOnIdle exists since 1st import, but was changed to AsyncEvent ca. 4 months ago (see 57145acf9ec47c23e307b7a5c0029d21d937cc35), so that may have caused it. It is possible that these errors happen on Windows since then. Before something more complicated was used to delete it late, but surely also not really safe. Due to ITEM refactor I have the knowledge/tooling to solve this. It will not be a 1-5 lines fix, but it is a hack and in the way for further ITEM refactor anyways. What we have nowadays is a SfxPoolItemHolder -> it's like an SfxItemSet for a single Item. It safely holds/ controls the lifetime of an SfxPoolItem. It is already used in quite some places. It helps to solve many hacks, also the ones putting Items directly to the Pool - due to there never was an alternative for that. In principle the ItemPool/ItemSet/Item paradigm was never complete without SfxPoolItemHolder. Thus I started to fix that (and remove that hack for good, sooo many changes over the years, sigh), but as said is not straightforward. Will have to change retvals of involved stuff to SfxPoolItemHolder - it's just two pointers and designed to be copied (one is a Pool, needed to cleanup when destructing). CopyConstruct/destroy just counts the RefCnt up/down, so cheap. 1st version compiling, let's check on gerrit... Corrected one error in QueryState for securitypage, also added some security features/asserts. Change-Id: Ida49fd35ca88ead84b11d93e18b978cb9e395090 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161083 Tested-by: Jenkins Reviewed-by: Armin Le Grand <Armin.Le.Grand@me.com>
2021-09-13sw: prefix members of SwChapterNumRules, SwDBConfig, SwGlossaryList and ...Miklos Vajna
... SwModule See tdf#94879 for motivation. Change-Id: I0bf6d2cf5fdaed76eadc801d654a2cea7700f046 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/122018 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2021-07-21can pass SfxItemSet around by value in SfxShellNoel Grandin
Change-Id: I80ee25c56da437d778e11f2dab3d07845ebd9597 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119274 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-03-18inline some tiny sfx2 functionsNoel
Change-Id: I960d479d18bdd29fc14dd39649330d05fcdc0010 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/112664 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-10-06loplugin:const& make some params and methods constNoel
Change-Id: I2973128a9c6c53187e1da400d1a5df763d515596 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/104020 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-09-02Fix of an idAndrea Gelmini
Sorry, made a mistake here: https://gerrit.libreoffice.org/c/core/+/101801 Change-Id: I8000041891119b81c16ec38c5be243842c2ac37b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/101885 Tested-by: Jenkins Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2020-09-01Fix typo in codeAndrea Gelmini
It passed "make check" on Linux Change-Id: I8336c2a639a1d45c8370fd13204896f3f1494b4f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/101801 Tested-by: Jenkins Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2020-03-29Fix is_typed_flags for SfxShellFeature (sfx2/shell)Julien Nabet
Since remove of FormTBMoreControls (0x800) https://cgit.freedesktop.org/libreoffice/core/commit/?id=00f96e88a7c6feea98d446e82a2718c5aae6256c author Roman Kuznetsov <antilibreoffice@gmail.com> 2019-03-13 19:18:49 +0100 committer Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de> 2019-03-14 08:52:29 +0100 commit 00f96e88a7c6feea98d446e82a2718c5aae6256c (patch) tree 9bff711b6e7b70ede72cd6a9f913a72ac237981e parent c196d70337f6b755cfc4c34beda05554c6fab114 (diff) tdf#112411 Remove all that remains of the More controls toolbars Change-Id: I90bb25b2033374498d4e3306651c4b4024154739 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/91313 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-07-20Fix typoAndrea Gelmini
Change-Id: I54359ad39a86a40780e884ae0d9ce5b64ff1966b Reviewed-on: https://gerrit.libreoffice.org/75771 Tested-by: Jenkins Reviewed-by: Andrea Gelmini <andrea.gelmini@gelma.net>
2019-04-01tdf#42949 Fix IWYU warnings in include/sfx2/[sS]*Gabor Kelemen
Found with bin/find-unneeded-includes Only removal proposals are dealt with here. Change-Id: I4a3baffa8944b522b16b50975185759081662020 Reviewed-on: https://gerrit.libreoffice.org/69945 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2019-03-14tdf#112411 Remove all that remains of the More controls toolbarsRoman Kuznetsov
Change-Id: I82a348c7be067e777dced15dd014b8139cc9b1dc Reviewed-on: https://gerrit.libreoffice.org/69224 Tested-by: Jenkins Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
2018-10-24remove more rtl::OUString and OString prefixesNoel Grandin
which seem to have snuck back in since the great rounds of removals. Change-Id: I85f7f5f4801c0b48dae8b50f51f83595b286d6a1 Reviewed-on: https://gerrit.libreoffice.org/62229 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-08-29Fix typo: s/an other/another/gAndrea Gelmini
Change-Id: Ifd83affcb16209f4134c725640fbd95077c8ab0f Reviewed-on: https://gerrit.libreoffice.org/59099 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2018-07-13merge IUndoManager into SfxUndoManagerNoel Grandin
SfxUndoManager is the only implementation of the IUnderManager "interface", and it lives in the same header. Plus this way we can get rid of some covariant parameters, which will make using std::unique_ptr easier. Change-Id: I6661b9876b18da830bead78794d237886cd3c5c9 Reviewed-on: https://gerrit.libreoffice.org/57317 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-06-17tdf#42949 Add a class declaration to include/sfx2/shell.hxxGabor Kelemen
This is necessary to not get IWYU warnings or build errors where SFX_DECL_INTERFACE is used Also remove an earlier workaround in sd Change-Id: I4cc86f7ad0c83aeaae225ee05af34fa49ba67e73 Reviewed-on: https://gerrit.libreoffice.org/55955 Tested-by: Jenkins Reviewed-by: Jochen Nitschke <j.nitschke+logerrit@ok.de>
2018-05-25no need declare these tag structs separatelyNoel Grandin
Change-Id: I00f336ee4eced431155c79bee6e2373e145ae95c Reviewed-on: https://gerrit.libreoffice.org/54780 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-04-19sw lok: Accept / reject change is always enabled in the context menuTamás Zolnai
Use conditional fastcall for allow executing these two uno commands even if there is no tracked changes at the cursor position instead of enable the menu slots unconditionally. See also: b6011f07254f8003929320ad842d8d09daca0e09 Change-Id: Iaf8a8082961cd174c038fc021d2c41fb7cb97bff Reviewed-on: https://gerrit.libreoffice.org/53148 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Tamás Zolnai <tamas.zolnai@collabora.com>
2018-02-03more TypedWhichId in SfxShell and SfxTabDialogNoel Grandin
and remove some unnecessary local copies of pool items Change-Id: Ifdac8d84658fd4b803267038592d7da370e23a0d Reviewed-on: https://gerrit.libreoffice.org/49138 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-01-12More loplugin:cstylecast: sfx2Stephan Bergmann
auto-rewrite with <https://gerrit.libreoffice.org/#/c/47798/> "Enable loplugin:cstylecast for some more cases" plus solenv/clang-format/reformat-formatted-files Change-Id: Ia3bed56999f3d684f706ce0bd5be8a2269b06d22
2017-07-21loplugin:constparams in sfx2Noel Grandin
Change-Id: Id982c8fb5654433e9db10e2da6a86a6c8d90b9b4 Reviewed-on: https://gerrit.libreoffice.org/40261 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-07-21migrate to boost::gettextCaolán McNamara
* all .ui files go from <interface> to <interface domain="MODULE"> e.g. vcl * all .src files go away and the english source strings folded into the .hrc as NC_("context", "source string") * ResMgr is dropped in favour of std::locale imbued by boost::locale::generator pointed at matching MODULE .mo files * UIConfig translations are folded into the module .mo, so e.g. UIConfig_cui goes from l10n target to normal one, so the res/lang.zips of UI files go away * translation via Translation::get(hrc-define-key, imbued-std::locale) * python can now be translated with its inbuilt gettext support (we keep the name strings.hrc there to keep finding the .hrc file uniform) so magic numbers can go away there * java and starbasic components can be translated via the pre-existing css.resource.StringResourceWithLocation mechanism * en-US res files go away, their strings are now the .hrc keys in the source code * remaining .res files are replaced by .mo files * in .res/.ui-lang-zip files, the old scheme missing translations of strings results in inserting the english original so something can be found, now the standard fallback of using the english original from the source key is used, so partial translations shrink dramatically in size * extract .hrc strings with hrcex which backs onto xgettext -C --add-comments --keyword=NC_:1c,2 --from-code=UTF-8 --no-wrap * extract .ui strings with uiex which backs onto xgettext --add-comments --no-wrap * qtz for gettext translations is generated at runtime as ascii-ified crc32 of content + "|" + msgid * [API CHANGE] remove deprecated binary .res resouce loader related uno apis com::sun::star::resource::OfficeResourceLoader com::sun::star::resource::XResourceBundleLoader com::sun::star::resource::XResourceBundle when translating strings via uno apis com.sun.star.resource.StringResourceWithLocation can continue to be used Change-Id: Ia2594a2672b7301d9c3421fdf31b6cfe7f3f8d0a
2017-06-14Let CreateItemSet return unique_ptrStephan Bergmann
...and address resulting loplugin:useuniqueptr Change-Id: Ia79eb8d59ce5092b2d93b656eab687096baedf17
2017-04-25tools: svstream.hxx needs only errcode.hxx & not errinf.hxxChris Sherlock
Change-Id: Ia28e35ae5af4f601e9a586a3deffbcd61702b0ca Reviewed-on: https://gerrit.libreoffice.org/36896 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Chris Sherlock <chris.sherlock79@gmail.com>
2017-03-27create SfxInterfaceId o3tl::strong_intNoel Grandin
Change-Id: Ie52f63382a9fb36f9a472801be012b140bfb51f6 Reviewed-on: https://gerrit.libreoffice.org/35722 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-03-25Fix typosAndrea Gelmini
Change-Id: I998e9b2ad8ebdcc983239192cb61f6689e378ad9 Reviewed-on: https://gerrit.libreoffice.org/35633 Reviewed-by: Julien Nabet <serval2412@yahoo.fr> Tested-by: Julien Nabet <serval2412@yahoo.fr>
2017-03-23remove unused helpid in SfxShellNoel Grandin
Unused since commit 2c8fe2e737b84ecd3dbac36a4fe6bd061bbd3bae "update unusedmethods plugin to deal with constructors" where I removed a unused SfxDockingWindow constructor. And in that case, the helpid was only being used to assign the window a UniqueId. Change-Id: I148e424424fcf08449440b83a8600071b39d7a07 Reviewed-on: https://gerrit.libreoffice.org/35554 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-03-22create SfxDisableFlags enumNoel Grandin
Change-Id: Ib59c7886017247977b916a8e140853fb8310582f Reviewed-on: https://gerrit.libreoffice.org/35514 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-03-19TyposJulien Nabet
Change-Id: I13020539fe121151e884a90d72d47788fb3ae65c Reviewed-on: https://gerrit.libreoffice.org/35436 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2017-02-15drop unused SwChildWindowMailmerge from SfxShellFeature enumNoel Grandin
Change-Id: Ica64d75986877bc0b2fc3bafb092457396fb8e27
2016-11-24convert SFX_VISIBILITY constants to scoped enumNoel Grandin
* split the position and the flags information * remove unused DESKTOP constant Change-Id: Ibfccb44c7567e89d4527bfd36b3915a73682e6e2
2016-09-14put all SfxShell feature flags in one typed_flags classJochen Nitschke
make values unique across modules. check if flag used in correct module. Change-Id: I656ffd3d527dd895777e14e1cc933c8b9b3f6e46 Reviewed-on: https://gerrit.libreoffice.org/28906 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
2016-09-13loplugin:override: No more need for the "MSVC dtor override" workaroundStephan Bergmann
The issue of 362d4f0cd4e50111edfae9d30c90602c37ed65a2 "Explicitly mark overriding destructors as 'virtual'" appears to no longer be a problem with MSVC 2013. (The little change in the rewriting code of compilerplugins/clang/override.cxx was necessary to prevent an endless loop when adding "override" to OOO_DLLPUBLIC_CHARTTOOLS virtual ~CloseableLifeTimeManager(); in chart2/source/inc/LifeTime.hxx, getting stuck in the leading OOO_DLLPUBLIC_CHARTTOOLS macro. Can't remember what that isAtEndOfImmediateMacroExpansion thing was originally necessary for, anyway.) Change-Id: I534c634504d7216b9bb632c2775c04eaf27e927e
2016-08-12loplugin:unusedenumconstants in forms..sotNoel Grandin
Change-Id: Ic445e1bdd012c32ef7d84aec9df908467c3296a7 Reviewed-on: https://gerrit.libreoffice.org/28055 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2016-05-24tdf#89329: use unique_ptr for pImpl in shellXisco Fauli
Change-Id: Ie925d6c47d718ef46349c11b7450b1f2c1a93c21 Reviewed-on: https://gerrit.libreoffice.org/25318 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2016-01-13resolve TODO, remove SVVERB_SHOWMichael Stahl
Change-Id: I10148330f1a356dbd423af98267c25d7128c3a86
2016-01-13loplugin:unusedmethods unused return value in include/sfx2Noel Grandin
Change-Id: Id4017bdfe18f8224d28a9f787865c7a880aeeed8
2016-01-10Fix typosAndrea Gelmini
Change-Id: I9a5940027423ff0791fa7da0b79b617412ce6b86 Reviewed-on: https://gerrit.libreoffice.org/21209 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
2015-11-115th step to remove tools/rtti.hxxOliver Specht
tools/rtti.hxx removed completed the interface of some Sdr.* Items and removed pseudo items Change-Id: I0cdcd01494be35b97a27d5985aa908affa96048a Reviewed-on: https://gerrit.libreoffice.org/19837 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Oliver Specht <oliver.specht@cib.de>
2015-11-10loplugin:nullptr (automatic rewrite)Stephan Bergmann
Change-Id: I7213b49b09ddcb00841aa5f63343baeab0e65fa4
2015-10-23com::sun::star->css in include/linguistic to include/sfx2Noel Grandin
Change-Id: Id69e293fda98ee6cf2cc3d3296a0cd2e06bd847e Reviewed-on: https://gerrit.libreoffice.org/19527 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2015-10-12Replace "SAL_OVERRIDE" with "override" in LIBO_INTERNAL_ONLY codeStephan Bergmann
Change-Id: I2ea407acd763ef2d7dae2d3b8f32525523ac8274
2015-10-12Replace "SAL_DELETED_FUNCTION" with "= delete" in LIBO_INTERNAL_ONLY codeStephan Bergmann
Change-Id: I328ac7a95ccc87732efae48b567a0556865928f3
2015-09-30Fix typosAndrea Gelmini
Change-Id: Id66432ef80fc2963fd2cbc6fad5d8e135e8975b0 Reviewed-on: https://gerrit.libreoffice.org/18956 Reviewed-by: Oliver Specht <oliver.specht@cib.de> Tested-by: Oliver Specht <oliver.specht@cib.de>
2015-07-16loplugin:unusedmethods sfx2(part2)Noel Grandin
Change-Id: I82223b72ddb6a9df1ee52a300b083002234602dc Reviewed-on: https://gerrit.libreoffice.org/17075 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2015-07-16loplugin:unusedmethods sfx2Noel Grandin
Change-Id: I98c455d89f76fbcacf74929a4e8775b4da697f62 Reviewed-on: https://gerrit.libreoffice.org/17069 Reviewed-by: Noel Grandin <noelgrandin@gmail.com> Tested-by: Noel Grandin <noelgrandin@gmail.com>
2015-07-03Fix typosAndrea Gelmini
Change-Id: Ie2bbe020fc6e3a4a4f913208c245f395849bb9ee Reviewed-on: https://gerrit.libreoffice.org/16708 Reviewed-by: Michael Stahl <mstahl@redhat.com> Tested-by: Michael Stahl <mstahl@redhat.com>
2015-07-03typo: therfore -> thereforeAndras Timar
Change-Id: I9dcc0ce882dfd533d98a4f71625bb85e44084283
2015-06-15Fix typosAndrea Gelmini
Change-Id: Id05ea8cf8aed878bedfe73c274df3c67b64bad37 Reviewed-on: https://gerrit.libreoffice.org/16263 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>