Qt: fix for QtKeyDelete for QAbstractSpinBox. fixes #15981

git-svn-id: trunk@23995 -
This commit is contained in:
zeljko 2010-03-14 20:38:14 +00:00
parent 30d49ee5b5
commit f21e106a2b

View File

@ -817,6 +817,7 @@ type
public
procedure AttachEvents; override;
procedure DetachEvents; override;
function EventFilter(Sender: QObjectH; Event: QEventH): Boolean; cdecl; override;
procedure SignalEditingFinished; cdecl;
end;
@ -7050,6 +7051,23 @@ begin
inherited DetachEvents;
end;
function TQtAbstractSpinBox.EventFilter(Sender: QObjectH; Event: QEventH
): Boolean; cdecl;
var
IsDeleteKey: Boolean;
begin
if (QEvent_type(Event) = QEventKeyPress) or
(QEvent_type(Event) = QEventKeyRelease) then
IsDeleteKey := (QKeyEvent_key(QKeyEventH(Event)) = QtKey_Delete) and
(QKeyEvent_modifiers(QKeyEventH(Event)) = QtNoModifier)
else
IsDeleteKey := False;
Result := inherited EventFilter(Sender, Event);
{we must pass delete key to qt, qabstractspinbox doesn't like what we do}
if IsDeleteKey then
Result := False;
end;
procedure TQtAbstractSpinBox.SignalEditingFinished; cdecl;
var
Msg: TLMessage;