mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-21 02:40:13 +02:00
Package editor: Duplicate the "Add" button's menu items in tree popup menu. Part of issue #28097.
git-svn-id: trunk@50815 -
This commit is contained in:
parent
ed23ab0554
commit
5229da3d5b
@ -15,7 +15,7 @@ object PackageEditorForm: TPackageEditorForm
|
|||||||
OnCreate = FormCreate
|
OnCreate = FormCreate
|
||||||
OnDestroy = FormDestroy
|
OnDestroy = FormDestroy
|
||||||
OnDropFiles = FormDropFiles
|
OnDropFiles = FormDropFiles
|
||||||
LCLVersion = '1.5'
|
LCLVersion = '1.7'
|
||||||
object ToolBar: TToolBar
|
object ToolBar: TToolBar
|
||||||
Left = 0
|
Left = 0
|
||||||
Height = 48
|
Height = 48
|
||||||
@ -354,7 +354,7 @@ object PackageEditorForm: TPackageEditorForm
|
|||||||
object mnuAddDiskFile: TMenuItem
|
object mnuAddDiskFile: TMenuItem
|
||||||
Caption = 'Add file...'
|
Caption = 'Add file...'
|
||||||
Default = True
|
Default = True
|
||||||
OnClick = AddBitBtnClick
|
OnClick = mnuAddDiskFileClick
|
||||||
end
|
end
|
||||||
object MenuItem1: TMenuItem
|
object MenuItem1: TMenuItem
|
||||||
Caption = '-'
|
Caption = '-'
|
||||||
|
@ -54,6 +54,14 @@ const
|
|||||||
PackageEditorMenuFilesRootName = 'PackageEditorFiles';
|
PackageEditorMenuFilesRootName = 'PackageEditorFiles';
|
||||||
PackageEditorWindowPrefix = 'PackageEditor_';
|
PackageEditorWindowPrefix = 'PackageEditor_';
|
||||||
var
|
var
|
||||||
|
// General actions for the Files and Required packages root nodes.
|
||||||
|
// Duplicates actions found under the "Add" button.
|
||||||
|
PkgEditMenuAddDiskFile: TIDEMenuCommand;
|
||||||
|
PkgEditMenuAddDiskFiles: TIDEMenuCommand;
|
||||||
|
PkgEditMenuAddNewFile: TIDEMenuCommand;
|
||||||
|
PkgEditMenuAddNewComp: TIDEMenuCommand;
|
||||||
|
PkgEditMenuAddNewReqr: TIDEMenuCommand;
|
||||||
|
|
||||||
// selected files
|
// selected files
|
||||||
PkgEditMenuOpenFile: TIDEMenuCommand;
|
PkgEditMenuOpenFile: TIDEMenuCommand;
|
||||||
PkgEditMenuRemoveFile: TIDEMenuCommand;
|
PkgEditMenuRemoveFile: TIDEMenuCommand;
|
||||||
@ -224,7 +232,6 @@ type
|
|||||||
UsePopupMenu: TPopupMenu;
|
UsePopupMenu: TPopupMenu;
|
||||||
ItemsPopupMenu: TPopupMenu;
|
ItemsPopupMenu: TPopupMenu;
|
||||||
MorePopupMenu: TPopupMenu;
|
MorePopupMenu: TPopupMenu;
|
||||||
procedure AddBitBtnClick(Sender: TObject);
|
|
||||||
procedure AddToProjectClick(Sender: TObject);
|
procedure AddToProjectClick(Sender: TObject);
|
||||||
procedure AddToUsesPkgSectionCheckBoxChange(Sender: TObject);
|
procedure AddToUsesPkgSectionCheckBoxChange(Sender: TObject);
|
||||||
procedure ApplyDependencyButtonClick(Sender: TObject);
|
procedure ApplyDependencyButtonClick(Sender: TObject);
|
||||||
@ -255,6 +262,7 @@ type
|
|||||||
procedure ItemsTreeViewDragOver(Sender, Source: TObject; X, Y: Integer;
|
procedure ItemsTreeViewDragOver(Sender, Source: TObject; X, Y: Integer;
|
||||||
State: TDragState; var Accept: Boolean);
|
State: TDragState; var Accept: Boolean);
|
||||||
procedure ItemsTreeViewKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
|
procedure ItemsTreeViewKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
|
||||||
|
procedure mnuAddDiskFileClick(Sender: TObject);
|
||||||
procedure mnuAddDiskFilesClick(Sender: TObject);
|
procedure mnuAddDiskFilesClick(Sender: TObject);
|
||||||
procedure mnuAddNewCompClick(Sender: TObject);
|
procedure mnuAddNewCompClick(Sender: TObject);
|
||||||
procedure mnuAddNewReqrClick(Sender: TObject);
|
procedure mnuAddNewReqrClick(Sender: TObject);
|
||||||
@ -553,6 +561,12 @@ begin
|
|||||||
// register the section for operations on selected files
|
// register the section for operations on selected files
|
||||||
PkgEditMenuSectionFile:=RegisterIDEMenuSection(PackageEditorMenuFilesRoot,'File');
|
PkgEditMenuSectionFile:=RegisterIDEMenuSection(PackageEditorMenuFilesRoot,'File');
|
||||||
AParent:=PkgEditMenuSectionFile;
|
AParent:=PkgEditMenuSectionFile;
|
||||||
|
PkgEditMenuAddDiskFile:=RegisterIDEMenuCommand(AParent,'Add disk file',lisPckEditAddFilesFromFileSystem);
|
||||||
|
PkgEditMenuAddDiskFiles:=RegisterIDEMenuCommand(AParent,'Add disk files',lisAddFilesInDirectory);
|
||||||
|
PkgEditMenuAddNewFile:=RegisterIDEMenuCommand(AParent,'New file',lisA2PNewFile);
|
||||||
|
PkgEditMenuAddNewComp:=RegisterIDEMenuCommand(AParent,'New component',lisA2PNewComponent);
|
||||||
|
PkgEditMenuAddNewReqr:=RegisterIDEMenuCommand(AParent,'New requirement',lisProjAddNewRequirement);
|
||||||
|
//
|
||||||
PkgEditMenuOpenFile:=RegisterIDEMenuCommand(AParent,'Open File',lisOpen);
|
PkgEditMenuOpenFile:=RegisterIDEMenuCommand(AParent,'Open File',lisOpen);
|
||||||
PkgEditMenuRemoveFile:=RegisterIDEMenuCommand(AParent,'Remove File',lisPckEditRemoveFile);
|
PkgEditMenuRemoveFile:=RegisterIDEMenuCommand(AParent,'Remove File',lisPckEditRemoveFile);
|
||||||
PkgEditMenuReAddFile:=RegisterIDEMenuCommand(AParent,'ReAdd File',lisPckEditReAddFile);
|
PkgEditMenuReAddFile:=RegisterIDEMenuCommand(AParent,'ReAdd File',lisPckEditReAddFile);
|
||||||
@ -681,7 +695,8 @@ begin
|
|||||||
end;
|
end;
|
||||||
|
|
||||||
type
|
type
|
||||||
PackageSelType = (pstFile, pstDir, pstDep, pstRemFile, pstRemDep);
|
PackageSelType = (pstFile, pstDir, pstDep, pstFilesNode, pstReqPackNode,
|
||||||
|
pstRemFile, pstRemDep);
|
||||||
PackageSelTypes = set of PackageSelType;
|
PackageSelTypes = set of PackageSelType;
|
||||||
|
|
||||||
procedure TPackageEditorForm.ItemsPopupMenuPopup(Sender: TObject);
|
procedure TPackageEditorForm.ItemsPopupMenuPopup(Sender: TObject);
|
||||||
@ -721,8 +736,12 @@ var
|
|||||||
Include(UserSelection, pstDep);
|
Include(UserSelection, pstDep);
|
||||||
end;
|
end;
|
||||||
end
|
end
|
||||||
else if IsDirectoryNode(TVNode) or (TVNode=FFilesNode) then
|
else if IsDirectoryNode(TVNode) then
|
||||||
Include(UserSelection, pstDir);
|
Include(UserSelection, pstDir)
|
||||||
|
else if TVNode=FFilesNode then
|
||||||
|
Include(UserSelection, pstFilesNode)
|
||||||
|
else if TVNode=FRequiredPackagesNode then
|
||||||
|
Include(UserSelection, pstReqPackNode);
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
@ -784,11 +803,24 @@ begin
|
|||||||
CollectSelected;
|
CollectSelected;
|
||||||
Writable := not LazPackage.ReadOnly;
|
Writable := not LazPackage.ReadOnly;
|
||||||
|
|
||||||
// items for selected files, under section PkgEditMenuSectionFile
|
// items for Files node and for selected files, under section PkgEditMenuSectionFile
|
||||||
PkgEditMenuSectionFile.Visible := UserSelection*[pstFile,pstRemFile,pstDep,pstRemDep] <> [];
|
PkgEditMenuSectionFile.Visible := not (pstDir in UserSelection);
|
||||||
if PkgEditMenuSectionFile.Visible then
|
if PkgEditMenuSectionFile.Visible then
|
||||||
begin
|
begin
|
||||||
SetItem(PkgEditMenuOpenFile, @OpenFileMenuItemClick);
|
// Files root node
|
||||||
|
SetItem(PkgEditMenuAddDiskFile, @mnuAddDiskFileClick, UserSelection=[pstFilesNode],
|
||||||
|
Writable);
|
||||||
|
SetItem(PkgEditMenuAddDiskFiles, @mnuAddDiskFilesClick, UserSelection=[pstFilesNode],
|
||||||
|
Writable);
|
||||||
|
SetItem(PkgEditMenuAddNewFile, @mnuAddNewFileClick, UserSelection=[pstFilesNode],
|
||||||
|
Writable);
|
||||||
|
SetItem(PkgEditMenuAddNewComp, @mnuAddNewCompClick, UserSelection=[pstFilesNode],
|
||||||
|
Writable);
|
||||||
|
SetItem(PkgEditMenuAddNewReqr, @mnuAddNewReqrClick, UserSelection=[pstReqPackNode],
|
||||||
|
Writable);
|
||||||
|
// selected files
|
||||||
|
SetItem(PkgEditMenuOpenFile, @OpenFileMenuItemClick,
|
||||||
|
UserSelection*[pstFilesNode,pstReqPackNode]=[]);
|
||||||
SetItem(PkgEditMenuReAddFile, @ReAddMenuItemClick, UserSelection=[pstRemFile]);
|
SetItem(PkgEditMenuReAddFile, @ReAddMenuItemClick, UserSelection=[pstRemFile]);
|
||||||
SetItem(PkgEditMenuCopyMoveToDirectory, @CopyMoveToDirMenuItemClick,
|
SetItem(PkgEditMenuCopyMoveToDirectory, @CopyMoveToDirMenuItemClick,
|
||||||
(UserSelection=[pstFile]) and LazPackage.HasDirectory);
|
(UserSelection=[pstFile]) and LazPackage.HasDirectory);
|
||||||
@ -801,7 +833,7 @@ begin
|
|||||||
end;
|
end;
|
||||||
|
|
||||||
// items for directories, under section PkgEditMenuSectionDirectory
|
// items for directories, under section PkgEditMenuSectionDirectory
|
||||||
PkgEditMenuSectionDirectory.Visible := UserSelection=[pstDir];
|
PkgEditMenuSectionDirectory.Visible := UserSelection<=[pstDir,pstFilesNode];
|
||||||
if PkgEditMenuSectionDirectory.Visible then
|
if PkgEditMenuSectionDirectory.Visible then
|
||||||
begin
|
begin
|
||||||
SetItem(PkgEditMenuExpandDirectory, @ExpandDirectoryMenuItemClick);
|
SetItem(PkgEditMenuExpandDirectory, @ExpandDirectoryMenuItemClick);
|
||||||
@ -908,8 +940,6 @@ begin
|
|||||||
try
|
try
|
||||||
Writable:=(not LazPackage.ReadOnly);
|
Writable:=(not LazPackage.ReadOnly);
|
||||||
|
|
||||||
//PkgEditMenuSectionFileType.Clear;
|
|
||||||
|
|
||||||
// under section PkgEditMenuSectionFiles
|
// under section PkgEditMenuSectionFiles
|
||||||
SetItem(PkgEditMenuFindInFiles,@FindInFilesMenuItemClick);
|
SetItem(PkgEditMenuFindInFiles,@FindInFilesMenuItemClick);
|
||||||
SetItem(PkgEditMenuSortFiles,@SortFilesMenuItemClick,(LazPackage.FileCount>1),Writable);
|
SetItem(PkgEditMenuSortFiles,@SortFilesMenuItemClick,(LazPackage.FileCount>1),Writable);
|
||||||
@ -1003,7 +1033,7 @@ begin
|
|||||||
else if Key = VK_DELETE then
|
else if Key = VK_DELETE then
|
||||||
RemoveBitBtnClick(Nil)
|
RemoveBitBtnClick(Nil)
|
||||||
else if Key = VK_INSERT then
|
else if Key = VK_INSERT then
|
||||||
AddBitBtnClick(Nil)
|
mnuAddDiskFileClick(Nil)
|
||||||
else
|
else
|
||||||
Handled := False;
|
Handled := False;
|
||||||
|
|
||||||
@ -1568,7 +1598,7 @@ begin
|
|||||||
NewIncPaths:=MergeSearchPaths(NewIncPaths,CurDir);
|
NewIncPaths:=MergeSearchPaths(NewIncPaths,CurDir);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TPackageEditorForm.AddBitBtnClick(Sender: TObject);
|
procedure TPackageEditorForm.mnuAddDiskFileClick(Sender: TObject);
|
||||||
var
|
var
|
||||||
OpenDialog: TOpenDialog;
|
OpenDialog: TOpenDialog;
|
||||||
i: Integer;
|
i: Integer;
|
||||||
|
Loading…
Reference in New Issue
Block a user