mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-06-05 07:58:16 +02:00
project groups: option to show targets by name or by filename
git-svn-id: trunk@50389 -
This commit is contained in:
parent
8fa20c95fa
commit
2e542bed45
@ -100,8 +100,10 @@ type
|
||||
FChangeStamp: integer;
|
||||
FLastSavedChangeStamp: integer;
|
||||
FRecentProjectGroups: TStringList;
|
||||
FShowTargetPaths: boolean;
|
||||
function GetModified: boolean;
|
||||
procedure SetModified(AValue: boolean);
|
||||
procedure SetShowTargetPaths(AValue: boolean);
|
||||
public
|
||||
constructor Create;
|
||||
destructor Destroy; override;
|
||||
@ -109,12 +111,15 @@ type
|
||||
procedure LoadSafe;
|
||||
procedure SaveToFile(aFilename: string);
|
||||
procedure LoadFromFile(aFilename: string);
|
||||
// recent project groups
|
||||
property RecentProjectGroups: TStringList read FRecentProjectGroups;
|
||||
procedure AddToRecentProjectGroups(aFilename: string);
|
||||
// changestamp
|
||||
procedure IncreaseChangeStamp;
|
||||
property ChangeStamp: integer read FChangeStamp;
|
||||
property Modified: boolean read GetModified write SetModified;
|
||||
// recent project groups
|
||||
property RecentProjectGroups: TStringList read FRecentProjectGroups;
|
||||
procedure AddToRecentProjectGroups(aFilename: string);
|
||||
// misc
|
||||
property ShowTargetPaths: boolean read FShowTargetPaths write SetShowTargetPaths;
|
||||
end;
|
||||
|
||||
{ TIDEProjectGroupManager }
|
||||
@ -231,6 +236,13 @@ begin
|
||||
FLastSavedChangeStamp:=FChangeStamp;
|
||||
end;
|
||||
|
||||
procedure TIDEProjectGroupOptions.SetShowTargetPaths(AValue: boolean);
|
||||
begin
|
||||
if FShowTargetPaths=AValue then Exit;
|
||||
FShowTargetPaths:=AValue;
|
||||
IncreaseChangeStamp;
|
||||
end;
|
||||
|
||||
constructor TIDEProjectGroupOptions.Create;
|
||||
begin
|
||||
FRecentProjectGroups:=TStringList.Create;
|
||||
@ -271,6 +283,7 @@ begin
|
||||
Cfg:=GetIDEConfigStorage(aFilename,false);
|
||||
try
|
||||
Cfg.SetValue('RecentProjectGroups/',FRecentProjectGroups);
|
||||
Cfg.SetDeleteValue('ShowTargetPaths/',ShowTargetPaths,false);
|
||||
finally
|
||||
Cfg.Free;
|
||||
end;
|
||||
@ -283,6 +296,7 @@ begin
|
||||
Cfg:=GetIDEConfigStorage(aFilename,true);
|
||||
try
|
||||
Cfg.GetValue('RecentProjectGroups/',FRecentProjectGroups);
|
||||
ShowTargetPaths:=Cfg.GetValue('ShowTargetPaths/',false);
|
||||
finally
|
||||
Cfg.Free;
|
||||
end;
|
||||
|
@ -928,15 +928,20 @@ var
|
||||
begin
|
||||
Result:='';
|
||||
if aTarget=nil then exit('?');
|
||||
if aTarget.Parent<>nil then
|
||||
BaseDir:=ExtractFilePath(aTarget.Parent.Filename)
|
||||
else
|
||||
BaseDir:='';
|
||||
Result:=aTarget.Filename;
|
||||
if Result='' then
|
||||
Result:='?'
|
||||
else
|
||||
Result:=CreateRelativePath(Result,BaseDir);
|
||||
if IDEProjectGroupManager.Options.ShowTargetPaths then
|
||||
begin
|
||||
if aTarget.Parent<>nil then
|
||||
BaseDir:=ExtractFilePath(aTarget.Parent.Filename)
|
||||
else
|
||||
BaseDir:='';
|
||||
Result:=aTarget.Filename;
|
||||
if Result='' then
|
||||
Result:='?'
|
||||
else
|
||||
Result:=CreateRelativePath(Result,BaseDir);
|
||||
end else begin
|
||||
Result:=ExtractFileNameOnly(aTarget.Filename);
|
||||
end;
|
||||
end;
|
||||
|
||||
function TProjectGroupEditorForm.DisplayFileName(Node: TTreeNode): string;
|
||||
@ -950,18 +955,23 @@ function TProjectGroupEditorForm.DisplayFileName(NodeData: TNodeData): string;
|
||||
var
|
||||
BaseDir: String;
|
||||
begin
|
||||
Result:='';
|
||||
if NodeData.ParentTarget<>nil then
|
||||
BaseDir:=ExtractFilePath(NodeData.ParentTarget.Filename)
|
||||
else
|
||||
BaseDir:='';
|
||||
if NodeData.Target<>nil then
|
||||
Result:=NodeData.Target.Filename;
|
||||
debugln(['TProjectGroupEditorForm.DisplayFileName ',dbgs(NodeData.NodeType),' BaseDir=',BaseDir,' File=',Result]);
|
||||
if Result='' then
|
||||
Result:='?'
|
||||
else
|
||||
Result:=CreateRelativePath(Result,BaseDir);
|
||||
if (NodeData.Target<>nil)
|
||||
and (not IDEProjectGroupManager.Options.ShowTargetPaths) then
|
||||
begin
|
||||
Result:=ExtractFileNameOnly(NodeData.Target.Filename);
|
||||
end else begin
|
||||
Result:='';
|
||||
if NodeData.ParentTarget<>nil then
|
||||
BaseDir:=ExtractFilePath(NodeData.ParentTarget.Filename)
|
||||
else
|
||||
BaseDir:='';
|
||||
if NodeData.Target<>nil then
|
||||
Result:=NodeData.Target.Filename;
|
||||
if Result='' then
|
||||
Result:='?'
|
||||
else
|
||||
Result:=CreateRelativePath(Result,BaseDir);
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TProjectGroupEditorForm.ShowFileName;
|
||||
|
@ -61,8 +61,8 @@ Type
|
||||
function GetFiles(Index: integer): string; virtual; abstract;
|
||||
function GetRequiredPackageCount: integer; virtual; abstract;
|
||||
function GetRequiredPackages(Index: integer): TPGDependency; virtual; abstract;
|
||||
function Perform (AAction: TPGTargetAction): TPGActionResult;
|
||||
function PerformAction (AAction: TPGTargetAction): TPGActionResult; virtual; abstract;
|
||||
function Perform(AAction: TPGTargetAction): TPGActionResult;
|
||||
function PerformAction(AAction: TPGTargetAction): TPGActionResult; virtual; abstract;
|
||||
procedure Activate; virtual;
|
||||
procedure DeActivate; virtual;
|
||||
procedure SetFilename(const AValue: string); virtual;
|
||||
|
Loading…
Reference in New Issue
Block a user