mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-12-06 06:17:32 +01:00
Qt: make non-resizeable forms with borderstyle bsNone,bsSingle and bsDialog.issue #18372.
git-svn-id: trunk@29254 -
This commit is contained in:
parent
670981f753
commit
39fa1c6db3
@ -205,6 +205,9 @@ const
|
|||||||
QtVersionMajor: Integer = 0;
|
QtVersionMajor: Integer = 0;
|
||||||
QtVersionMinor: Integer = 0;
|
QtVersionMinor: Integer = 0;
|
||||||
QtVersionMicro: Integer = 0;
|
QtVersionMicro: Integer = 0;
|
||||||
|
QtMinimumWidgetSize = 0;
|
||||||
|
QtMaximumWidgetSize = 16777215;
|
||||||
|
|
||||||
TargetEntrys = 3;
|
TargetEntrys = 3;
|
||||||
QEventLCLMessage = QEventUser;
|
QEventLCLMessage = QEventUser;
|
||||||
LCLQt_CheckSynchronize = QEventType(Ord(QEventUser) + $1001);
|
LCLQt_CheckSynchronize = QEventType(Ord(QEventUser) + $1001);
|
||||||
|
|||||||
@ -241,7 +241,7 @@ type
|
|||||||
procedure raiseWidget; virtual;
|
procedure raiseWidget; virtual;
|
||||||
procedure stackUnder(AWidget: QWidgetH); virtual;
|
procedure stackUnder(AWidget: QWidgetH); virtual;
|
||||||
procedure frame_resize(ANewWidth, ANewHeight: Integer);
|
procedure frame_resize(ANewWidth, ANewHeight: Integer);
|
||||||
procedure resize(ANewWidth, ANewHeight: Integer); virtual;
|
procedure Resize(ANewWidth, ANewHeight: Integer); virtual;
|
||||||
procedure releaseMouse;
|
procedure releaseMouse;
|
||||||
procedure scroll(dx, dy: integer; ARect: PRect = nil); virtual;
|
procedure scroll(dx, dy: integer; ARect: PRect = nil); virtual;
|
||||||
procedure setAutoFillBackground(const AValue: Boolean);
|
procedure setAutoFillBackground(const AValue: Boolean);
|
||||||
@ -532,6 +532,7 @@ type
|
|||||||
function getAcceptDropFiles: Boolean; override;
|
function getAcceptDropFiles: Boolean; override;
|
||||||
function getText: WideString; override;
|
function getText: WideString; override;
|
||||||
function getTextStatic: Boolean; override;
|
function getTextStatic: Boolean; override;
|
||||||
|
procedure Resize(ANewWidth, ANewHeight: Integer); override;
|
||||||
procedure setText(const W: WideString); override;
|
procedure setText(const W: WideString); override;
|
||||||
procedure setMenuBar(AMenuBar: QMenuBarH);
|
procedure setMenuBar(AMenuBar: QMenuBarH);
|
||||||
function EventFilter(Sender: QObjectH; Event: QEventH): Boolean; cdecl; override;
|
function EventFilter(Sender: QObjectH; Event: QEventH): Boolean; cdecl; override;
|
||||||
@ -1594,7 +1595,7 @@ type
|
|||||||
|
|
||||||
// QRubberBand have it's own move,resize and setGeometry
|
// QRubberBand have it's own move,resize and setGeometry
|
||||||
procedure move(ANewLeft, ANewTop: Integer); override;
|
procedure move(ANewLeft, ANewTop: Integer); override;
|
||||||
procedure resize(ANewWidth, ANewHeight: Integer); override;
|
procedure Resize(ANewWidth, ANewHeight: Integer); override;
|
||||||
procedure setGeometry(ARect: TRect); override;
|
procedure setGeometry(ARect: TRect); override;
|
||||||
|
|
||||||
function getShape: QRubberBandShape;
|
function getShape: QRubberBandShape;
|
||||||
@ -1738,7 +1739,7 @@ begin
|
|||||||
move(FParams.X, FParams.Y);
|
move(FParams.X, FParams.Y);
|
||||||
if GetContainerWidget <> Widget then
|
if GetContainerWidget <> Widget then
|
||||||
QWidget_resize(GetContainerWidget, FParams.Width, FParams.Height);
|
QWidget_resize(GetContainerWidget, FParams.Width, FParams.Height);
|
||||||
resize(FParams.Width, FParams.Height);
|
Resize(FParams.Width, FParams.Height);
|
||||||
|
|
||||||
FScrollX := 0;
|
FScrollX := 0;
|
||||||
FScrollY := 0;
|
FScrollY := 0;
|
||||||
@ -3688,13 +3689,8 @@ begin
|
|||||||
QWidget_resize(Widget, ANewWidth - dw, ANewHeight - dh);
|
QWidget_resize(Widget, ANewWidth - dw, ANewHeight - dh);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TQtWidget.resize(ANewWidth, ANewHeight: Integer);
|
procedure TQtWidget.Resize(ANewWidth, ANewHeight: Integer);
|
||||||
begin
|
begin
|
||||||
{
|
|
||||||
WriteLn('Resize: ', dbgsName(LCLObject),
|
|
||||||
' AOldWidth = ', LCLObject.Width, ' AOldHeight = ', LCLObject.Height,
|
|
||||||
' ANewWidth = ', ANewWidth, ' ANewHeight = ', ANewHeight);
|
|
||||||
}
|
|
||||||
QWidget_resize(Widget, ANewWidth, ANewHeight);
|
QWidget_resize(Widget, ANewWidth, ANewHeight);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
@ -4879,6 +4875,15 @@ begin
|
|||||||
Result := False;
|
Result := False;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TQtMainWindow.Resize(ANewWidth, ANewHeight: Integer);
|
||||||
|
begin
|
||||||
|
if (TCustomForm(LCLObject).BorderStyle in [bsDialog, bsNone, bsSingle]) and
|
||||||
|
not (csDesigning in LCLObject.ComponentState) then
|
||||||
|
QWidget_setFixedSize(Widget, ANewWidth, ANewHeight)
|
||||||
|
else
|
||||||
|
inherited Resize(ANewWidth, ANewHeight);
|
||||||
|
end;
|
||||||
|
|
||||||
procedure TQtMainWindow.setText(const W: WideString);
|
procedure TQtMainWindow.setText(const W: WideString);
|
||||||
begin
|
begin
|
||||||
setWindowTitle(@W);
|
setWindowTitle(@W);
|
||||||
@ -12789,7 +12794,7 @@ begin
|
|||||||
QRubberBand_move(QRubberBandH(Widget), ANewLeft, ANewTop);
|
QRubberBand_move(QRubberBandH(Widget), ANewLeft, ANewTop);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TQtRubberBand.resize(ANewWidth, ANewHeight: Integer);
|
procedure TQtRubberBand.Resize(ANewWidth, ANewHeight: Integer);
|
||||||
begin
|
begin
|
||||||
QRubberBand_resize(QRubberBandH(Widget), ANewWidth, ANewHeight);
|
QRubberBand_resize(QRubberBandH(Widget), ANewWidth, ANewHeight);
|
||||||
end;
|
end;
|
||||||
|
|||||||
@ -559,7 +559,18 @@ begin
|
|||||||
or QtWindowCloseButtonHint;
|
or QtWindowCloseButtonHint;
|
||||||
|
|
||||||
if not (csDesigning in AWidget.LCLObject.ComponentState) then
|
if not (csDesigning in AWidget.LCLObject.ComponentState) then
|
||||||
|
begin
|
||||||
AWidget.setWindowFlags(Flags);
|
AWidget.setWindowFlags(Flags);
|
||||||
|
if ABorderStyle in [bsDialog, bsNone, bsSingle] then
|
||||||
|
AWidget.Resize(AWidget.LCLObject.Width, AWidget.LCLObject.Height)
|
||||||
|
else
|
||||||
|
begin
|
||||||
|
// Reset constraints.
|
||||||
|
AWidget.setMinimumSize(QtMinimumWidgetSize, QtMinimumWidgetSize);
|
||||||
|
AWidget.setMaximumSize(QtMaximumWidgetSize, QtMaximumWidgetSize);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
AWidget.setVisible(AVisible);
|
AWidget.setVisible(AVisible);
|
||||||
AWidget.EndUpdate;
|
AWidget.EndUpdate;
|
||||||
end;
|
end;
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user