Age | Commit message (Collapse) | Author |
|
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>
|
|
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>
|
|
Change-Id: Iefec174c7dc3dbd52bdb9f6d7ebe6c8c42c031e9
|
|
Change-Id: If753b871831a9954048becd0aca73769e23163ec
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
.. 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>
|
|
Change-Id: Ia28e35ae5af4f601e9a586a3deffbcd61702b0ca
Reviewed-on: https://gerrit.libreoffice.org/36896
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Chris Sherlock <chris.sherlock79@gmail.com>
|
|
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>
|
|
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>
|
|
Change-Id: If02798894ad6f0e0442ed60aaec6eca40e6dcb61
|
|
...(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>
|
|
Change-Id: I73b7408b92ed13d5d23e054f27c5236de67f1ce4
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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
|
|
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>
|
|
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>
|
|
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>
|
|
...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
|
|
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
|
|
Change-Id: Ic08ac3fcb750ceff1f5b3201d4a3151ad567aa1f
|
|
Change-Id: I4258bcc97273d8bb7a8c4879fac02a427f76e18c
Reviewed-on: https://gerrit.libreoffice.org/27317
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
|
|
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>
|
|
Change-Id: I0f44beaec29a24e81e3c3ccace00013091eeae92
|
|
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>
|
|
Change-Id: I74b30cba1359045873a3d7a3f0e72f857ffa0ed0
|
|
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
|
|
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>
|
|
Change-Id: I22966b66b1b8e4dff2e565de456f21a668f33f28
|
|
Change-Id: Ied9204441c07f1f6a6026c8c1a2fa21b93b98e1a
|
|
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>
|
|
Change-Id: I9cd92b53370a6b6018d2f7c648890f9c014a27de
|
|
Change-Id: I2ea407acd763ef2d7dae2d3b8f32525523ac8274
|
|
Change-Id: I328ac7a95ccc87732efae48b567a0556865928f3
|
|
Change-Id: If3e2b00092440ebd42ae5b73ae2b0e44c3702683
|
|
Change-Id: I10b050dc4aae45e646761a82520caa96969bc511
Reviewed-on: https://gerrit.libreoffice.org/18700
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
|
|
and remove unused maChildEventListeners
Change-Id: I845a9af608c3429cf9ccb0e8041f24f423839513
|
|
Change-Id: I2136c3db2742afcb4722f69297276bea1e0119f4
Reviewed-on: https://gerrit.libreoffice.org/18306
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
|
|
Change-Id: I4bf5b2aab1dd76e596c191ae2eec8eb18005b914
|