mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-05-15 19:02:39 +02:00
LCL-GTK3: Fix menu radio group. Issue #34350, patch from Anton Kavalenka.
git-svn-id: trunk@59191 -
This commit is contained in:
parent
6febd8c78e
commit
ec579d65bc
@ -4293,13 +4293,32 @@ begin
|
||||
end;
|
||||
|
||||
function TGtk3MenuItem.CreateWidget(const Params: TCreateParams): PGtkWidget;
|
||||
var
|
||||
ndx:integer;
|
||||
pmenu:TMenuItem;
|
||||
pl:PGsList;
|
||||
begin
|
||||
FWidgetType := [wtWidget, wtMenuItem];
|
||||
if MenuItem.Caption = cLineCaption then
|
||||
Result := TGtkSeparatorMenuItem.new
|
||||
else
|
||||
if MenuItem.RadioItem and not MenuItem.HasIcon then
|
||||
Result := TGtkRadioMenuItem.new(nil)
|
||||
begin
|
||||
Result := TGtkRadioMenuItem.new(nil);
|
||||
if Assigned(menuItem.Parent) then
|
||||
begin
|
||||
ndx:=menuItem.Parent.IndexOf(MenuItem);
|
||||
if (ndx>0) then
|
||||
begin
|
||||
pMenu:=menuItem.Parent.Items[ndx-1];
|
||||
if (MenuItem.GroupIndex>0) and (pMenu.GroupIndex=MenuItem.GroupIndex) then
|
||||
begin
|
||||
pl:=PGtkRadioMenuItem(TGtk3MenuItem(pMenu.Handle).Widget)^.get_group;
|
||||
PGtkRadioMenuItem(Result)^.set_group(pl);
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
end
|
||||
else
|
||||
if MenuItem.IsCheckItem or MenuItem.HasIcon then
|
||||
Result := TGtkCheckMenuItem.new
|
||||
|
Loading…
Reference in New Issue
Block a user