From 497ad8d16377aa7d5b6795f6ebe35aa16ff5aa46 Mon Sep 17 00:00:00 2001 From: mattias Date: Wed, 8 Jul 2020 16:37:13 +0000 Subject: [PATCH] lhelp: fixed updating default title after filling content nodes git-svn-id: trunk@63531 - --- .../chmhelp/lhelp/chmcontentprovider.pas | 9 ++- components/chmhelp/lhelp/lhelpcore.pas | 68 +++++++++---------- .../chmhelp/packages/idehelp/lazchmhelp.pas | 3 - 3 files changed, 41 insertions(+), 39 deletions(-) diff --git a/components/chmhelp/lhelp/chmcontentprovider.pas b/components/chmhelp/lhelp/chmcontentprovider.pas index 6edca75293..ada489f3fe 100644 --- a/components/chmhelp/lhelp/chmcontentprovider.pas +++ b/components/chmhelp/lhelp/chmcontentprovider.pas @@ -31,6 +31,9 @@ uses // ChmHelp IpHtml, BaseContentProvider, FileContentProvider, ChmDataProvider, lhelpstrconsts; +const + DefaultCHMContentTitle = '[unknown]'; + type { TChmContentProvider } @@ -288,6 +291,8 @@ begin if fUpdateURI <> '' then DoLoadUri(fUpdateURI); fUpdateURI:=''; + if Title=DefaultCHMContentTitle then + UpdateTitle; end; end; @@ -764,7 +769,7 @@ begin NewTitle := ''; while Item <> nil do begin - if ITem.Text <> fActiveChmTitle then + if Item.Text <> fActiveChmTitle then begin NewTitle:=NewTitle+Item.Text; if (Item.GetNextSibling <> nil) @@ -778,7 +783,7 @@ begin NewTitle := FActiveChmTitle + ' [' + NewTitle + ']' else NewTitle := FActiveChmTitle; - if NewTitle = '' then NewTitle := '[unknown]'; + if NewTitle = '' then NewTitle := DefaultCHMContentTitle; Title := NewTitle; end; diff --git a/components/chmhelp/lhelp/lhelpcore.pas b/components/chmhelp/lhelp/lhelpcore.pas index 6c7a4afcc3..b20995ac58 100644 --- a/components/chmhelp/lhelp/lhelpcore.pas +++ b/components/chmhelp/lhelp/lhelpcore.pas @@ -629,7 +629,7 @@ begin if UrlReq.FileRequest.FileName <> '' then begin Url := 'file://'+UrlReq.FileRequest.FileName; - Res := OpenUrl(URL+'://'+UrlReq.Url) + Res := OpenUrl(URL+'://'+UrlReq.Url); end else begin @@ -833,24 +833,24 @@ end; procedure THelpForm.StopComms; begin - if fInputIPC <> nil then - begin - if fInputIPC.Active then - fInputIPC.Active := False; + if fInputIPC <> nil then + begin + if fInputIPC.Active then + fInputIPC.Active := False; - FreeAndNil(fInputIPC); - IPCServer := nil; - FreeAndNil(fInputIPCTimer); - end; + FreeAndNil(fInputIPC); + IPCServer := nil; + FreeAndNil(fInputIPCTimer); + end; - if fOutputIPC <> nil then - begin - if fOutputIPC.Active then - fOutputIPC.Active := False; + if fOutputIPC <> nil then + begin + if fOutputIPC.Active then + fOutputIPC.Active := False; - FreeAndNil(fOutputIPC); - IPCClient := nil; - end; + FreeAndNil(fOutputIPC); + IPCClient := nil; + end; end; function THelpForm.OpenURL(const AURL: String; AContext: THelpContext): DWord; @@ -862,12 +862,12 @@ function THelpForm.OpenURL(const AURL: String; AContext: THelpContext): DWord; Result := Copy(AURL, 1, fPos+2); end; var - fURLPrefix: String; - fContentProvider: TBaseContentProviderClass; - fRealContentProvider: TBaseContentProviderClass; - fPage: TContentTab = nil; - I: Integer; - fIsNewPage: Boolean = false; + fURLPrefix: String; + fContentProvider: TBaseContentProviderClass; + fRealContentProvider: TBaseContentProviderClass; + fPage: TContentTab = nil; + I: Integer; + fIsNewPage: Boolean = false; begin Result := Ord(srInvalidURL); fURLPrefix := GetURLPrefix; @@ -889,21 +889,21 @@ begin end; if not fShowSepTabs then - for I := 0 to PageControl.PageCount-1 do - begin - if fRealContentProvider.ClassName = TContentTab(PageControl.Pages[I]).ContentProvider.ClassName then + for I := 0 to PageControl.PageCount-1 do begin - fPage := TContentTab(PageControl.Pages[I]); - if TContentTab(PageControl.Pages[I]).ContentProvider.LoadURL(AURL, AContext) then + if fRealContentProvider.ClassName = TContentTab(PageControl.Pages[I]).ContentProvider.ClassName then begin - PageControl.ActivePage := PageControl.Pages[I]; - Result := Ord(srSuccess); - end - else - Result := Ord(srInvalidFile); - Exit; + fPage := TContentTab(PageControl.Pages[I]); + if TContentTab(PageControl.Pages[I]).ContentProvider.LoadURL(AURL, AContext) then + begin + PageControl.ActivePage := PageControl.Pages[I]; + Result := Ord(srSuccess); + end + else + Result := Ord(srInvalidFile); + Exit; + end; end; - end; if fPage = nil then begin diff --git a/components/chmhelp/packages/idehelp/lazchmhelp.pas b/components/chmhelp/packages/idehelp/lazchmhelp.pas index ae061ba7f9..7f70b191a8 100644 --- a/components/chmhelp/packages/idehelp/lazchmhelp.pas +++ b/components/chmhelp/packages/idehelp/lazchmhelp.pas @@ -239,10 +239,7 @@ begin end; {$IFDEF CHMLOADTIMES} DebugLn(['CHMLOADTIMES: ',Format('Loading chm files took %d ms',[DateTimeToTimeStamp(Now-StartTime).Time])]); - {$ENDIF} - - finally fHelpConnection.EndUpdate; CHMFiles.Free;