project groups: option to show targets by name or by filename

git-svn-id: trunk@50389 -
This commit is contained in:
mattias 2015-11-18 13:17:06 +00:00
parent 8fa20c95fa
commit 2e542bed45
3 changed files with 50 additions and 26 deletions

View File

@ -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;

View File

@ -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;

View File

@ -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;