mirror of
https://github.com/ultimatepp/ultimatepp.git
synced 2026-10-06 00:30:10 -06:00
- Changed autohide icon to pin when popped up. Clicking now docks the window
- Fixed child PopUp issues with auto-hidden windows - Fixed incorrect positioning when undocking windows that exceed their maximum size. git-svn-id: svn://ultimatepp.org/upp/trunk@964 f0d560ea-af0d-0410-9eb7-867de7ffcac7
This commit is contained in:
parent
4f95480632
commit
4e931f6f6f
10 changed files with 324 additions and 274 deletions
|
|
@ -122,7 +122,7 @@ void AutoHideBar::AddCtrl(DockCont& c, const String& group)
|
|||
{
|
||||
TabBar::Add(RawToValue<DockCont *>(&c), group);
|
||||
if (GetCount() == autohide+1)
|
||||
RefreshParentLayout();
|
||||
RefreshParentLayout();
|
||||
}
|
||||
|
||||
void AutoHideBar::RemoveCtrl(DockCont& c, int ix)
|
||||
|
|
@ -234,6 +234,15 @@ void AutoHideBar::ShowAnimate(Ctrl *c)
|
|||
void AutoHideBar::HideAnimate(Ctrl *c)
|
||||
{
|
||||
ASSERT(ctrl);
|
||||
// If the popup has a child popup active then reset timer and keep the popup visible
|
||||
Vector<Ctrl *> wins = Ctrl::GetTopCtrls();
|
||||
for(int i = 0; i < wins.GetCount(); i++) {
|
||||
if (wins[i]->IsPopUp() && wins[i]->GetOwner() == &popup) {
|
||||
KillSetTimeCallback(autohide_timeout, THISBACK1(HideAnimate, ctrl), TIMEID_HIDE_TIMEOUT);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
#ifdef PLATFORM_WIN32
|
||||
Rect r = popup.GetRect();
|
||||
AdjustSize(r, -r.GetSize());
|
||||
|
|
@ -263,7 +272,7 @@ void AutoHideBar::AdjustSize(Rect& r, const Size& sz)
|
|||
};
|
||||
}
|
||||
|
||||
int AutoHideBar::FindCtrl(DockCont& c) const
|
||||
int AutoHideBar::FindCtrl(const DockCont& c) const
|
||||
{
|
||||
if (&c == ctrl) return GetCursor();
|
||||
for (int i = 0; i < GetCount(); i++) {
|
||||
|
|
|
|||
Loading…
Reference in a new issue