mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-04-07 05:18:00 +02:00
LCL: added ASystemTopAlso bool param to TApplication.RemoveStayOnTop & TApplication.RestoreStayOnTop, WS.AppRemoveStayOnTop & WS.AppRestoreStayOnTop, because TApplication.HandleException should normalize all stayontop (app, sys), but app activate/deactivate only fsStayOnTop.
git-svn-id: trunk@25535 -
This commit is contained in:
parent
b0ec64ca2d
commit
c86392f301
@ -1299,8 +1299,8 @@ type
|
||||
const Keyword: String): Boolean;
|
||||
function HelpKeyword(const Keyword: String): Boolean;
|
||||
procedure ShowHelpForObject(Sender: TObject);
|
||||
procedure RemoveStayOnTop;
|
||||
procedure RestoreStayOnTop;
|
||||
procedure RemoveStayOnTop(const ASystemTopAlso: Boolean = False);
|
||||
procedure RestoreStayOnTop(const ASystemTopAlso: Boolean = False);
|
||||
function IsWaiting: boolean;
|
||||
procedure CancelHint;
|
||||
procedure HideHint;
|
||||
|
@ -1175,7 +1175,7 @@ begin
|
||||
// a message can be shown
|
||||
if GetCapture <> 0 then SendMessage(GetCapture, LM_CANCELMODE, 0, 0);
|
||||
if not Skip then
|
||||
RemoveStayOnTop;
|
||||
RemoveStayOnTop(True);
|
||||
// handle the exception
|
||||
if ExceptObject is Exception then
|
||||
begin
|
||||
@ -1196,7 +1196,7 @@ begin
|
||||
else
|
||||
SysUtils.ShowException(ExceptObject, ExceptAddr);
|
||||
if not Skip then
|
||||
RestoreStayOnTop;
|
||||
RestoreStayOnTop(True);
|
||||
Exclude(FFlags, AppHandlingException);
|
||||
end;
|
||||
|
||||
@ -1257,12 +1257,12 @@ end;
|
||||
{------------------------------------------------------------------------------
|
||||
procedure TApplication.RemoveStayOnTop;
|
||||
------------------------------------------------------------------------------}
|
||||
procedure TApplication.RemoveStayOnTop;
|
||||
procedure TApplication.RemoveStayOnTop(const ASystemTopAlso: Boolean = False);
|
||||
var
|
||||
i: Integer;
|
||||
AForm: TCustomForm;
|
||||
begin
|
||||
if WidgetSet.AppRemoveStayOnTopFlags then
|
||||
if WidgetSet.AppRemoveStayOnTopFlags(ASystemTopAlso) then
|
||||
Exit;
|
||||
if Screen = nil then
|
||||
Exit;
|
||||
@ -1282,11 +1282,11 @@ begin
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TApplication.RestoreStayOnTop;
|
||||
procedure TApplication.RestoreStayOnTop(const ASystemTopAlso: Boolean = False);
|
||||
var
|
||||
i: integer;
|
||||
begin
|
||||
if WidgetSet.AppRestoreStayOnTopFlags then
|
||||
if WidgetSet.AppRestoreStayOnTopFlags(ASystemTopAlso) then
|
||||
Exit;
|
||||
if FRestoreStayOnTop <> nil then
|
||||
for i := FRestoreStayOnTop.Count - 1 downto 0 do
|
||||
|
@ -61,12 +61,12 @@ procedure TWidgetSet.AppSetVisible(const AVisible: Boolean);
|
||||
begin
|
||||
end;
|
||||
|
||||
function TWidgetSet.AppRemoveStayOnTopFlags: Boolean;
|
||||
function TWidgetSet.AppRemoveStayOnTopFlags(const ASystemTopAlso: Boolean = False): Boolean;
|
||||
begin
|
||||
Result := False;
|
||||
end;
|
||||
|
||||
function TWidgetSet.AppRestoreStayOnTopFlags: Boolean;
|
||||
function TWidgetSet.AppRestoreStayOnTopFlags(const ASystemTopAlso: Boolean = False): Boolean;
|
||||
begin
|
||||
Result := False;
|
||||
end;
|
||||
|
@ -107,8 +107,8 @@ type
|
||||
procedure AppSetIcon(const Small, Big: HICON); virtual;
|
||||
procedure AppSetTitle(const ATitle: string); virtual;
|
||||
procedure AppSetVisible(const AVisible: Boolean); virtual;
|
||||
function AppRemoveStayOnTopFlags: Boolean; virtual;
|
||||
function AppRestoreStayOnTopFlags: Boolean; virtual;
|
||||
function AppRemoveStayOnTopFlags(const ASystemTopAlso: Boolean = False): Boolean; virtual;
|
||||
function AppRestoreStayOnTopFlags(const ASystemTopAlso: Boolean = False): Boolean; virtual;
|
||||
|
||||
function LCLPlatform: TLCLPlatform; virtual; abstract;
|
||||
function GetLCLCapability(ACapability: TLCLCapability): PtrUInt; virtual;
|
||||
|
@ -75,8 +75,8 @@ type
|
||||
FSysColorBrushes: array[0..MAX_SYS_COLORS] of HBrush;
|
||||
procedure ClearCachedColors;
|
||||
procedure SetOverrideCursor(const AValue: TObject);
|
||||
procedure QtRemoveStayOnTop;
|
||||
procedure QtRestoreStayOnTop;
|
||||
procedure QtRemoveStayOnTop(const ASystemTopAlso: Boolean = False);
|
||||
procedure QtRestoreStayOnTop(const ASystemTopAlso: Boolean = False);
|
||||
protected
|
||||
FStockNullBrush: HBRUSH;
|
||||
FStockBlackBrush: HBRUSH;
|
||||
@ -109,8 +109,8 @@ type
|
||||
procedure AppBringToFront; override;
|
||||
procedure AppSetIcon(const Small, Big: HICON); override;
|
||||
procedure AppSetTitle(const ATitle: string); override;
|
||||
function AppRemoveStayOnTopFlags: Boolean; override;
|
||||
function AppRestoreStayOnTopFlags: Boolean; override;
|
||||
function AppRemoveStayOnTopFlags(const ASystemTopAlso: Boolean = False): Boolean; override;
|
||||
function AppRestoreStayOnTopFlags(const ASystemTopAlso: Boolean = False): Boolean; override;
|
||||
public
|
||||
constructor Create; override;
|
||||
destructor Destroy; override;
|
||||
|
@ -312,16 +312,16 @@ begin
|
||||
QCoreApplication_setApplicationName(@W);
|
||||
end;
|
||||
|
||||
function TQtWidgetSet.AppRemoveStayOnTopFlags: Boolean;
|
||||
function TQtWidgetSet.AppRemoveStayOnTopFlags(const ASystemTopAlso: Boolean = False): Boolean;
|
||||
begin
|
||||
Result := True;
|
||||
QtRemoveStayOnTop;
|
||||
QtRemoveStayOnTop(ASystemTopAlso);
|
||||
end;
|
||||
|
||||
function TQtWidgetSet.AppRestoreStayOnTopFlags: Boolean;
|
||||
function TQtWidgetSet.AppRestoreStayOnTopFlags(const ASystemTopAlso: Boolean = False): Boolean;
|
||||
begin
|
||||
Result := True;
|
||||
QtRestoreStayOnTop;
|
||||
QtRestoreStayOnTop(ASystemTopAlso);
|
||||
end;
|
||||
|
||||
procedure TQtWidgetSet.SetOverrideCursor(const AValue: TObject);
|
||||
@ -336,7 +336,7 @@ begin
|
||||
FOverrideCursor := AValue;
|
||||
end;
|
||||
|
||||
procedure TQtWidgetSet.QtRemoveStayOnTop;
|
||||
procedure TQtWidgetSet.QtRemoveStayOnTop(const ASystemTopAlso: Boolean = False);
|
||||
var
|
||||
i: Integer;
|
||||
AForm: TCustomForm;
|
||||
@ -372,7 +372,7 @@ begin
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TQtWidgetSet.QtRestoreStayOnTop;
|
||||
procedure TQtWidgetSet.QtRestoreStayOnTop(const ASystemTopAlso: Boolean = False);
|
||||
var
|
||||
i: Integer;
|
||||
AForm: TCustomForm;
|
||||
|
@ -175,8 +175,8 @@ type
|
||||
procedure AppSetIcon(const Small, Big: HICON); override;
|
||||
procedure AppSetTitle(const ATitle: string); override;
|
||||
procedure AppSetVisible(const AVisible: Boolean); override;
|
||||
function AppRemoveStayOnTopFlags: Boolean; override;
|
||||
function AppRestoreStayOnTopFlags: Boolean; override;
|
||||
function AppRemoveStayOnTopFlags(const ASystemTopAlso: Boolean = False): Boolean; override;
|
||||
function AppRestoreStayOnTopFlags(const ASystemTopAlso: Boolean = False): Boolean; override;
|
||||
|
||||
function InitStockFont(AFont: TObject; AStockFont: TStockFont): Boolean; override;
|
||||
|
||||
|
@ -509,13 +509,13 @@ begin
|
||||
Windows.ShowWindow(FAppHandle, SW_HIDE);
|
||||
end;
|
||||
|
||||
function TWin32WidgetSet.AppRemoveStayOnTopFlags: Boolean;
|
||||
function TWin32WidgetSet.AppRemoveStayOnTopFlags(const ASystemTopAlso: Boolean = False): Boolean;
|
||||
begin
|
||||
RemoveStayOnTopFlags(AppHandle);
|
||||
Result := True;
|
||||
end;
|
||||
|
||||
function TWin32WidgetSet.AppRestoreStayOnTopFlags: Boolean;
|
||||
function TWin32WidgetSet.AppRestoreStayOnTopFlags(const ASystemTopAlso: Boolean = False): Boolean;
|
||||
begin
|
||||
RestoreStayOnTopFlags(AppHandle);
|
||||
Result := True;
|
||||
|
Loading…
Reference in New Issue
Block a user