fix #316 - "the tool cannot be found" although the correct compiler path is provided BUG

This commit is contained in:
Basile Burg 2018-05-01 23:11:01 +02:00
parent 55965f119c
commit 67bcd6e8bd
2 changed files with 48 additions and 29 deletions

View File

@ -9,34 +9,34 @@ inherited CEInfoWidget: TCEInfoWidget
ClientHeight = 147 ClientHeight = 147
ClientWidth = 296 ClientWidth = 296
inherited Back: TPanel inherited Back: TPanel
Height = 303 Height = 147
Width = 287 Width = 296
AutoSize = True AutoSize = True
ClientHeight = 303 ClientHeight = 147
ClientWidth = 287 ClientWidth = 296
inherited Content: TPanel inherited Content: TPanel
Height = 267 Height = 111
Top = 36 Top = 36
Width = 287 Width = 296
ClientHeight = 267 ClientHeight = 111
ClientWidth = 287 ClientWidth = 296
object GroupBox1: TGroupBox[0] object GroupBox1: TGroupBox[0]
Left = 4 Left = 4
Height = 78 Height = 77
Top = 4 Top = 4
Width = 279 Width = 288
Align = alTop Align = alTop
AutoSize = True AutoSize = True
BorderSpacing.Around = 4 BorderSpacing.Around = 4
Caption = 'about' Caption = 'about'
ClientHeight = 59 ClientHeight = 59
ClientWidth = 275 ClientWidth = 286
TabOrder = 0 TabOrder = 0
object Label1: TLabel object Label1: TLabel
Left = 8 Left = 8
Height = 1 Height = 1
Top = 8 Top = 8
Width = 259 Width = 270
Align = alTop Align = alTop
Alignment = taCenter Alignment = taCenter
BorderSpacing.Around = 8 BorderSpacing.Around = 8
@ -49,7 +49,7 @@ inherited CEInfoWidget: TCEInfoWidget
Left = 8 Left = 8
Height = 34 Height = 34
Top = 17 Top = 17
Width = 259 Width = 270
Align = alClient Align = alClient
Alignment = taCenter Alignment = taCenter
BorderSpacing.Around = 8 BorderSpacing.Around = 8
@ -62,21 +62,21 @@ inherited CEInfoWidget: TCEInfoWidget
end end
object GroupBox2: TGroupBox[1] object GroupBox2: TGroupBox[1]
Left = 4 Left = 4
Height = 177 Height = 22
Top = 86 Top = 85
Width = 279 Width = 288
Align = alClient Align = alClient
AutoSize = True AutoSize = True
BorderSpacing.Around = 4 BorderSpacing.Around = 4
Caption = 'tools status' Caption = 'tools status'
ClientHeight = 158 ClientHeight = 4
ClientWidth = 275 ClientWidth = 286
TabOrder = 1 TabOrder = 1
object boxTools: TScrollBox object boxTools: TScrollBox
Left = 4 Left = 4
Height = 150 Height = 1
Top = 4 Top = 2
Width = 267 Width = 278
HorzScrollBar.Page = 1 HorzScrollBar.Page = 1
VertScrollBar.Page = 1 VertScrollBar.Page = 1
Align = alClient Align = alClient
@ -88,7 +88,7 @@ inherited CEInfoWidget: TCEInfoWidget
end end
end end
inherited toolbar: TCEToolBar inherited toolbar: TCEToolBar
Width = 279 Width = 288
end end
end end
end end

View File

@ -12,7 +12,7 @@ uses
type type
TToolInfoKind = (tikRunning, tikFindable, tikOptional); TToolInfoKind = (tikRunning, tikFindable, tikOptional, tikCompiler);
TToolInfo = class(TWinControl) TToolInfo = class(TWinControl)
private private
@ -118,6 +118,7 @@ end;
procedure TToolInfo.refreshStatus; procedure TToolInfo.refreshStatus;
var var
pth: string; pth: string;
cmp: DCompiler;
begin begin
if fLabel.isNil or fStatus.isNil then exit; if fLabel.isNil or fStatus.isNil then exit;
// //
@ -154,6 +155,24 @@ begin
fPresent := true; fPresent := true;
end; end;
end; end;
tikCompiler:
begin
case fToolName of
'ldc2' : cmp := DCompiler.ldc;
'gdc' : cmp := DCompiler.gdc;
'dmd' : cmp := DCompiler.dmd;
end;
if getCompilerSelector.isCompilerValid(cmp) then
begin
fStatus.Caption:= ' the paths for this compiler look valid';
AssignPng(fIco, 'BULLET_GREEN');
end
else
begin
fStatus.Caption:= ' the paths for this compiler dont look valid';
AssignPng(fIco, 'BULLET_YELLOW');
end;
end;
tikRunning: tikRunning:
begin begin
pth := exeFullName(fToolName + exeExt); pth := exeFullName(fToolName + exeExt);
@ -219,12 +238,12 @@ begin
'optional, the D source code formater, needed by the Dfmt commander widget'); 'optional, the D source code formater, needed by the Dfmt commander widget');
itm.Parent := boxTools; itm.Parent := boxTools;
itm.ReAlign; itm.ReAlign;
itm := TToolInfo.Construct(self, tikOptional, 'gdc', itm := TToolInfo.Construct(self, tikCompiler, 'gdc',
'optional, the GDC D compiler'); 'optional, the GDC D compiler, setup in "Options - Compilers paths"');
itm.Parent := boxTools; itm.Parent := boxTools;
itm.ReAlign; itm.ReAlign;
itm := TToolInfo.Construct(self, tikOptional, 'ldc2', itm := TToolInfo.Construct(self, tikCompiler, 'ldc2',
'optional, the LDC D compiler'); 'optional, the LDC D compiler, setup in "Options - Compilers paths"');
itm.Parent := boxTools; itm.Parent := boxTools;
itm.ReAlign; itm.ReAlign;
itm := TToolInfo.Construct(self, tikFindable, 'ddemangle', itm := TToolInfo.Construct(self, tikFindable, 'ddemangle',
@ -248,8 +267,8 @@ begin
'the D package manager, mandatory to compile project in DUB format'); 'the D package manager, mandatory to compile project in DUB format');
itm.Parent := boxTools; itm.Parent := boxTools;
itm.ReAlign; itm.ReAlign;
itm := TToolInfo.Construct(self, tikFindable, 'dmd', itm := TToolInfo.Construct(self, tikCompiler, 'dmd',
'mandatory, the reference D compiler'); 'the reference D compiler, setup in "Options - Compilers paths"');
itm.Parent := boxTools; itm.Parent := boxTools;
itm.ReAlign; itm.ReAlign;