From 95217ad437f8784b824d2251a69313023a59cd15 Mon Sep 17 00:00:00 2001 From: marco <marco@freepascal.org> Date: Sun, 17 May 2020 18:29:57 +0000 Subject: [PATCH] --- Merging r45406 into '.': U packages/ide/wchmhwrap.pas --- Recording mergeinfo for merge of r45406 into '.': U . # revisions: 45406 git-svn-id: branches/fixes_3_2@45407 - --- packages/ide/wchmhwrap.pas | 44 ++++++++++++++++++++++---------------- 1 file changed, 25 insertions(+), 19 deletions(-) diff --git a/packages/ide/wchmhwrap.pas b/packages/ide/wchmhwrap.pas index 52b9eab791..9ddfcf1147 100644 --- a/packages/ide/wchmhwrap.pas +++ b/packages/ide/wchmhwrap.pas @@ -116,12 +116,25 @@ begin FormatAlias:=Alias; end; +function searchlocal(item:TChmSiteMapItem):string; +var i:integer; + sitem : TChmSiteMapSubItem; +begin + result:=''; + for i:=0 to item.SubItemcount-1 do + begin + sitem:=item.subitem[i]; + if sitem.local<>'' then + exit(sitem.local); + end; +end; + var m : Classes.TMemoryStream; i,j : integer; item : TChmSiteMapItem; tli: integer; - s : String; + s,s2 : String; begin result:=false; if floaded then exit; @@ -130,22 +143,10 @@ begin debugmessageS({$i %file%},'TCHMWrapper: indexfilename:'+fchmr.indexfile,{$i %line%},'1',0,0); {$endif} - + if assigned(findex) then + freeandnil(findex); findex:=fchmr.GetIndexSitemap(false); -(* m:=fchmr.getobject(fchmr.indexfile); - try - if assigned(m) then - begin - {$ifdef wdebug} - debugmessageS({$i %file%},'TCHMWrapper: stream size loaded :'+inttostr(m.size),{$i %line%},'1',0,0); - {$endif} - findex.loadfromStream(m); - end; - finally - freeandnil(m); - end; - *) - {$ifdef wdebug} + {$ifdef wdebug} debugmessageS({$i %file%},'TCHMWrapper: loadindex after final ',{$i %line%},'1',0,0); {$endif} @@ -164,10 +165,15 @@ begin s:=formatalias(item.text); if s<>'' then begin - if (length(item.local)>0) and (item.local[1]<>'/') then - tli:=TopicLinks^.AddItem('/'+item.local) + s2:=''; + if item.SubItemcount>1 then + s2:=item.SubItem[1].local; + if s2='' then + s2:=searchlocal(item); + if (length(s2)>0) and (s2[1]<>'/') then + tli:=TopicLinks^.AddItem('/'+s2) else - tli:=TopicLinks^.AddItem(item.local); + tli:=TopicLinks^.AddItem(s2); TLI:=EncodeHTMLCtx(ID,TLI+1); IndexEntries^.Insert(NewIndexEntry( FormatAlias(item.text),ID,TLI)); end;