diff --git a/ide/addtoprojectdlg.lfm b/ide/addtoprojectdlg.lfm index 5fb3769172..de47f52e2e 100644 --- a/ide/addtoprojectdlg.lfm +++ b/ide/addtoprojectdlg.lfm @@ -46,6 +46,7 @@ object AddToProjectDialog: TAddToProjectDialog Columns = <> MultiSelect = True TabOrder = 0 + OnSelectItem = AddFileListViewSelectItem end end object NewDependPage: TTabSheet diff --git a/ide/addtoprojectdlg.pas b/ide/addtoprojectdlg.pas index b451707f79..3406ecaea6 100644 --- a/ide/addtoprojectdlg.pas +++ b/ide/addtoprojectdlg.pas @@ -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 } diff --git a/packager/addtopackagedlg.lfm b/packager/addtopackagedlg.lfm index 48d2934e56..40a6357650 100644 --- a/packager/addtopackagedlg.lfm +++ b/packager/addtopackagedlg.lfm @@ -384,7 +384,7 @@ object AddToPackageDlg: TAddToPackageDlg MultiSelect = True TabOrder = 0 ViewStyle = vsReport - OnClick = FilesListViewClick + OnSelectItem = FilesListViewSelectItem end object AddFilesBtnPanel: TPanel Left = 0 diff --git a/packager/addtopackagedlg.pas b/packager/addtopackagedlg.pas index 2090f560ee..9a3c1e2b8f 100644 --- a/packager/addtopackagedlg.pas +++ b/packager/addtopackagedlg.pas @@ -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 imrIgnore - 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);