ide: Fixed problem with titlebar drags

This commit is contained in:
Mirek Fidler 2026-01-15 11:39:57 +01:00
parent 31240d734f
commit e6755eb5c9
4 changed files with 9 additions and 8 deletions

View file

@ -456,7 +456,7 @@ bool Ctrl::MouseActiveCtrl(Ctrl *w, Point p)
for(Ctrl *q = w->GetLastChild(); q; q = q->GetPrev())
if(q->GetScreenRect().Contains(p))
return MouseActiveCtrl(q, p);
return w->IsMouseActive();
}

View file

@ -539,6 +539,14 @@ windows decoration on the left / right side of area, [@(0.0.255) height
would use to draw the background of title bar area.&]
[s3; &]
[s4; &]
[s5;:Upp`:`:TopWindow`:`:IsCustomTitleBarDragArea`(Point`): [@(0.0.255) virtual
bool] [* IsCustomTitleBarDragArea](Point [*@3 p])&]
[s2;%% This method can be overriden to determine whether mouse at
[%-*@3 p] should possibly drag the window. Default implementation
allows that in mouse inactive areas and is probably fine for
most use cases.&]
[s3; &]
[s4; &]
[s5;:TopWindow`:`:SerializePlacement`(Stream`&`,bool`): [@(0.0.255) void]_[* SerializePla
cement]([_^Stream^ Stream][@(0.0.255) `&]_[*@3 s], [@(0.0.255) bool]_[*@3 reminimize]_`=_[@(0.0.255) f
alse])&]

View file

@ -389,7 +389,6 @@ public:
virtual void Activate();
virtual void Layout();
virtual void Skin();
virtual bool IsCustomTitleBarDragArea(Point p);
virtual bool IsVerbose() const;
virtual void PutConsole(const char *s);

View file

@ -390,12 +390,6 @@ void Ide::Layout()
display.Show(!designer && (menubar.GetSize().cx + display.GetSize().cx < GetSize().cx));
}
bool Ide::IsCustomTitleBarDragArea(Point p)
{
p += GetScreenRect().TopLeft();
return !menubar.GetScreenRect().Contains(p) && !toolbar.GetScreenRect().Contains(p);
}
void Ide::DoDisplay()
{
if(replace_in_files)