fpbrowser: Fixes loading links

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@1927 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
sekelsenmat
2011-09-08 14:56:20 +00:00
parent 42a5671a81
commit 2c00a1e9de
3 changed files with 84 additions and 69 deletions

View File

@ -34,7 +34,14 @@ object formBrowser: TformBrowser
Width = 150
Align = alRight
TabOrder = 0
Visible = False
end
object labelProgress: TLabel
Left = 319
Height = 16
Top = 3
Width = 21
Caption = 'Idle'
ParentColor = False
end
end
object panelTop: TPanel
@ -131,7 +138,7 @@ object formBrowser: TformBrowser
end
end
object tabSource: TTabSheet
Caption = 'tabSource'
Caption = 'Source'
ClientHeight = 359
ClientWidth = 619
object memoSource: TMemo
@ -283,7 +290,7 @@ object formBrowser: TformBrowser
object Timer1: TTimer
Interval = 200
OnTimer = Timer1Timer
left = 291
left = 304
top = 71
end
object PrinterSetupDialog: TPrinterSetupDialog

View File

@ -11,70 +11,72 @@ LazarusResources.Add('TformBrowser','FORMDATA',[
+#9'Alignment'#7#13'taLeftJustify'#10'BevelInner'#7#9'bvLowered'#10'BevelOute'
+'r'#7#6'bvNone'#12'ClientHeight'#2#18#11'ClientWidth'#3'm'#2#8'TabOrder'#2#0
+#0#12'TProgressBar'#11'ProgressBar'#4'Left'#3#214#1#6'Height'#2#16#3'Top'#2#1
+#5'Width'#3#150#0#5'Align'#7#7'alRight'#8'TabOrder'#2#0#7'Visible'#8#0#0#0#6
+'TPanel'#8'panelTop'#4'Left'#2#0#6'Height'#2'!'#3'Top'#2#0#5'Width'#3'm'#2#5
+'Align'#7#5'alTop'#10'BevelOuter'#7#6'bvNone'#12'ClientHeight'#2'!'#11'Clien'
+'tWidth'#3'm'#2#8'TabOrder'#2#1#0#5'TEdit'#7'editURL'#4'Left'#3#190#0#6'Heig'
+'ht'#2#24#3'Top'#2#4#5'Width'#3'Q'#1#8'AutoSize'#8#9'OnKeyDown'#7#14'editURL'
+'KeyDown'#7'TabStop'#8#8'TabOrder'#2#3#0#0#7'TButton'#12'ReloadButton'#4'Lef'
+'t'#2#10#6'Height'#2#24#3'Top'#2#4#5'Width'#2';'#7'Caption'#6#7'&Reload'#7'E'
+'nabled'#8#7'OnClick'#7#17'ReloadButtonClick'#8'TabOrder'#2#0#0#0#7'TButton'
+#10'BackButton'#4'Left'#2'E'#6'Height'#2#24#3'Top'#2#4#5'Width'#2';'#7'Capti'
+'on'#6#5'&Back'#7'Enabled'#8#7'OnClick'#7#12'FwdBackClick'#8'TabOrder'#2#1#0
+#0#7'TButton'#9'FwdButton'#4'Left'#3#128#0#6'Height'#2#24#3'Top'#2#4#5'Width'
+#2';'#7'Caption'#6#8'&Forward'#7'Enabled'#8#7'OnClick'#7#12'FwdBackClick'#8
+'TabOrder'#2#2#0#0#0#12'TPageControl'#11'pageBrowser'#4'Left'#2#0#6'Height'#3
+'i'#1#3'Top'#2'!'#5'Width'#3'm'#2#10'ActivePage'#7#10'tabBrowser'#5'Align'#7
+#8'alClient'#8'ShowTabs'#8#8'TabIndex'#2#0#8'TabOrder'#2#2#0#9'TTabSheet'#10
+'tabBrowser'#7'Caption'#6#7'Browser'#12'ClientHeight'#3'g'#1#11'ClientWidth'
+#3'k'#2#0#6'TPanel'#12'panelBrowser'#4'Left'#2#0#6'Height'#3'g'#1#3'Top'#2#0
+#5'Width'#3'k'#2#5'Align'#7#8'alClient'#10'BevelInner'#7#9'bvLowered'#10'Bev'
+'elOuter'#7#6'bvNone'#7'Caption'#6#12'panelBrowser'#8'TabOrder'#2#0#0#0#0#9
+'TTabSheet'#8'tabDebug'#7'Caption'#6#5'Debug'#12'ClientHeight'#3'g'#1#11'Cli'
+'entWidth'#3'k'#2#0#5'TMemo'#9'memoDebug'#4'Left'#2#0#6'Height'#3'g'#1#3'Top'
+#2#0#5'Width'#3'k'#2#5'Align'#7#8'alClient'#13'Lines.Strings'#1#6#9'memoDebu'
+'g'#0#8'TabOrder'#2#0#0#0#0#9'TTabSheet'#9'tabSource'#7'Caption'#6#9'tabSour'
+'ce'#12'ClientHeight'#3'g'#1#11'ClientWidth'#3'k'#2#0#5'TMemo'#10'memoSource'
+#5'Width'#3#150#0#5'Align'#7#7'alRight'#8'TabOrder'#2#0#0#0#6'TLabel'#13'lab'
+'elProgress'#4'Left'#3'?'#1#6'Height'#2#16#3'Top'#2#3#5'Width'#2#21#7'Captio'
+'n'#6#4'Idle'#11'ParentColor'#8#0#0#0#6'TPanel'#8'panelTop'#4'Left'#2#0#6'He'
+'ight'#2'!'#3'Top'#2#0#5'Width'#3'm'#2#5'Align'#7#5'alTop'#10'BevelOuter'#7#6
+'bvNone'#12'ClientHeight'#2'!'#11'ClientWidth'#3'm'#2#8'TabOrder'#2#1#0#5'TE'
+'dit'#7'editURL'#4'Left'#3#190#0#6'Height'#2#24#3'Top'#2#4#5'Width'#3'Q'#1#8
+'AutoSize'#8#9'OnKeyDown'#7#14'editURLKeyDown'#7'TabStop'#8#8'TabOrder'#2#3#0
+#0#7'TButton'#12'ReloadButton'#4'Left'#2#10#6'Height'#2#24#3'Top'#2#4#5'Widt'
+'h'#2';'#7'Caption'#6#7'&Reload'#7'Enabled'#8#7'OnClick'#7#17'ReloadButtonCl'
+'ick'#8'TabOrder'#2#0#0#0#7'TButton'#10'BackButton'#4'Left'#2'E'#6'Height'#2
+#24#3'Top'#2#4#5'Width'#2';'#7'Caption'#6#5'&Back'#7'Enabled'#8#7'OnClick'#7
+#12'FwdBackClick'#8'TabOrder'#2#1#0#0#7'TButton'#9'FwdButton'#4'Left'#3#128#0
+#6'Height'#2#24#3'Top'#2#4#5'Width'#2';'#7'Caption'#6#8'&Forward'#7'Enabled'
+#8#7'OnClick'#7#12'FwdBackClick'#8'TabOrder'#2#2#0#0#0#12'TPageControl'#11'p'
+'ageBrowser'#4'Left'#2#0#6'Height'#3'i'#1#3'Top'#2'!'#5'Width'#3'm'#2#10'Act'
+'ivePage'#7#10'tabBrowser'#5'Align'#7#8'alClient'#8'ShowTabs'#8#8'TabIndex'#2
+#0#8'TabOrder'#2#2#0#9'TTabSheet'#10'tabBrowser'#7'Caption'#6#7'Browser'#12
+'ClientHeight'#3'g'#1#11'ClientWidth'#3'k'#2#0#6'TPanel'#12'panelBrowser'#4
+'Left'#2#0#6'Height'#3'g'#1#3'Top'#2#0#5'Width'#3'k'#2#5'Align'#7#8'alClient'
+#10'BevelInner'#7#9'bvLowered'#10'BevelOuter'#7#6'bvNone'#7'Caption'#6#12'pa'
+'nelBrowser'#8'TabOrder'#2#0#0#0#0#9'TTabSheet'#8'tabDebug'#7'Caption'#6#5'D'
+'ebug'#12'ClientHeight'#3'g'#1#11'ClientWidth'#3'k'#2#0#5'TMemo'#9'memoDebug'
+#4'Left'#2#0#6'Height'#3'g'#1#3'Top'#2#0#5'Width'#3'k'#2#5'Align'#7#8'alClie'
+'nt'#13'Lines.Strings'#1#6#10'memoSource'#0#8'TabOrder'#2#0#0#0#0#0#11'TOpen'
+'Dialog'#10'OpenDialog'#10'DefaultExt'#6#4'.htm'#6'Filter'#6'%html files|*.h'
+'tm;*.html|all files|*.*'#7'Options'#11#14'ofHideReadOnly'#15'ofPathMustExis'
+'t'#15'ofFileMustExist'#0#4'left'#3'I'#1#3'top'#2#2#0#0#9'TMainMenu'#8'MainM'
+'enu'#4'left'#3'#'#1#3'top'#2#4#0#9'TMenuItem'#5'File1'#7'Caption'#6#5'&File'
+#0#9'TMenuItem'#4'Open'#7'Caption'#6#5'&Open'#8'ShortCut'#2'r'#7'OnClick'#7
+#13'OpenFileClick'#0#0#9'TMenuItem'#12'OpenTextFile'#7'Caption'#6#15'Open &T'
+'ext File'#7'OnClick'#7#17'OpenTextFileClick'#0#0#9'TMenuItem'#13'OpenImageF'
+'ile'#7'Caption'#6#16'Open &Image File'#7'OnClick'#7#18'OpenImageFileClick'#0
+#0#9'TMenuItem'#13'PrinterSetup1'#7'Caption'#6#16'Printer Setup...'#7'OnClic'
+'k'#7#18'PrinterSetup1Click'#0#0#9'TMenuItem'#12'Printpreview'#7'Caption'#6
+#14'Print pre&view'#7'Enabled'#8#7'OnClick'#7#17'PrintpreviewClick'#0#0#9'TM'
+'enuItem'#6'Print1'#7'Caption'#6#9'&Print...'#7'Enabled'#8#7'OnClick'#7#11'P'
+'rint1Click'#0#0#9'TMenuItem'#2'N1'#7'Caption'#6#1'-'#0#0#9'TMenuItem'#5'Exi'
+'t1'#7'Caption'#6#5'E&xit'#7'OnClick'#7#10'Exit1Click'#0#0#0#9'TMenuItem'#5
+'Edit2'#7'Caption'#6#5'&Edit'#7'OnClick'#7#10'Edit2Click'#0#9'TMenuItem'#5'F'
+'ind1'#7'Caption'#6#5'&Find'#7'Enabled'#8#7'OnClick'#7#10'Find1Click'#0#0#9
+'TMenuItem'#8'CopyItem'#7'Caption'#6#5'&Copy'#8'ShortCut'#3'C@'#7'OnClick'#7
+#13'CopyItemClick'#0#0#9'TMenuItem'#2'N2'#7'Caption'#6#1'-'#0#0#9'TMenuItem'
+#13'SelectAllItem'#7'Caption'#6#11'Select &All'#7'Enabled'#8#7'OnClick'#7#18
+'SelectAllItemClick'#0#0#0#9'TMenuItem'#8'options1'#7'Caption'#6#6'&Tools'#0
+#9'TMenuItem'#10'ShowImages'#7'Caption'#6#12'&Show images'#7'OnClick'#7#15'S'
+'howImagesClick'#0#0#9'TMenuItem'#5'Fonts'#7'Caption'#6#23'Default &Font/Col'
+'ors...'#7'OnClick'#7#15'FontColorsClick'#0#0#9'TMenuItem'#13'menuViewDebug'
+#7'Caption'#6#26'View Source and Debug info'#7'OnClick'#7#18'menuViewDebugCl'
+'ick'#0#0#0#9'TMenuItem'#15'HistoryMenuItem'#7'Caption'#6#8'&History'#7'Visi'
+'ble'#8#0#0#9'TMenuItem'#6'About1'#7'Caption'#6#6'&About'#7'OnClick'#7#11'Ab'
+'out1Click'#0#0#0#12'TPrintDialog'#11'PrintDialog'#8'FromPage'#2#1#7'MinPage'
+#2#1#7'MaxPage'#3#15''''#7'Options'#11#10'poPageNums'#0#6'ToPage'#2#1#4'left'
,#3'j'#1#3'top'#2#1#0#0#11'TFindDialog'#10'FindDialog'#7'Options'#11#6'frDown'
+#15'frHideWholeWord'#18'frDisableWholeWord'#0#6'OnFind'#7#14'FindDialogFind'
+#4'left'#3#248#0#3'top'#2#4#0#0#10'TPopupMenu'#9'PopupMenu'#4'left'#3#144#1#3
+'top'#2#1#0#9'TMenuItem'#9'Viewimage'#7'Caption'#6#11'&View image'#7'OnClick'
+#7#14'ViewimageClick'#0#0#9'TMenuItem'#20'CopyImageToClipboard'#7'Caption'#6
+#24'&Copy image to clipboard'#7'OnClick'#7#25'CopyImageToClipboardClick'#0#0
+#9'TMenuItem'#2'N3'#7'Caption'#6#1'-'#0#0#9'TMenuItem'#15'OpenInNewWindow'#7
+'Caption'#6#19'&Open in new window'#7'OnClick'#7#20'OpenInNewWindowClick'#0#0
+#0#6'TTimer'#9'MetaTimer'#7'Enabled'#8#7'OnTimer'#7#14'MetaTimerTimer'#4'lef'
+'t'#3#242#0#3'top'#2'K'#0#0#6'TTimer'#6'Timer1'#8'Interval'#3#200#0#7'OnTime'
+'r'#7#11'Timer1Timer'#4'left'#3'#'#1#3'top'#2'G'#0#0#19'TPrinterSetupDialog'
+#18'PrinterSetupDialog'#4'left'#3#192#1#0#0#0
+'nt'#13'Lines.Strings'#1#6#9'memoDebug'#0#8'TabOrder'#2#0#0#0#0#9'TTabSheet'
+#9'tabSource'#7'Caption'#6#6'Source'#12'ClientHeight'#3'g'#1#11'ClientWidth'
+#3'k'#2#0#5'TMemo'#10'memoSource'#4'Left'#2#0#6'Height'#3'g'#1#3'Top'#2#0#5
+'Width'#3'k'#2#5'Align'#7#8'alClient'#13'Lines.Strings'#1#6#10'memoSource'#0
+#8'TabOrder'#2#0#0#0#0#0#11'TOpenDialog'#10'OpenDialog'#10'DefaultExt'#6#4'.'
+'htm'#6'Filter'#6'%html files|*.htm;*.html|all files|*.*'#7'Options'#11#14'o'
+'fHideReadOnly'#15'ofPathMustExist'#15'ofFileMustExist'#0#4'left'#3'I'#1#3't'
+'op'#2#2#0#0#9'TMainMenu'#8'MainMenu'#4'left'#3'#'#1#3'top'#2#4#0#9'TMenuIte'
+'m'#5'File1'#7'Caption'#6#5'&File'#0#9'TMenuItem'#4'Open'#7'Caption'#6#5'&Op'
+'en'#8'ShortCut'#2'r'#7'OnClick'#7#13'OpenFileClick'#0#0#9'TMenuItem'#12'Ope'
+'nTextFile'#7'Caption'#6#15'Open &Text File'#7'OnClick'#7#17'OpenTextFileCli'
+'ck'#0#0#9'TMenuItem'#13'OpenImageFile'#7'Caption'#6#16'Open &Image File'#7
+'OnClick'#7#18'OpenImageFileClick'#0#0#9'TMenuItem'#13'PrinterSetup1'#7'Capt'
+'ion'#6#16'Printer Setup...'#7'OnClick'#7#18'PrinterSetup1Click'#0#0#9'TMenu'
+'Item'#12'Printpreview'#7'Caption'#6#14'Print pre&view'#7'Enabled'#8#7'OnCli'
+'ck'#7#17'PrintpreviewClick'#0#0#9'TMenuItem'#6'Print1'#7'Caption'#6#9'&Prin'
+'t...'#7'Enabled'#8#7'OnClick'#7#11'Print1Click'#0#0#9'TMenuItem'#2'N1'#7'Ca'
+'ption'#6#1'-'#0#0#9'TMenuItem'#5'Exit1'#7'Caption'#6#5'E&xit'#7'OnClick'#7
+#10'Exit1Click'#0#0#0#9'TMenuItem'#5'Edit2'#7'Caption'#6#5'&Edit'#7'OnClick'
+#7#10'Edit2Click'#0#9'TMenuItem'#5'Find1'#7'Caption'#6#5'&Find'#7'Enabled'#8
+#7'OnClick'#7#10'Find1Click'#0#0#9'TMenuItem'#8'CopyItem'#7'Caption'#6#5'&Co'
+'py'#8'ShortCut'#3'C@'#7'OnClick'#7#13'CopyItemClick'#0#0#9'TMenuItem'#2'N2'
+#7'Caption'#6#1'-'#0#0#9'TMenuItem'#13'SelectAllItem'#7'Caption'#6#11'Select'
+' &All'#7'Enabled'#8#7'OnClick'#7#18'SelectAllItemClick'#0#0#0#9'TMenuItem'#8
+'options1'#7'Caption'#6#6'&Tools'#0#9'TMenuItem'#10'ShowImages'#7'Caption'#6
+#12'&Show images'#7'OnClick'#7#15'ShowImagesClick'#0#0#9'TMenuItem'#5'Fonts'
+#7'Caption'#6#23'Default &Font/Colors...'#7'OnClick'#7#15'FontColorsClick'#0
+#0#9'TMenuItem'#13'menuViewDebug'#7'Caption'#6#26'View Source and Debug info'
+#7'OnClick'#7#18'menuViewDebugClick'#0#0#0#9'TMenuItem'#15'HistoryMenuItem'#7
+'Caption'#6#8'&History'#7'Visible'#8#0#0#9'TMenuItem'#6'About1'#7'Caption'#6
+#6'&About'#7'OnClick'#7#11'About1Click'#0#0#0#12'TPrintDialog'#11'PrintDialo'
,'g'#8'FromPage'#2#1#7'MinPage'#2#1#7'MaxPage'#3#15''''#7'Options'#11#10'poPa'
+'geNums'#0#6'ToPage'#2#1#4'left'#3'j'#1#3'top'#2#1#0#0#11'TFindDialog'#10'Fi'
+'ndDialog'#7'Options'#11#6'frDown'#15'frHideWholeWord'#18'frDisableWholeWord'
+#0#6'OnFind'#7#14'FindDialogFind'#4'left'#3#248#0#3'top'#2#4#0#0#10'TPopupMe'
+'nu'#9'PopupMenu'#4'left'#3#144#1#3'top'#2#1#0#9'TMenuItem'#9'Viewimage'#7'C'
+'aption'#6#11'&View image'#7'OnClick'#7#14'ViewimageClick'#0#0#9'TMenuItem'
+#20'CopyImageToClipboard'#7'Caption'#6#24'&Copy image to clipboard'#7'OnClic'
+'k'#7#25'CopyImageToClipboardClick'#0#0#9'TMenuItem'#2'N3'#7'Caption'#6#1'-'
+#0#0#9'TMenuItem'#15'OpenInNewWindow'#7'Caption'#6#19'&Open in new window'#7
+'OnClick'#7#20'OpenInNewWindowClick'#0#0#0#6'TTimer'#9'MetaTimer'#7'Enabled'
+#8#7'OnTimer'#7#14'MetaTimerTimer'#4'left'#3#242#0#3'top'#2'K'#0#0#6'TTimer'
+#6'Timer1'#8'Interval'#3#200#0#7'OnTimer'#7#11'Timer1Timer'#4'left'#3'0'#1#3
+'top'#2'G'#0#0#19'TPrinterSetupDialog'#18'PrinterSetupDialog'#4'left'#3#192#1
+#0#0#0
]);

View File

@ -37,6 +37,7 @@ type
{ TformBrowser }
TformBrowser = class(TForm)
labelProgress: TLabel;
memoSource: TMemo;
memoDebug: TMemo;
menuViewDebug: TMenuItem;
@ -236,6 +237,7 @@ begin
WriteLn('TForm1.DataProvider1GetHtml ',URL);
MyPageLoader.LoadBinaryResource(URL, lStream);
Stream := lStream;
lStream.Position := 0;
end;
procedure TformBrowser.DataProvider1GetImage(Sender: TIpHtmlNode; const URL: string;
@ -1127,11 +1129,15 @@ end;
procedure TformBrowser.HandlePageLoaderProgress(APercent: Integer);
begin
labelProgress.Caption := 'Loading a Page';
progressBar.Position := APercent;
end;
procedure TformBrowser.HandlePageLoaderTerminated(Sender: TObject);
begin
labelProgress.Caption := 'Finished Loading';
progressBar.Position := 100;
{$ifdef FPBROWSER_THTMLCOMP}
Viewer.LoadFromString(MyPageLoader.Contents);
Caption := Viewer.DocumentTitle;