mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-04-22 09:39:31 +02:00
IDE: TPkgManager.OnCheckInstallPackageList: implemented RemoveConflicts
git-svn-id: trunk@48217 -
This commit is contained in:
parent
e6ec0e240c
commit
6ccd736c5c
@ -39,7 +39,7 @@ unit DiffDialog;
|
||||
interface
|
||||
|
||||
uses
|
||||
Classes, SysUtils, Math, Forms, Controls, Buttons, StdCtrls, FileUtil,
|
||||
Classes, SysUtils, Forms, Controls, Buttons, StdCtrls, FileUtil,
|
||||
lazutf8classes, LazarusIDEStrConsts, EditorOptions, LCLType, IDEWindowIntf,
|
||||
IDEHelpIntf, InputHistory, DiffPatch, ExtCtrls, Dialogs, ComCtrls, SynEdit,
|
||||
SynHighlighterDiff, SourceEditor;
|
||||
@ -134,7 +134,7 @@ type
|
||||
procedure SetupComponents;
|
||||
procedure UpdateDiff;
|
||||
procedure SetIdleConnected(const AValue: boolean);
|
||||
procedure OnIdle(Sender: TObject; var Done: Boolean);
|
||||
procedure OnIdle(Sender: TObject; var {%H-}Done: Boolean);
|
||||
public
|
||||
constructor Create(TheOwner: TComponent); override;
|
||||
destructor Destroy; override;
|
||||
|
@ -40,9 +40,9 @@ unit ViewUnit_Dlg;
|
||||
interface
|
||||
|
||||
uses
|
||||
SysUtils, Classes, Math, Controls, Forms, Dialogs, Buttons, StdCtrls,
|
||||
LazarusIdeStrConsts, IDEProcs, CustomFormEditor, LCLType, LCLIntf, LMessages,
|
||||
ExtCtrls, ButtonPanel, Menus, StrUtils, AVL_Tree, contnrs, ImgList, ComCtrls,
|
||||
SysUtils, Classes, Controls, Forms, Dialogs, Buttons, StdCtrls,
|
||||
LazarusIdeStrConsts, IDEProcs, CustomFormEditor, LCLType, LCLIntf,
|
||||
ExtCtrls, ButtonPanel, Menus, AVL_Tree, ImgList, ComCtrls,
|
||||
PackageDefs, IDEWindowIntf, IDEHelpIntf, IDEImagesIntf, ListFilterEdit,
|
||||
CodeToolsStructs, CodeToolManager, FileProcs, lazutf8sysutils, LazFileUtils,
|
||||
LazLogger;
|
||||
@ -112,9 +112,9 @@ type
|
||||
SortAlphabeticallySpeedButton: TSpeedButton;
|
||||
procedure FormCreate(Sender: TObject);
|
||||
procedure FormDestroy(Sender: TObject);
|
||||
procedure ListboxDrawItem(Control: TWinControl; Index: Integer;
|
||||
ARect: TRect; State: TOwnerDrawState);
|
||||
procedure OnIdle(Sender: TObject; var Done: Boolean);
|
||||
procedure ListboxDrawItem({%H-}Control: TWinControl; Index: Integer;
|
||||
ARect: TRect; {%H-}State: TOwnerDrawState);
|
||||
procedure OnIdle(Sender: TObject; var {%H-}Done: Boolean);
|
||||
procedure SortAlphabeticallySpeedButtonClick(Sender: TObject);
|
||||
procedure OKButtonClick(Sender :TObject);
|
||||
procedure HelpButtonClick(Sender: TObject);
|
||||
|
@ -126,12 +126,8 @@ type
|
||||
);
|
||||
TPkgLinksStates = set of TPkgLinksState;
|
||||
|
||||
TDependencyOwnerGetPkgFilename = function(PkgLinks: TPackageLinks;
|
||||
Dependency: TPkgDependency): boolean of object;
|
||||
|
||||
TPackageLinks = class
|
||||
private
|
||||
FDependencyOwnerGetPkgFilename: TDependencyOwnerGetPkgFilename;
|
||||
FGlobalLinks: TAvgLvlTree; // tree of global TPackageLink sorted for ID
|
||||
FChangeStamp: integer;
|
||||
FQueueSaveUserLinks: boolean;
|
||||
@ -191,9 +187,6 @@ type
|
||||
public
|
||||
property Modified: boolean read GetModified write SetModified;
|
||||
property ChangeStamp: integer read FChangeStamp;
|
||||
property DependencyOwnerGetPkgFilename: TDependencyOwnerGetPkgFilename
|
||||
read FDependencyOwnerGetPkgFilename
|
||||
write FDependencyOwnerGetPkgFilename;
|
||||
property QueueSaveUserLinks: boolean read FQueueSaveUserLinks write SetQueueSaveUserLinks;
|
||||
end;
|
||||
|
||||
@ -1015,11 +1008,6 @@ begin
|
||||
//debugln('TPackageLinks.FindLinkWithDependency A ',Dependency.AsString);
|
||||
// WriteLinkTree(FGlobalLinks);
|
||||
//end;
|
||||
// finally try the history lists of the Dependency Owner (Project/Package)
|
||||
if (Result=nil) and (Dependency.Owner<>nil)
|
||||
and Assigned(DependencyOwnerGetPkgFilename)
|
||||
and DependencyOwnerGetPkgFilename(Self,Dependency) then
|
||||
Result:=FindLinkWithDependencyInTree(FUserLinksSortID,Dependency,IgnoreFiles);
|
||||
end;
|
||||
|
||||
function TPackageLinks.FindLinkWithPackageID(APackageID: TLazPackageID
|
||||
|
@ -88,7 +88,7 @@ type
|
||||
function OnPackageEditorCreateFpmakeFile(Sender: TObject;
|
||||
APackage: TLazPackage): TModalResult;
|
||||
function OnPackageEditorDeleteAmbiguousFiles(Sender: TObject;
|
||||
APackage: TLazPackage; const Filename: string): TModalResult;
|
||||
{%H-}APackage: TLazPackage; const Filename: string): TModalResult;
|
||||
procedure OnPackageEditorDragDropTreeView(Sender, Source: TObject;
|
||||
X, Y: Integer);
|
||||
function OnPackageEditorDragOverTreeView(Sender, Source: TObject;
|
||||
@ -159,11 +159,7 @@ type
|
||||
procedure OnOpenPackageForCurrentSrcEditFile(Sender: TObject);
|
||||
|
||||
// LCL
|
||||
procedure OnApplicationIdle(Sender: TObject; var Done: Boolean);
|
||||
|
||||
// package links
|
||||
function PkgLinksDependencyOwnerGetPkgFilename(PkgLinks: TPackageLinks;
|
||||
Dependency: TPkgDependency): boolean;
|
||||
procedure OnApplicationIdle(Sender: TObject; var {%H-}Done: Boolean);
|
||||
|
||||
// misc
|
||||
procedure GetDependencyOwnerDescription(Dependency: TPkgDependency;
|
||||
@ -525,8 +521,13 @@ end;
|
||||
|
||||
procedure TPkgManager.OnCheckInstallPackageList(PkgIDList: TObjectList;
|
||||
RemoveConflicts: boolean; out Ok: boolean);
|
||||
var
|
||||
Flags: TPkgInstallInIDEFlags;
|
||||
begin
|
||||
Ok:=CheckInstallPackageList(PkgIDList);
|
||||
Flags:=[];
|
||||
if RemoveConflicts then
|
||||
Include(Flags,piiifRemoveConflicts);
|
||||
Ok:=CheckInstallPackageList(PkgIDList,Flags);
|
||||
if Ok then
|
||||
SaveAutoInstallDependencies;
|
||||
end;
|
||||
@ -1043,14 +1044,6 @@ begin
|
||||
Result:=DoUninstallPackage(APackage,[],false);
|
||||
end;
|
||||
|
||||
function TPkgManager.PkgLinksDependencyOwnerGetPkgFilename(
|
||||
PkgLinks: TPackageLinks; Dependency: TPkgDependency): boolean;
|
||||
begin
|
||||
Result:=false;
|
||||
// TODO search in Project/Package history list of dependencies
|
||||
|
||||
end;
|
||||
|
||||
procedure TPkgManager.MainIDEitmConfigCustomCompsClicked(Sender: TObject);
|
||||
begin
|
||||
ShowConfigureCustomComponents;
|
||||
@ -2926,7 +2919,6 @@ begin
|
||||
// package links
|
||||
PkgLinks:=TPackageLinks.Create;
|
||||
PkgLinks.UpdateAll;
|
||||
PkgLinks.DependencyOwnerGetPkgFilename:=@PkgLinksDependencyOwnerGetPkgFilename;
|
||||
|
||||
// package graph
|
||||
PackageGraph:=TLazPackageGraph.Create;
|
||||
|
Loading…
Reference in New Issue
Block a user