mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-10 07:36:19 +02:00
Qt: dragimagelist should respect DoLock and DoUnlock parameters.
git-svn-id: trunk@22192 -
This commit is contained in:
parent
4d8c56fde5
commit
cef549858e
@ -67,6 +67,7 @@ type
|
||||
FDockImage: QRubberBandH;
|
||||
FDragImageList: QWidgetH;
|
||||
FDragHotSpot: TPoint;
|
||||
FDragImageLock: Boolean;
|
||||
FCachedColors: Array[0..MAX_SYS_COLORS + 1] of PLongWord;
|
||||
procedure ClearCachedColors;
|
||||
procedure SetOverrideCursor(const AValue: TObject);
|
||||
@ -133,6 +134,7 @@ type
|
||||
procedure InitStockItems; virtual;
|
||||
procedure FreeStockItems; virtual;
|
||||
|
||||
property DragImageLock: Boolean read FDragImageLock write FDragImageLock;
|
||||
property OverrideCursor: TObject read FOverrideCursor write SetOverrideCursor;
|
||||
|
||||
{$I qtwinapih.inc}
|
||||
|
@ -31,6 +31,7 @@ begin
|
||||
QtWidgetSet := Self;
|
||||
ClearCachedColors;
|
||||
FDockImage := nil;
|
||||
FDragImageLock := False;
|
||||
end;
|
||||
|
||||
{------------------------------------------------------------------------------
|
||||
|
@ -672,14 +672,28 @@ class function TQtWSDragImageList.HideDragImage(
|
||||
const ADragImageList: TDragImageList; ALockedWindow: HWND; DoUnLock: Boolean
|
||||
): Boolean;
|
||||
begin
|
||||
Result := True;
|
||||
if DoUnlock then
|
||||
begin
|
||||
TQtWidgetset(Widgetset).DragImageLock := False;
|
||||
Result := TQtWidgetset(Widgetset).DragImageList_SetVisible(False);
|
||||
end;
|
||||
end;
|
||||
|
||||
class function TQtWSDragImageList.ShowDragImage(
|
||||
const ADragImageList: TDragImageList; ALockedWindow: HWND; X, Y: Integer;
|
||||
DoLock: Boolean): Boolean;
|
||||
begin
|
||||
Result := TQtWidgetset(Widgetset).DragImageLock;
|
||||
if not DoLock then
|
||||
begin
|
||||
if not Result then
|
||||
Result := TQtWidgetset(Widgetset).DragImageList_SetVisible(True);
|
||||
end else
|
||||
begin
|
||||
TQtWidgetset(Widgetset).DragImageLock := True;
|
||||
Result := TQtWidgetset(Widgetset).DragImageList_DragMove(X, Y) and TQtWidgetset(Widgetset).DragImageList_SetVisible(True);
|
||||
end;
|
||||
end;
|
||||
|
||||
end.
|
||||
|
Loading…
Reference in New Issue
Block a user