View Issue Details

IDProjectCategoryView StatusLast Update
0034436LazarusIDEpublic2018-10-27 08:14
ReporterOndrej PokornyAssigned ToJuha Manninen 
PrioritynormalSeverityminorReproducibilityalways
Status closedResolutionfixed 
Product Version2.1 (SVN)Product Build 
Target VersionFixed in Version 
Summary0034436: IDE FindReplace dialog can go outside the monitor area
DescriptionThe top position of the IDE FindReplace dialog is determined by the current line. It uses the wrong bounds so that it can go beyound the work area.
Steps To Reproduce1.) Place the task bar on top of the screen.
2.) Place the editor caret/cursor so that the FindReplace dialog goes behind the task bar. See attached screenshot.
Additional InformationPatch attached.
TagsNo tags attached.
Fixed in Revisionr59340
LazTarget-
Widgetset
Attached Files
  • finddialog-top.png (50,855 bytes)
    finddialog-top.png (50,855 bytes)
  • dialogposition-01.patch (573 bytes)
    Index: ide/sourceeditor.pp
    ===================================================================
    --- ide/sourceeditor.pp	(revision 59322)
    +++ ide/sourceeditor.pp	(working copy)
    @@ -3560,7 +3560,7 @@
     begin
       with EditorComponent do
         P := ClientToScreen(Point(CaretXPix, CaretYPix));
    -  ABounds := Screen.MonitorFromPoint(P).BoundsRect;
    +  ABounds := Screen.MonitorFromPoint(P).WorkareaRect;
       Left := EditorComponent.ClientOrigin.X + (EditorComponent.Width - Width) div 2;
       Top := P.Y - Height - 3 * EditorComponent.LineHeight;
       if Top < ABounds.Top + 10 then
    

Activities

Ondrej Pokorny

2018-10-19 13:54

reporter  

finddialog-top.png (50,855 bytes)
finddialog-top.png (50,855 bytes)

Ondrej Pokorny

2018-10-19 13:54

reporter  

dialogposition-01.patch (573 bytes)
Index: ide/sourceeditor.pp
===================================================================
--- ide/sourceeditor.pp	(revision 59322)
+++ ide/sourceeditor.pp	(working copy)
@@ -3560,7 +3560,7 @@
 begin
   with EditorComponent do
     P := ClientToScreen(Point(CaretXPix, CaretYPix));
-  ABounds := Screen.MonitorFromPoint(P).BoundsRect;
+  ABounds := Screen.MonitorFromPoint(P).WorkareaRect;
   Left := EditorComponent.ClientOrigin.X + (EditorComponent.Width - Width) div 2;
   Top := P.Y - Height - 3 * EditorComponent.LineHeight;
   if Top < ABounds.Top + 10 then

Juha Manninen

2018-10-22 20:44

developer   ~0111514

Applied, thanks.

Ondrej Pokorny

2018-10-27 08:14

reporter   ~0111599

Thanks

Issue History

Date Modified Username Field Change
2018-10-19 13:54 Ondrej Pokorny New Issue
2018-10-19 13:54 Ondrej Pokorny File Added: finddialog-top.png
2018-10-19 13:54 Ondrej Pokorny File Added: dialogposition-01.patch
2018-10-22 20:41 Juha Manninen Assigned To => Juha Manninen
2018-10-22 20:41 Juha Manninen Status new => assigned
2018-10-22 20:44 Juha Manninen Fixed in Revision => r59340
2018-10-22 20:44 Juha Manninen LazTarget => -
2018-10-22 20:44 Juha Manninen Note Added: 0111514
2018-10-22 20:44 Juha Manninen Status assigned => resolved
2018-10-22 20:44 Juha Manninen Resolution open => fixed
2018-10-27 08:14 Ondrej Pokorny Note Added: 0111599
2018-10-27 08:14 Ondrej Pokorny Status resolved => closed