* Patch from DoDi to allow easy import

git-svn-id: trunk@22150 -
This commit is contained in:
michael 2012-08-20 22:24:57 +00:00
parent 62eed2e3f2
commit 9d528c65e3
2 changed files with 18 additions and 2 deletions

View File

@ -168,6 +168,7 @@ type
Function InterpretOption(Const Cmd,Arg : String) : Boolean; Virtual;
Class Function FileNameExtension : String; virtual;
Class Procedure Usage(List : TStrings); virtual;
Class procedure SplitImport(var AFilename, ALinkPrefix: String); virtual;
procedure WriteDoc; virtual; Abstract;
Function WriteDescr(Element: TPasElement) : TDocNode;
procedure WriteDescr(Element: TPasElement; DocNode: TDocNode);
@ -370,6 +371,19 @@ begin
// Do nothing.
end;
class procedure TFPDocWriter.SplitImport(var AFilename, ALinkPrefix: String);
var
i: integer;
begin
//override in HTML and CHM writer
i := Pos(',', AFilename);
if i > 0 then
begin //split CSV into filename and prefix
ALinkPrefix := Copy(AFilename,i+1,Length(AFilename));
SetLength(AFilename, i-1);
end;
end;
Function TFPDocWriter.FindTopicElement(Node : TDocNode): TTopicElement;
Var

View File

@ -186,16 +186,18 @@ var
i,j: Integer;
Engine : TFPDocEngine;
Cmd,Arg : String;
WriterClass: TFPDocWriterClass;
begin
FCurPackage:=APackage;
Engine:=TFPDocEngine.Create;
try
WriterClass:=GetWriterClass(Options.Backend);
For J:=0 to Apackage.Imports.Count-1 do
begin
Arg:=Apackage.Imports[j];
i := Pos(',', Arg);
Engine.ReadContentFile(Copy(Arg,1,i-1),Copy(Arg,i+1,Length(Arg)));
WriterClass.SplitImport(Arg,Cmd);
Engine.ReadContentFile(Arg, Cmd);
end;
for i := 0 to APackage.Descriptions.Count - 1 do
Engine.AddDocFile(APackage.Descriptions[i],Options.donttrim);