diff --git a/applications/fpbrowser/mainform.lfm b/applications/fpbrowser/mainform.lfm index 07c288cae..1290413b7 100644 --- a/applications/fpbrowser/mainform.lfm +++ b/applications/fpbrowser/mainform.lfm @@ -3,7 +3,7 @@ object formBrowser: TformBrowser Height = 439 Top = 186 Width = 621 - ClientHeight = 439 + ClientHeight = 412 ClientWidth = 621 Color = clBtnFace Font.Color = clWindowText @@ -18,7 +18,7 @@ object formBrowser: TformBrowser object panelBottom: TPanel Left = 0 Height = 18 - Top = 421 + Top = 394 Width = 621 Align = alBottom Alignment = taLeftJustify @@ -39,7 +39,7 @@ object formBrowser: TformBrowser Left = 319 Height = 16 Top = 3 - Width = 22 + Width = 21 Caption = 'Idle' ParentColor = False end diff --git a/applications/fpbrowser/mainform.lrs b/applications/fpbrowser/mainform.lrs index c4b803e84..4b24d02ef 100644 --- a/applications/fpbrowser/mainform.lrs +++ b/applications/fpbrowser/mainform.lrs @@ -2,17 +2,17 @@ LazarusResources.Add('TformBrowser','FORMDATA',[ 'TPF0'#12'TformBrowser'#11'formBrowser'#4'Left'#3'G'#1#6'Height'#3#183#1#3'To' - +'p'#3#186#0#5'Width'#3'm'#2#12'ClientHeight'#3#183#1#11'ClientWidth'#3'm'#2#5 + +'p'#3#186#0#5'Width'#3'm'#2#12'ClientHeight'#3#156#1#11'ClientWidth'#3'm'#2#5 +'Color'#7#9'clBtnFace'#10'Font.Color'#7#12'clWindowText'#11'Font.Height'#2 +#243#9'Font.Name'#6#5'Arial'#4'Menu'#7#8'MainMenu'#8'OnCreate'#7#10'FormCrea' +'te'#9'OnDestroy'#7#11'FormDestroy'#6'OnShow'#7#8'FormShow'#8'Position'#7#14 +'poScreenCenter'#10'LCLVersion'#6#6'0.9.31'#0#6'TPanel'#11'panelBottom'#4'Le' - +'ft'#2#0#6'Height'#2#18#3'Top'#3#165#1#5'Width'#3'm'#2#5'Align'#7#8'alBottom' + +'ft'#2#0#6'Height'#2#18#3'Top'#3#138#1#5'Width'#3'm'#2#5'Align'#7#8'alBottom' +#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#0#0#6'TLabel'#13'lab' - +'elProgress'#4'Left'#3'?'#1#6'Height'#2#16#3'Top'#2#3#5'Width'#2#22#7'Captio' + +'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#11'TOpenDialog'#10'OpenDialog'#10'Defa' +'ultExt'#6#4'.htm'#6'Filter'#6'%html files|*.htm;*.html|all files|*.*'#7'Opt' +'ions'#11#14'ofHideReadOnly'#15'ofPathMustExist'#15'ofFileMustExist'#0#4'lef' diff --git a/applications/fpbrowser/mainform.pas b/applications/fpbrowser/mainform.pas index 78ec2fe64..9fddb4a9f 100644 --- a/applications/fpbrowser/mainform.pas +++ b/applications/fpbrowser/mainform.pas @@ -126,10 +126,12 @@ type CurrentTab: Integer; procedure LoadURL(AURL: string); procedure AddBrowserTab(AURL: string; AGoToTab: Boolean); + procedure AddBrowserControlsToTab(ATabSheet: TCDTabSheet); procedure AddMemoTab(AText: TStringList; ACaption: string; AGoToTab: Boolean); procedure AddURLToHistory(AURL: string); procedure HandlePageLoaderProgress(APercent: Integer); procedure HandlePageLoaderTerminated(Sender: TObject); + procedure HandleUserAddedPage(Sender: TObject; APage: TCDTabSheet); end; var @@ -147,7 +149,8 @@ begin pageBrowser.Align := alClient; pageBrowser.DrawStyle := dsKDE; pageBrowser.Options := [nboShowCloseButtons, nboHidePageListPopup, - nboKeyboardTabSwitch]; + nboKeyboardTabSwitch, nboShowAddTabButton]; + pageBrowser.OnUserAddedPage := HandleUserAddedPage; InitializeForm(); end; @@ -776,18 +779,30 @@ end; procedure TformBrowser.AddBrowserTab(AURL: string; AGoToTab: Boolean); var - lViewer: TBrowserViewer; lTabSheet: TCDTabSheet; - lTopPanel: TPanel; - lbuttonReload, lbuttonBack, lbuttonForward: TBitBtn; - leditURL: TEdit; begin lTabSheet := pageBrowser.AddPage(''); // This call requires Lazarus 0.9.31+ lTabSheet.Caption := 'WebPage'; + AddBrowserControlsToTab(lTabSheet); + + if AGoToTab then + begin + CurrentTab := GetBrowerViewerCount() - 1; + SetCurrentBrowserViewer(CurrentTab); + end; +end; + +procedure TformBrowser.AddBrowserControlsToTab(ATabSheet: TCDTabSheet); +var + lViewer: TBrowserViewer; + lTopPanel: TPanel; + lbuttonReload, lbuttonBack, lbuttonForward: TBitBtn; + leditURL: TEdit; +begin // Add the top panel of the tab with buttons and the edit box - lTopPanel := TPanel.Create(lTabSheet); - lTopPanel.Parent := lTabSheet; + lTopPanel := TPanel.Create(ATabSheet); + lTopPanel.Parent := ATabSheet; lTopPanel.Align := alTop; lTopPanel.Height := 33; @@ -828,13 +843,7 @@ begin // Add the HTML Viewer lViewer := AddBrowserViewer(); - lViewer.CreateViewer(lTabSheet, Self); - - if AGoToTab then - begin - CurrentTab := GetBrowerViewerCount() - 1; - SetCurrentBrowserViewer(CurrentTab); - end; + lViewer.CreateViewer(ATabSheet, Self); end; procedure TformBrowser.AddMemoTab(AText: TStringList; ACaption: string; @@ -886,6 +895,11 @@ begin AddURLToHistory(MyPageLoader.LastPageURL);} end; +procedure TformBrowser.HandleUserAddedPage(Sender: TObject; APage: TCDTabSheet); +begin + AddBrowserControlsToTab(APage); +end; + procedure TformBrowser.Timer1Timer(Sender: TObject); const StartCount = 2; {timer counts before hint window opens} diff --git a/applications/fpbrowser/viewer_ipro.pas b/applications/fpbrowser/viewer_ipro.pas index c1e175a6a..d096171b9 100644 --- a/applications/fpbrowser/viewer_ipro.pas +++ b/applications/fpbrowser/viewer_ipro.pas @@ -195,7 +195,7 @@ begin ViewerName := 'Turbo Power iPro HTML viewer written in Pascal'; DataProvider1:=TMyIpHtmlDataProvider.Create(AOwner); - DataProvider1.Name:='DataProvider1'; + //DataProvider1.Name:='DataProvider1'; DataProvider1.OnCanHandle:=DataProvider1CanHandle; DataProvider1.OnGetHtml:=DataProvider1GetHtml; DataProvider1.OnGetImage:=DataProvider1GetImage; @@ -204,7 +204,7 @@ begin DataProvider1.OnReportReference:=DataProvider1ReportReference; IpHtmlPanel1:=TIpHtmlPanel.Create(AOwner); - IpHtmlPanel1.Name:='IpHtmlPanel1'; + //IpHtmlPanel1.Name:='IpHtmlPanel1'; IpHtmlPanel1.Parent:=AParent; IpHtmlPanel1.Align:=alClient; IpHtmlPanel1.DefaultFontSize:=10;