Qt: *ATTENTION* qt45 is default from now on (no more USE_QT_XX defines, qt43 and qt44 are not supported anymore)

default bindings version is 1.72.

git-svn-id: trunk@21913 -
This commit is contained in:
zeljko 2009-09-29 11:24:31 +00:00
parent d21ae9f636
commit 666fea3cc7
15 changed files with 590 additions and 774 deletions

View File

@ -1,10 +1,2 @@
{$I qtdefines.inc}
{$IFDEF USE_QT_45}
{$i qt45.pas}
{$ELSE}
{$IFDEF USE_QT_44}
{$i qt44.pas}
{$ELSE}
{$i qt43.pas}
{$ENDIF}
{$ENDIF}

File diff suppressed because it is too large Load Diff

View File

@ -311,14 +311,10 @@ begin
if IsValid and FVisible and FVisibleState then
begin
R := Rect(0, 0, QPixmap_width(FPixmap), QPixmap_height(FPixmap));
{$IFDEF USE_QT_45}
TQtDeviceContext(FWidget.Context).save;
TQtDeviceContext(FWidget.Context).setCompositionMode(QPainterRasterOp_NotSourceXorDestination);
TQtDeviceContext(FWidget.Context).drawPixmap(PQtPoint(@FPos), FPixmap, PRect(@R));
TQtDeviceContext(FWidget.Context).restore;
{$ELSE}
TQtDeviceContext(FWidget.Context).drawPixmap(PQtPoint(@FPos), FPixmap, PRect(@R));
{$ENDIF}
end;
end;

View File

@ -2,6 +2,3 @@
Centralized includefile for some common qt defines
******************************************************************************}
{$IFDEF MSWindows}
{$define USE_QT_45}
{$ENDIF}

View File

@ -395,7 +395,6 @@ const
{ QImageFormat_ARGB32 } 32,
{ QImageFormat_ARGB32_Premultiplied } 32,
{ QImageFormat_RGB16 } 16,
{$IF DEFINED(USE_QT_44) or DEFINED(USE_QT_45)}
{ QImageFormat_ARGB8565_Premultiplied } 24,
{ QImageFormat_RGB666 } 24,
{ QImageFormat_ARGB6666_Premultiplied } 24,
@ -404,7 +403,6 @@ const
{ QImageFormat_RGB888 } 24,
{ QImageFormat_RGB444 } 16,
{ QImageFormat_ARGB4444_Premultiplied } 16,
{$ENDIF}
{ QImageNImageFormats } 0
);
var

View File

@ -100,7 +100,6 @@ end;
------------------------------------------------------------------------------}
procedure TQtWidgetSet.AppInit(var ScreenInfo: TScreenInfo);
var
Method: TMethod;
ScreenDC: HDC;
begin
WakeMainThread := @OnWakeMainThread;
@ -113,14 +112,12 @@ begin
}
// install global event filter
FAppEvenFilterHook := QObject_hook_create(App);
TEventFilterMethod(Method) := @EventFilter;
QObject_hook_hook_events(FAppEvenFilterHook, Method);
QObject_hook_hook_events(FAppEvenFilterHook, @EventFilter);
// install focus change slot
FAppFocusChangedHook := QApplication_hook_create(App);
QApplication_focusChanged_Event(Method) := @FocusChanged;
QApplication_hook_hook_focusChanged(FAppFocusChangedHook, Method);
QApplication_hook_hook_focusChanged(FAppFocusChangedHook, @FocusChanged);
ScreenDC := GetDC(0);
@ -180,13 +177,9 @@ end;
------------------------------------------------------------------------------}
procedure TQtWidgetSet.AppProcessMessages;
begin
{$IF DEFINED(USE_QT_44) or DEFINED(USE_QT_45)}
{$note we must use QEventLoopDefferedDeletion because of SlotClose.
Normal forms are NOT closed without this ...}
{we must use QEventLoopDefferedDeletion because of SlotClose.
Normal forms are NOT closed without this ...}
QCoreApplication_processEvents(QEventLoopAllEvents);
{$ELSE}
QCoreApplication_processEvents(QEventLoopAllEvents or QEventLoopDeferredDeletion);
{$ENDIF}
end;
{------------------------------------------------------------------------------
@ -202,9 +195,6 @@ begin
QObject_hook_destroy(FAppEvenFilterHook);
QApplication_hook_destroy(FAppFocusChangedHook);
{$IFNDEF USE_QT_45}
AppProcessMessages; // process pending messages since there can be release messages
{$ENDIF}
QCoreApplication_quit;
end;

View File

@ -47,9 +47,7 @@ type
FInEventCount: Integer;
FReleaseInEvent: Boolean;
public
{$IF DEFINED(USE_QT_44) or DEFINED(USE_QT_45)}
FDeleteLater: Boolean;
{$ENDIF}
FEventHook: QObject_hookH;
TheObject: QObjectH;
constructor Create; virtual; overload;
@ -750,9 +748,7 @@ end;
constructor TQtObject.Create;
begin
{$IF DEFINED(USE_QT_44) or DEFINED(USE_QT_45)}
FDeleteLater := False;
{$ENDIF}
FEventHook := nil;
FUpdateCount := 0;
FInEventCount := 0;
@ -763,17 +759,11 @@ destructor TQtObject.Destroy;
begin
if TheObject <> nil then
begin
{$IF DEFINED(USE_QT_44) or DEFINED(USE_QT_45)}
DetachEvents;
if FDeleteLater then
QObject_deleteLater(TheObject)
else
QObject_destroy(TheObject);
{$ELSE}
QCoreApplication_removePostedEvents(TheObject);
DetachEvents;
QObject_deleteLater(TheObject);
{$ENDIF}
TheObject := nil;
end;
inherited Destroy;
@ -783,21 +773,16 @@ procedure TQtObject.Release;
begin
if InEvent then
begin
{$IF DEFINED(USE_QT_44) or DEFINED(USE_QT_45)}
FDeleteLater := True;
{$ENDIF}
FReleaseInEvent := True;
end else
Free;
end;
procedure TQtObject.AttachEvents;
var
Method: TMethod;
begin
FEventHook := QObject_hook_create(TheObject);
TEventFilterMethod(Method) := @EventFilter;
QObject_hook_hook_events(FEventHook, Method);
QObject_hook_hook_events(FEventHook, @EventFilter);
end;
procedure TQtObject.DetachEvents;
@ -2814,8 +2799,6 @@ end;
{ TQtSystemTrayIcon }
constructor TQtSystemTrayIcon.Create(vIcon: QIconH);
var
Method: TMethod;
begin
inherited Create;
@ -2824,8 +2807,7 @@ begin
else
Handle := QSystemTrayIcon_create();
FHook := QSystemTrayIcon_hook_create(Handle);
QSystemTrayIcon_activated_Event(Method) := @signalActivated;
QSystemTrayIcon_hook_hook_activated(FHook, Method);
QSystemTrayIcon_hook_hook_activated(FHook, @signalActivated);
end;
destructor TQtSystemTrayIcon.Destroy;
@ -2993,13 +2975,10 @@ begin
end;
procedure TQtClipboard.AttachEvents;
var
Method: TMethod;
begin
inherited AttachEvents;
FClipDataChangedHook := QClipboard_hook_create(TheObject);
QClipboard_dataChanged_Event(Method) := @signalDataChanged;
QClipboard_hook_hook_dataChanged(FClipDataChangedHook, Method);
QClipboard_hook_hook_dataChanged(FClipDataChangedHook, @signalDataChanged);
end;
procedure TQtClipboard.signalDataChanged; cdecl;
@ -3529,9 +3508,7 @@ constructor TQtTimer.CreateTimer(Interval: integer;
const TimerFunc: TFNTimerProc; App: QObjectH);
begin
inherited Create;
{$IF DEFINED(USE_QT_44) or DEFINED(USE_QT_45)}
FDeleteLater := True;
{$ENDIF}
FAppObject := App;
FCallbackFunc := TimerFunc;
@ -3567,20 +3544,15 @@ begin
end;
procedure TQtTimer.AttachEvents;
var
Method: TMethod;
begin
FTimerHook := QTimer_hook_create(QTimerH(TheObject));
QTimer_timeout_Event(Method) := @signalTimeout;
QTimer_hook_hook_timeout(FTimerHook, Method);
QTimer_hook_hook_timeout(FTimerHook, @signalTimeout);
inherited AttachEvents;
end;
procedure TQtTimer.DetachEvents;
begin
{$IF DEFINED(USE_QT_44) or DEFINED(USE_QT_45)}
QTimer_stop(QTimerH(TheObject));
{$ENDIF}
if FTimerHook <> nil then
QTimer_hook_destroy(FTimerHook);
inherited DetachEvents;
@ -3727,7 +3699,7 @@ begin
FWidgetRole := AWidgetColorRole;
FTextRole := AWidgetTextColorRole;
initializeSysColors;
{$IFDEF USE_QT_45}
// ugly qt mac bug
{$IFDEF DARWIN}
if QWidget_backgroundRole(FWidget) <> FWidgetRole then
@ -3736,7 +3708,7 @@ begin
QWidget_setForegroundRole(FWidget, FTextRole);
end;
{$ENDIF}
{$ENDIF}
FHandle := QPalette_create();
end;

View File

@ -232,8 +232,6 @@ end;
Constructor for the class.
------------------------------------------------------------------------------}
constructor TQtMemoStrings.Create(TextEdit: QTextEditH; TheOwner: TWinControl);
var
Method: TMethod;
begin
inherited Create;
@ -250,8 +248,7 @@ begin
// Callback Event
{Method := MemoChanged; }
FTextChangedHook := QTextEdit_hook_create(FQtTextEdit);
QTextEdit_textChanged_Event(Method) := @TextChangedHandler;
QTextEdit_hook_hook_textChanged(FTextChangedHook, Method);
QTextEdit_hook_hook_textChanged(FTextChangedHook, @TextChangedHandler);
end;
{------------------------------------------------------------------------------

View File

@ -353,9 +353,7 @@ begin
idButtonAbort: AStdPixmap := QStyleSP_DialogResetButton;
idButtonAll: AStdPixmap := QStyleSP_DialogApplyButton;
idButtonIgnore: AStdPixmap := QStyleSP_DialogDiscardButton;
{$IF DEFINED(USE_QT_44) or DEFINED(USE_QT_45)}
idButtonRetry: AStdPixmap := QStyleSP_BrowserReload; // ?
{$IFEND}
idButtonOpen: AStdPixmap := QStyleSP_DialogOpenButton;
idButtonSave: AStdPixmap := QStyleSP_DialogSaveButton;
idButtonShield: AStdPixmap := QStyleSP_VistaShield;

View File

@ -423,9 +423,6 @@ type
protected
function CreateWidget(const AParams: TCreateParams): QWidgetH; override;
public
{$IF NOT DEFINED(USE_QT_44) or NOT DEFINED(USE_QT_45)}
destructor Destroy; override;
{$ENDIF}
procedure preferredSize(var PreferredWidth, PreferredHeight: integer; WithThemeSpace: Boolean); override;
public
procedure AttachEvents; override;
@ -499,9 +496,6 @@ type
protected
function CreateWidget(const AParams: TCreateParams):QWidgetH; override;
public
{$IF NOT DEFINED(USE_QT_44) or NOT DEFINED(USE_QT_45)}
destructor Destroy; override;
{$ENDIF}
function CheckState: QtCheckState;
procedure setCheckState(state: QtCheckState);
public
@ -518,10 +512,6 @@ type
FClickedHook: QAbstractButton_hookH;
protected
function CreateWidget(const AParams: TCreateParams):QWidgetH; override;
public
{$IF NOT DEFINED(USE_QT_44) or NOT DEFINED(USE_QT_45)}
destructor Destroy; override;
{$ENDIF}
public
procedure AttachEvents; override;
procedure DetachEvents; override;
@ -535,9 +525,6 @@ type
protected
function CreateWidget(const AParams: TCreateParams):QWidgetH; override;
public
{$IF NOT DEFINED(USE_QT_44) or NOT DEFINED(USE_QT_45)}
destructor Destroy; override;
{$ENDIF}
function EventFilter(Sender: QObjectH; Event: QEventH): Boolean; cdecl; override;
function getText: WideString; override;
procedure setText(const W: WideString); override;
@ -1808,10 +1795,8 @@ begin
QEventKeyRelease:
begin
{non-spontaneous key events are garbage in Qt >= 4.4}
{$IF DEFINED(USE_QT_44) or DEFINED(USE_QT_45)}
Result := QEvent_spontaneous(Event);
if Result then
{$ENDIF}
Result := SlotKey(Sender, Event) or (LCLObject is TCustomControl);
end;
@ -1860,7 +1845,6 @@ begin
else
QEvent_ignore(Event);
{$IF DEFINED(USE_QT_44) or DEFINED(USE_QT_45)}
{fixes #14544 and others when we loose our LCLObject
after delivering message to LCL.}
if (LCLObject = nil) and
@ -1874,7 +1858,6 @@ begin
Result := True;
BeginEventProcessing;
end;
{$ENDIF}
EndEventProcessing;
end;
@ -2036,13 +2019,7 @@ begin
FilesList := TStringList.Create;
try
FilesList.Text := UTF16ToUTF8(WStr);
{$IFDEF USE_QT_45}
SetLength(Files, FilesList.Count);
{$ELSE}
{last member of TStringList always contains empty string
since QMimeData always have #13#10#0 at the end.So we cut it here.}
SetLength(Files, FilesList.Count - 1);
{$ENDIF}
for i := 0 to High(Files) do
Files[i] := FilesList.Strings[i];
finally
@ -3892,12 +3869,10 @@ procedure TQtWidget.DestroyWidget;
begin
if (Widget <> nil) and FOwnWidget then
begin
{$IF DEFINED(USE_QT_44) or DEFINED(USE_QT_45)}
if not FDeleteLater then
QWidget_destroy(Widget)
else
{$ENDIF}
QObject_deleteLater(Widget);
QObject_deleteLater(Widget);
end;
Widget := nil;
end;
@ -4073,29 +4048,6 @@ begin
Result := QPushButton_create();
end;
{------------------------------------------------------------------------------
Function: TQtPushButton.Destroy
Params: None
Returns: Nothing
------------------------------------------------------------------------------}
{$IF NOT DEFINED(USE_QT_44) or NOT DEFINED(USE_QT_45)}
destructor TQtPushButton.Destroy;
begin
{$ifdef VerboseQt}
WriteLn('TQtPushButton.Destroy');
{$endif}
if Widget <> nil then
begin
DetachEvents;
QPushButton_destroy(QPushButtonH(Widget));
Widget := nil;
end;
inherited Destroy;
end;
{$ENDIF}
procedure TQtPushButton.preferredSize(var PreferredWidth,
PreferredHeight: integer; WithThemeSpace: Boolean);
const
@ -4149,14 +4101,11 @@ begin
end;
procedure TQtPushButton.AttachEvents;
var
Method: TMethod;
begin
inherited AttachEvents;
FClickedHook := QAbstractButton_hook_create(Widget);
QAbstractButton_clicked2_Event(Method) := @SlotClicked;
QAbstractButton_hook_hook_clicked2(FClickedHook, Method);
QAbstractButton_hook_hook_clicked2(FClickedHook, @SlotClicked);
end;
procedure TQtPushButton.DetachEvents;
@ -4278,9 +4227,7 @@ begin
QLayout_addWidget(LayoutWidget, FCentralWidget);
QWidget_setLayout(Result, QLayoutH(LayoutWidget));
{$IF DEFINED(USE_QT_44) or DEFINED(USE_QT_45)}
QWidget_setAttribute(Result, QtWA_DeleteOnClose);
{$ENDIF}
end;
QWidget_setAttribute(Result, QtWA_NoMousePropagation);
@ -4441,16 +4388,13 @@ begin
end;
procedure TQtMainWindow.AttachEvents;
var
Method: TMethod;
begin
inherited AttachEvents;
if FCentralWidget <> nil then
begin
FCWEventHook := QObject_hook_create(FCentralWidget);
TEventFilterMethod(Method) := @CWEventFilter;
QObject_hook_hook_events(FCWEventHook, Method);
QObject_hook_hook_events(FCWEventHook, @CWEventFilter);
end;
end;
@ -4612,29 +4556,6 @@ begin
Result := QCheckBox_create;
end;
{------------------------------------------------------------------------------
Function: TQtCheckBox.Destroy
Params: None
Returns: Nothing
------------------------------------------------------------------------------}
{$IF NOT DEFINED(USE_QT_44) or NOT DEFINED(USE_QT_45)}
destructor TQtCheckBox.Destroy;
begin
{$ifdef VerboseQt}
WriteLn('TQtCheckBox.Destroy');
{$endif}
if Widget <> nil then
begin
DetachEvents;
QCheckBox_destroy(QCheckBoxH(Widget));
Widget := nil;
end;
inherited Destroy;
end;
{$ENDIF}
{------------------------------------------------------------------------------
Function: TQtCheckBox.CheckState
Params: None
@ -4656,13 +4577,10 @@ begin
end;
procedure TQtCheckBox.AttachEvents;
var
Method: TMethod;
begin
inherited AttachEvents;
FStateChangedHook := QCheckBox_hook_create(Widget);
QCheckBox_stateChanged_Event(Method) := @SignalStateChanged;
QCheckBox_hook_hook_stateChanged(FStateChangedHook, Method);
QCheckBox_hook_hook_stateChanged(FStateChangedHook, @SignalStateChanged);
end;
procedure TQtCheckBox.DetachEvents;
@ -4699,38 +4617,12 @@ begin
QWidget_hide(Result);
end;
{------------------------------------------------------------------------------
Function: TQtRadioButton.Destroy
Params: None
Returns: Nothing
------------------------------------------------------------------------------}
{$IF NOT DEFINED(USE_QT_44) or NOT DEFINED(USE_QT_45)}
destructor TQtRadioButton.Destroy;
begin
{$ifdef VerboseQt}
WriteLn('TQtRadioButton.Destroy');
{$endif}
if Widget <> nil then
begin
DetachEvents;
QRadioButton_destroy(QRadioButtonH(Widget));
Widget := nil;
end;
inherited Destroy;
end;
{$ENDIF}
procedure TQtRadioButton.AttachEvents;
var
Method: TMethod;
begin
inherited AttachEvents;
FClickedHook := QAbstractButton_hook_create(Widget);
QAbstractButton_clicked_Event(Method) := @SignalClicked;
QAbstractButton_hook_hook_clicked(FClickedHook, Method);
QAbstractButton_hook_hook_clicked(FClickedHook, @SignalClicked);
end;
procedure TQtRadioButton.DetachEvents;
@ -4819,29 +4711,6 @@ begin
end;
end;
{------------------------------------------------------------------------------
Function: TQtGroupBox.Destroy
Params: None
Returns: Nothing
------------------------------------------------------------------------------}
{$IF NOT DEFINED(USE_QT_44) or NOT DEFINED(USE_QT_45)}
destructor TQtGroupBox.Destroy;
begin
{$ifdef VerboseQt}
WriteLn('TQtGroupBox.Destroy');
{$endif}
if Widget <> nil then
begin
DetachEvents;
QGroupBox_destroy(QGroupBoxH(Widget));
Widget := nil;
end;
inherited Destroy;
end;
{$ENDIF}
function TQtGroupBox.getText: WideString;
begin
QGroupBox_title(QGroupBoxH(Widget), @Result);
@ -5219,24 +5088,17 @@ begin
end;
procedure TQtScrollBar.AttachEvents;
var
Method: TMethod;
begin
inherited AttachEvents;
QAbstractSlider_rangeChanged_Event(Method) := @SlotRangeChanged;
QAbstractSlider_hook_hook_rangeChanged(FRangeChangedHook, Method);
QAbstractSlider_hook_hook_rangeChanged(FRangeChangedHook, @SlotRangeChanged);
QAbstractSlider_sliderMoved_Event(Method) := @SlotSliderMoved;
QAbstractSlider_hook_hook_sliderMoved(FSliderMovedHook, Method);
QAbstractSlider_hook_hook_sliderMoved(FSliderMovedHook, @SlotSliderMoved);
QAbstractSlider_sliderPressed_Event(Method) := @SlotSliderPressed;
QAbstractSlider_hook_hook_sliderPressed(FSliderPressedHook, Method);
QAbstractSlider_hook_hook_sliderPressed(FSliderPressedHook, @SlotSliderPressed);
QAbstractSlider_sliderReleased_Event(Method) := @SlotSliderReleased;
QAbstractSlider_hook_hook_sliderReleased(FSliderReleasedHook, Method);
QAbstractSlider_hook_hook_sliderReleased(FSliderReleasedHook, @SlotSliderReleased);
QAbstractSlider_valueChanged_Event(Method) := @SlotValueChanged;
QAbstractSlider_hook_hook_valueChanged(FValueChangedHook, Method);
QAbstractSlider_hook_hook_valueChanged(FValueChangedHook, @SlotValueChanged);
end;
{ TQtToolBar }
@ -5298,22 +5160,16 @@ begin
end;
procedure TQtTrackBar.AttachEvents;
var
Method: TMethod;
begin
inherited AttachEvents;
QAbstractSlider_sliderMoved_Event(Method) := @SlotSliderMoved;
QAbstractSlider_hook_hook_sliderMoved(FSliderMovedHook, Method);
QAbstractSlider_hook_hook_sliderMoved(FSliderMovedHook, @SlotSliderMoved);
QAbstractSlider_sliderPressed_Event(Method) := @SlotSliderPressed;
QAbstractSlider_hook_hook_sliderPressed(FSliderPressedHook, Method);
QAbstractSlider_hook_hook_sliderPressed(FSliderPressedHook, @SlotSliderPressed);
QAbstractSlider_sliderReleased_Event(Method) := @SlotSliderReleased;
QAbstractSlider_hook_hook_sliderReleased(FSliderReleasedHook, Method);
QAbstractSlider_hook_hook_sliderReleased(FSliderReleasedHook, @SlotSliderReleased);
QAbstractSlider_valueChanged_Event(Method) := @SlotValueChanged;
QAbstractSlider_hook_hook_valueChanged(FValueChangedHook, Method);
QAbstractSlider_hook_hook_valueChanged(FValueChangedHook, @SlotValueChanged);
end;
procedure TQtTrackBar.SlotSliderMoved(p1: Integer); cdecl;
@ -5431,14 +5287,11 @@ begin
end;
procedure TQtLineEdit.AttachEvents;
var
Method: TMethod;
begin
inherited AttachEvents;
FTextChanged := QLineEdit_hook_create(Widget);
QLineEdit_textChanged_Event(Method) := @SignalTextChanged;
QLineEdit_hook_hook_textChanged(FTextChanged, Method);
QLineEdit_hook_hook_textChanged(FTextChanged, @SignalTextChanged);
end;
procedure TQtLineEdit.DetachEvents;
@ -5678,18 +5531,14 @@ begin
end;
procedure TQtTextEdit.AttachEvents;
var
Method: TMethod;
begin
inherited AttachEvents;
FUndoAvailableHook := QTextEdit_hook_create(Widget);
QTextEdit_undoAvailable_Event(Method) := @SignalUndoAvailable;
QTextEdit_hook_hook_undoAvailable(FUndoAvailableHook, Method);
QTextEdit_hook_hook_undoAvailable(FUndoAvailableHook, @SignalUndoAvailable);
FViewportEventHook := QObject_hook_create(QAbstractScrollArea_viewport(QTextEditH(Widget)));
TEventFilterMethod(Method) := @viewportEventFilter;
QObject_hook_hook_events(FViewportEventHook, Method);
QObject_hook_hook_events(FViewportEventHook, @viewportEventFilter);
end;
@ -5737,13 +5586,10 @@ end;
{ TQtTabBar }
procedure TQtTabBar.AttachEvents;
var
Method: TMethod;
begin
inherited AttachEvents;
FTabBarChangedHook := QTabBar_hook_create(QTabBarH(Widget));
QTabBar_currentChanged_Event(Method) := @SignalTabBarCurrentChanged;
QTabBar_hook_hook_currentChanged(FTabBarChangedHook, Method);
QTabBar_hook_hook_currentChanged(FTabBarChangedHook, @SignalTabBarCurrentChanged);
end;
procedure TQtTabBar.DetachEvents;
@ -5918,8 +5764,6 @@ begin
end;
procedure TQtTabWidget.AttachEvents;
var
Method: TMethod;
begin
inherited AttachEvents;
@ -5927,14 +5771,10 @@ begin
TabBar;
FCurrentChangedHook := QTabWidget_hook_create(Widget);
QTabWidget_currentChanged_Event(Method) := @SignalCurrentChanged;
QTabWidget_hook_hook_currentChanged(FCurrentChangedHook, Method);
QTabWidget_hook_hook_currentChanged(FCurrentChangedHook, @SignalCurrentChanged);
FCloseRequestedHook := QTabWidget_hook_create(Widget);
{$ifdef USE_QT_45}
QTabWidget_tabCloseRequested_Event(Method) := @SignalCloseRequested;
QTabWidget_hook_hook_tabCloseRequested(FCloseRequestedHook, Method);
{$endif}
QTabWidget_hook_hook_tabCloseRequested(FCloseRequestedHook, @SignalCloseRequested);
end;
procedure TQtTabWidget.DetachEvents;
@ -6076,9 +5916,7 @@ end;
procedure TQtTabWidget.setTabsClosable(AValue: Boolean);
begin
{$ifdef USE_QT_45}
QTabWidget_setTabsClosable(QTabWidgetH(Widget), AValue);
{$endif}
end;
function TQtTabWidget.tabAt(APoint: TPoint): Integer;
@ -6342,8 +6180,6 @@ begin
end;
procedure TQtComboBox.AttachEvents;
var
Method: TMethod;
begin
inherited AttachEvents;
@ -6352,20 +6188,16 @@ begin
FSelectHook := QComboBox_hook_create(Widget);
// OnChange event if itemindex changed by mouse or kbd
QComboBox_activated_Event(Method) := @SlotActivate;
QComboBox_hook_hook_activated(FActivateHook, Method);
QComboBox_hook_hook_activated(FActivateHook, @SlotActivate);
// OnChange event -> fires only when text changed
QComboBox_editTextChanged_Event(Method) := @SlotChange;
QComboBox_hook_hook_editTextChanged(FChangeHook, Method);
QComboBox_hook_hook_editTextChanged(FChangeHook, @SlotChange);
// OnSelect event
QComboBox_currentIndexChanged_Event(Method) := @SlotSelect;
QComboBox_hook_hook_currentIndexChanged(FSelectHook, Method);
QComboBox_hook_hook_currentIndexChanged(FSelectHook, @SlotSelect);
// DropList events
FDropListEventHook := QObject_hook_create(DropList.Widget);
TEventFilterMethod(Method) := @EventFilter;
QObject_hook_hook_events(FDropListEventHook, Method);
QObject_hook_hook_events(FDropListEventHook, @EventFilter);
end;
procedure TQtComboBox.DetachEvents;
@ -6762,15 +6594,12 @@ begin
end;
procedure TQtAbstractSpinBox.AttachEvents;
var
Method: TMethod;
begin
inherited AttachEvents;
FEditingFinishedHook := QAbstractSpinBox_hook_create(Widget);
{TODO: find out which TLMessage should be sended }
QAbstractSpinBox_editingFinished_Event(Method) := @SignalEditingFinished;
QAbstractSpinBox_hook_hook_editingFinished(FEditingFinishedHook, Method);
QAbstractSpinBox_hook_hook_editingFinished(FEditingFinishedHook, @SignalEditingFinished);
end;
procedure TQtAbstractSpinBox.DetachEvents;
@ -6840,13 +6669,10 @@ begin
end;
procedure TQtFloatSpinBox.AttachEvents;
var
Method: TMethod;
begin
inherited AttachEvents;
FValueChangedHook := QDoubleSpinBox_hook_create(Widget);
QDoubleSpinBox_valueChanged_Event(Method) := @SignalValueChanged;
QDoubleSpinBox_hook_hook_valueChanged(FValueChangedHook, Method);
QDoubleSpinBox_hook_hook_valueChanged(FValueChangedHook, @SignalValueChanged);
end;
procedure TQtFloatSpinBox.DetachEvents;
@ -6901,13 +6727,10 @@ begin
end;
procedure TQtSpinBox.AttachEvents;
var
Method: TMethod;
begin
inherited AttachEvents;
FValueChangedHook := QSpinBox_hook_create(Widget);
QSpinBox_valueChanged_Event(Method) := @SignalValueChanged;
QSpinBox_hook_hook_valueChanged(FValueChangedHook, Method);
QSpinBox_hook_hook_valueChanged(FValueChangedHook, @SignalValueChanged);
end;
procedure TQtSpinBox.DetachEvents;
@ -6933,8 +6756,6 @@ begin
end;
procedure TQtListWidget.AttachEvents;
var
Method: TMethod;
begin
inherited AttachEvents;
@ -6945,20 +6766,15 @@ begin
FItemTextChangedHook := QListWidget_hook_create(Widget);
// OnSelectionChange event
QListWidget_itemSelectionChanged_Event(Method) := @signalSelectionChanged;
QListWidget_hook_hook_itemSelectionChanged(FSelectionChangeHook, Method);
QListWidget_hook_hook_itemSelectionChanged(FSelectionChangeHook, @signalSelectionChanged);
QListWidget_currentItemChanged_Event(Method) := @signalCurrentItemChange;
QListWidget_hook_hook_currentItemChanged(FCurrentItemChangeHook, Method);
QListWidget_hook_hook_currentItemChanged(FCurrentItemChangeHook, @signalCurrentItemChange);
QListWidget_itemDoubleClicked_Event(Method) := @signalItemDoubleClicked;
QListWidget_hook_hook_ItemDoubleClicked(FItemDoubleClickedHook, Method);
QListWidget_hook_hook_ItemDoubleClicked(FItemDoubleClickedHook, @signalItemDoubleClicked);
QListWidget_itemClicked_Event(Method) := @signalItemClicked;
QListWidget_hook_hook_ItemClicked(FItemClickedHook, Method);
QListWidget_hook_hook_ItemClicked(FItemClickedHook, @signalItemClicked);
QListWidget_currentTextChanged_Event(Method) := @signalItemTextChanged;
QListWidget_hook_hook_currentTextChanged(FItemTextChangedHook, Method);
QListWidget_hook_hook_currentTextChanged(FItemTextChangedHook, @signalItemTextChanged);
end;
procedure TQtListWidget.DetachEvents;
@ -7313,13 +7129,10 @@ begin
end;
procedure TQtHeaderView.AttachEvents;
var
Method: TMethod;
begin
inherited AttachEvents;
FSelectionClicked := QHeaderView_hook_create(Widget);
QHeaderView_sectionClicked_Event(Method) := @SignalSectionClicked;
QHeaderView_hook_hook_sectionClicked(FSelectionClicked, Method);
QHeaderView_hook_hook_sectionClicked(FSelectionClicked, @SignalSectionClicked);
end;
procedure TQtHeaderView.DetachEvents;
@ -7490,20 +7303,16 @@ begin
end;
function TQtTreeWidget.getHeader: TQtHeaderView;
var
Method: TMethod;
begin
{while designing TQtHeaderView is a no-no}
if not (csDesigning in LCLObject.ComponentState) and (FHeader = nil) then
begin
FHeader := TQtHeaderView.CreateFrom(LCLObject, QTreeView_header(QTreeViewH(Widget)));
FHeaderEventFilterHook := QObject_hook_create(FHeader.Widget);
TEventFilterMethod(Method) := @headerViewEventFilter;
QObject_hook_hook_events(FHeaderEventFilterHook, Method);
QObject_hook_hook_events(FHeaderEventFilterHook, @headerViewEventFilter);
FSectionClicked := QHeaderView_hook_create(FHeader.Widget);
QHeaderView_sectionClicked_Event(Method) := @FHeader.SignalSectionClicked;
QHeaderView_hook_hook_sectionClicked(FSectionClicked, Method);
QHeaderView_hook_hook_sectionClicked(FSectionClicked, @FHeader.SignalSectionClicked);
end;
Result := FHeader;
end;
@ -7664,11 +7473,7 @@ end;
procedure TQtTreeWidget.setHeaderVisible(AVisible: Boolean);
begin
if (csDesigning in LCLObject.ComponentState) then
{$IF DEFINED(USE_QT_44) or DEFINED(USE_QT_45)}
QTreeView_setHeaderHidden(QTreeViewH(Widget), not AVisible)
{$ELSE}
QWidget_setVisible(QTreeView_header(QTreeViewH(Widget)), AVisible)
{$ENDIF}
else
Header.setVisible(AVisible);
end;
@ -7723,8 +7528,6 @@ begin
end;
procedure TQtTreeWidget.AttachEvents;
var
Method: TMethod;
begin
inherited AttachEvents;
@ -7735,23 +7538,17 @@ begin
FItemChangedHook := QTreeWidget_hook_create(Widget);
FItemEnteredHook := QTreeWidget_hook_create(Widget);
QTreeWidget_currentItemChanged_Event(Method) := @SignalCurrentItemChanged;
QTreeWidget_hook_hook_currentItemChanged(FCurrentItemChangedHook, Method);
QTreeWidget_hook_hook_currentItemChanged(FCurrentItemChangedHook, @SignalCurrentItemChanged);
QTreeWidget_itemDoubleClicked_Event(Method) := @SignalItemDoubleClicked;
QTreeWidget_hook_hook_ItemDoubleClicked(FItemDoubleClickedHook, Method);
QTreeWidget_hook_hook_ItemDoubleClicked(FItemDoubleClickedHook, @SignalItemDoubleClicked);
QTreeWidget_itemClicked_Event(Method) := @SignalItemClicked;
QTreeWidget_hook_hook_ItemClicked(FItemClickedHook, Method);
QTreeWidget_hook_hook_ItemClicked(FItemClickedHook, @SignalItemClicked);
QTreeWidget_itemActivated_Event(Method) := @SignalItemActivated;
QTreeWidget_hook_hook_ItemActivated(FItemActivatedHook, Method);
QTreeWidget_hook_hook_ItemActivated(FItemActivatedHook, @SignalItemActivated);
QTreeWidget_itemChanged_Event(Method) := @SignalItemChanged;
QTreeWidget_hook_hook_ItemChanged(FItemChangedHook, Method);
QTreeWidget_hook_hook_ItemChanged(FItemChangedHook, @SignalItemChanged);
QTreeWidget_itemEntered_Event(Method) := @SignalItemEntered;
QTreeWidget_hook_hook_ItemEntered(FItemEnteredHook, Method);
QTreeWidget_hook_hook_ItemEntered(FItemEnteredHook, @SignalItemEntered);
end;
@ -8118,9 +7915,7 @@ function TQtMenu.CreateWidget(const APrams: TCreateParams): QWidgetH;
begin
FIcon := nil;
Result := QMenu_create();
{$IF DEFINED(USE_QT_44) or DEFINED(USE_QT_45)}
FDeleteLater := True;
{$ENDIF}
FActionHandle := nil;;
end;
@ -8149,25 +7944,19 @@ begin
end;
procedure TQtMenu.AttachEvents;
var
Method: TMethod;
begin
FTriggeredHook := QAction_hook_create(ActionHandle);
FHoveredHook := QAction_hook_create(ActionHandle);
FAboutToHideHook := QMenu_hook_create(Widget);
FEventHook := QObject_hook_create(Widget);
QAction_triggered_Event(Method) := @SlotTriggered;
QAction_hook_hook_triggered(FTriggeredHook, Method);
QAction_hook_hook_triggered(FTriggeredHook, @SlotTriggered);
QAction_hovered_Event(Method) := @SlotHovered;
QAction_hook_hook_hovered(FHoveredHook, Method);
QAction_hook_hook_hovered(FHoveredHook, @SlotHovered);
QMenu_aboutToHide_Event(Method) := @SlotAboutToHide;
QMenu_hook_hook_aboutToHide(FAboutToHideHook, Method);
QMenu_hook_hook_aboutToHide(FAboutToHideHook, @SlotAboutToHide);
TEventFilterMethod(Method) := @EventFilter;
QObject_hook_hook_events(FEventHook, Method);
QObject_hook_hook_events(FEventHook, @EventFilter);
end;
procedure TQtMenu.DetachEvents;
@ -8201,11 +7990,7 @@ end;
procedure TQtMenu.SlotAboutToHide; cdecl;
begin
if FMenuItem.Menu is TPopupMenu then
{$IF DEFINED(USE_QT_44) or DEFINED(USE_QT_45)}
DoPopupClose;
{$ELSE}
QCoreApplication_postEvent(Widget, QEvent_create(LCLQt_PopupMenuClose));
{$ENDIF}
end;
procedure TQtMenu.DoPopupClose;
@ -8425,14 +8210,11 @@ begin
end;
procedure TQtProgressBar.AttachEvents;
var
Method: TMethod;
begin
inherited AttachEvents;
FValueChangedHook := QProgressBar_hook_create(Widget);
QProgressBar_valueChanged_Event(Method) := @SignalValueChanged;
QProgressBar_hook_hook_valueChanged(FValueChangedHook, Method);
QProgressBar_hook_hook_valueChanged(FValueChangedHook, @SignalValueChanged);
end;
procedure TQtProgressBar.DetachEvents;
@ -9010,7 +8792,6 @@ end;
procedure TQtCustomControl.viewportNeeded;
var
AParams: TCreateParams;
Method: TMethod;
begin
if FViewPortWidget <> niL then
exit;
@ -9022,20 +8803,17 @@ begin
FViewPortWidget.FOwner := Self;
FViewPortWidget.AttachEvents; // some event will be redirected to scroll area
QLCLAbstractScrollArea_viewportEvent_Override(Method) := @ViewPortEventFilter;
QLCLAbstractScrollArea_override_viewportEvent(QLCLAbstractScrollAreaH(Widget), Method);
QLCLAbstractScrollArea_override_viewportEvent(QLCLAbstractScrollAreaH(Widget), @ViewPortEventFilter);
setViewport(FViewPortWidget.Widget);
end;
procedure TQtCustomControl.viewportDelete;
var
NilMethod: TMethod;
begin
if Assigned(FViewPortWidget) then
begin
FillChar(NilMethod, SizeOf(NilMethod), 0);
QLCLAbstractScrollArea_override_viewportEvent(QLCLAbstractScrollAreaH(Widget), NilMethod);
QLCLAbstractScrollArea_override_viewportEvent(QLCLAbstractScrollAreaH(Widget),
QLCLAbstractScrollArea_viewportEvent_Override(NilMethod));
FreeAndNil(FViewPortWidget);
end;
end;
@ -9059,7 +8837,6 @@ end;
procedure TQtCalendar.AttachEvents;
var
Method: TMethod;
i: integer;
Children: TPtrIntArray;
AnObject: QObjectH;
@ -9071,17 +8848,13 @@ begin
FSelectionChangedHook := QCalendarWidget_hook_create(Widget);
FCurrentPageChangedHook := QCalendarWidget_hook_create(Widget);
QCalendarWidget_clicked_Event(Method) := @SignalClicked;
QCalendarWidget_hook_hook_clicked(FClickedHook, Method);
QCalendarWidget_hook_hook_clicked(FClickedHook, @SignalClicked);
QCalendarWidget_activated_Event(Method) := @SignalActivated;
QCalendarWidget_hook_hook_activated(FActivatedHook, Method);
QCalendarWidget_hook_hook_activated(FActivatedHook, @SignalActivated);
QCalendarWidget_selectionChanged_Event(Method) := @SignalSelectionChanged;
QCalendarWidget_hook_hook_selectionChanged(FSelectionChangedHook, Method);
QCalendarWidget_hook_hook_selectionChanged(FSelectionChangedHook, @SignalSelectionChanged);
QCalendarWidget_currentPageChanged_Event(Method) := @SignalCurrentPageChanged;
QCalendarWidget_hook_hook_currentPageChanged(FCurrentPageChangedHook, Method);
QCalendarWidget_hook_hook_currentPageChanged(FCurrentPageChangedHook, @SignalCurrentPageChanged);
QObject_children(Widget, @Children);
for i := 0 to High(Children) do
@ -9093,8 +8866,7 @@ begin
if QObject_inherits(AnObject,'QAbstractScrollArea') then
begin
FCalViewportEventHook := QObject_hook_create(QAbstractScrollArea_viewport(QAbstractScrollAreaH(AnObject)));
TEventFilterMethod(Method) := @calViewportEventFilter;
QObject_hook_hook_events(FCalViewportEventHook, Method);
QObject_hook_hook_events(FCalViewportEventHook, @calViewportEventFilter);
end;
end;
end;
@ -9295,20 +9067,14 @@ function TQtHintWindow.CreateWidget(const AParams: TCreateParams): QWidgetH;
begin
FHasPaint := True;
Result := QWidget_create(nil, QtToolTip);
{$IF DEFINED(USE_QT_44) or DEFINED(USE_QT_45)}
FDeleteLater := True;
{$ENDIF}
MenuBar := nil;
end;
procedure TQtHintWindow.SetDefaultColorRoles;
begin
{$IF DEFINED(USE_QT_44) or DEFINED(USE_QT_45)}
WidgetColorRole := QPaletteToolTipBase;
TextColorRole := QPaletteToolTipText;
{$ELSE}
inherited SetDefaultColorRoles;
{$ENDIF}
end;
{ TQtPage }
@ -9388,18 +9154,14 @@ begin
end;
procedure TQtAbstractItemView.SetOwnerDrawn(const AValue: Boolean);
var
Method: TMethod;
begin
if AValue and (FNewDelegate = nil) then
begin
FNewDelegate := QLCLItemDelegate_create(Widget);
QLCLItemDelegate_sizeHint_Override(Method) := @ItemDelegateSizeHint;
QLCLItemDelegate_override_sizeHint(FNewDelegate, Method);
QLCLItemDelegate_override_sizeHint(FNewDelegate, @ItemDelegateSizeHint);
QLCLItemDelegate_paint_Override(Method) := @ItemDelegatePaint;
QLCLItemDelegate_override_Paint(FNewDelegate, Method);
QLCLItemDelegate_override_Paint(FNewDelegate, @ItemDelegatePaint);
FOldDelegate := QAbstractItemView_itemDelegate(QAbstractItemViewH(Widget));
QAbstractItemView_setItemDelegate(QAbstractItemViewH(Widget), FNewDelegate);
@ -9468,8 +9230,6 @@ begin
end;
procedure TQtAbstractItemView.AttachEvents;
var
Method: TMethod;
begin
inherited AttachEvents;
FSignalActivated := QAbstractItemView_hook_create(Widget);
@ -9479,27 +9239,20 @@ begin
FSignalPressed := QAbstractItemView_hook_create(Widget);
FSignalViewportEntered := QAbstractItemView_hook_create(Widget);
QAbstractItemView_activated_Event(Method) := @SignalActivated;
QAbstractItemView_hook_hook_activated(FSignalActivated, Method);
QAbstractItemView_hook_hook_activated(FSignalActivated, @SignalActivated);
QAbstractItemView_clicked_Event(Method) := @SignalClicked;
QAbstractItemView_hook_hook_clicked(FSignalClicked, Method);
QAbstractItemView_hook_hook_clicked(FSignalClicked, @SignalClicked);
QAbstractItemView_doubleClicked_Event(Method) := @SignalDoubleClicked;
QAbstractItemView_hook_hook_doubleClicked(FSignalDoubleClicked, Method);
QAbstractItemView_hook_hook_doubleClicked(FSignalDoubleClicked, @SignalDoubleClicked);
QAbstractItemView_entered_Event(Method) := @SignalEntered;
QAbstractItemView_hook_hook_entered(FSignalEntered, Method);
QAbstractItemView_hook_hook_entered(FSignalEntered, @SignalEntered);
QAbstractItemView_pressed_Event(Method) := @SignalPressed;
QAbstractItemView_hook_hook_pressed(FSignalPressed, Method);
QAbstractItemView_hook_hook_pressed(FSignalPressed, @SignalPressed);
QAbstractItemView_viewportEntered_Event(Method) := @SignalViewportEntered;
QAbstractItemView_hook_hook_viewportEntered(FSignalViewportEntered, Method);
QAbstractItemView_hook_hook_viewportEntered(FSignalViewportEntered, @SignalViewportEntered);
FAbstractItemViewportEventHook := QObject_hook_create(QAbstractScrollArea_viewport(QAbstractScrollAreaH(Widget)));
TEventFilterMethod(Method) := @itemViewViewportEventFilter;
QObject_hook_hook_events(FAbstractItemViewportEventHook, Method);
QObject_hook_hook_events(FAbstractItemViewportEventHook, @itemViewViewportEventFilter);
end;
procedure TQtAbstractItemView.DetachEvents;
@ -9639,8 +9392,6 @@ begin
end;
procedure TQtFileDialog.AttachEvents;
var
Method: TMethod;
begin
inherited AttachEvents;
@ -9648,14 +9399,11 @@ begin
FDirecotyEnteredHook := QFileDialog_hook_create(Widget);
FFilterSelectedHook := QFileDialog_hook_create(Widget);
QFileDialog_filterSelected_Event(Method) := @FilterSelectedEvent;
QFileDialog_hook_hook_filterSelected(FFilterSelectedHook, Method);
QFileDialog_hook_hook_filterSelected(FFilterSelectedHook, @FilterSelectedEvent);
QFileDialog_currentChanged_Event(Method) := @CurrentChangedEvent;
QFileDialog_hook_hook_currentChanged(FCurrentChangedHook, Method);
QFileDialog_hook_hook_currentChanged(FCurrentChangedHook, @CurrentChangedEvent);
QFileDialog_directoryEntered_Event(Method) := @DirectoryEnteredEvent;
QFileDialog_hook_hook_directoryEntered(FDirecotyEnteredHook, Method);
QFileDialog_hook_hook_directoryEntered(FDirecotyEnteredHook, @DirectoryEnteredEvent);
end;
procedure TQtFileDialog.DetachEvents;
@ -9718,11 +9466,7 @@ end;
procedure TQtFileDialog.setFilter(const AFilter: WideString);
begin
{$IF DEFINED(USE_QT_44) or DEFINED(USE_QT_45)}
QFileDialog_setNameFilter(QFileDialogH(Widget), @AFilter);
{$ELSE}
QFileDialog_setFilter(QFileDialogH(Widget), @AFilter);
{$ENDIF}
end;
procedure TQtFileDialog.setLabelText(const ALabel: QFileDialogDialogLabel; const AText: WideString);
@ -9737,11 +9481,7 @@ end;
procedure TQtFileDialog.setSelectedFilter(const ASelFilter: WideString);
begin
{$IF DEFINED(USE_QT_44) or DEFINED(USE_QT_45)}
QFileDialog_selectNameFilter(QFileDialogH(Widget), @ASelFilter);
{$ELSE}
QFileDialog_selectFilter(QFileDialogH(Widget), @ASelFilter);
{$ENDIF}
end;
procedure TQtFileDialog.setViewMode(const AMode: QFileDialogViewMode);
@ -9782,11 +9522,7 @@ end;
procedure TQtFileDialog.getFilters(const retval: QStringListH);
begin
{$IF DEFINED(USE_QT_44) or DEFINED(USE_QT_45)}
QFileDialog_nameFilters(QFileDialogH(Widget), retval);
{$ELSE}
QFileDialog_filters(QFileDialogH(Widget), retval);
{$ENDIF}
end;
{ TQtGraphicView }
@ -10002,15 +9738,12 @@ begin
end;
procedure TQtDesignWidget.AttachEvents;
var
Method: TMethod;
begin
inherited AttachEvents;
if FDesignControl <> nil then
begin
FDesignControlEventHook := QObject_hook_create(FDesignControl);
TEventFilterMethod(Method) := @DesignControlEventFilter;
QObject_hook_hook_events(FDesignControlEventHook, Method);
QObject_hook_hook_events(FDesignControlEventHook, @DesignControlEventFilter);
end;
end;
@ -10108,13 +9841,10 @@ begin
end;
procedure TQtMessageBox.AttachEvents;
var
Method: TMethod;
begin
inherited AttachEvents;
FMBEventHook := QObject_hook_create(Widget);
TEventFilterMethod(Method) := @EventFilter;
QObject_hook_hook_events(FMBEventHook, Method);
QObject_hook_hook_events(FMBEventHook, @EventFilter);
end;
procedure TQtMessageBox.DetachEvents;

View File

@ -2857,11 +2857,7 @@ begin
if FCachedColors[nIndex] = nil then
begin
case nIndex of
{$IF DEFINED(USE_QT_44) or DEFINED(USE_QT_45)}
COLOR_SCROLLBAR : Result:=GetColor(QPaletteActive, QPaletteButton);
{$ELSE}
COLOR_SCROLLBAR : Result:=GetColor(QPaletteActive, QPaletteMid);
{$ENDIF}
COLOR_BACKGROUND : Result:=GetColor(QPaletteActive, QPaletteWindow);
COLOR_WINDOW : Result:=GetColor(QPaletteInActive, QPaletteBase);
COLOR_WINDOWFRAME : Result:=GetColor(QPaletteActive, QPaletteShadow);
@ -2878,13 +2874,8 @@ begin
COLOR_BTNHIGHLIGHT : Result:=GetColor(QPaletteActive, QPaletteLight);
COLOR_3DDKSHADOW : Result:=GetColor(QPaletteActive, QPaletteShadow);
COLOR_3DLIGHT : Result:=GetColor(QPaletteActive, QPaletteMidlight);
{$IF DEFINED(USE_QT_44) or DEFINED(USE_QT_45)}
COLOR_INFOTEXT : Result:=GetColor(QPaletteInActive, QPaletteToolTipText);
COLOR_INFOBK : Result:=GetColor(QPaletteInActive, QPaletteToolTipBase);
{$ELSE}
COLOR_INFOTEXT : Result:=GetClInfo(False);
COLOR_INFOBK : Result:=GetClInfo(True);
{$ENDIF}
COLOR_HOTLIGHT : Result:=GetColor(QPaletteActive, QPaletteLight);
// qt does not provide any methods to retrieve titlebar colors

View File

@ -190,12 +190,8 @@ begin
QWidget_setWindowFlags(Widget.Widget, QtDialog);
{$endif}
{$ifdef darwin}
{$ifdef USE_QT_45}
QWidget_setWindowFlags(Widget.Widget, QtDialog or QtWindowSystemMenuHint or QtCustomizeWindowHint
or QtWindowTitleHint or QtWindowCloseButtonHint);
{$else}
QWidget_setWindowFlags(Widget.Widget, QtDialog or QtWindowSystemMenuHint or QtCustomizeWindowHint);
{$endif}
{$endif}
Widget.setWindowModality(QtApplicationModal);
end;

View File

@ -211,14 +211,14 @@ begin
TmpFilter := AFileDialog.Filter;
DialogFilter := AFileDialog.Filter;
ASelectedFilter := '';
{$ifdef USE_QT_45}
{we must remove all brackets since qt-45 doesn't like brackets
outside filters,so our eg. Pascal source (*.pas;*.pp) | *.pas;*.pp
becomes invalid after filters processing.}
TmpFilter := StringReplace(TmpFilter,'(','',[rfReplaceAll]);
TmpFilter := StringReplace(TmpFilter,')','',[rfReplaceAll]);
DialogFilter := TmpFilter;
{$endif}
TmpFilter := '';
List := TStringList.Create;
@ -320,12 +320,12 @@ begin
{$ifdef darwin}
QWidget_setWindowFlags(FileDialog.Widget, QtDialog or QtWindowSystemMenuHint or QtCustomizeWindowHint);
{$endif}
{$ifdef USE_QT_45}
{$note qt-4.5.0,qt-4.5.1 currently supports macosx only,
others are non native when NOT QT_NATIVE_DIALOGS setted up.}
QFileDialog_setOption(QFileDialogH(FileDialog.Widget),
QFileDialogDontUseNativeDialog, False);
{$endif}
FileDialog.AttachEvents;
Result := THandle(FileDialog);
@ -393,11 +393,10 @@ begin
FileDialog.UserChoice := mrCancel;
{$else}
{$ifdef USE_QT_45}
QFileDialog_setOption(QFileDialogH(QtFileDialog.Widget),
QFileDialogDontConfirmOverwrite,
not (ofOverwritePrompt in TSaveDialog(FileDialog).Options));
{$endif}
FileDialog.UserChoice := QtDialogCodeToModalResultMap[QDialogDialogCode(QtFileDialog.exec)];
ReturnList := QStringList_create;
@ -509,11 +508,9 @@ begin
QtWindowSystemMenuHint or QtCustomizeWindowHint);
{$endif}
{$ifdef USE_QT_45}
{$note qt-4.5.0,qt-4.5.1 currently supports macosx only.}
QFileDialog_setOption(QFileDialogH(FileDialog.Widget),
QFileDialogDontUseNativeDialog, False);
{$endif}
FileDialog.setFileMode(QFileDialogDirectoryOnly);

View File

@ -369,10 +369,8 @@ begin
Flags := GetQtBorderStyle(ABorderStyle) or GetQtFormStyle(AFormStyle) or GetQtBorderIcons(ABorderStyle, ABorderIcons);
if (Flags and QtFramelessWindowHint) = 0 then
Flags := Flags or QtWindowTitleHint or QtCustomizeWindowHint
{$IFDEF USE_QT_45}
or QtWindowCloseButtonHint
{$ENDIF}
;
or QtWindowCloseButtonHint;
if not (csDesigning in AWidget.LCLObject.ComponentState) then
AWidget.setWindowFlags(Flags);
AWidget.setVisible(AVisible);

View File

@ -109,9 +109,7 @@ end;
class function TQtWSMenuItem.CreateMenuFromMenuItem(const AMenuItem: TMenuItem): TQtMenu;
begin
Result := TQtMenu.Create(AMenuItem);
{$IF DEFINED(USE_QT_44) or DEFINED(USE_QT_45)}
Result.FDeleteLater := False;
{$ENDIF}
Result.setSeparator(AMenuItem.IsLine);
Result.setHasSubmenu(AMenuItem.Count > 0);
if not AMenuItem.IsLine then