diff --git a/lcl/interfaces/qt/qtobject.inc b/lcl/interfaces/qt/qtobject.inc index 8274f3b23d..e4649c0c78 100644 --- a/lcl/interfaces/qt/qtobject.inc +++ b/lcl/interfaces/qt/qtobject.inc @@ -292,26 +292,6 @@ var begin Result := False; case QEvent_type(Event) of - {$IFNDEF DARWIN} - QEventFocusIn: - begin - if QObject_isWidgetType(Sender) then - begin - if QWidget_focusPolicy(QWidgetH(Sender)) = QtTabFocus then - begin - // remove tab from focus policy - {$ifdef VerboseTabbedControls} - WriteLn('found Taabed widget ', PtrUInt(Sender)); - {$endif} - QWidget_setFocusPolicy(QWidgetH(Sender), QtClickFocus); - if FOldFocusWidget <> nil then - QWidget_setFocus(FOldFocusWidget); - end - else - FOldFocusWidget := QWidgetH(Sender); - end; - end; - {$ENDIF} LCLQt_Destroy: begin AObject := TQtObject(Pointer(QLCLMessageEvent_getWParam(QLCLMessageEventH(Event)))); diff --git a/lcl/interfaces/qt/qtobjects.pas b/lcl/interfaces/qt/qtobjects.pas index 0ca9b8f1ed..8c46ab04dd 100644 --- a/lcl/interfaces/qt/qtobjects.pas +++ b/lcl/interfaces/qt/qtobjects.pas @@ -476,7 +476,7 @@ type { TQtPrinter } - TQtPrinter = class(TQtObject) + TQtPrinter = class(TObject) protected FHandle: QPrinterH; FPrinterContext: TQtDeviceContext; @@ -522,7 +522,7 @@ type procedure setNumCopies(const AValue: Integer); function getPrinterState: QPrinterPrinterState; public - constructor Create; override; + constructor Create; virtual; destructor Destroy; override; procedure beginDoc; @@ -2981,7 +2981,6 @@ end; constructor TQtPrinter.Create; begin - inherited Create; FPrinterActive := False; FHandle := QPrinter_create(); end; diff --git a/lcl/interfaces/qt/qtwidgets.pas b/lcl/interfaces/qt/qtwidgets.pas index 2009e7d19f..2091dca5c4 100644 --- a/lcl/interfaces/qt/qtwidgets.pas +++ b/lcl/interfaces/qt/qtwidgets.pas @@ -1354,7 +1354,7 @@ begin if (LCLObject <> nil) and not (Self is TQtMainWindow) then begin if LCLObject.TabStop then - setFocusPolicy(QtClickFocus) + setFocusPolicy(QtStrongFocus) else setFocusPolicy(QtNoFocus); end; @@ -1397,7 +1397,7 @@ begin if (LCLObject <> nil) and not (Self is TQtMainWindow) then begin if LCLObject.TabStop then - setFocusPolicy(QtClickFocus) + setFocusPolicy(QtStrongFocus) else setFocusPolicy(QtNoFocus); end; @@ -3791,6 +3791,13 @@ begin AMetrics := QFontMetrics_create(QWidget_font(Widget)); PreferredWidth := QFontMetrics_width(AMetrics, @W, -1); PreferredHeight := QFontMetrics_height(AMetrics); + {$note there's a bug with QFontMetrics_width() & QFontMetrics_height() + on MacOSX (qt-4.3,qt-4.4) + so we must increase PrefW & PrefH for some reasonable value.} + {$IFDEF DARWIN} + PreferredWidth := PreferredWidth + (PreferredWidth div 4); + PreferredHeight := PreferredHeight + (PreferredHeight div 2); + {$ENDIF} QFontMetrics_destroy(AMetrics); end;