From cfff97567be53871d6c656e69d4cee909bdc9c78 Mon Sep 17 00:00:00 2001 From: joost Date: Tue, 11 Apr 2017 21:51:35 +0000 Subject: [PATCH] fppkg: Fixed package filtering and some cleanup git-svn-id: trunk@54612 - --- .gitattributes | 1 - components/fppkg/src/fppkg_details.pas | 22 ++-- components/fppkg/src/fppkg_mainfrm.lfm | 2 +- components/fppkg/src/fppkg_mainfrm.pas | 41 ++++---- components/fppkg/src/fppkg_optionsfrm.pas | 27 +---- components/fppkg/src/laz_pkgcommands.pas | 30 ------ components/fppkg/src/laz_pkgrepos.pas | 100 ++++--------------- components/fppkg/standalone/lazarusfppkg.lpi | 21 +--- 8 files changed, 58 insertions(+), 186 deletions(-) delete mode 100644 components/fppkg/src/laz_pkgcommands.pas diff --git a/.gitattributes b/.gitattributes index 45f8283ab5..9b6f738340 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1449,7 +1449,6 @@ components/fppkg/src/fppkg_optionsfrm.pas svneol=native#text/plain components/fppkg/src/fppkgpackagemanager.lpk svneol=native#text/plain components/fppkg/src/fppkgpackagemanager.pas svneol=native#text/plain components/fppkg/src/fppkgworkerthread.pas svneol=native#text/plain -components/fppkg/src/laz_pkgcommands.pas svneol=native#text/plain components/fppkg/src/laz_pkgrepos.pas svneol=native#text/plain components/fppkg/src/lazfppkgmanagerintf.pas svneol=native#text/plain components/fppkg/standalone/lazarusfppkg.ico -text svneol=unset#image/x-icon diff --git a/components/fppkg/src/fppkg_details.pas b/components/fppkg/src/fppkg_details.pas index c49d1dcad1..c0fee9d1b9 100644 --- a/components/fppkg/src/fppkg_details.pas +++ b/components/fppkg/src/fppkg_details.pas @@ -77,8 +77,6 @@ begin end; procedure TPkgDetailsForm.FormShow(Sender: TObject); -var - pkg: TLazPackageData; begin if PackageName = '' then exit; @@ -86,17 +84,17 @@ begin //pkg := FLazPackages.FindPackage(PackageName); NameLabel.Caption := PackageName; - DescriptionMemo.Text:= pkg.Description; +// DescriptionMemo.Text:= pkg.Description; - AuthorLabel.Caption:= 'Author: ' + pkg.Author; - VersionLabel.Caption:= 'Version: ' + pkg.AvialableVersion; - LicenseLabel.Caption:= 'License: ' + pkg.License; - HomePageURLLabel.Caption:= 'Homepage: ' + pkg.HomepageURL; - DownloadURLLabel.Caption:= 'Download: ' + pkg.DownloadURL; - FileNameLabel.Caption:= 'Filename: ' + pkg.FileName; - EmailLabel.Caption:= 'Email: ' + pkg.Email; - OSLabel.Caption:= 'OS: ' + pkg.OS; - CPULabel.Caption:= 'CPU: ' + pkg.CPU; +// AuthorLabel.Caption:= 'Author: ' + pkg.Author; +// VersionLabel.Caption:= 'Version: ' + pkg.AvialableVersion; +// LicenseLabel.Caption:= 'License: ' + pkg.License; +// HomePageURLLabel.Caption:= 'Homepage: ' + pkg.HomepageURL; +// DownloadURLLabel.Caption:= 'Download: ' + pkg.DownloadURL; +// FileNameLabel.Caption:= 'Filename: ' + pkg.FileName; +// EmailLabel.Caption:= 'Email: ' + pkg.Email; +// OSLabel.Caption:= 'OS: ' + pkg.OS; +// CPULabel.Caption:= 'CPU: ' + pkg.CPU; end; end. diff --git a/components/fppkg/src/fppkg_mainfrm.lfm b/components/fppkg/src/fppkg_mainfrm.lfm index ecb029ad08..1827a7acbd 100644 --- a/components/fppkg/src/fppkg_mainfrm.lfm +++ b/components/fppkg/src/fppkg_mainfrm.lfm @@ -11,7 +11,7 @@ object FppkgForm: TFppkgForm OnCreate = FormCreate OnDestroy = FormDestroy Position = poScreenCenter - LCLVersion = '1.7' + LCLVersion = '1.9.0.0' object ToolBar: TToolBar Left = 0 Height = 56 diff --git a/components/fppkg/src/fppkg_mainfrm.pas b/components/fppkg/src/fppkg_mainfrm.pas index 845a97f0fc..1c9c1af617 100644 --- a/components/fppkg/src/fppkg_mainfrm.pas +++ b/components/fppkg/src/fppkg_mainfrm.pas @@ -143,9 +143,9 @@ type function PkgColumnValue(AName: string; pkg: TLazPackage): string; - function FindSearchPhrase(pkg: TLazPackageData): boolean; - function FindCategory(pkg: TLazPackageData): boolean; - function FindSupport(pkg: TLazPackageData): boolean; + function FindSearchPhrase(pkg: TLazPackage): boolean; + function FindCategory(pkg: TLazPackage): boolean; + function FindSupport(pkg: TLazPackage): boolean; procedure GetSelectedPackages(var s: TStrings); procedure MaybeCreateLocalDirs; @@ -527,6 +527,7 @@ begin OptionsForm.ShowModal; //to be sure setup the view again + SetupColumns; UpdatePackageListView; end; @@ -608,7 +609,6 @@ end; procedure TFppkgForm.HandleWorkerThreadDone(var Msg: TLMessage); var s: String; - SB: TMemoScrollbar; begin FLogMonitor.Enter; try @@ -634,7 +634,7 @@ begin ForceDirectories(FFPpkg.Options.GlobalSection.CompilerConfigDir); end; -function TFppkgForm.FindSearchPhrase(pkg: TLazPackageData): boolean; +function TFppkgForm.FindSearchPhrase(pkg: TLazPackage): boolean; var i: integer; searchmask: string; @@ -659,7 +659,7 @@ begin end; end; -function TFppkgForm.FindCategory(pkg: TLazPackageData): boolean; +function TFppkgForm.FindCategory(pkg: TLazPackage): boolean; var i: integer; searchmask: string; @@ -688,19 +688,19 @@ begin end; end; -function TFppkgForm.FindSupport(pkg: TLazPackageData): boolean; +function TFppkgForm.FindSupport(pkg: TLazPackage): boolean; begin Result := False; //FPC - Result := Result or (SupportCheckGroup.Checked[0] and (pkg.Category = 'FPC')); + Result := Result or (SupportCheckGroup.Checked[0] and (pkg.Support = 'FPC')); //Lazarus - Result := Result or (SupportCheckGroup.Checked[1] and (pkg.Category = 'Lazarus')); + Result := Result or (SupportCheckGroup.Checked[1] and (pkg.Support = 'Lazarus')); //Rest Result := Result or (SupportCheckGroup.Checked[2] and - ((pkg.Category <> 'FPC') and (pkg.Category <> 'Lazarus'))); + ((pkg.Support <> 'FPC') and (pkg.Support <> 'Lazarus'))); end; procedure TFppkgForm.GetSelectedPackages(var s: TStrings); @@ -738,6 +738,8 @@ begin 'Version' : Result := pkg.Version; 'Info' : Result := pkg.GetInfo(FFPpkg); 'Description' : Result := pkg.Description; + 'Keywords': Result := pkg.Keywords; + 'Category': Result := pkg.Category; end; end; @@ -757,7 +759,7 @@ begin begin pkg := FLazPackages.PkgData[i]; - //if FindSearchPhrase(pkg) and FindCategory(pkg) and FindSupport(pkg) then + if FindSearchPhrase(pkg) and FindCategory(pkg) and FindSupport(pkg) then begin li := PackageListView.Items.Add; @@ -775,14 +777,14 @@ begin end; //add images to supported packages -{ if LowerCase(pkg.Support) = 'fpc' then + if LowerCase(pkg.Support) = 'fpc' then li.ImageIndex := FPC_SUPPORTED else if LowerCase(pkg.Support) = 'lazarus' then li.ImageIndex := LAZARUS_SUPPORTED else li.ImageIndex := COMMUNITY_SUPPORTED; -} end; + end; end; PackageListView.EndUpdate; @@ -809,11 +811,6 @@ begin end; end; -{ s := TStringList.Create; - DoRun(FppkgCfg, 'laz_list', s); - s.Free; - end; } - //setup the categories listview CategoryCheckListBox.Clear; CategoryCheckListBox.Items.Add('All'); @@ -821,10 +818,10 @@ begin begin pkg := FLazPackages.PkgData[i]; -// if pkg.Category = '' then - cat := 'Unknown'; -// else -// cat := pkg.Category; + if pkg.Category = '' then + cat := 'Unknown' + else + cat := pkg.Category; if CategoryCheckListBox.Items.IndexOf(cat) = -1 then CategoryCheckListBox.Items.Add(cat); diff --git a/components/fppkg/src/fppkg_optionsfrm.pas b/components/fppkg/src/fppkg_optionsfrm.pas index 995f97c409..66b219145d 100644 --- a/components/fppkg/src/fppkg_optionsfrm.pas +++ b/components/fppkg/src/fppkg_optionsfrm.pas @@ -171,11 +171,10 @@ begin AddPkgColumn('Info', True); AddPkgColumn('Description', False); -{ AddPkgColumn('Keywords', False); AddPkgColumn('Category', False); AddPkgColumn('Support', False); - AddPkgColumn('Author', False); +{ AddPkgColumn('Author', False); AddPkgColumn('License', False); AddPkgColumn('HomepageURL', False); AddPkgColumn('DownloadURL', False); @@ -280,21 +279,12 @@ begin //setup verbosity with VerbosityCheckGroup do begin - {$IF FPC_FULLVERSION > 20602} Checked[Items.IndexOf('Error')] := llError in LazPkgOptions.Verbosity; Checked[Items.IndexOf('Warning')] := llWarning in LazPkgOptions.Verbosity; Checked[Items.IndexOf('Info')] := llInfo in LazPkgOptions.Verbosity; Checked[Items.IndexOf('Commands')] := llCommands in LazPkgOptions.Verbosity; Checked[Items.IndexOf('Debug')] := llDebug in LazPkgOptions.Verbosity; Checked[Items.IndexOf('Progress')] := llProgres in LazPkgOptions.Verbosity; - {$ELSE} - Checked[Items.IndexOf('Error')] := vlError in LazPkgOptions.Verbosity; - Checked[Items.IndexOf('Warning')] := vlWarning in LazPkgOptions.Verbosity; - Checked[Items.IndexOf('Info')] := vlInfo in LazPkgOptions.Verbosity; - Checked[Items.IndexOf('Commands')] := vlCommands in LazPkgOptions.Verbosity; - Checked[Items.IndexOf('Debug')] := vlDebug in LazPkgOptions.Verbosity; - Checked[Items.IndexOf('Progress')] := vlProgres in LazPkgOptions.Verbosity; - {$ENDIF} end; end; @@ -306,7 +296,6 @@ begin LazPkgOptions.Verbosity := []; with VerbosityCheckGroup do begin - {$IF FPC_FULLVERSION > 20602} if Checked[Items.IndexOf('Error')] then LazPkgOptions.Verbosity := LazPkgOptions.Verbosity + [llError]; if Checked[Items.IndexOf('Warning')] then @@ -319,20 +308,6 @@ begin LazPkgOptions.Verbosity := LazPkgOptions.Verbosity + [llDebug]; if Checked[Items.IndexOf('Progress')] then LazPkgOptions.Verbosity := LazPkgOptions.Verbosity + [llProgres]; - {$ELSE} - if Checked[Items.IndexOf('Error')] then - LazPkgOptions.Verbosity := LazPkgOptions.Verbosity + [vlError]; - if Checked[Items.IndexOf('Warning')] then - LazPkgOptions.Verbosity := LazPkgOptions.Verbosity + [vlWarning]; - if Checked[Items.IndexOf('Info')] then - LazPkgOptions.Verbosity := LazPkgOptions.Verbosity + [vlInfo]; - if Checked[Items.IndexOf('Commands')] then - LazPkgOptions.Verbosity := LazPkgOptions.Verbosity + [vlCommands]; - if Checked[Items.IndexOf('Debug')] then - LazPkgOptions.Verbosity := LazPkgOptions.Verbosity + [vlDebug]; - if Checked[Items.IndexOf('Progress')] then - LazPkgOptions.Verbosity := LazPkgOptions.Verbosity + [vlProgres]; - {$ENDIF} end; Close; diff --git a/components/fppkg/src/laz_pkgcommands.pas b/components/fppkg/src/laz_pkgcommands.pas deleted file mode 100644 index a4e5d2a869..0000000000 --- a/components/fppkg/src/laz_pkgcommands.pas +++ /dev/null @@ -1,30 +0,0 @@ -unit laz_pkgcommands; - -{$mode objfpc}{$H+} - -inter face - -uses - pkghandler; - -implementation - -uses - pkgglobals, pkgoptions, pkgdownload, pkgrepos, laz_pkgrepos, pkgfpmake; - -type - { TCommandLazListPackages } - - TCommandLazListPackages = Class(TPackagehandler) - Public - Procedure Execute;override; - end; - -procedure TCommandLazListPackages.Execute; -begin - //Laz_ListPackages; -end; - -initialization - //RegisterPkgHandler('laz_list',TCommandLazListPackages); -end. diff --git a/components/fppkg/src/laz_pkgrepos.pas b/components/fppkg/src/laz_pkgrepos.pas index 8e857a7073..a7d0c199cb 100644 --- a/components/fppkg/src/laz_pkgrepos.pas +++ b/components/fppkg/src/laz_pkgrepos.pas @@ -9,7 +9,7 @@ uses LMessages, fgl, pkgFppkg, - fprepos{$IF FPC_FULLVERSION > 20602}, fpmkunit{$ENDIF}; + fprepos; const WM_LogMessageWaiting = LM_USER + 1; @@ -32,9 +32,12 @@ type FName: string; FPackageManager: TpkgFPpkg; FPPackageList: TLazFPPackageList; + function GetCategory: string; function GetDefaultFPPackage: TFPPackage; function GetDescription: string; + function GetKeywords: string; function GetState: TLazPackageInstallState; + function GetSupport: string; function GetVersion: string; public constructor Create(AOwner: TComponent); override; @@ -48,46 +51,21 @@ type property PackageManager: TpkgFPpkg read FPackageManager write FPackageManager; property Version: string read GetVersion; property Description: string read GetDescription; + property Category: string read GetCategory; + property Keywords: string read GetKeywords; + property Support: string read GetSupport; end; TLazPackageList = specialize TFPGObjectList; -type - TLazPackageData = record - Name: string; - InstalledVersion: string; - AvialableVersion: string; - Description: string; - Keywords: string; - Category: string; - State: string; - Support: string; - Author: string; - License: string; - HomepageURL: string; - DownloadURL: string; - FileName: string; - Email: string; - OS: string; - CPU: string; - end; - - TPackageSortType = (stNone); - { TLazPackages } TLazPackages = class(TComponent) private FPackageManager: TpkgFPpkg; - FPkgData: array of TLazPackageData; - FSort: TPackageSortType; - FSortType: TPackageSortType; FLazPackageList: TLazPackageList; function GetCount: integer; function GetLazPackage(index: integer): TLazPackage; - function GetPkgData(index: integer): TLazPackageData; - procedure SetSort(const AValue: TPackageSortType); - procedure SetSortType(const AValue: TPackageSortType); public constructor Create(AOwner: TComponent); override; @@ -96,12 +74,8 @@ type property PkgData[index: integer]: TLazPackage read GetLazPackage; property Count: integer read GetCount; procedure AddFPPackage(AFPPackage: TFPPackage); - procedure Add(Pkg: TLazPackageData); procedure Clear; - property SortType: TPackageSortType read FSortType write SetSortType; - procedure Sort; - function FindPackage(const AName: string): TLazPackageData; property PackageManager: TpkgFPpkg read FPackageManager write FPackageManager; end; @@ -137,11 +111,21 @@ begin end; end; +function TLazPackage.GetCategory: string; +begin + Result := GetDefaultFPPackage.Category; +end; + function TLazPackage.GetDescription: string; begin Result := GetDefaultFPPackage.Description; end; +function TLazPackage.GetKeywords: string; +begin + Result := GetDefaultFPPackage.Keywords; +end; + function TLazPackage.GetInfo(PackageManager: TpkgFPpkg): string; var Package: TFPPackage; @@ -176,6 +160,11 @@ begin end; end; +function TLazPackage.GetSupport: string; +begin + result := GetDefaultFPPackage.Support; +end; + function TLazPackage.GetVersion: string; begin result := GetDefaultFPPackage.Version.AsString; @@ -205,11 +194,6 @@ end; { TLazPackages } -function TLazPackages.GetPkgData(index: integer): TLazPackageData; -begin - Result := FPkgData[index]; -end; - function TLazPackages.GetCount: integer; begin Result := FLazPackageList.Count; @@ -220,26 +204,10 @@ begin result := FLazPackageList.Items[index]; end; -procedure TLazPackages.SetSort(const AValue: TPackageSortType); -begin - if FSort = AValue then - exit; - FSort := AValue; -end; - -procedure TLazPackages.SetSortType(const AValue: TPackageSortType); -begin - if FSortType = AValue then - exit; - FSortType := AValue; -end; - constructor TLazPackages.Create(AOwner: TComponent); begin inherited Create(AOwner); FLazPackageList := TLazPackageList.Create(False); - - SortType := stNone; end; destructor TLazPackages.Destroy; @@ -268,34 +236,10 @@ begin FLazPackageList.Add(LazPackage); end; -procedure TLazPackages.Add(Pkg: TLazPackageData); -begin -end; - procedure TLazPackages.Clear; begin FLazPackageList.Clear; end; -procedure TLazPackages.Sort; -begin - case SortType of - //no sorting - stNone: - end; -end; - -function TLazPackages.FindPackage(const AName: string): TLazPackageData; -var - i: integer; -begin - for i := 0 to Count - 1 do - if FPkgData[i].Name = AName then - begin - Result := FPkgData[i]; - exit; - end; -end; - end. diff --git a/components/fppkg/standalone/lazarusfppkg.lpi b/components/fppkg/standalone/lazarusfppkg.lpi index a787590c51..cb89628af7 100644 --- a/components/fppkg/standalone/lazarusfppkg.lpi +++ b/components/fppkg/standalone/lazarusfppkg.lpi @@ -47,7 +47,7 @@ - + @@ -60,25 +60,13 @@ - + - - - - - - - - - - - - - + @@ -89,7 +77,7 @@ - + @@ -118,6 +106,7 @@ +