diff --git a/ide/main.pp b/ide/main.pp index 3a4e45f250..0676b379c3 100644 --- a/ide/main.pp +++ b/ide/main.pp @@ -4415,7 +4415,9 @@ procedure TMainIDE.ProjectOptionsHelper(const AFilter: array of TAbstractIDEOpti var Capt: String; begin - if Project1=nil then exit; + // This is not called only through ecProjectOptions command. Test for Enabled. + if (Project1=nil) or not MainIDEBar.itmProjectOptions.Enabled then exit; + // This is kind of a hack. Copy OtherDefines from project to current // buildmode's compiler options and then back after they are modified. // Only needed for projects, because packages don't have buildmodes. @@ -6541,7 +6543,6 @@ begin if ProjInspector=nil then begin IDEWindowCreators.CreateForm(ProjInspector,TProjectInspectorForm, State=iwgfDisabled,LazarusIDE.OwningComponent); - ProjInspector.OnShowOptions:=@mnuProjectOptionsClicked; ProjInspector.OnAddUnitToProject:=@ProjInspectorAddUnitToProject; ProjInspector.OnAddDependency:=@PkgBoss.ProjectInspectorAddDependency; ProjInspector.OnRemoveFile:=@ProjInspectorRemoveFile; diff --git a/ide/projectinspector.pas b/ide/projectinspector.pas index 4ee5b58a49..6b96e715ee 100644 --- a/ide/projectinspector.pas +++ b/ide/projectinspector.pas @@ -70,7 +70,7 @@ uses // IDEIntf IDEHelpIntf, IDECommands, IDEDialogs, IDEImagesIntf, LazIDEIntf, ToolBarIntf, // IDE - LazarusIDEStrConsts, MainBase, IDEProcs, DialogProcs, IDEOptionDefs, Project, + LazarusIDEStrConsts, MainBase, MainBar, IDEProcs, DialogProcs, IDEOptionDefs, Project, InputHistory, TransferMacros, EnvironmentOpts, BuildManager, BasePkgManager, ProjPackChecks, ProjPackEditing, ProjPackFilePropGui, PackageDefs, AddToProjectDlg, AddPkgDependencyDlg, AddFPMakeDependencyDlg, LResources; @@ -158,7 +158,6 @@ type FOnReAddDependency: TAddProjInspDepEvent; FOnRemoveDependency: TRemoveProjInspDepEvent; FOnRemoveFile: TRemoveProjInspFileEvent; - FOnShowOptions: TNotifyEvent; FShowDirectoryHierarchy: boolean; FSortAlphabetically: boolean; FUpdateLock: integer; @@ -236,7 +235,6 @@ type function TVNodeRequiredPackages: TTreeNode; public property LazProject: TProject read FLazProject write SetLazProject; - property OnShowOptions: TNotifyEvent read FOnShowOptions write FOnShowOptions; property OnAddUnitToProject: TOnAddUnitToProject read FOnAddUnitToProject write FOnAddUnitToProject; property OnAddDependency: TAddProjInspDepEvent @@ -976,7 +974,7 @@ end; procedure TProjectInspectorForm.OptionsBitBtnClick(Sender: TObject); begin - if Assigned(OnShowOptions) then OnShowOptions(Self); + MainIDEBar.itmProjectOptions.DoOnClick; end; procedure TProjectInspectorForm.HelpBitBtnClick(Sender: TObject);