|
@@ -2,12 +2,19 @@
|
|
|
{$IFDEF chmInterface}
|
|
|
type
|
|
|
|
|
|
+ { TFpDocChmWriter }
|
|
|
+
|
|
|
+ TFpDocChmWriter = class (TChmWriter)
|
|
|
+ protected
|
|
|
+ procedure FileAdded(AStream: TStream; const AEntry: TFileEntryRec); override;
|
|
|
+ end;
|
|
|
+
|
|
|
{ TCHMHTMLWriter }
|
|
|
|
|
|
TCHMHTMLWriter = class(THTMLWriter)
|
|
|
private
|
|
|
FOutChm: TStream;
|
|
|
- FChm: TChmWriter;
|
|
|
+ FChm: TFpDocChmWriter;
|
|
|
FTempUncompressed: TStream;
|
|
|
FTempUncompressedName: String;
|
|
|
FChmTitle: String;
|
|
@@ -37,6 +44,17 @@ type
|
|
|
end;
|
|
|
{$ELSE} // implementation
|
|
|
|
|
|
+{ TFpDocChmWriter }
|
|
|
+
|
|
|
+procedure TFpDocChmWriter.FileAdded ( AStream: TStream;
|
|
|
+ const AEntry: TFileEntryRec ) ;
|
|
|
+begin
|
|
|
+ // Exclude Full text index for files starting from the dot
|
|
|
+ if Pos('.', AEntry.Name) <> 1 then
|
|
|
+ inherited FileAdded(AStream, AEntry);
|
|
|
+
|
|
|
+end;
|
|
|
+
|
|
|
{ TCHMHTMLWriter }
|
|
|
|
|
|
function TCHMHTMLWriter.ResolveLinkIDAbs(const Name: String; Level : Integer = 0): DOMString;
|
|
@@ -466,7 +484,7 @@ begin
|
|
|
|
|
|
FTempUncompressedName := GetTempFileName+IntToStr(GetProcessID) +'.raw';
|
|
|
FTempUncompressed := TFileStream.Create(FTempUncompressedName, fmOpenReadWrite or fmCreate);
|
|
|
- FChm := TChmWriter.Create(FOutChm, False);
|
|
|
+ FChm := TFpDocChmWriter.Create(FOutChm, False);
|
|
|
FChm.Title := FChmTitle;
|
|
|
FChm.TempRawStream := FTempUncompressed;
|
|
|
FChm.OnGetFileData := @RetrieveOtherFiles;
|