diff --git a/components/turbopower_ipro/iphtml.pas b/components/turbopower_ipro/iphtml.pas index 01a303c3be..954e0c0fd0 100644 --- a/components/turbopower_ipro/iphtml.pas +++ b/components/turbopower_ipro/iphtml.pas @@ -2759,7 +2759,9 @@ type procedure CopyToClipboard; procedure EnumDocuments(Enumerator: TIpHtmlEnumerator); procedure GoBack; + function canGoBack : boolean; procedure GoForward; + function canGoForward : boolean; function HaveSelection: Boolean; property HotNode : TIpHtmlNode read FHotNode; {!!.12} function IsURLHtml(const URL: string): Boolean; @@ -17441,11 +17443,19 @@ end; procedure TIpHtmlCustomPanel.GoBack; begin if (URLStack.Count > 0) then begin - InternalOpenURL(TargetStack[Stp], URLStack[Stp]); - dec(Stp); + if URLStack.Count >= URLStack.count then Stp := URLStack.Count - 1; + if URLStack.Count > 0 then begin + InternalOpenURL(TargetStack[Stp], URLStack[Stp]); + dec(Stp); + end; end; end; +function TIpHtmlCustomPanel.canGoBack : boolean; +begin + result := (URLStack.Count > 0); +end; + procedure TIpHtmlCustomPanel.GoForward; begin if Stp < URLStack.Count - 1 then begin @@ -17454,6 +17464,11 @@ begin end; end; +function TIpHtmlCustomPanel.canGoForward : boolean; +begin + result := (Stp < URLStack.Count - 1); +end; + procedure TIpHtmlCustomPanel.Push(const Target, URL: string); begin if (Stp > 0) diff --git a/components/turbopower_ipro/turbopoweripro.lpk b/components/turbopower_ipro/turbopoweripro.lpk index 9e52df98ed..7b9c752aac 100644 --- a/components/turbopower_ipro/turbopoweripro.lpk +++ b/components/turbopower_ipro/turbopoweripro.lpk @@ -22,7 +22,7 @@ - + @@ -32,34 +32,39 @@ + + + + + + + + + + + + + - - - - - - - - - - - - - - + + - - + + - - + + + + + + diff --git a/components/turbopower_ipro/turbopoweripro.pas b/components/turbopower_ipro/turbopoweripro.pas index 2ce07da721..3e270bc899 100644 --- a/components/turbopower_ipro/turbopoweripro.pas +++ b/components/turbopower_ipro/turbopoweripro.pas @@ -7,13 +7,14 @@ unit TurboPowerIPro; interface uses - IpAnim, IpConst, IpHtml, IpHtmlPv, IpMsg, IpStrms, IpUtils, + IpAnim, IpConst, Ipfilebroker, IpHtml, IpHtmlPv, IpMsg, IpStrms, IpUtils, LazarusPackageIntf; implementation procedure Register; begin + RegisterUnit('Ipfilebroker', @Ipfilebroker.Register); RegisterUnit('IpHtml', @IpHtml.Register); end; diff --git a/lcl/include/control.inc b/lcl/include/control.inc index a6d5d597fd..3ec35a5205 100644 --- a/lcl/include/control.inc +++ b/lcl/include/control.inc @@ -225,20 +225,18 @@ begin { Notifications can be performed here } end; -{------------------------------------------------------------------------------} -{ TControl.Bringtofront -} -{------------------------------------------------------------------------------} -Procedure TControl.BringToFront; +{------------------------------------------------------------------------------ + TControl.Bringtofront +------------------------------------------------------------------------------} +procedure TControl.BringToFront; begin SetZOrder(true); end; -{------------------------------------------------------------------------------} -{ TControl.CanTab -} -{------------------------------------------------------------------------------} -Function TControl.CanTab: Boolean; +{------------------------------------------------------------------------------ + TControl.CanTab +------------------------------------------------------------------------------} +function TControl.CanTab: Boolean; begin Result := False; end; @@ -246,10 +244,10 @@ end; {------------------------------------------------------------------------------ TControl.Change ------------------------------------------------------------------------------} -Procedure TControl.Changed; -Begin +procedure TControl.Changed; +begin Perform(CM_CHANGED, 0, LParam(self)); -End; +end; {------------------------------------------------------------------------------ TControl.EditingDone