mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-28 21:00:43 +02:00
IDE: package editor: update dependencyappy button
git-svn-id: trunk@45451 -
This commit is contained in:
parent
9297739c60
commit
0741098302
@ -1477,6 +1477,7 @@ begin
|
|||||||
finally
|
finally
|
||||||
EndUpdate;
|
EndUpdate;
|
||||||
end;
|
end;
|
||||||
|
exit;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
@ -1489,6 +1490,7 @@ var
|
|||||||
Dependency: TPkgDependency;
|
Dependency: TPkgDependency;
|
||||||
begin
|
begin
|
||||||
if LazPackage=nil then exit;
|
if LazPackage=nil then exit;
|
||||||
|
BeginUdate;
|
||||||
ListOfNodeInfos:=nil;
|
ListOfNodeInfos:=nil;
|
||||||
try
|
try
|
||||||
if ShowCleanPkgDepDlg(LazPackage,ListOfNodeInfos)<>mrOk then exit;
|
if ShowCleanPkgDepDlg(LazPackage,ListOfNodeInfos)<>mrOk then exit;
|
||||||
@ -1500,6 +1502,7 @@ begin
|
|||||||
end;
|
end;
|
||||||
finally
|
finally
|
||||||
ListOfNodeInfos.Free;
|
ListOfNodeInfos.Free;
|
||||||
|
EndUpdate;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
@ -1690,22 +1693,27 @@ end;
|
|||||||
procedure TPackageEditorForm.SetDependencyDefaultFilename(AsPreferred: boolean);
|
procedure TPackageEditorForm.SetDependencyDefaultFilename(AsPreferred: boolean);
|
||||||
var
|
var
|
||||||
NewFilename: String;
|
NewFilename: String;
|
||||||
CurDependency: TPkgDependency;
|
|
||||||
Removed: boolean;
|
|
||||||
begin
|
begin
|
||||||
CurDependency:=GetCurrentDependency(Removed);
|
if LazPackage=nil then exit;
|
||||||
if (CurDependency=nil) or Removed then exit;
|
if FSingleSelectedDependency=nil then exit;
|
||||||
|
if LazPackage.FindDependencyByName(FSingleSelectedDependency.PackageName
|
||||||
|
)<>FSingleSelectedDependency then exit;
|
||||||
if LazPackage.ReadOnly then exit;
|
if LazPackage.ReadOnly then exit;
|
||||||
if CurDependency.RequiredPackage=nil then exit;
|
if FSingleSelectedDependency.RequiredPackage=nil then exit;
|
||||||
NewFilename:=CurDependency.RequiredPackage.Filename;
|
NewFilename:=FSingleSelectedDependency.RequiredPackage.Filename;
|
||||||
if (NewFilename=CurDependency.DefaultFilename)
|
if (NewFilename=FSingleSelectedDependency.DefaultFilename)
|
||||||
and (CurDependency.PreferDefaultFilename=AsPreferred) then
|
and (FSingleSelectedDependency.PreferDefaultFilename=AsPreferred) then
|
||||||
exit;
|
exit;
|
||||||
CurDependency.DefaultFilename:=NewFilename;
|
BeginUdate;
|
||||||
CurDependency.PreferDefaultFilename:=AsPreferred;
|
try
|
||||||
|
FSingleSelectedDependency.DefaultFilename:=NewFilename;
|
||||||
|
FSingleSelectedDependency.PreferDefaultFilename:=AsPreferred;
|
||||||
LazPackage.Modified:=true;
|
LazPackage.Modified:=true;
|
||||||
UpdateRequiredPkgs;
|
UpdateRequiredPkgs;
|
||||||
UpdateButtons;
|
UpdateButtons;
|
||||||
|
finally
|
||||||
|
EndUpdate;
|
||||||
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TPackageEditorForm.SetIdleConnected(AValue: boolean);
|
procedure TPackageEditorForm.SetIdleConnected(AValue: boolean);
|
||||||
@ -2436,38 +2444,55 @@ end;
|
|||||||
|
|
||||||
procedure TPackageEditorForm.UpdateApplyDependencyButton(Immediately: boolean);
|
procedure TPackageEditorForm.UpdateApplyDependencyButton(Immediately: boolean);
|
||||||
var
|
var
|
||||||
DepencyChanged: Boolean;
|
DependencyChanged: Boolean;
|
||||||
CurDependency: TPkgDependency;
|
|
||||||
AVersion: TPkgVersion;
|
AVersion: TPkgVersion;
|
||||||
Removed: boolean;
|
i: Integer;
|
||||||
|
TVNode: TTreeNode;
|
||||||
|
NodeData: TPENodeData;
|
||||||
|
Item: TObject;
|
||||||
begin
|
begin
|
||||||
if not CanUpdate(pefNeedUpdateApplyDependencyButton) then exit;
|
if not CanUpdate(pefNeedUpdateApplyDependencyButton) then exit;
|
||||||
|
|
||||||
DepencyChanged:=false;
|
FSingleSelectedDependency:=nil;
|
||||||
CurDependency:=GetCurrentDependency(Removed);
|
for i:=0 to ItemsTreeView.SelectionCount-1 do begin
|
||||||
if (CurDependency<>nil) then begin
|
TVNode:=ItemsTreeView.Selections[i];
|
||||||
|
if not GetNodeDataItem(TVNode,NodeData,Item) then continue;
|
||||||
|
if Item is TPkgFile then begin
|
||||||
|
FSingleSelectedDependency:=nil;
|
||||||
|
break;
|
||||||
|
end else if Item is TPkgDependency then begin
|
||||||
|
if FSingleSelectedDependency<>nil then begin
|
||||||
|
FSingleSelectedDependency:=nil;
|
||||||
|
break;
|
||||||
|
end;
|
||||||
|
FSingleSelectedDependency:=TPkgDependency(Item);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
DependencyChanged:=false;
|
||||||
|
if (FSingleSelectedDependency<>nil) then begin
|
||||||
// check min version
|
// check min version
|
||||||
if UseMinVersionCheckBox.Checked<>(pdfMinVersion in CurDependency.Flags) then
|
if UseMinVersionCheckBox.Checked<>(pdfMinVersion in FSingleSelectedDependency.Flags) then
|
||||||
DepencyChanged:=true;
|
DependencyChanged:=true;
|
||||||
if UseMinVersionCheckBox.Checked then begin
|
if UseMinVersionCheckBox.Checked then begin
|
||||||
AVersion:=TPkgVersion.Create;
|
AVersion:=TPkgVersion.Create;
|
||||||
if AVersion.ReadString(MinVersionEdit.Text)
|
if AVersion.ReadString(MinVersionEdit.Text)
|
||||||
and (AVersion.Compare(CurDependency.MinVersion)<>0) then
|
and (AVersion.Compare(FSingleSelectedDependency.MinVersion)<>0) then
|
||||||
DepencyChanged:=true;
|
DependencyChanged:=true;
|
||||||
AVersion.Free;
|
AVersion.Free;
|
||||||
end;
|
end;
|
||||||
// check max version
|
// check max version
|
||||||
if UseMaxVersionCheckBox.Checked<>(pdfMaxVersion in CurDependency.Flags) then
|
if UseMaxVersionCheckBox.Checked<>(pdfMaxVersion in FSingleSelectedDependency.Flags) then
|
||||||
DepencyChanged:=true;
|
DependencyChanged:=true;
|
||||||
if UseMaxVersionCheckBox.Checked then begin
|
if UseMaxVersionCheckBox.Checked then begin
|
||||||
AVersion:=TPkgVersion.Create;
|
AVersion:=TPkgVersion.Create;
|
||||||
if AVersion.ReadString(MaxVersionEdit.Text)
|
if AVersion.ReadString(MaxVersionEdit.Text)
|
||||||
and (AVersion.Compare(CurDependency.MaxVersion)<>0) then
|
and (AVersion.Compare(FSingleSelectedDependency.MaxVersion)<>0) then
|
||||||
DepencyChanged:=true;
|
DependencyChanged:=true;
|
||||||
AVersion.Free;
|
AVersion.Free;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
ApplyDependencyButton.Enabled:=DepencyChanged;
|
ApplyDependencyButton.Enabled:=DependencyChanged;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TPackageEditorForm.UpdateStatusBar(Immediately: boolean);
|
procedure TPackageEditorForm.UpdateStatusBar(Immediately: boolean);
|
||||||
|
Loading…
Reference in New Issue
Block a user