POChecker: when running tests, do not warn about missing files in separate window, add this information to General Info tab in Results form instead

git-svn-id: trunk@57659 -
This commit is contained in:
maxim 2018-04-16 23:09:05 +00:00
parent 72d9f35b44
commit ea3e0c96cc
3 changed files with 40 additions and 40 deletions

View File

@ -74,8 +74,8 @@ type
procedure SetTestTypeCheckBoxes(TestTypes: TPoTestTypes); procedure SetTestTypeCheckBoxes(TestTypes: TPoTestTypes);
procedure ShowError(const Msg: string); procedure ShowError(const Msg: string);
procedure ScanDirectory(ADir: String); procedure ScanDirectory(ADir: String);
function TryCreatepoFamilyList(MasterList: TStrings; const LangID: TLangID): Boolean; function TryCreatepoFamilyList(var MasterList, SL: TStringList; const LangID: TLangID): Boolean;
procedure RunSelectedTests; procedure RunSelectedTests(var SL, StatL: TStringList);
procedure ClearStatusBar; procedure ClearStatusBar;
procedure UpdateGUI(HasSelection: Boolean); procedure UpdateGUI(HasSelection: Boolean);
function GetSelectedMasterFiles: TStringList; function GetSelectedMasterFiles: TStringList;
@ -245,21 +245,25 @@ end;
procedure TPoCheckerForm.RunToolButtonClick(Sender: TObject); procedure TPoCheckerForm.RunToolButtonClick(Sender: TObject);
var var
AMasterList: TStringList; AMasterList, SL, StatL: TStringList;
LangIdx: Integer; LangIdx: Integer;
ALangID: TLangID; ALangID: TLangID;
begin begin
LangIdx := LangFilter.ItemIndex; LangIdx := LangFilter.ItemIndex;
ALangID := LangFilterIndexToLangID(LangIdx); ALangID := LangFilterIndexToLangID(LangIdx);
SL := TStringList.Create;
StatL := TStringList.Create;
AMasterList := GetSelectedMasterFiles; AMasterList := GetSelectedMasterFiles;
try try
if TryCreatePoFamilyList(AMasterList, ALangID) then if TryCreatePoFamilyList(AMasterList, SL, ALangID) then
RunSelectedTests RunSelectedTests(SL, StatL)
else else
begin begin
if Assigned(PoFamilyList) then FreeAndNil(PoFamilyList); if Assigned(PoFamilyList) then FreeAndNil(PoFamilyList);
end; end;
finally finally
SL.Free;
StatL.Free;
AMasterList.Free; AMasterList.Free;
end; end;
end; end;
@ -427,9 +431,10 @@ begin
end; end;
function TPoCheckerForm.TryCreatepoFamilyList(MasterList: TStrings; const LangID: TLangID): Boolean; function TPoCheckerForm.TryCreatepoFamilyList(var MasterList, SL: TStringList;
const LangID: TLangID): Boolean;
var var
Fn, Msg: String; Fn, Msg, FamilyMsg: String;
i, Cnt: Integer; i, Cnt: Integer;
begin begin
Result := False; Result := False;
@ -444,31 +449,38 @@ begin
Msg := Format('"%s"',[Fn]) + LineEnding + Msg; Msg := Format('"%s"',[Fn]) + LineEnding + Msg;
end; end;
end; end;
if (Msg <> '') then if Msg <> '' then
//MessageDlg('PoChecker',Format(sFilesNotFoundAndRemoved,[Msg]), mtInformation, [mbOk], 0); //MessageDlg('PoChecker',Format(sFilesNotFoundAndRemoved,[Msg]), mtInformation, [mbOk], 0);
Msg := Format(sFilesNotFoundAndRemoved,[Msg]); Msg := Format(sFilesNotFoundAndRemoved,[Msg]);
Cnt := MasterList.Count; Cnt := MasterList.Count;
if (Cnt = 0) then if Cnt = 0 then
Msg := Msg + LineEnding + LineEnding + LineEnding + sNoFilesLeftToCheck; Msg := Msg + LineEnding + LineEnding + LineEnding + sNoFilesLeftToCheck;
if (Msg <> '') then if Msg <> '' then
MemoDlg('PoChecker',Msg); begin
if (Cnt = 0) then SL.AddText(Msg);
SL.Add('');
end;
if Cnt = 0 then
begin begin
//MessageDlg('PoChecker', sNoFilesLeftToCheck, mtInformation, [mbOk], 0); //MessageDlg('PoChecker', sNoFilesLeftToCheck, mtInformation, [mbOk], 0);
Exit; Exit;
end; end;
try try
if Assigned(PoFamilyList) then PoFamilyList.Free; if Assigned(PoFamilyList) then PoFamilyList.Free;
PoFamilyList := TPoFamilyList.Create(MasterList, LangID, Msg); PoFamilyList := TPoFamilyList.Create(MasterList, LangID, FamilyMsg);
if (Msg <> '') then if FamilyMsg <> '' then
begin begin
//MessageDlg('PoChecker',Format(sFilesNotFoundAndRemoved,[Msg]), mtInformation, [mbOk], 0); //MessageDlg('PoChecker',Format(sFilesNotFoundAndRemoved,[FamilyMsg]), mtInformation, [mbOk], 0);
Msg := Format(sFilesNotFoundAndRemoved,[Msg]); if Msg = '' then
if (PoFamilyList.Count = 0) then FamilyMsg := Format(sFilesNotFoundAndRemoved,[FamilyMsg]);
Msg := Msg + LineEnding + LineEnding + LineEnding + sNoFilesLeftToCheck; if PoFamilyList.Count = 0 then
if (Msg <> '') then FamilyMsg := FamilyMsg + LineEnding + LineEnding + LineEnding + sNoFilesLeftToCheck;
MemoDlg('PoChecker',Msg); if FamilyMsg <> '' then
if (PoFamilyList.Count = 0) then begin
SL.AddText(FamilyMsg);
SL.Add('');
end;
if PoFamilyList.Count = 0 then
begin begin
//MessageDlg('PoChecker', sNoFilesLeftToCheck, mtInformation, [mbOk], 0); //MessageDlg('PoChecker', sNoFilesLeftToCheck, mtInformation, [mbOk], 0);
FreeAndNil(PoFamilyList); FreeAndNil(PoFamilyList);
@ -499,15 +511,13 @@ begin
end; end;
procedure TPoCheckerForm.RunSelectedTests; procedure TPoCheckerForm.RunSelectedTests(var SL, StatL: TStringList);
var var
TestTypes: TPoTestTypes; TestTypes: TPoTestTypes;
TestOptions: TPoTestOptions; TestOptions: TPoTestOptions;
ErrorCount, NonFuzzyErrorCount, WarningCount: integer; ErrorCount, NonFuzzyErrorCount, WarningCount: integer;
TotalTranslatedCount, TotalUntranslatedCount, TotalFuzzyCount: Integer; TotalTranslatedCount, TotalUntranslatedCount, TotalFuzzyCount: Integer;
TotalPercTranslated: Double; TotalPercTranslated: Double;
SL: TStrings;
StatL: TStrings;
ResultDlg: TResultDlgForm; ResultDlg: TResultDlgForm;
mr: TModalResult; mr: TModalResult;
begin begin
@ -519,8 +529,6 @@ begin
end; end;
TestOptions := GetTestOptions; TestOptions := GetTestOptions;
Application.ProcessMessages; Application.ProcessMessages;
SL := TStringList.Create;
StatL := TStringList.Create;
mr := mrNone; mr := mrNone;
try try
PoFamilyList.TestTypes := TestTypes; PoFamilyList.TestTypes := TestTypes;
@ -560,9 +568,7 @@ begin
ResultDlg.FTotalFuzzy := TotalFuzzyCount; ResultDlg.FTotalFuzzy := TotalFuzzyCount;
ResultDlg.FTotalPercTranslated := TotalPercTranslated; ResultDlg.FTotalPercTranslated := TotalPercTranslated;
ResultDlg.Log.Assign(SL); ResultDlg.Log.Assign(SL);
FreeAndNil(SL);
ResultDlg.StatLog.Assign(StatL); ResultDlg.StatLog.Assign(StatL);
FreeAndNil(StatL);
ResultDlg.PoFamilyList := PoFamilyList; ResultDlg.PoFamilyList := PoFamilyList;
ResultDlg.PoFamilyStats := PoFamilyList.PoFamilyStats; ResultDlg.PoFamilyStats := PoFamilyList.PoFamilyStats;
ResultDlg.Settings := FPoCheckerSettings; ResultDlg.Settings := FPoCheckerSettings;
@ -571,10 +577,6 @@ begin
ResultDlg.Free; ResultDlg.Free;
end; end;
finally finally
if Assigned(SL) then
SL.Free;
if Assigned(StatL) then
StatL.Free;
ClearStatusBar; ClearStatusBar;
end; end;
if mr = mrOpenEditorFile then WindowState:= wsMinimized; if mr = mrOpenEditorFile then WindowState:= wsMinimized;

View File

@ -78,7 +78,7 @@ Type
public public
procedure RunTests(out ErrorCount, NonFuzzyErrorCount, WarningCount, procedure RunTests(out ErrorCount, NonFuzzyErrorCount, WarningCount,
TranslatedCount, UntranslatedCount, FuzzyCount: Integer; ErrorLog, StatLog TranslatedCount, UntranslatedCount, FuzzyCount: Integer; ErrorLog, StatLog
: TStrings); : TStringList);
property Master: TPOFile read FMaster; property Master: TPOFile read FMaster;
property Child: TPOFile read FChild; property Child: TPOFile read FChild;
@ -801,7 +801,7 @@ Pre conditions:
* Master and a matching Child must be assigned at start ot testing * Master and a matching Child must be assigned at start ot testing
* If a Child is assigned it must be child of Master * If a Child is assigned it must be child of Master
} }
procedure TPoFamily.RunTests(out ErrorCount, NonFuzzyErrorCount, WarningCount, TranslatedCount, UntranslatedCount, FuzzyCount: Integer; ErrorLog, StatLog: TStrings); procedure TPoFamily.RunTests(out ErrorCount, NonFuzzyErrorCount, WarningCount, TranslatedCount, UntranslatedCount, FuzzyCount: Integer; ErrorLog, StatLog: TStringList);
var var
SL: TStringList; SL: TStringList;
CurrErrCnt, CurrNonFuzzyErrCnt, CurrWarnCnt, ThisErrCnt: Integer; CurrErrCnt, CurrNonFuzzyErrCnt, CurrWarnCnt, ThisErrCnt: Integer;

View File

@ -38,7 +38,7 @@ type
function Count: Integer; function Count: Integer;
procedure RunTests(out ErrorCount, NonFuzzyErrorCount, WarningCount, procedure RunTests(out ErrorCount, NonFuzzyErrorCount, WarningCount,
TotalTranslatedCount, TotalUntranslatedCount, TotalFuzzyCount: Integer; TotalTranslatedCount, TotalUntranslatedCount, TotalFuzzyCount: Integer;
ErrorLog, StatLog: TStrings); ErrorLog, StatLog: TStringList);
property Items[Index: Integer]: TPoFamily read GetItem; // write SetItem; property Items[Index: Integer]: TPoFamily read GetItem; // write SetItem;
property PoFamilyStats: TPoFamilyStats read FPoFamilyStats; property PoFamilyStats: TPoFamilyStats read FPoFamilyStats;
property TestTypes: TPoTestTypes read FTestTypes write FTestTypes; property TestTypes: TPoTestTypes read FTestTypes write FTestTypes;
@ -93,10 +93,10 @@ begin
Add(APoFamily); Add(APoFamily);
end end
else else
Msg := Msg + LineEnding + Format('"%s"',[ChildName]); Msg := Format('"%s"',[ChildName]) + LineEnding + Msg;
end end
else else
Msg := Msg + LineEnding + Format('"%s"',[MasterName]); Msg := Format('"%s"',[MasterName]) + LineEnding + Msg;
end; end;
end; end;
@ -119,7 +119,7 @@ begin
end; end;
procedure TPoFamilyList.RunTests(out ErrorCount, NonFuzzyErrorCount, WarningCount, TotalTranslatedCount, TotalUntranslatedCount, TotalFuzzyCount: Integer; procedure TPoFamilyList.RunTests(out ErrorCount, NonFuzzyErrorCount, WarningCount, TotalTranslatedCount, TotalUntranslatedCount, TotalFuzzyCount: Integer;
ErrorLog, StatLog: TStrings); ErrorLog, StatLog: TStringList);
var var
Index, ThisErrorCount, ThisNonFuzzyErrorCount, ThisWarningCount: Integer; Index, ThisErrorCount, ThisNonFuzzyErrorCount, ThisWarningCount: Integer;
ThisTranslatedCount, ThisUntranslatedCount, ThisFuzzyCount: Integer; ThisTranslatedCount, ThisUntranslatedCount, ThisFuzzyCount: Integer;
@ -129,8 +129,6 @@ begin
Include(FTestOptions,ptoFindAllChildren) Include(FTestOptions,ptoFindAllChildren)
else else
Exclude(FTestOptions,ptoFindAllChildren); Exclude(FTestOptions,ptoFindAllChildren);
ErrorLog.Clear;
StatLog.Clear;
ErrorCount := NoError; ErrorCount := NoError;
NonFuzzyErrorCount := NoError; NonFuzzyErrorCount := NoError;
WarningCount := NoError; WarningCount := NoError;