summaryrefslogtreecommitdiff
path: root/include/toolkit/awt
AgeCommit message (Collapse)Author
2018-02-08Different approach for tdf#115227Maxim Monastirsky
This reverts the previous attempt of commit 250ad9311a613d9b4e1cf5cf5fdaf33d9b326220 ("tdf#115227 svtools: suppress UNO notifications for color selectors"), in favor of a different fix. The advantage of this new approach is that is doesn't affect events other than activate/deativate, and that it covers more cases: Toolbar popups even if not based on svtools::ToolbarPopup, or if closed by clicking outside them, font name/size and paragraph style toolbar controls, notebookbar, context and main menus (for the non gtk3 native case, the gtk3 native menus left for a future investigation). For now, keep this logic inside toolkit, but ideally it should be in vcl (after reviewing vcl internal listeners). One side effect that I noticed after this change, is that there is a deactivation/activation pair which suppressed when e.g. opening a new document from the start center. But I'm not sure if that's a problem, given that the focus state of the top window as a whole wasn't changed, only its contents, and there are other APIs to track activation of document components. This happens because the source and the target windows of those events are the same, and we need to suppress this case to fix the font name/size style controls, and also the color picker after 27473d1c0f8ba3006262001cbefff33f639a19ac ("tdf#114935 Move the focus back to the document"). Otherwise we'll need to find another way to move the focus to the document w/o triggering listeners. Another case that will see a change in behavior, is document event listeners in dbaccess, as the Focus/UnFocus events there are based on top window activation/deactivation. However, I think it's a good change, as currently just opening of a toolbar popup or main/context menus there triggers those document events, making them useless. I would like to also mention here, that in fact those top window activation events never really worked as tdf#115227 expects them, as the superfluous events for at least the font name/size, style and color toolbar buttons existed already in OOo. The behavior of the color buttons changed in LO for a few years, but regressed again in the work on a real focus grabbing for floating windows starting with commit dd46727b99d4bb5135451aa7e5e1bdb197373843 ("Resolves; tdf#87120 no keyboard navigation inside floating windows"). That work also introduced superfluous events when using menus. And a note about the change in menubarwindow.cxx: When a menubar popup is closed it's deleted using the lazydelete mechanism, which reparents the popup window, so it doesn't appear anymore in the hierarchy of the document window. Moreover, I suspect that at some point the lazydelete thing will be replaced by a VclPtr mechanism, which might break this even further, so the event won't appear as coming from the popup window (which might be already disposed at this stage). So instead, temporarily set the menubar window as the current focus window, so the activation will appear as if it was coming from the menu bar window itself. Change-Id: I292232adfcbd1a31d66ce394cd2f1bf42a013ecb Reviewed-on: https://gerrit.libreoffice.org/48746 Reviewed-by: Maxim Monastirsky <momonasmon@gmail.com> Tested-by: Jenkins <ci@libreoffice.org>
2018-01-25tdf#115227 svtools: suppress UNO notifications for color selectorsMiklos Vajna
This is nominally a regression from commit 43bc3031483d172eccd72c3804e2d4fc2ef37de4 (unify color selectors, 2016-10-28), but that just changed the Writer color picker to behave the same way as the Impress one. The Impress one started to emit these events with daeed90f4586eb9533041fb89bee163a5193596c (re-base on ALv2 code. Includes:, 2012-11-15), to fix i#118707, improving accessibility. That means either the focus changes and then accessibility is happy or the focus does not change and then the UNO API client only gets events when the user actually switches to an other window. Fix the problem with suppressing UNO-level notifications for the problematic events, by moving the existing VclListenerLock to a public header and using it at two more places in svtools. This should address not just color selectors, but in general other toolbar menus / popup windows. Change-Id: If427708c5b9fe4fa49cb8f00ec04b32cb28eb391 Reviewed-on: https://gerrit.libreoffice.org/48570 Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk> Tested-by: Jenkins <ci@libreoffice.org>
2018-01-17loplugin:useuniqueptr in VCLXWindowNoel Grandin
Change-Id: Iefec174c7dc3dbd52bdb9f6d7ebe6c8c42c031e9
2018-01-17loplugin:useuniqueptr in VCLXGraphicsNoel Grandin
Change-Id: If753b871831a9954048becd0aca73769e23163ec
2017-12-07loplugin:salcall handle static methodsNoel Grandin
Change-Id: Id6820abec4b8ca8bee26d62b333fd30b42a14aec Reviewed-on: https://gerrit.libreoffice.org/46007 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-12-05loplugin:salcall fix non-virtual methodsNoel Grandin
first, since those are safer to change than virtual methods Change-Id: Ie3b624019d75ee2b793cee33b3c5f64e994e8bfe Reviewed-on: https://gerrit.libreoffice.org/45798 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-11-29loplugin:countusersofdefaultparams in include/oox..vclNoel Grandin
Change-Id: If831bce4cd1fe2c5233159b31c239b813629e0de Reviewed-on: https://gerrit.libreoffice.org/45420 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-10-20loplugin:finalclasses in toolkit,toolsNoel Grandin
Change-Id: I365d9a5057b35bf0441ac8fbfef4447a25652760 Reviewed-on: https://gerrit.libreoffice.org/43601 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-09-02support XSystemDependentWindowPeer for all toplevel windowsCaolán McNamara
Change-Id: Id79fba6956e2a97a10dcec1cab883d3665ef1628 Reviewed-on: https://gerrit.libreoffice.org/41806 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2017-07-18loplugin:constparams in toolkit,ucb,xmlhelpNoel Grandin
Change-Id: I2287bf468aae5008e25aa8b1bc0b63cff7bb1bf1 Reviewed-on: https://gerrit.libreoffice.org/40117 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-06-30loplugin:unusedfields in toolkit..xmloffNoel Grandin
Change-Id: I4964ff97e0a1735dc08c6ad204cae0b08e9ffc2c Reviewed-on: https://gerrit.libreoffice.org/39406 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-06-18remove unused osl/mutex.hxx includesJochen Nitschke
Change-Id: I3b50e45fdb99e9cd8bfda07356ee3ddb4dd0f8bb Reviewed-on: https://gerrit.libreoffice.org/38905 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Jochen Nitschke <j.nitschke+logerrit@ok.de>
2017-06-12Remove VCLExternalSolarLock and IMutex.Arnaud Versini
Next step is to remove OContextEntryGuard. Change-Id: I9460fb67fba6f3bfb3c809b730c33f38d225a64e Reviewed-on: https://gerrit.libreoffice.org/38411 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-06-05Remove all allocation of VCLExternalSolarLock.Arnaud Versini
This patch is graciously offered by Arnaud Versini. Change-Id: I3ed5e1758d09542a2ca0533e3f4a6ceb2dbb6346 Reviewed-on: https://gerrit.libreoffice.org/38404 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-05-23remove VCLExternalSolarLock* members from ..Jochen Nitschke
.. classes with OAccessibleContextHelper base. Change-Id: I3187e88bf485e78fb78550870a87db29d958dbc0 Reviewed-on: https://gerrit.libreoffice.org/37948 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Jochen Nitschke <j.nitschke+logerrit@ok.de>
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-04-05teach constantparam plugin to find always on and always off bitmask valuesNoel Grandin
Change-Id: If56a483494bd3d7feb3fa67c01000dddd0d34421 Reviewed-on: https://gerrit.libreoffice.org/36085 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-02-09tdf#105672 framework managed menu buttonMaxim Monastirsky
This adds a menu button that can use a popup menu controller to manage its menu. It supports 2 cases: - Use any controller that is registered in Controller.xcu, by specifing its .uno command. - Manage an arbitrary popup menu with MenuBarManager (assuming its items have proper .uno commands in their MenuItemData::aCommandStr). It means that a menu that was defined in a .ui file, can be used inside that .ui file without any additional code. This commit uses the new control to fix some currently non-working buttons in Calc's Notebookbar (but there are more that can be fixed the same way). It's not clear how long we will continue to use buttons (instead of toolboxes) for the Notebookbar, but hopefully this control will be useful in other places too. Change-Id: Ie00cde7cd7e39948948960ca2eff76e9db837109 Reviewed-on: https://gerrit.libreoffice.org/34103 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Maxim Monastirsky <momonasmon@gmail.com>
2017-02-06Typo: s/dependend/dependent/iTor Lillqvist
Change-Id: If02798894ad6f0e0442ed60aaec6eca40e6dcb61
2017-01-26Remove dynamic exception specificationsStephan Bergmann
...(for now, from LIBO_INTERNAL_CODE only). See the mail thread starting at <https://lists.freedesktop.org/archives/libreoffice/2017-January/076665.html> "Dynamic Exception Specifications" for details. Most changes have been done automatically by the rewriting loplugin:dynexcspec (after enabling the rewriting mode, to be committed shortly). The way it only removes exception specs from declarations if it also sees a definition, it identified some dead declarations-w/o-definitions (that have been removed manually) and some cases where a definition appeared in multiple include files (which have also been cleaned up manually). There's also been cases of macro paramters (that were used to abstract over exception specs) that have become unused now (and been removed). Furthermore, some code needed to be cleaned up manually (avmedia/source/quicktime/ and connectivity/source/drivers/kab/), as I had no configurations available that would actually build that code. Missing @throws documentation has not been applied in such manual clean-up. Change-Id: I3408691256c9b0c12bc5332de976743626e13960 Reviewed-on: https://gerrit.libreoffice.org/33574 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2017-01-19New loplugin:dynexcspec: Add @throws documentation, toolkitStephan Bergmann
Change-Id: I73b7408b92ed13d5d23e054f27c5236de67f1ce4
2017-01-19new loplugin: useuniqueptr: sot..toolsNoel Grandin
Change-Id: Ided435d016ae28e7c3f2726e41eedd981572ae10 Reviewed-on: https://gerrit.libreoffice.org/33263 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
2016-12-19ScrollableWrapper -> ScrollableDialogNoel Grandin
no point in having a template and a virtual base class when it's only used for one type Change-Id: Idb1a1a551064cc10896eff33652038eb5be0297e Reviewed-on: https://gerrit.libreoffice.org/32041 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2016-12-07tdf#88206 replace cppu::WeakImplHelper* in toolkitJochen Nitschke
Change-Id: I89713755023ea003559cc76fb77eb97de2135cae Reviewed-on: https://gerrit.libreoffice.org/31696 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
2016-12-06cleanup unused includes (related to tdf#88206)Jochen Nitschke
cppuhelper/compbase*.hxx and cppuhelper/implbase*.hxx compbase*.hxx includes implbase*.hxx replace compbase*.hxx if only implbase*.hxx stuff is used. Change-Id: I631a20aee411c6a32ffcf470f6e392621755f995 Reviewed-on: https://gerrit.libreoffice.org/31686 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
2016-11-24vcl makes no use of menu Get/Set DefaultItemCaolán McNamara
this is exposed through uno however, so move it into VCLXMenu to continue to support it doing nothing of great value there Change-Id: I6888e61cbec85faa2d1fcca8731ab42023e594c6
2016-11-07loplugin:unnecessaryvirtual in test..vbahelperNoel Grandin
Change-Id: I0e110af6eab798e11f96d0f7d282d59440d91965 Reviewed-on: https://gerrit.libreoffice.org/30649 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
2016-10-26loplugin:expandablemethods in toolkit..toolsNoel Grandin
Change-Id: I7221bf131d28804ee93474b11973bbc066cc2764 Reviewed-on: https://gerrit.libreoffice.org/30268 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2016-10-13loplugin:unnecessaryoverrideNoel Grandin
Change-Id: I08c55a3023ec2e8990098eeb60e91cd18556e7ae Reviewed-on: https://gerrit.libreoffice.org/29656 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
2016-10-05Remove _TYPED suffix from tools/link.hxx macrosStephan Bergmann
...which was introduced with 3ead3ad52f9bb2f9d1d6cf8dfc73a0a25e6778ed "Gradually typed Link" to distinguish the new, typed versions from the old, untyped ones, but is no longer necessary since 382eb1a23c390154619c385414bdbe6f6e461173 "remove untyped Link<>" removed the old versions. Change-Id: I494025df486a16a45861fcd8192dfe0275b1103c
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-09-01std::list<sal_uInt16> -> vectorNoel Grandin
Change-Id: Ic08ac3fcb750ceff1f5b3201d4a3151ad567aa1f
2016-07-27improve passstuffbyref return analysisNoel Grandin
Change-Id: I4258bcc97273d8bb7a8c4879fac02a427f76e18c Reviewed-on: https://gerrit.libreoffice.org/27317 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2016-06-23tdf#97527 - vcl: reference-count MenuNoel Grandin
some places are marked with "dodgy"- need to check those to see what is going on, because they are leaving dangling pointers behind in the Menu class Change-Id: I41d5c7c0fec2f70ce9e3ffdc48cd03d26c0a869b Reviewed-on: https://gerrit.libreoffice.org/26516 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2016-04-14loplugin:passstuffbyref in toolkitNoel Grandin
Change-Id: I0f44beaec29a24e81e3c3ccace00013091eeae92
2016-02-09Remove excess newlinesChris Sherlock
A ridiculously fast way of doing this is: for i in $(pcregrep -l -M -r --include='.*[hc]xx$' \ --exclude-dir=workdir --exclude-dir=instdir '^ {3,}' .) do perl -0777 -i -pe 's/^ {3,}/ /gm' $i done Change-Id: Iebb93eccbee9e4fc5c4380474ba595858a27ac2c Reviewed-on: https://gerrit.libreoffice.org/22224 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Chris Sherlock <chris.sherlock79@gmail.com>
2016-01-27Unwind trivial AccessibleExtendedComponentHelper_BASE typedefsStephan Bergmann
Change-Id: I74b30cba1359045873a3d7a3f0e72f857ffa0ed0
2016-01-25InterfaceContainer2 with vector instead of SequenceNoel Grandin
create an InterfaceContainer2 class to replace InterfaceContainer. It uses a std::vector instead of a Sequence for the mutable listener list, which provides far better performance. Switch all our internal use-sites to the new class. Change-Id: I6b56cfa511ded2395faa22e68fab3b2f16c3cb88
2016-01-05tdf#94715 - ensure we remove ourselves from the same event source.Michael Meeks
Seemingly event removal was not occuring; also clean up historic duplication of UNO and C++ references using rtl::Reference. Change-Id: I56dfb76501929886f70495804670f8c4f70e796b Reviewed-on: https://gerrit.libreoffice.org/21088 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
2015-11-25loplugin:unusedfields in include/toolkit,include/toolsNoel Grandin
Change-Id: I22966b66b1b8e4dff2e565de456f21a668f33f28
2015-11-10loplugin:nullptr (automatic rewrite)Stephan Bergmann
Change-Id: Ied9204441c07f1f6a6026c8c1a2fa21b93b98e1a
2015-10-27don't allocate uno::Reference on the heapNoel Grandin
There is no point, since it's the size of a pointer anyway (found by temporarily making the new operator in uno::Reference deleted). Change-Id: I62a8b957fef9184f65d705600acfdab4116dcb34 Reviewed-on: https://gerrit.libreoffice.org/19603 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2015-10-23com::sun::star->css in include/sot to include/typelibNoel Grandin
Change-Id: I9cd92b53370a6b6018d2f7c648890f9c014a27de
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-21convert Link<> to typedNoel Grandin
Change-Id: If3e2b00092440ebd42ae5b73ae2b0e44c3702683
2015-09-20convert Link<> to typedNoel Grandin
Change-Id: I10b050dc4aae45e646761a82520caa96969bc511 Reviewed-on: https://gerrit.libreoffice.org/18700 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2015-09-11convert Link<> to typedNoel Grandin
and remove unused maChildEventListeners Change-Id: I845a9af608c3429cf9ccb0e8041f24f423839513
2015-09-04convert Link<> to typedNoel Grandin
Change-Id: I2136c3db2742afcb4722f69297276bea1e0119f4 Reviewed-on: https://gerrit.libreoffice.org/18306 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2015-07-31toolkit: replace boost::function with std::functionMichael Stahl
Change-Id: I4bf5b2aab1dd76e596c191ae2eec8eb18005b914