mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-12-16 11:20:43 +01:00
IDE: In project inspector & package editor, add popup menuitems for opening folder of project/package. Fix visibility of FileType menu.
git-svn-id: trunk@62656 -
This commit is contained in:
parent
3007a4b542
commit
06950eefb7
@ -57,7 +57,7 @@ interface
|
|||||||
uses
|
uses
|
||||||
Classes, SysUtils,
|
Classes, SysUtils,
|
||||||
// LCL
|
// LCL
|
||||||
LCLProc, LCLType, Forms, Controls, Buttons, ComCtrls,
|
LCLProc, LCLType, LCLIntf, Forms, Controls, Buttons, ComCtrls,
|
||||||
Menus, Dialogs, FileUtil, LazFileUtils, LazFileCache, ExtCtrls, Graphics,
|
Menus, Dialogs, FileUtil, LazFileUtils, LazFileCache, ExtCtrls, Graphics,
|
||||||
// LazControls
|
// LazControls
|
||||||
TreeFilterEdit,
|
TreeFilterEdit,
|
||||||
@ -130,6 +130,7 @@ type
|
|||||||
procedure mnuAddEditorFilesClick(Sender: TObject);
|
procedure mnuAddEditorFilesClick(Sender: TObject);
|
||||||
procedure mnuAddFPMakeReqClick(Sender: TObject);
|
procedure mnuAddFPMakeReqClick(Sender: TObject);
|
||||||
procedure mnuAddReqClick(Sender: TObject);
|
procedure mnuAddReqClick(Sender: TObject);
|
||||||
|
procedure mnuOpenFolderClick(Sender: TObject);
|
||||||
procedure MoveDependencyUpClick(Sender: TObject);
|
procedure MoveDependencyUpClick(Sender: TObject);
|
||||||
procedure MoveDependencyDownClick(Sender: TObject);
|
procedure MoveDependencyDownClick(Sender: TObject);
|
||||||
procedure SetDependencyDefaultFilenameMenuItemClick(Sender: TObject);
|
procedure SetDependencyDefaultFilenameMenuItemClick(Sender: TObject);
|
||||||
@ -386,6 +387,11 @@ begin
|
|||||||
DoAddDepDialog;
|
DoAddDepDialog;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TProjectInspectorForm.mnuOpenFolderClick(Sender: TObject);
|
||||||
|
begin
|
||||||
|
OpenDocument(LazProject.Directory);
|
||||||
|
end;
|
||||||
|
|
||||||
procedure TProjectInspectorForm.MoveDependencyUpClick(Sender: TObject);
|
procedure TProjectInspectorForm.MoveDependencyUpClick(Sender: TObject);
|
||||||
var
|
var
|
||||||
Dependency: TPkgDependency;
|
Dependency: TPkgDependency;
|
||||||
@ -689,6 +695,8 @@ begin
|
|||||||
AddPopupMenuItem(lisBtnDlgAdd, @mnuAddBitBtnClick);
|
AddPopupMenuItem(lisBtnDlgAdd, @mnuAddBitBtnClick);
|
||||||
if not LazProject.IsVirtual then
|
if not LazProject.IsVirtual then
|
||||||
AddPopupMenuItem(lisRemoveNonExistingFiles,@RemoveNonExistingFilesMenuItemClick);
|
AddPopupMenuItem(lisRemoveNonExistingFiles,@RemoveNonExistingFilesMenuItemClick);
|
||||||
|
AddPopupMenuItem(cLineCaption, Nil, False); // Separator
|
||||||
|
AddPopupMenuItem(lisMenuOpenFolder, @mnuOpenFolderClick);
|
||||||
end
|
end
|
||||||
else if ItemsTreeView.Selected = FDependenciesNode then
|
else if ItemsTreeView.Selected = FDependenciesNode then
|
||||||
begin
|
begin
|
||||||
|
|||||||
@ -36,7 +36,7 @@ uses
|
|||||||
Classes, SysUtils, contnrs,
|
Classes, SysUtils, contnrs,
|
||||||
// LCL
|
// LCL
|
||||||
Forms, Controls, StdCtrls, ComCtrls, Buttons, Graphics, Menus, Dialogs,
|
Forms, Controls, StdCtrls, ComCtrls, Buttons, Graphics, Menus, Dialogs,
|
||||||
ExtCtrls, LCLType, LCLProc,
|
ExtCtrls, LCLType, LCLProc, LCLIntf,
|
||||||
TreeFilterEdit,
|
TreeFilterEdit,
|
||||||
// LazUtils
|
// LazUtils
|
||||||
FileUtil, LazFileUtils, LazFileCache, AvgLvlTree,
|
FileUtil, LazFileUtils, LazFileCache, AvgLvlTree,
|
||||||
@ -76,6 +76,7 @@ var
|
|||||||
PkgEditMenuCollapseDirectory: TIDEMenuCommand;
|
PkgEditMenuCollapseDirectory: TIDEMenuCommand;
|
||||||
PkgEditMenuUseAllUnitsInDirectory: TIDEMenuCommand;
|
PkgEditMenuUseAllUnitsInDirectory: TIDEMenuCommand;
|
||||||
PkgEditMenuUseNoUnitsInDirectory: TIDEMenuCommand;
|
PkgEditMenuUseNoUnitsInDirectory: TIDEMenuCommand;
|
||||||
|
PkgEditMenuOpenFolder: TIDEMenuCommand;
|
||||||
|
|
||||||
// dependencies
|
// dependencies
|
||||||
PkgEditMenuRemoveDependency: TIDEMenuCommand;
|
PkgEditMenuRemoveDependency: TIDEMenuCommand;
|
||||||
@ -289,6 +290,7 @@ type
|
|||||||
procedure MoveUpBtnClick(Sender: TObject);
|
procedure MoveUpBtnClick(Sender: TObject);
|
||||||
procedure OnIdle(Sender: TObject; var {%H-}Done: Boolean);
|
procedure OnIdle(Sender: TObject; var {%H-}Done: Boolean);
|
||||||
procedure OpenFileMenuItemClick(Sender: TObject);
|
procedure OpenFileMenuItemClick(Sender: TObject);
|
||||||
|
procedure OpenFolderMenuItemClick(Sender: TObject);
|
||||||
procedure OptionsBitBtnClick(Sender: TObject);
|
procedure OptionsBitBtnClick(Sender: TObject);
|
||||||
procedure PackageEditorFormClose(Sender: TObject; var {%H-}CloseAction: TCloseAction);
|
procedure PackageEditorFormClose(Sender: TObject; var {%H-}CloseAction: TCloseAction);
|
||||||
procedure PackageEditorFormCloseQuery(Sender: TObject; var CanClose: boolean);
|
procedure PackageEditorFormCloseQuery(Sender: TObject; var CanClose: boolean);
|
||||||
@ -601,6 +603,7 @@ begin
|
|||||||
PkgEditMenuCollapseDirectory:=RegisterIDEMenuCommand(AParent, 'Collapse directory', lisPECollapseDirectory);
|
PkgEditMenuCollapseDirectory:=RegisterIDEMenuCommand(AParent, 'Collapse directory', lisPECollapseDirectory);
|
||||||
PkgEditMenuUseAllUnitsInDirectory:=RegisterIDEMenuCommand(AParent, 'Use all units in directory', lisPEUseAllUnitsInDirectory);
|
PkgEditMenuUseAllUnitsInDirectory:=RegisterIDEMenuCommand(AParent, 'Use all units in directory', lisPEUseAllUnitsInDirectory);
|
||||||
PkgEditMenuUseNoUnitsInDirectory:=RegisterIDEMenuCommand(AParent, 'Use no units in directory', lisPEUseNoUnitsInDirectory);
|
PkgEditMenuUseNoUnitsInDirectory:=RegisterIDEMenuCommand(AParent, 'Use no units in directory', lisPEUseNoUnitsInDirectory);
|
||||||
|
PkgEditMenuOpenFolder:=RegisterIDEMenuCommand(AParent, 'Open folder', lisMenuOpenFolder);
|
||||||
|
|
||||||
// register the section for operations on dependencies
|
// register the section for operations on dependencies
|
||||||
PkgEditMenuSectionDependency:=RegisterIDEMenuSection(PackageEditorMenuFilesRoot,'Dependency');
|
PkgEditMenuSectionDependency:=RegisterIDEMenuSection(PackageEditorMenuFilesRoot,'Dependency');
|
||||||
@ -801,8 +804,8 @@ var
|
|||||||
VirtualFileExists: Boolean;
|
VirtualFileExists: Boolean;
|
||||||
NewMenuItem: TIDEMenuCommand;
|
NewMenuItem: TIDEMenuCommand;
|
||||||
begin
|
begin
|
||||||
if Assigned(SingleSelectedFile) then
|
PkgEditMenuSectionFileType.Visible:=Assigned(SingleSelectedFile);
|
||||||
begin
|
if not PkgEditMenuSectionFileType.Visible then Exit;
|
||||||
PkgEditMenuSectionFileType.Clear;
|
PkgEditMenuSectionFileType.Clear;
|
||||||
VirtualFileExists:=(SingleSelectedFile.FileType=pftVirtualUnit)
|
VirtualFileExists:=(SingleSelectedFile.FileType=pftVirtualUnit)
|
||||||
and FileExistsCached(SingleSelectedFile.GetFullFilename);
|
and FileExistsCached(SingleSelectedFile.GetFullFilename);
|
||||||
@ -819,7 +822,7 @@ var
|
|||||||
end else if VirtualFileExists then
|
end else if VirtualFileExists then
|
||||||
// a virtual unit that exists can be changed into anything
|
// a virtual unit that exists can be changed into anything
|
||||||
NewMenuItem.Enabled:=true
|
NewMenuItem.Enabled:=true
|
||||||
else if (not (CurPFT in PkgFileUnitTypes)) then
|
else if not (CurPFT in PkgFileUnitTypes) then
|
||||||
// all other files can be changed into all non unit types
|
// all other files can be changed into all non unit types
|
||||||
NewMenuItem.Enabled:=true
|
NewMenuItem.Enabled:=true
|
||||||
else if FilenameIsPascalUnit(SingleSelectedFile.Filename) then
|
else if FilenameIsPascalUnit(SingleSelectedFile.Filename) then
|
||||||
@ -829,9 +832,6 @@ var
|
|||||||
// default is to not allow
|
// default is to not allow
|
||||||
NewMenuItem.Enabled:=false;
|
NewMenuItem.Enabled:=false;
|
||||||
end;
|
end;
|
||||||
end
|
|
||||||
else
|
|
||||||
PkgEditMenuSectionFileType.Visible:=False;
|
|
||||||
end;
|
end;
|
||||||
|
|
||||||
var
|
var
|
||||||
@ -856,6 +856,7 @@ begin
|
|||||||
Writable);
|
Writable);
|
||||||
SetItem(PkgEditMenuAddNewComp, @mnuAddNewCompClick, UserSelection=[pstFilesNode],
|
SetItem(PkgEditMenuAddNewComp, @mnuAddNewCompClick, UserSelection=[pstFilesNode],
|
||||||
Writable);
|
Writable);
|
||||||
|
// Required packages root node
|
||||||
SetItem(PkgEditMenuAddNewReqr, @mnuAddNewReqrClick, UserSelection=[pstReqPackNode],
|
SetItem(PkgEditMenuAddNewReqr, @mnuAddNewReqrClick, UserSelection=[pstReqPackNode],
|
||||||
Writable);
|
Writable);
|
||||||
SetItem(PkgEditMenuAddNewFPMakeReqr, @mnuAddFPMakeReqClick, UserSelection=[pstReqPackNode],
|
SetItem(PkgEditMenuAddNewFPMakeReqr, @mnuAddFPMakeReqClick, UserSelection=[pstReqPackNode],
|
||||||
@ -863,11 +864,12 @@ begin
|
|||||||
// selected files
|
// selected files
|
||||||
SetItem(PkgEditMenuOpenFile, @OpenFileMenuItemClick,
|
SetItem(PkgEditMenuOpenFile, @OpenFileMenuItemClick,
|
||||||
UserSelection*[pstFilesNode,pstReqPackNode,pstFPMake]=[]);
|
UserSelection*[pstFilesNode,pstReqPackNode,pstFPMake]=[]);
|
||||||
SetItem(PkgEditMenuReAddFile, @ReAddMenuItemClick, UserSelection=[pstRemFile]);
|
SetItem(PkgEditMenuRemoveFile, @RemoveBitBtnClick,
|
||||||
|
UserSelection=[pstFile], RemoveBitBtn.Enabled);
|
||||||
|
SetItem(PkgEditMenuReAddFile, @ReAddMenuItemClick,
|
||||||
|
UserSelection=[pstRemFile]);
|
||||||
SetItem(PkgEditMenuCopyMoveToDirectory, @CopyMoveToDirMenuItemClick,
|
SetItem(PkgEditMenuCopyMoveToDirectory, @CopyMoveToDirMenuItemClick,
|
||||||
(UserSelection=[pstFile]) and LazPackage.HasDirectory);
|
(UserSelection=[pstFile]) and LazPackage.HasDirectory);
|
||||||
SetItem(PkgEditMenuRemoveFile, @RemoveBitBtnClick, UserSelection=[pstFile],
|
|
||||||
RemoveBitBtn.Enabled);
|
|
||||||
AddFileTypeMenuItem;
|
AddFileTypeMenuItem;
|
||||||
SetItem(PkgEditMenuEditVirtualUnit, @EditVirtualUnitMenuItemClick,
|
SetItem(PkgEditMenuEditVirtualUnit, @EditVirtualUnitMenuItemClick,
|
||||||
Assigned(SingleSelectedFile) and (SingleSelectedFile.FileType=pftVirtualUnit),
|
Assigned(SingleSelectedFile) and (SingleSelectedFile.FileType=pftVirtualUnit),
|
||||||
@ -882,6 +884,7 @@ begin
|
|||||||
SetItem(PkgEditMenuCollapseDirectory, @CollapseDirectoryMenuItemClick);
|
SetItem(PkgEditMenuCollapseDirectory, @CollapseDirectoryMenuItemClick);
|
||||||
SetItem(PkgEditMenuUseAllUnitsInDirectory, @UseAllUnitsInDirectoryMenuItemClick);
|
SetItem(PkgEditMenuUseAllUnitsInDirectory, @UseAllUnitsInDirectoryMenuItemClick);
|
||||||
SetItem(PkgEditMenuUseNoUnitsInDirectory, @UseNoUnitsInDirectoryMenuItemClick);
|
SetItem(PkgEditMenuUseNoUnitsInDirectory, @UseNoUnitsInDirectoryMenuItemClick);
|
||||||
|
SetItem(PkgEditMenuOpenFolder, @OpenFolderMenuItemClick);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
// items for dependencies, under section PkgEditMenuSectionDependency
|
// items for dependencies, under section PkgEditMenuSectionDependency
|
||||||
@ -1525,11 +1528,6 @@ begin
|
|||||||
PackageEditors.UninstallPackage(LazPackage);
|
PackageEditors.UninstallPackage(LazPackage);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TPackageEditorForm.UseAllUnitsInDirectoryMenuItemClick(Sender: TObject);
|
|
||||||
begin
|
|
||||||
DoUseUnitsInDirectory(true);
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TPackageEditorForm.ViewPkgSourceClick(Sender: TObject);
|
procedure TPackageEditorForm.ViewPkgSourceClick(Sender: TObject);
|
||||||
begin
|
begin
|
||||||
PackageEditors.ViewPkgSource(LazPackage);
|
PackageEditors.ViewPkgSource(LazPackage);
|
||||||
@ -1576,11 +1574,21 @@ begin
|
|||||||
UpdateApplyDependencyButton;
|
UpdateApplyDependencyButton;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TPackageEditorForm.UseAllUnitsInDirectoryMenuItemClick(Sender: TObject);
|
||||||
|
begin
|
||||||
|
DoUseUnitsInDirectory(true);
|
||||||
|
end;
|
||||||
|
|
||||||
procedure TPackageEditorForm.UseNoUnitsInDirectoryMenuItemClick(Sender: TObject);
|
procedure TPackageEditorForm.UseNoUnitsInDirectoryMenuItemClick(Sender: TObject);
|
||||||
begin
|
begin
|
||||||
DoUseUnitsInDirectory(false);
|
DoUseUnitsInDirectory(false);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TPackageEditorForm.OpenFolderMenuItemClick(Sender: TObject);
|
||||||
|
begin
|
||||||
|
OpenDocument(LazPackage.Directory);
|
||||||
|
end;
|
||||||
|
|
||||||
procedure TPackageEditorForm.mnuAddDiskFileClick(Sender: TObject);
|
procedure TPackageEditorForm.mnuAddDiskFileClick(Sender: TObject);
|
||||||
var
|
var
|
||||||
OpenDialog: TOpenDialog;
|
OpenDialog: TOpenDialog;
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user