When calculating the menu frame, take the resizeToFit parameter into account. This fixes bug 574, although the implementation isn't probably completed yet. Needs more investigation.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18459 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Stefano Ceccherini
2006-08-08 14:07:09 +00:00
parent 43e03d5827
commit b6bf3346f3
+8 -7
View File
@@ -328,7 +328,8 @@ BMenu::AttachedToWindow()
if (!fAttachAborted) { if (!fAttachAborted) {
CacheFontInfo(); CacheFontInfo();
LayoutItems(0); LayoutItems(0);
//UpdateWindowViewSize();
} }
} }
@@ -1581,8 +1582,11 @@ BMenu::ComputeLayout(int32 index, bool bestFit, bool moveItems,
for (int32 i = 0; i < fItems.CountItems(); i++) for (int32 i = 0; i < fItems.CountItems(); i++)
ItemAt(i)->fBounds.bottom = frame.bottom; ItemAt(i)->fBounds.bottom = frame.bottom;
} }
frame.right = ceilf(frame.right); if (bestFit)
frame.right = ceilf(frame.right);
else
frame.right = Bounds().right;
break; break;
} }
@@ -2065,10 +2069,7 @@ BMenu::ChooseTrigger(const char *title, BList *chars)
void void
BMenu::UpdateWindowViewSize(bool upWind) BMenu::UpdateWindowViewSize(bool upWind)
{ {
BWindow *window = Window(); BWindow *window = Window();
ASSERT(window != NULL);
if (window == NULL) if (window == NULL)
return; return;