mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-09-07 15:03:35 +02:00
LCL: GTK2: Fixed tab cannot go from combobox to combobox. Issue #32458
git-svn-id: trunk@55920 -
This commit is contained in:
parent
3e05a17dbf
commit
c5e11a9e95
@ -783,9 +783,8 @@ begin
|
|||||||
LM_SYSKEYDOWN,
|
LM_SYSKEYDOWN,
|
||||||
LM_SYSKEYUP:
|
LM_SYSKEYUP:
|
||||||
begin
|
begin
|
||||||
if (ALCLObject is TCustomComboBox) then
|
if ((ALCLObject is TCustomComboBox) and gtk_is_combo_box_entry(gObject))
|
||||||
ConnectKeyPressReleaseEvents(PgtkObject(PgtkCombo(gObject)^.entry))
|
or (ALCLObject is TCustomForm) then
|
||||||
else if (ALCLObject is TCustomForm) then
|
|
||||||
ConnectKeyPressReleaseEvents(gObject);
|
ConnectKeyPressReleaseEvents(gObject);
|
||||||
|
|
||||||
ConnectKeyPressReleaseEvents(gCore);
|
ConnectKeyPressReleaseEvents(gCore);
|
||||||
|
@ -1668,6 +1668,9 @@ begin
|
|||||||
else
|
else
|
||||||
InputObject := AGtkObject;
|
InputObject := AGtkObject;
|
||||||
|
|
||||||
|
Gtk2WidgetSet.SetCallbackDirect(LM_KEYDOWN, InputObject, AWinControl);
|
||||||
|
Gtk2WidgetSet.SetCallbackDirect(LM_KEYUP, InputObject, AWinControl);
|
||||||
|
Gtk2WidgetSet.SetCallbackDirect(LM_CHAR, InputObject, AWinControl);
|
||||||
Gtk2WidgetSet.SetCallbackDirect(LM_MOUSEMOVE, InputObject, AWinControl);
|
Gtk2WidgetSet.SetCallbackDirect(LM_MOUSEMOVE, InputObject, AWinControl);
|
||||||
Gtk2WidgetSet.SetCallbackDirect(LM_LBUTTONDOWN, InputObject, AWinControl);
|
Gtk2WidgetSet.SetCallbackDirect(LM_LBUTTONDOWN, InputObject, AWinControl);
|
||||||
Gtk2WidgetSet.SetCallbackDirect(LM_LBUTTONUP, InputObject, AWinControl);
|
Gtk2WidgetSet.SetCallbackDirect(LM_LBUTTONUP, InputObject, AWinControl);
|
||||||
@ -1684,6 +1687,9 @@ begin
|
|||||||
|
|
||||||
// And now the same for the Button in the combo
|
// And now the same for the Button in the combo
|
||||||
if AButton<>nil then begin
|
if AButton<>nil then begin
|
||||||
|
Gtk2WidgetSet.SetCallbackDirect(LM_KEYDOWN, AButton, AWinControl);
|
||||||
|
Gtk2WidgetSet.SetCallbackDirect(LM_KEYUP, AButton, AWinControl);
|
||||||
|
Gtk2WidgetSet.SetCallbackDirect(LM_CHAR, AButton, AWinControl);
|
||||||
if not GtkWidgetIsA(PGtkWidget(AButton),GTK_TYPE_CELL_VIEW) then begin
|
if not GtkWidgetIsA(PGtkWidget(AButton),GTK_TYPE_CELL_VIEW) then begin
|
||||||
Gtk2WidgetSet.SetCallbackDirect(LM_MOUSEENTER, AButton, AWinControl);
|
Gtk2WidgetSet.SetCallbackDirect(LM_MOUSEENTER, AButton, AWinControl);
|
||||||
Gtk2WidgetSet.SetCallbackDirect(LM_MOUSELEAVE, AButton, AWinControl);
|
Gtk2WidgetSet.SetCallbackDirect(LM_MOUSELEAVE, AButton, AWinControl);
|
||||||
@ -2091,7 +2097,7 @@ begin
|
|||||||
Entry := GTK_BIN(WidgetInfo^.CoreWidget)^.child;
|
Entry := GTK_BIN(WidgetInfo^.CoreWidget)^.child;
|
||||||
Result:=GTK_WIDGET_CAN_FOCUS(Entry);
|
Result:=GTK_WIDGET_CAN_FOCUS(Entry);
|
||||||
end else begin
|
end else begin
|
||||||
Result:=GTK_WIDGET_CAN_FOCUS(WidgetInfo^.CoreWidget);
|
Result:=inherited CanFocus(AWinControl);
|
||||||
end;
|
end;
|
||||||
//DebugLn(['TGtk2WSCustomComboBox.CanFocus ',dbgsName(AWinControl),' ',gtk_is_combo_box_entry(WidgetInfo^.CoreWidget),' Result=',Result]);
|
//DebugLn(['TGtk2WSCustomComboBox.CanFocus ',dbgsName(AWinControl),' ',gtk_is_combo_box_entry(WidgetInfo^.CoreWidget),' Result=',Result]);
|
||||||
end;
|
end;
|
||||||
|
Loading…
Reference in New Issue
Block a user