lhelp: clean up

git-svn-id: trunk@37712 -
This commit is contained in:
mattias 2012-06-21 11:22:32 +00:00
parent 987afc7816
commit c019b71631
6 changed files with 32 additions and 27 deletions

View File

@ -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;

View File

@ -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);

View File

@ -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;

View File

@ -127,7 +127,6 @@ end;
procedure TContentsFiller.DoFill(ParentNode: TTreeNode);
var
OrigEvent: TTVCustomCreateNodeEvent;
X: Integer;
begin
fTreeView.BeginUpdate;

View File

@ -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;

View File

@ -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;