Fixed the problem that icon buttons are too small when creating new ones.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28667 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -239,6 +239,44 @@ LaunchButton::MouseMoved(BPoint where, uint32 transit, const BMessage* dragMessa
|
|||||||
IconButton::MouseMoved(where, transit, dragMessage);
|
IconButton::MouseMoved(where, transit, dragMessage);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
BSize
|
||||||
|
LaunchButton::MinSize()
|
||||||
|
{
|
||||||
|
return PreferredSize();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
BSize
|
||||||
|
LaunchButton::PreferredSize()
|
||||||
|
{
|
||||||
|
float minWidth = fIconSize;
|
||||||
|
float minHeight = fIconSize;
|
||||||
|
|
||||||
|
float hPadding = max_c(4.0, ceilf(minHeight / 4.0));
|
||||||
|
float vPadding = max_c(4.0, ceilf(minWidth / 4.0));
|
||||||
|
|
||||||
|
if (fLabel.CountChars() > 0) {
|
||||||
|
font_height fh;
|
||||||
|
GetFontHeight(&fh);
|
||||||
|
minHeight += ceilf(fh.ascent + fh.descent) + vPadding;
|
||||||
|
minWidth += StringWidth(fLabel.String()) + vPadding;
|
||||||
|
}
|
||||||
|
|
||||||
|
return BSize(minWidth + hPadding, minHeight + vPadding);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
BSize
|
||||||
|
LaunchButton::MaxSize()
|
||||||
|
{
|
||||||
|
return PreferredSize();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// #pragma mark -
|
||||||
|
|
||||||
|
|
||||||
// SetTo
|
// SetTo
|
||||||
void
|
void
|
||||||
LaunchButton::SetTo(const entry_ref* ref)
|
LaunchButton::SetTo(const entry_ref* ref)
|
||||||
|
|||||||
@@ -40,6 +40,10 @@ class LaunchButton : public IconButton {
|
|||||||
virtual void MouseMoved(BPoint where, uint32 transit,
|
virtual void MouseMoved(BPoint where, uint32 transit,
|
||||||
const BMessage* dragMessage);
|
const BMessage* dragMessage);
|
||||||
|
|
||||||
|
virtual BSize MinSize();
|
||||||
|
virtual BSize PreferredSize();
|
||||||
|
virtual BSize MaxSize();
|
||||||
|
|
||||||
// LaunchButton
|
// LaunchButton
|
||||||
void SetTo(const entry_ref* ref);
|
void SetTo(const entry_ref* ref);
|
||||||
entry_ref* Ref() const;
|
entry_ref* Ref() const;
|
||||||
|
|||||||
Reference in New Issue
Block a user