mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-10 10:36:20 +02:00
lhelp: clean up
git-svn-id: trunk@37712 -
This commit is contained in:
parent
987afc7816
commit
c019b71631
@ -5,7 +5,7 @@ unit BaseContentProvider;
|
||||
interface
|
||||
|
||||
uses
|
||||
Classes, SysUtils, Controls, XMLCfg;
|
||||
Classes, SysUtils, Controls, Laz2_XMLCfg;
|
||||
|
||||
type
|
||||
|
||||
@ -31,7 +31,7 @@ type
|
||||
procedure GoBack; virtual; abstract;
|
||||
procedure GoForward; virtual; abstract;
|
||||
procedure LoadPreferences(ACfg: TXMLConfig); virtual;
|
||||
procedure SavePreferences(ACfg: TXMLConfig); virtual;
|
||||
procedure SavePreferences({%H-}ACfg: TXMLConfig); virtual;
|
||||
class function GetProperContentProvider(const AURL: String): TBaseContentProviderClass; virtual; abstract;
|
||||
constructor Create(AParent: TWinControl; AImageList: TImageList); virtual;
|
||||
destructor Destroy; override;
|
||||
|
@ -20,7 +20,7 @@ unit chmcontentprovider;
|
||||
interface
|
||||
|
||||
uses
|
||||
Classes, SysUtils, XMLCfg,
|
||||
Classes, SysUtils, Laz2_XMLCfg,
|
||||
FileUtil, Forms, StdCtrls, ExtCtrls, ComCtrls, Controls, Buttons, Menus,
|
||||
BaseContentProvider, FileContentProvider, IpHtml, ChmReader, ChmDataProvider;
|
||||
|
||||
@ -66,7 +66,7 @@ type
|
||||
procedure DoCloseChm;
|
||||
procedure DoLoadContext(Context: THelpContext);
|
||||
procedure DoLoadUri(Uri: String; AChm: TChmReader = nil);
|
||||
procedure DoError(Error: Integer);
|
||||
procedure DoError({%H-}Error: Integer);
|
||||
procedure NewChmOpened(ChmFileList: TChmFileList; Index: Integer);
|
||||
procedure LoadingHTMLStream(var AStream: TStream);
|
||||
|
||||
@ -77,7 +77,7 @@ type
|
||||
procedure PopupCopyClick(Sender: TObject);
|
||||
procedure ContentsTreeSelectionChanged(Sender: TObject);
|
||||
procedure IndexViewDblClick(Sender: TObject);
|
||||
procedure TreeViewStopCollapse(Sender: TObject; Node: TTreeNode; var AllowCollapse: Boolean);
|
||||
procedure TreeViewStopCollapse(Sender: TObject; {%H-}Node: TTreeNode; var AllowCollapse: Boolean);
|
||||
procedure ViewMenuContentsClick(Sender: TObject);
|
||||
procedure UpdateTitle;
|
||||
procedure SetTitle(const AValue: String); override;
|
||||
@ -88,7 +88,7 @@ type
|
||||
{$IFDEF CHM_SEARCH}
|
||||
procedure SearchButtonClick(Sender: TObject);
|
||||
procedure SearchResultsDblClick(Sender: TObject);
|
||||
procedure SearchComboKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
|
||||
procedure SearchComboKeyDown(Sender: TObject; var Key: Word; {%H-}Shift: TShiftState);
|
||||
procedure GetTreeNodeClass(Sender: TCustomTreeView; var NodeClass: TTreeNodeClass);
|
||||
{$ENDIF}
|
||||
public
|
||||
@ -104,7 +104,7 @@ type
|
||||
procedure GoForward; override;
|
||||
property TabsControl: TPageControl read fTabsControl;
|
||||
property Splitter: TSplitter read fSplitter;
|
||||
class function GetProperContentProvider(const AURL: String): TBaseContentProviderClass; override;
|
||||
class function GetProperContentProvider(const {%H-}AURL: String): TBaseContentProviderClass; override;
|
||||
|
||||
constructor Create(AParent: TWinControl; AImageList: TImageList); override;
|
||||
destructor Destroy; override;
|
||||
@ -112,7 +112,7 @@ type
|
||||
|
||||
implementation
|
||||
|
||||
uses ChmSpecialParser{$IFDEF CHM_SEARCH}, chmFIftiMain{$ENDIF}, chmsitemap, LCLType, SAX_HTML, Dom, XMLWrite, DOM_HTML, HTMWrite;
|
||||
uses ChmSpecialParser{$IFDEF CHM_SEARCH}, chmFIftiMain{$ENDIF}, chmsitemap, LCLType, SAX_HTML, Dom, DOM_HTML, HTMWrite;
|
||||
|
||||
type
|
||||
|
||||
@ -407,6 +407,7 @@ begin
|
||||
Words.Delimiter:=' ';
|
||||
Words.DelimitedText:=fKeywordCombo.Text;
|
||||
|
||||
Doc:=nil;
|
||||
try
|
||||
UseOrigStream := True;
|
||||
ReadHTMLFile(Doc, AStream);
|
||||
@ -453,7 +454,9 @@ var
|
||||
i: Integer;
|
||||
SM: TChmSiteMap;
|
||||
HasSearchIndex: Boolean = False;
|
||||
{$IFNDEF CHM_BINARY_INDEX_TOC}
|
||||
Stream: TMemoryStream;
|
||||
{$ENDIF}
|
||||
begin
|
||||
if fFillingToc or fFillingIndex then begin
|
||||
Application.QueueAsyncCall(@FillToc, Data);
|
||||
|
@ -55,11 +55,11 @@ type
|
||||
function StripInPageLink(AURL: String): String;
|
||||
protected
|
||||
function DoGetHtmlStream(const URL: string;
|
||||
PostData: TIpFormDataEntity) : TStream; override;
|
||||
{%H-}PostData: TIpFormDataEntity) : TStream; override;
|
||||
function DoCheckURL(const URL: string;
|
||||
var ContentType: string): Boolean; override;
|
||||
procedure DoLeave(Html: TIpHtml); override;
|
||||
procedure DoReference(const URL: string); override;
|
||||
procedure DoLeave({%H-}Html: TIpHtml); override;
|
||||
procedure DoReference(const {%H-}URL: string); override;
|
||||
procedure DoGetImage(Sender: TIpHtmlNode; const URL: string;
|
||||
var Picture: TPicture); override;
|
||||
function CanHandle(const URL: string): Boolean; override;
|
||||
@ -67,7 +67,7 @@ type
|
||||
function GetDirsParents(ADir: String): TStringList;
|
||||
function DoGetStream(const URL: string): TStream; override;
|
||||
public
|
||||
constructor Create(AOwner: TComponent; AChm: TChmFileList);
|
||||
constructor Create(AOwner: TComponent; AChm: TChmFileList); reintroduce;
|
||||
destructor Destroy; override;
|
||||
property Chm: TChmFileList read fChm write fChm;
|
||||
property OnHelpPopup: THelpPopupEvent read fOnHelpPopup write fOnHelpPopup;
|
||||
|
@ -127,7 +127,6 @@ end;
|
||||
|
||||
procedure TContentsFiller.DoFill(ParentNode: TTreeNode);
|
||||
var
|
||||
OrigEvent: TTVCustomCreateNodeEvent;
|
||||
X: Integer;
|
||||
begin
|
||||
fTreeView.BeginUpdate;
|
||||
|
@ -18,7 +18,7 @@ type
|
||||
function CanGoBack: Boolean; override;
|
||||
function CanGoForward: Boolean; override;
|
||||
function GetHistory: TStrings; override;
|
||||
function LoadURL(const AURL: String; const AContext: THelpContext=-1): Boolean; override;
|
||||
function LoadURL(const {%H-}AURL: String; const {%H-}AContext: THelpContext=-1): Boolean; override;
|
||||
procedure GoHome; override;
|
||||
procedure GoBack; override;
|
||||
procedure GoForward; override;
|
||||
|
@ -28,10 +28,12 @@ unit lhelpcore;
|
||||
interface
|
||||
|
||||
uses
|
||||
Classes, SysUtils, SimpleIPC, XMLCfg,
|
||||
Classes, SysUtils, SimpleIPC, Laz2_XMLCfg,
|
||||
FileUtil, LResources, Forms, Controls, Graphics, Dialogs,
|
||||
Buttons, LCLProc, StdCtrls, IpHtml, ComCtrls, ExtCtrls, Menus, LCLType,
|
||||
BaseContentProvider, FileContentProvider, ChmContentProvider{$IFDEF USE_LNET}, HTTPContentProvider{$ENDIF};
|
||||
Buttons, LCLProc, IpHtml, ComCtrls, ExtCtrls, Menus, LCLType,
|
||||
BaseContentProvider, FileContentProvider,
|
||||
ChmContentProvider
|
||||
{$IFDEF USE_LNET}, HTTPContentProvider{$ENDIF};
|
||||
|
||||
type
|
||||
|
||||
@ -77,9 +79,9 @@ type
|
||||
procedure FileMenuExitItemClick(Sender: TObject);
|
||||
procedure FileMenuOpenItemClick(Sender: TObject);
|
||||
procedure FileMenuOpenURLItemClick(Sender: TObject);
|
||||
procedure FormClose(Sender: TObject; var CloseAction: TCloseAction);
|
||||
procedure FormClose(Sender: TObject; var {%H-}CloseAction: TCloseAction);
|
||||
procedure FormCreate(Sender: TObject);
|
||||
procedure FormKeyUp(Sender: TObject; var Key: Word; Shift: TShiftState);
|
||||
procedure FormKeyUp(Sender: TObject; var Key: Word; {%H-}Shift: TShiftState);
|
||||
procedure FormShow(Sender: TObject);
|
||||
procedure ForwardToolBtnClick(Sender: TObject);
|
||||
procedure HomeToolBtnClick(Sender: TObject);
|
||||
@ -97,9 +99,9 @@ type
|
||||
fConfig: TXMLConfig;
|
||||
FHasShowed: Boolean;
|
||||
procedure LoadPreferences(AIPCName: String);
|
||||
procedure SavePreferences(AIPCName: String);
|
||||
procedure SavePreferences({%H-}AIPCName: String);
|
||||
procedure AddRecentFile(AFileName: String);
|
||||
procedure ContentTitleChange(sender: TObject);
|
||||
procedure ContentTitleChange({%H-}sender: TObject);
|
||||
procedure OpenRecentItemClick(Sender: TObject);
|
||||
procedure SendResponse(Response: DWord);
|
||||
procedure ServerMessage(Sender: TObject);
|
||||
@ -187,6 +189,7 @@ var
|
||||
begin
|
||||
Protocall := GetContentProviderList;
|
||||
|
||||
URLSAllowed:='';
|
||||
for i := 0 to Protocall.Count-1 do
|
||||
begin
|
||||
if i < 1 then
|
||||
@ -198,7 +201,7 @@ begin
|
||||
|
||||
URLSAllowed := Trim(URLSALLowed);
|
||||
|
||||
|
||||
fRes:='';
|
||||
if InputQuery('Please Enter a URL', 'Supported URL type(s): (' +URLSAllowed+ ')', fRes) then
|
||||
begin
|
||||
if OpenURL(fRes) = ord(srSuccess) then
|
||||
@ -262,8 +265,6 @@ begin
|
||||
end;
|
||||
|
||||
procedure THelpForm.ViewMenuContentsClick(Sender: TObject);
|
||||
var
|
||||
AWidth: Integer;
|
||||
begin
|
||||
//TabsControl property in TChmContentProvider
|
||||
if Assigned(ActivePage) then
|
||||
@ -273,7 +274,6 @@ begin
|
||||
Splitter.Visible := TabsControl.Visible;
|
||||
Splitter.Left := TabsControl.Left + 4; //for splitter to move righter
|
||||
ViewMenuContents.Checked := TabsControl.Visible;
|
||||
AWidth := TabsControl.Width + Splitter.Width;
|
||||
end;
|
||||
end;
|
||||
|
||||
@ -402,6 +402,7 @@ begin
|
||||
if fInputIPC.PeekMessage(5, True) then begin
|
||||
Stream := fInputIPC.MsgData;
|
||||
Stream.Position := 0;
|
||||
FillByte(FileReq{%H-},SizeOf(FileReq),0);
|
||||
Stream.Read(FileReq, SizeOf(FileReq));
|
||||
case FileReq.RequestType of
|
||||
rtFile : begin
|
||||
@ -410,6 +411,7 @@ begin
|
||||
end;
|
||||
rtUrl : begin
|
||||
Stream.Position := 0;
|
||||
FillByte(UrlReq{%H-},SizeOf(UrlReq),0);
|
||||
Stream.Read(UrlReq, SizeOf(UrlReq));
|
||||
if UrlReq.FileRequest.FileName <> '' then
|
||||
begin
|
||||
@ -424,6 +426,7 @@ begin
|
||||
end;
|
||||
rtContext : begin
|
||||
Stream.Position := 0;
|
||||
FillByte(ConReq{%H-},SizeOf(ConReq),0);
|
||||
Stream.Read(ConReq, SizeOf(ConReq));
|
||||
Url := 'file://'+FileReq.FileName;
|
||||
Res := OpenURL(Url, ConReq.HelpContext);
|
||||
@ -447,7 +450,7 @@ var
|
||||
URL: String;
|
||||
StrItem: PStringItem;
|
||||
begin
|
||||
FillChar(IsHandled, 51, 0);
|
||||
FillChar(IsHandled{%H-}, 51, 0);
|
||||
for X := 1 to ParamCount do begin
|
||||
if LowerCase(ParamStrUTF8(X)) = '--ipcname' then begin
|
||||
IsHandled[X] := True;
|
||||
@ -473,7 +476,7 @@ begin
|
||||
URL := ParamStrUTF8(X);
|
||||
StrItem := New(PStringItem);
|
||||
StrItem^.FString := URL;
|
||||
Application.QueueAsyncCall(TDataEvent(@LateOpenURL), PtrUInt(StrItem));
|
||||
Application.QueueAsyncCall(TDataEvent(@LateOpenURL), {%H-}PtrUInt(StrItem));
|
||||
Break;
|
||||
end;
|
||||
end;
|
||||
|
Loading…
Reference in New Issue
Block a user