From 1d498524dec25eba227af132aa69ca28c70a73a9 Mon Sep 17 00:00:00 2001 From: Basile Burg Date: Sun, 17 Aug 2014 07:26:52 +0200 Subject: [PATCH] added RootFolder property to the project --- lazproj/test/src/expandSymString.d | 2 +- src/ce_main.pas | 10 ++++++++++ src/ce_project.pas | 11 +++++++++++ 3 files changed, 22 insertions(+), 1 deletion(-) diff --git a/lazproj/test/src/expandSymString.d b/lazproj/test/src/expandSymString.d index 54e90c24..fca1b761 100644 --- a/lazproj/test/src/expandSymString.d +++ b/lazproj/test/src/expandSymString.d @@ -3,7 +3,7 @@ module runnable; import std.stdio; import std.getopt; -// pass --a= --b= --c= --d= --e= --f= --g= as parameters in "Run file..." +// pass --a= --b= --c= --d= --e= --f= --g= --h= as parameters in "Run file..." void main(string args[]) { diff --git a/src/ce_main.pas b/src/ce_main.pas index 57972f94..dbd9cb0d 100644 --- a/src/ce_main.pas +++ b/src/ce_main.pas @@ -1916,6 +1916,16 @@ begin result += extractFilePath(fProject.fileName); result += '`'; end; + 'CPR', 'CurrentProjectRoot': + begin + result += '`'; + if fProject <> nil then + if directoryExists(fProject.getAbsoluteFilename(fProject.RootFolder)) then + result += fProject.getAbsoluteFilename(fProject.RootFolder) + else if directoryExists(fProject.RootFolder) then + result += fProject.RootFolder; + result += '`'; + end; 'CFF', 'CurrentFileFile': begin result += '`'; diff --git a/src/ce_project.pas b/src/ce_project.pas index 4a33017f..ca7f7842 100644 --- a/src/ce_project.pas +++ b/src/ce_project.pas @@ -21,6 +21,7 @@ type private fOnChange: TNotifyEvent; fModified: boolean; + fRootFolder: string; fFilename: string; fBasePath: string; fLibAliases: TStringList; @@ -34,6 +35,7 @@ type procedure subMemberChanged(sender : TObject); procedure setOptsColl(const aValue: TCollection); procedure setFname(const aValue: string); + procedure setRoot(const aValue: string); procedure setSrcs(const aValue: TStringList); procedure setConfIx(aValue: Integer); function getConfig(const ix: integer): TCompilerConfiguration; @@ -43,6 +45,7 @@ type procedure readerError(Reader: TReader; const Message: string; var Handled: Boolean); published + property RootFolder: string read fRootFolder write setRoot; property OptionsCollection: TCollection read fOptsColl write setOptsColl; property Sources: TStringList read fSrcs write setSrcs; // 'read' should return a copy to avoid abs/rel errors property ConfigurationIndex: Integer read fConfIx write setConfIx; @@ -126,6 +129,14 @@ begin fSrcs.Add(ExtractRelativepath(fBasePath,aFilename)); end; +procedure TCEProject.setRoot(const aValue: string); +begin + if fRootFolder = aValue then exit; + beforeChanged; + fRootFolder := aValue; + afterChanged; +end; + procedure TCEProject.setFname(const aValue: string); var oldAbs, newRel, oldBase: string;