mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-12-02 19:24:46 +01:00
IDE: improve dialogs for adding files to project and to package
git-svn-id: trunk@36333 -
This commit is contained in:
parent
22c9cf054e
commit
492be985ae
@ -46,6 +46,7 @@ object AddToProjectDialog: TAddToProjectDialog
|
||||
Columns = <>
|
||||
MultiSelect = True
|
||||
TabOrder = 0
|
||||
OnSelectItem = AddFileListViewSelectItem
|
||||
end
|
||||
end
|
||||
object NewDependPage: TTabSheet
|
||||
|
||||
@ -81,6 +81,8 @@ type
|
||||
// add files page
|
||||
FilesListView: TListView;
|
||||
procedure AddFileButtonClick(Sender: TObject);
|
||||
procedure AddFileListViewSelectItem(Sender: TObject; Item: TListItem;
|
||||
Selected: Boolean);
|
||||
procedure AddToProjectDialogClose(Sender: TObject;
|
||||
var CloseAction: TCloseAction);
|
||||
procedure DependPkgNameComboBoxChange(Sender: TObject);
|
||||
@ -322,6 +324,12 @@ begin
|
||||
ModalResult:=mrOk;
|
||||
end;
|
||||
|
||||
procedure TAddToProjectDialog.AddFileListViewSelectItem(Sender: TObject;
|
||||
Item: TListItem; Selected: Boolean);
|
||||
begin
|
||||
ButtonPanel.OkButton.Enabled:=AddFileListView.SelCount>0;
|
||||
end;
|
||||
|
||||
procedure TAddToProjectDialog.FilesAddButtonClick(Sender: TObject);
|
||||
var
|
||||
i: Integer;
|
||||
@ -434,7 +442,7 @@ begin
|
||||
0: begin // Add Editor Files
|
||||
ButtonPanel.OKButton.Caption:=lisA2PAddFiles;
|
||||
ButtonPanel.OkButton.OnClick:=@AddFileButtonClick;
|
||||
ButtonPanel.OkButton.Enabled:=AddFileListView.Items.Count>0;
|
||||
ButtonPanel.OkButton.Enabled:=AddFileListView.SelCount>0;
|
||||
end;
|
||||
1: begin // New Requirement
|
||||
ButtonPanel.OkButton.Caption:=lisA2PCreateNewReq;
|
||||
@ -643,14 +651,14 @@ begin
|
||||
end;
|
||||
end;
|
||||
AddFileListView.Items.EndUpdate;
|
||||
ButtonPanel.OkButton.Enabled:=AddFileListView.Items.Count>0;
|
||||
ButtonPanel.OkButton.Enabled:=AddFileListView.SelCount>0;
|
||||
end;
|
||||
|
||||
procedure TAddToProjectDialog.UpdateFilesButtons;
|
||||
begin
|
||||
FilesShortenButton.Enabled:=FilesListView.Items.Count>0;
|
||||
FilesDeleteButton.Enabled:=FilesListView.SelCount>0;
|
||||
ButtonPanel.OKButton.Enabled:=FilesListView.Items.Count>0;
|
||||
ButtonPanel.OKButton.Enabled:=FilesListView.SelCount>0;
|
||||
end;
|
||||
|
||||
{ TAddToProjectResult }
|
||||
|
||||
@ -384,7 +384,7 @@ object AddToPackageDlg: TAddToPackageDlg
|
||||
MultiSelect = True
|
||||
TabOrder = 0
|
||||
ViewStyle = vsReport
|
||||
OnClick = FilesListViewClick
|
||||
OnSelectItem = FilesListViewSelectItem
|
||||
end
|
||||
object AddFilesBtnPanel: TPanel
|
||||
Left = 0
|
||||
|
||||
@ -122,10 +122,8 @@ type
|
||||
FilesListView: TListView;
|
||||
NewFileBtnPanel: TPanel;
|
||||
AddFilesBtnPanel: TPanel;
|
||||
procedure AddToPackageDlgClose(Sender: TObject;
|
||||
var CloseAction: TCloseAction);
|
||||
procedure AddToPackageDlgKeyDown(Sender: TObject; var Key: Word;
|
||||
Shift: TShiftState);
|
||||
procedure AddToPackageDlgClose(Sender: TObject; var CloseAction: TCloseAction);
|
||||
procedure AddToPackageDlgKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
|
||||
procedure AncestorComboBoxChange(Sender: TObject);
|
||||
procedure AncestorComboBoxCloseUp(Sender: TObject);
|
||||
procedure AncestorShowAllCheckBoxClick(Sender: TObject);
|
||||
@ -141,7 +139,7 @@ type
|
||||
procedure FilesBrowseButtonClick(Sender: TObject);
|
||||
procedure FilesDeleteButtonClick(Sender: TObject);
|
||||
procedure FilesDirButtonClick(Sender: TObject);
|
||||
procedure FilesListViewClick(Sender: TObject);
|
||||
procedure FilesListViewSelectItem(Sender: TObject; Item: TListItem; Selected: Boolean);
|
||||
procedure FilesShortenButtonClick(Sender: TObject);
|
||||
procedure FormCreate(Sender: TObject);
|
||||
procedure FormDestroy(Sender: TObject);
|
||||
@ -614,31 +612,15 @@ begin
|
||||
LastParams:=nil;
|
||||
i:=0;
|
||||
while i<FilesListView.Items.Count do begin
|
||||
if not FilesListView.Items[i].Selected then begin
|
||||
Inc(i);
|
||||
Continue;
|
||||
end;
|
||||
Filename:=FilesListView.Items[i].Caption;
|
||||
LazPackage.LongenFilename(Filename);
|
||||
|
||||
// skip directories
|
||||
if DirPathExists(Filename) then begin
|
||||
FilesListView.Items.Delete(i);
|
||||
continue;
|
||||
end;
|
||||
|
||||
// skip not existing files
|
||||
if (not FileExistsUTF8(Filename)) then begin
|
||||
if QuestionDlg(lisFileNotFound,
|
||||
Format(lisPkgMangFileNotFound, ['"', Filename, '"']),
|
||||
mtError,[mrIgnore,mrCancel],0)<>mrIgnore
|
||||
then
|
||||
exit;
|
||||
FilesListView.Items.Delete(i);
|
||||
continue;
|
||||
end;
|
||||
|
||||
NewFileType:=FileNameToPkgFileType(Filename);
|
||||
|
||||
Assert(not DirPathExists(Filename));
|
||||
if LazPackage.FindPkgFile(Filename,true,false)<>nil then begin
|
||||
// file already in package
|
||||
FilesListView.Items.Delete(i);
|
||||
FilesListView.Items.Delete(i); // file already in package
|
||||
continue;
|
||||
end;
|
||||
|
||||
@ -647,12 +629,11 @@ begin
|
||||
CurParams:=LastParams.Next;
|
||||
end else
|
||||
CurParams:=Params;
|
||||
|
||||
CurParams.Clear;
|
||||
CurParams.AddType:=d2ptFile;
|
||||
CurParams.UnitFilename:=Filename;
|
||||
NewFileType:=FileNameToPkgFileType(Filename);
|
||||
CurParams.FileType:=NewFileType;
|
||||
|
||||
if NewFileType=pftUnit then begin
|
||||
CurParams.AddType:=d2ptUnit;
|
||||
Include(CurParams.PkgFileFlags,pffAddToPkgUsesSection);
|
||||
@ -690,7 +671,7 @@ begin
|
||||
LastParams:=CurParams;
|
||||
inc(i);
|
||||
end;
|
||||
OkButton.Enabled:=FilesListView.Items.Count>0;
|
||||
OkButton.Enabled:=FilesListView.SelCount>0;
|
||||
ok:=LastParams<>nil;
|
||||
finally
|
||||
if not ok then Params.Clear;
|
||||
@ -732,6 +713,7 @@ begin
|
||||
NewListItem.Caption:=AFilename;
|
||||
NewPgkFileType:=FileNameToPkgFileType(AFilename);
|
||||
NewListItem.SubItems.Add(GetPkgFileTypeLocalizedName(NewPgkFileType));
|
||||
NewListItem.Selected:=True;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
@ -772,6 +754,7 @@ begin
|
||||
NewListItem.Caption:=AFilename;
|
||||
NewPgkFileType:=FileNameToPkgFileType(AFilename);
|
||||
NewListItem.SubItems.Add(GetPkgFileTypeLocalizedName(NewPgkFileType));
|
||||
NewListItem.Selected:=True;
|
||||
end;
|
||||
end;
|
||||
CheckFilesButtonsOk;
|
||||
@ -780,7 +763,8 @@ begin
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TAddToPackageDlg.FilesListViewClick(Sender: TObject);
|
||||
procedure TAddToPackageDlg.FilesListViewSelectItem(Sender: TObject;
|
||||
Item: TListItem; Selected: Boolean);
|
||||
begin
|
||||
CheckFilesButtonsOk;
|
||||
end;
|
||||
@ -810,7 +794,7 @@ begin
|
||||
FilesDeleteButton.Enabled:=FilesListView.SelCount>0;
|
||||
Result:=FilesListView.Items.Count>0;
|
||||
FilesShortenButton.Enabled:=Result;
|
||||
OkButton.Enabled:=Result;
|
||||
OkButton.Enabled:=FilesListView.SelCount>0;
|
||||
end;
|
||||
|
||||
procedure TAddToPackageDlg.FormCreate(Sender: TObject);
|
||||
|
||||
Loading…
Reference in New Issue
Block a user