mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-09-15 11:39:27 +02:00
Merged revision(s) 59737-59739 #466be7b582-#466be7b582, 59758 #971d302ea7 from trunk:
Qt: fixed TListView Style=vsReport + TListView.Checkable=True - no mouse move events. issue #34656 Qt: fixed TListView with Style vsReport + visible columns - it is possible to move columns without LCL interaction. issue #34655 ........ Qt5: TListView with Style vsReport + visible columns - it is possible to move columns without LCL interaction. issue #34655 ........ Qt5: TListView Style=vsReport + TListView.Checkable=True - no mouse move events. issue #34656 ........ Qt5: added missing consts for QFontDialog options. ........ git-svn-id: branches/fixes_2_0@59767 -
This commit is contained in:
parent
3e125017ab
commit
f57361106e
@ -12888,6 +12888,7 @@ var
|
||||
ALCLEvent: QLCLMessageEventH;
|
||||
R: TRect;
|
||||
DC: TQtDeviceContext;
|
||||
AMsgData: PtrUInt;
|
||||
|
||||
procedure SendEventToParent;
|
||||
begin
|
||||
@ -12935,6 +12936,8 @@ begin
|
||||
QListWidgetItem_checkState(Item)) then
|
||||
begin
|
||||
MousePos := QtPoint(0, 0); // shutup compiler
|
||||
if QLCLMessageEvent_getMsg(ALCLEvent) > 0 then
|
||||
QListWidgetItem_setCheckState(Item, GetItemLastCheckState(Item));
|
||||
HandleCheckChangedEvent(MousePos, Item, Event);
|
||||
end;
|
||||
end else
|
||||
@ -12967,7 +12970,11 @@ begin
|
||||
Item := itemAt(MousePos.x, MousePos.y);
|
||||
if (Item <> nil) then
|
||||
begin
|
||||
ALCLEvent := QLCLMessageEvent_create(LCLQt_ItemViewAfterMouseRelease, 0,
|
||||
if Assigned(LCLObject) and LCLObject.Dragging then
|
||||
AMsgData := Ord(QListWidgetItem_checkState(Item)) + 1
|
||||
else
|
||||
AMsgData := 0;
|
||||
ALCLEvent := QLCLMessageEvent_create(LCLQt_ItemViewAfterMouseRelease, AMsgData,
|
||||
PtrUInt(Item), PtrUInt(Item), 0);
|
||||
QCoreApplication_postEvent(Sender, ALCLEvent);
|
||||
end;
|
||||
@ -14543,6 +14550,7 @@ var
|
||||
MousePos: TQtPoint;
|
||||
Item: QTreeWidgetItemH;
|
||||
ALCLEvent: QLCLMessageEventH;
|
||||
AMsgData: PtrUInt;
|
||||
W: QHeaderViewH;
|
||||
R: TRect;
|
||||
DC: TQtDeviceContext;
|
||||
@ -14580,6 +14588,9 @@ begin
|
||||
QTreeWidgetItem_checkState(Item, 0)) then
|
||||
begin
|
||||
MousePos := QtPoint(0, 0); // shutup compiler
|
||||
if QLCLMessageEvent_getMsg(ALCLEvent) > 0 then
|
||||
QTreeWidgetItem_setCheckState(Item, 0, GetItemLastCheckStateInternal(Item));
|
||||
|
||||
HandleCheckChangedEvent(MousePos, Item, Event);
|
||||
end;
|
||||
end else
|
||||
@ -14621,13 +14632,34 @@ begin
|
||||
if Item <> nil then
|
||||
begin
|
||||
Item := topLevelItem(GetRow(Item));
|
||||
ALCLEvent := QLCLMessageEvent_create(LCLQt_ItemViewAfterMouseRelease, 0,
|
||||
if Assigned(LCLObject) and LCLObject.Dragging then
|
||||
AMsgData := Ord(QTreeWidgetItem_checkState(Item, 0)) + 1
|
||||
else
|
||||
AMsgData := 0;
|
||||
ALCLEvent := QLCLMessageEvent_create(LCLQt_ItemViewAfterMouseRelease, AMsgData,
|
||||
PtrUInt(Item), PtrUInt(Item), 0);
|
||||
QCoreApplication_postEvent(Sender, ALCLEvent);
|
||||
end;
|
||||
end;
|
||||
Result := inherited itemViewViewportEventFilter(Sender, Event);
|
||||
end;
|
||||
end else
|
||||
if (QEvent_type(Event) = QEventMouseMove) and (LCLObject <> nil) then
|
||||
begin
|
||||
W := QTreeView_header(QTreeViewH(Widget));
|
||||
if QWidget_isVisible(W) and QWidget_isVisibleTo(W, Widget) then
|
||||
begin
|
||||
BeginEventProcessing;
|
||||
try
|
||||
Result := SlotMouseMove(Sender, Event);
|
||||
// allow dnd inside listview (vsReport and vsList only).
|
||||
if not Result and Assigned(LCLObject) and LCLObject.Dragging then
|
||||
Result := True;
|
||||
finally
|
||||
EndEventProcessing;
|
||||
end;
|
||||
end else
|
||||
Result := inherited itemViewViewportEventFilter(Sender, Event);
|
||||
end;
|
||||
end else
|
||||
begin
|
||||
@ -15045,6 +15077,7 @@ begin
|
||||
FHeader := TQtHeaderView.CreateFrom(LCLObject, QTreeView_header(QTreeViewH(Widget)));
|
||||
FHeader.FOwner := Self;
|
||||
FHeader.FChildOfComplexWidget := ccwTreeWidget;
|
||||
QHeaderView_setMovable(QHeaderViewH(FHeader.Widget), False);
|
||||
{$IFDEF TEST_QT_SORTING}
|
||||
FSortChanged := QHeaderView_hook_create(FHeader.Widget);
|
||||
QHeaderView_hook_hook_sortIndicatorChanged(FSortChanged,
|
||||
|
@ -11905,8 +11905,12 @@ type
|
||||
QFontDialogFontDialogOption = cardinal; // QFontDialog::FontDialogOption
|
||||
QFontDialogFontDialogOptions = QFontDialogFontDialogOption; //QFlags<> (3)
|
||||
const
|
||||
QFontDialogNoButtons = $00000001;
|
||||
QFontDialogDontUseNativeDialog = $00000002;
|
||||
QFontDialogNoButtons = $00000001;
|
||||
QFontDialogDontUseNativeDialog = $00000002;
|
||||
QFontDialogScalableFonts = $00000004;
|
||||
QFontDialogNonScalableFonts = $00000008;
|
||||
QFontDialogMonospacedFonts = $00000010;
|
||||
QFontDialogProportionalFonts = $00000020;
|
||||
|
||||
function QFontDialog_Create(parent: QWidgetH = nil): QFontDialogH; cdecl; external Qt5PasLib name 'QFontDialog_Create';
|
||||
procedure QFontDialog_Destroy(handle: QFontDialogH); cdecl; external Qt5PasLib name 'QFontDialog_Destroy';
|
||||
|
@ -12798,6 +12798,7 @@ var
|
||||
ALCLEvent: QLCLMessageEventH;
|
||||
R: TRect;
|
||||
DC: TQtDeviceContext;
|
||||
AMsgData: PtrUInt;
|
||||
|
||||
procedure SendEventToParent;
|
||||
begin
|
||||
@ -12845,6 +12846,8 @@ begin
|
||||
QListWidgetItem_checkState(Item)) then
|
||||
begin
|
||||
MousePos := QtPoint(0, 0); // shutup compiler
|
||||
if QLCLMessageEvent_getMsg(ALCLEvent) > 0 then
|
||||
QListWidgetItem_setCheckState(Item, GetItemLastCheckState(Item));
|
||||
HandleCheckChangedEvent(MousePos, Item, Event);
|
||||
end;
|
||||
end else
|
||||
@ -12879,7 +12882,11 @@ begin
|
||||
Item := itemAt(MousePos.x, MousePos.y);
|
||||
if (Item <> nil) then
|
||||
begin
|
||||
ALCLEvent := QLCLMessageEvent_create(LCLQt_ItemViewAfterMouseRelease, 0,
|
||||
if Assigned(LCLObject) and LCLObject.Dragging then
|
||||
AMsgData := Ord(QListWidgetItem_checkState(Item)) + 1
|
||||
else
|
||||
AMsgData := 0;
|
||||
ALCLEvent := QLCLMessageEvent_create(LCLQt_ItemViewAfterMouseRelease, AMsgData,
|
||||
PtrUInt(Item), PtrUInt(Item), 0);
|
||||
QCoreApplication_postEvent(Sender, ALCLEvent);
|
||||
end;
|
||||
@ -14462,6 +14469,7 @@ var
|
||||
R: TRect;
|
||||
DC: TQtDeviceContext;
|
||||
x: Integer;
|
||||
AMsgData: PtrUInt;
|
||||
begin
|
||||
Result := False;
|
||||
QEvent_accept(Event);
|
||||
@ -14495,6 +14503,8 @@ begin
|
||||
QTreeWidgetItem_checkState(Item, 0)) then
|
||||
begin
|
||||
MousePos := QtPoint(0, 0); // shutup compiler
|
||||
if QLCLMessageEvent_getMsg(ALCLEvent) > 0 then
|
||||
QTreeWidgetItem_setCheckState(Item, 0, GetItemLastCheckStateInternal(Item));
|
||||
HandleCheckChangedEvent(MousePos, Item, Event);
|
||||
end;
|
||||
end else
|
||||
@ -14539,13 +14549,34 @@ begin
|
||||
if Item <> nil then
|
||||
begin
|
||||
Item := topLevelItem(GetRow(Item));
|
||||
ALCLEvent := QLCLMessageEvent_create(LCLQt_ItemViewAfterMouseRelease, 0,
|
||||
if Assigned(LCLObject) and LCLObject.Dragging then
|
||||
AMsgData := Ord(QTreeWidgetItem_checkState(Item, 0)) + 1
|
||||
else
|
||||
AMsgData := 0;
|
||||
ALCLEvent := QLCLMessageEvent_create(LCLQt_ItemViewAfterMouseRelease, AMsgData,
|
||||
PtrUInt(Item), PtrUInt(Item), 0);
|
||||
QCoreApplication_postEvent(Sender, ALCLEvent);
|
||||
end;
|
||||
end;
|
||||
Result := inherited itemViewViewportEventFilter(Sender, Event);
|
||||
end;
|
||||
end else
|
||||
if (QEvent_type(Event) = QEventMouseMove) and (LCLObject <> nil) then
|
||||
begin
|
||||
W := QTreeView_header(QTreeViewH(Widget));
|
||||
if QWidget_isVisible(W) and QWidget_isVisibleTo(W, Widget) then
|
||||
begin
|
||||
BeginEventProcessing;
|
||||
try
|
||||
Result := SlotMouseMove(Sender, Event);
|
||||
// allow dnd inside listview (vsReport and vsList only).
|
||||
if not Result and Assigned(LCLObject) and LCLObject.Dragging then
|
||||
Result := True;
|
||||
finally
|
||||
EndEventProcessing;
|
||||
end;
|
||||
end else
|
||||
Result := inherited itemViewViewportEventFilter(Sender, Event);
|
||||
end;
|
||||
end else
|
||||
begin
|
||||
@ -14963,6 +14994,7 @@ begin
|
||||
FHeader := TQtHeaderView.CreateFrom(LCLObject, QTreeView_header(QTreeViewH(Widget)));
|
||||
FHeader.FOwner := Self;
|
||||
FHeader.FChildOfComplexWidget := ccwTreeWidget;
|
||||
QHeaderView_setSectionsMovable(QHeaderViewH(FHeader.Widget), False);
|
||||
{$IFDEF TEST_QT_SORTING}
|
||||
FSortChanged := QHeaderView_hook_create(FHeader.Widget);
|
||||
QHeaderView_hook_hook_sortIndicatorChanged(FSortChanged,
|
||||
|
Loading…
Reference in New Issue
Block a user