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