summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJustin Luth <justin_luth@sil.org>2019-07-06 07:27:16 +0300
committerCaolán McNamara <caolanm@redhat.com>2019-07-15 14:55:29 +0200
commit4109dfff009f017e8994ea0a57119e79291ca2c8 (patch)
tree9d4f84b63dc60e4a18b333b4807e3ef70728a26d
parent042496b3718f5f742b20ce7feeeab8bf9c941002 (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.cxx7
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();