From 52f2a8b88f673aafc21c84e528e0e8cae9574508 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=BDeljan=20Rikalo?= Date: Sat, 28 Aug 2021 20:03:54 +0200 Subject: [PATCH] Qt,Qt5: Fixed menu radio items. issue #37741 --- lcl/interfaces/qt/qtwsmenus.pp | 8 ++++++++ lcl/interfaces/qt5/qtwsmenus.pp | 8 ++++++++ 2 files changed, 16 insertions(+) diff --git a/lcl/interfaces/qt/qtwsmenus.pp b/lcl/interfaces/qt/qtwsmenus.pp index b26dff1599..8f9f3b525c 100644 --- a/lcl/interfaces/qt/qtwsmenus.pp +++ b/lcl/interfaces/qt/qtwsmenus.pp @@ -115,6 +115,14 @@ begin begin Result.setText(AMenuItem.Caption{%H-}); Result.setEnabled(AMenuItem.Enabled); + + {issue #37741} + if AMenuItem.RadioItem and (AMenuItem.Count = 0) and (AMenuItem.GroupIndex = 0) then + begin + if AMenuItem.GroupIndex = 0 then + AMenuItem.GroupIndex := 1; + end; + Result.setCheckable(AMenuItem.RadioItem or AMenuItem.ShowAlwaysCheckable); Result.BeginUpdate; Result.setChecked(AMenuItem.Checked); diff --git a/lcl/interfaces/qt5/qtwsmenus.pp b/lcl/interfaces/qt5/qtwsmenus.pp index 660fc56183..e3bd8337f4 100644 --- a/lcl/interfaces/qt5/qtwsmenus.pp +++ b/lcl/interfaces/qt5/qtwsmenus.pp @@ -114,6 +114,14 @@ begin begin Result.setText(GetUtf8String(AMenuItem.Caption)); Result.setEnabled(AMenuItem.Enabled); + + {issue #37741} + if AMenuItem.RadioItem and (AMenuItem.Count = 0) and (AMenuItem.GroupIndex = 0) then + begin + if AMenuItem.GroupIndex = 0 then + AMenuItem.GroupIndex := 1; + end; + Result.setCheckable(AMenuItem.RadioItem or AMenuItem.ShowAlwaysCheckable); Result.BeginUpdate; Result.setChecked(AMenuItem.Checked);