diff options
author | Justin Luth <justin_luth@sil.org> | 2019-07-06 07:27:16 +0300 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2019-07-15 14:55:29 +0200 |
commit | 4109dfff009f017e8994ea0a57119e79291ca2c8 (patch) | |
tree | 9d4f84b63dc60e4a18b333b4807e3ef70728a26d | |
parent | 042496b3718f5f742b20ce7feeeab8bf9c941002 (diff) |
Revert "tdf#108687 vcl: always enable tabstop on radio buttons"
This reverts LO 6.2 commit f2cd1c3c7cce2699d1341f726fc90cf30b52612c
because it caused regression tdf#125609.
There are places where radio-groups are not properly defined,
and things are a big mess.
-about 4 levels of radio buttons are created.
-the last level does not do grouping properly.
-the tab order is defined too early, before all
the controls are fully made.
-this code is repeated for EVERY control added.
Already reverted in 6.2, this also reverts 6.3
because after looking again I don't see any way
out of this, short of rewriting all of the old code.
This can be a fairly serious regression, because the value
of the radio buttons can change just by tabbing around.
Leaving the commit in place for master, so that I can give it
one more try before completely giving up.
Change-Id: Ic62fd7bb50e67647703cba3796f6d11ffb797eb5
Reviewed-on: https://gerrit.libreoffice.org/75157
Tested-by: Jenkins
Reviewed-by: Justin Luth <justin_luth@sil.org>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
-rw-r--r-- | vcl/source/control/button.cxx | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/vcl/source/control/button.cxx b/vcl/source/control/button.cxx index 8469407dfc57..1aa58877ad6d 100644 --- a/vcl/source/control/button.cxx +++ b/vcl/source/control/button.cxx @@ -1856,7 +1856,12 @@ WinBits RadioButton::ImplInitStyle( const vcl::Window* pPrevWindow, WinBits nSty (!pPrevWindow || (pPrevWindow->GetType() != WindowType::RADIOBUTTON)) ) nStyle |= WB_GROUP; if ( !(nStyle & WB_NOTABSTOP) ) - nStyle |= WB_TABSTOP; + { + if ( IsChecked() ) + nStyle |= WB_TABSTOP; + else + nStyle &= ~WB_TABSTOP; + } if ( IsChecked() && IsRadioCheckEnabled() ) ImplUncheckAllOther(); |