From db6fccf081b0a4db0f9cd97a452293f7d66591e6 Mon Sep 17 00:00:00 2001 From: zeljko Date: Mon, 25 Jan 2010 18:30:10 +0000 Subject: [PATCH] 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 - --- lcl/interfaces/qt/qtwidgets.pas | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/lcl/interfaces/qt/qtwidgets.pas b/lcl/interfaces/qt/qtwidgets.pas index 5369f4dbf8..cf8a28cd7e 100644 --- a/lcl/interfaces/qt/qtwidgets.pas +++ b/lcl/interfaces/qt/qtwidgets.pas @@ -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