Qt: simplify TQtGroupBox.setFocusPolicy(), also disable focus on container widgets (TQtFrame), so it does not focus when we click on it if TabStop=False.

git-svn-id: trunk@23556 -
This commit is contained in:
zeljko 2010-01-25 18:30:10 +00:00
parent 58484c4845
commit db6fccf081

View File

@ -322,6 +322,7 @@ type
protected
function CreateWidget(const AParams: TCreateParams):QWidgetH; override;
public
procedure setFocusPolicy(const APolicy: QtFocusPolicy); override;
procedure setFrameStyle(p1: Integer);
procedure setFrameShape(p1: QFrameShape);
procedure setFrameShadow(p1: QFrameShadow);
@ -4821,13 +4822,11 @@ begin
end;
procedure TQtGroupBox.setFocusPolicy(const APolicy: QtFocusPolicy);
var
NewPolicy: QtFocusPolicy;
begin
NewPolicy := APolicy;
if Assigned(LCLObject) and not LCLObject.TabStop then
NewPolicy := QtNoFocus;
inherited setFocusPolicy(NewPolicy);
inherited setFocusPolicy(QtNoFocus)
else
inherited setFocusPolicy(APolicy);
end;
{ TQtFrame }
@ -4844,6 +4843,14 @@ begin
QWidget_setAttribute(Result, QtWA_NoMousePropagation);
end;
procedure TQtFrame.setFocusPolicy(const APolicy: QtFocusPolicy);
begin
if Assigned(LCLObject) and not LCLObject.TabStop then
inherited setFocusPolicy(QtNoFocus)
else
inherited setFocusPolicy(APolicy);
end;
{------------------------------------------------------------------------------
Function: TQtFrame.setFrameStyle
Params: None