mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-20 12:59:16 +02:00
projectgroups: do not bring editor to front on start
This commit is contained in:
parent
96271ad5c6
commit
bb5c50df1e
@ -199,8 +199,9 @@ Type
|
|||||||
pgloRemoveInvalid, // Remove non-existing targets from group automatically while loading
|
pgloRemoveInvalid, // Remove non-existing targets from group automatically while loading
|
||||||
pgloSkipInvalid, // Mark non-existing as Missing.
|
pgloSkipInvalid, // Mark non-existing as Missing.
|
||||||
pgloErrorInvalid, // Stop with error on non-existing.
|
pgloErrorInvalid, // Stop with error on non-existing.
|
||||||
|
pgloLoadRecursively, // load all sub nodes
|
||||||
pgloSkipDialog, // do not show Project Group editor.
|
pgloSkipDialog, // do not show Project Group editor.
|
||||||
pgloLoadRecursively // load all sub nodes
|
pgloBringToFront // when showing editor, bring it to front
|
||||||
);
|
);
|
||||||
TProjectGroupLoadOptions = set of TProjectGroupLoadOption;
|
TProjectGroupLoadOptions = set of TProjectGroupLoadOption;
|
||||||
|
|
||||||
@ -225,7 +226,7 @@ Type
|
|||||||
public
|
public
|
||||||
constructor Create;
|
constructor Create;
|
||||||
destructor Destroy; override;
|
destructor Destroy; override;
|
||||||
function NewProjectGroup(AddActiveProject: boolean): boolean; virtual; abstract;
|
function NewProjectGroup(AddActiveProject: boolean; BringToFront: boolean = true): boolean; virtual; abstract;
|
||||||
function LoadProjectGroup(AFileName: string; AOptions: TProjectGroupLoadOptions): boolean; virtual; abstract;
|
function LoadProjectGroup(AFileName: string; AOptions: TProjectGroupLoadOptions): boolean; virtual; abstract;
|
||||||
function SaveProjectGroup: boolean; virtual; abstract;
|
function SaveProjectGroup: boolean; virtual; abstract;
|
||||||
function GetSrcPaths: string; virtual; abstract;
|
function GetSrcPaths: string; virtual; abstract;
|
||||||
|
@ -231,7 +231,7 @@ type
|
|||||||
FProjectGroup: TIDEProjectGroup;
|
FProjectGroup: TIDEProjectGroup;
|
||||||
protected
|
protected
|
||||||
function GetCurrentProjectGroup: TProjectGroup; override;
|
function GetCurrentProjectGroup: TProjectGroup; override;
|
||||||
function ShowProjectGroupEditor: Boolean;
|
function ShowProjectGroupEditor(BringToFront: boolean): Boolean;
|
||||||
procedure TargetDeleting(Group: TIDEProjectGroup; Index: integer);
|
procedure TargetDeleting(Group: TIDEProjectGroup; Index: integer);
|
||||||
function GroupExists(Group: TIDEProjectGroup): boolean;
|
function GroupExists(Group: TIDEProjectGroup): boolean;
|
||||||
public
|
public
|
||||||
@ -250,7 +250,7 @@ type
|
|||||||
function CanRedo: boolean; override;
|
function CanRedo: boolean; override;
|
||||||
procedure Undo; override;
|
procedure Undo; override;
|
||||||
procedure Redo; override;
|
procedure Redo; override;
|
||||||
function NewProjectGroup(AddActiveProject: boolean): boolean; override;
|
function NewProjectGroup(AddActiveProject: boolean; BringToFront: boolean = true): boolean; override;
|
||||||
function LoadProjectGroup(AFileName: string; AOptions: TProjectGroupLoadOptions): boolean; override;
|
function LoadProjectGroup(AFileName: string; AOptions: TProjectGroupLoadOptions): boolean; override;
|
||||||
function SaveProjectGroup: boolean; override;
|
function SaveProjectGroup: boolean; override;
|
||||||
function GetSrcPaths: string; override;
|
function GetSrcPaths: string; override;
|
||||||
@ -260,9 +260,9 @@ type
|
|||||||
property OnEditorOptionsChanged: TNotifyEvent read FOnEditorOptionsChanged write FOnEditorOptionsChanged;
|
property OnEditorOptionsChanged: TNotifyEvent read FOnEditorOptionsChanged write FOnEditorOptionsChanged;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
TEditProjectGroupHandler = procedure(Sender: TObject; AProjectGroup: TProjectGroup);
|
TEditProjectGroupHandler = procedure(Sender: TObject; AProjectGroup: TProjectGroup; BringToFront: boolean);
|
||||||
// Method variant.
|
// Method variant.
|
||||||
TEditProjectGroupEvent = procedure(Sender: TObject; AProjectGroup: TProjectGroup) of object;
|
TEditProjectGroupEvent = procedure(Sender: TObject; AProjectGroup: TProjectGroup; BringToFront: boolean) of object;
|
||||||
|
|
||||||
var
|
var
|
||||||
OnShowProjectGroupEditor: TEditProjectGroupHandler; // Takes precedence
|
OnShowProjectGroupEditor: TEditProjectGroupHandler; // Takes precedence
|
||||||
@ -549,15 +549,16 @@ begin
|
|||||||
Result:=FProjectGroup;
|
Result:=FProjectGroup;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function TIDEProjectGroupManager.ShowProjectGroupEditor: Boolean;
|
function TIDEProjectGroupManager.ShowProjectGroupEditor(BringToFront: boolean
|
||||||
|
): Boolean;
|
||||||
begin
|
begin
|
||||||
Result:=Assigned(FProjectGroup);
|
Result:=Assigned(FProjectGroup);
|
||||||
if Result then
|
if Result then
|
||||||
begin
|
begin
|
||||||
if Assigned(OnShowProjectGroupEditor) then
|
if Assigned(OnShowProjectGroupEditor) then
|
||||||
OnShowProjectGroupEditor(FProjectGroup,FProjectGroup)
|
OnShowProjectGroupEditor(FProjectGroup,FProjectGroup,BringToFront)
|
||||||
else if Assigned(OnShowProjectGroupEditorEvent) then
|
else if Assigned(OnShowProjectGroupEditorEvent) then
|
||||||
OnShowProjectGroupEditorEvent(FProjectGroup,FProjectGroup)
|
OnShowProjectGroupEditorEvent(FProjectGroup,FProjectGroup,BringToFront)
|
||||||
else
|
else
|
||||||
Result:=False;
|
Result:=False;
|
||||||
end;
|
end;
|
||||||
@ -727,6 +728,7 @@ begin
|
|||||||
if Screen.GetCurrentModalForm<>nil then
|
if Screen.GetCurrentModalForm<>nil then
|
||||||
exit;
|
exit;
|
||||||
FIDEStarted:=true;
|
FIDEStarted:=true;
|
||||||
|
debugln(['TIDEProjectGroupManager.OnIdle OpenLastGroupOnStart=',Options.OpenLastGroupOnStart,' LastGroupFile="',Options.LastGroupFile,'"']);
|
||||||
if (CurrentProjectGroup=nil)
|
if (CurrentProjectGroup=nil)
|
||||||
and Options.OpenLastGroupOnStart
|
and Options.OpenLastGroupOnStart
|
||||||
and (Options.LastGroupFile<>'')
|
and (Options.LastGroupFile<>'')
|
||||||
@ -967,8 +969,8 @@ begin
|
|||||||
|
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function TIDEProjectGroupManager.NewProjectGroup(AddActiveProject: boolean
|
function TIDEProjectGroupManager.NewProjectGroup(AddActiveProject: boolean;
|
||||||
): boolean;
|
BringToFront: boolean): boolean;
|
||||||
var
|
var
|
||||||
AProject: TLazProject;
|
AProject: TLazProject;
|
||||||
aTarget: TIDECompileTarget;
|
aTarget: TIDECompileTarget;
|
||||||
@ -992,7 +994,7 @@ begin
|
|||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
ShowProjectGroupEditor;
|
ShowProjectGroupEditor(BringToFront);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function TIDEProjectGroupManager.LoadProjectGroup(AFileName: string;
|
function TIDEProjectGroupManager.LoadProjectGroup(AFileName: string;
|
||||||
@ -1010,7 +1012,7 @@ begin
|
|||||||
if not Result then
|
if not Result then
|
||||||
exit;
|
exit;
|
||||||
if not (pgloSkipDialog in AOptions) then
|
if not (pgloSkipDialog in AOptions) then
|
||||||
ShowProjectGroupEditor;
|
ShowProjectGroupEditor(pgloBringToFront in AOptions);
|
||||||
MnuCmdSaveProjectGroupAs.Enabled:=true;
|
MnuCmdSaveProjectGroupAs.Enabled:=true;
|
||||||
|
|
||||||
Result:=true;
|
Result:=true;
|
||||||
|
@ -270,7 +270,7 @@ var
|
|||||||
|
|
||||||
const
|
const
|
||||||
ProjectGroupEditorName = 'ProjectGroupEditor';
|
ProjectGroupEditorName = 'ProjectGroupEditor';
|
||||||
procedure ShowProjectGroupEditor(Sender: TObject; AProjectGroup: TProjectGroup);
|
procedure ShowProjectGroupEditor(Sender: TObject; AProjectGroup: TProjectGroup; BringToFront: boolean);
|
||||||
procedure CreateProjectGroupEditor(Sender: TObject; aFormName: string;
|
procedure CreateProjectGroupEditor(Sender: TObject; aFormName: string;
|
||||||
var AForm: TCustomForm; DoDisableAutoSizing: boolean);
|
var AForm: TCustomForm; DoDisableAutoSizing: boolean);
|
||||||
procedure SetProjectGroupEditorCallBack;
|
procedure SetProjectGroupEditorCallBack;
|
||||||
@ -286,9 +286,9 @@ const
|
|||||||
piTargetCount = 0;
|
piTargetCount = 0;
|
||||||
piActiveTarget = 1;
|
piActiveTarget = 1;
|
||||||
|
|
||||||
procedure ShowProjectGroupEditor(Sender: TObject; AProjectGroup: TProjectGroup);
|
procedure ShowProjectGroupEditor(Sender: TObject; AProjectGroup: TProjectGroup; BringToFront: boolean);
|
||||||
begin
|
begin
|
||||||
IDEWindowCreators.ShowForm(ProjectGroupEditorCreator.FormName,true);
|
IDEWindowCreators.ShowForm(ProjectGroupEditorCreator.FormName,BringToFront);
|
||||||
if AProjectGroup<>nil then
|
if AProjectGroup<>nil then
|
||||||
ProjectGroupEditorForm.ProjectGroup:=AProjectGroup;
|
ProjectGroupEditorForm.ProjectGroup:=AProjectGroup;
|
||||||
end;
|
end;
|
||||||
|
@ -83,7 +83,7 @@ end;
|
|||||||
|
|
||||||
procedure ViewProjectGroupsClicked(Sender: TObject);
|
procedure ViewProjectGroupsClicked(Sender: TObject);
|
||||||
begin
|
begin
|
||||||
ShowProjectGroupEditor(Sender,IDEProjectGroupManager.CurrentProjectGroup);
|
ShowProjectGroupEditor(Sender,IDEProjectGroupManager.CurrentProjectGroup,true);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure Register;
|
procedure Register;
|
||||||
|
Loading…
Reference in New Issue
Block a user