From 2c00a1e9de40d51372e9073e4ba7e2b6b23787b9 Mon Sep 17 00:00:00 2001 From: sekelsenmat Date: Thu, 8 Sep 2011 14:56:20 +0000 Subject: [PATCH] fpbrowser: Fixes loading links git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@1927 8e941d3f-bd1b-0410-a28a-d453659cc2b4 --- applications/fpbrowser/mainform.lfm | 13 ++- applications/fpbrowser/mainform.lrs | 132 ++++++++++++++-------------- applications/fpbrowser/mainform.pas | 8 +- 3 files changed, 84 insertions(+), 69 deletions(-) diff --git a/applications/fpbrowser/mainform.lfm b/applications/fpbrowser/mainform.lfm index 8e8544f89..34c4a3e1f 100644 --- a/applications/fpbrowser/mainform.lfm +++ b/applications/fpbrowser/mainform.lfm @@ -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 diff --git a/applications/fpbrowser/mainform.lrs b/applications/fpbrowser/mainform.lrs index ed248754c..9bedccebd 100644 --- a/applications/fpbrowser/mainform.lrs +++ b/applications/fpbrowser/mainform.lrs @@ -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 ]); diff --git a/applications/fpbrowser/mainform.pas b/applications/fpbrowser/mainform.pas index e436865f1..0c6e1c2a0 100644 --- a/applications/fpbrowser/mainform.pas +++ b/applications/fpbrowser/mainform.pas @@ -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;