Debugger: fix width of alert for short messages
Don't force a larger min size if the message is short enough. To do this: - Get the TextRect without word wrapping - If that is small enough, nothing to do - If that is too wide, set a minimal size that will be used for the word wrapping so the alert doesn't get too large and also doesn't get too narrow Fixes #18404 Change-Id: Iee2704377180510edf7bdf930583b8a7cc47ef2e Reviewed-on: https://review.haiku-os.org/c/haiku/+/6461 Reviewed-by: waddlesplash <waddlesplash@gmail.com>
This commit is contained in:
parent
ef240bfffa
commit
6a06a56256
@ -58,11 +58,15 @@ AlertWithCheckbox::AlertWithCheckbox(const char* title, const char* messageText,
|
||||
message->SetFontAndColor(be_plain_font, B_FONT_ALL, &textColor);
|
||||
message->MakeEditable(false);
|
||||
message->MakeSelectable(false);
|
||||
message->SetWordWrap(true);
|
||||
message->SetText(messageText);
|
||||
BRect textRect = message->TextRect();
|
||||
textRect.PrintToStream();
|
||||
message->SetWordWrap(true);
|
||||
message->SetExplicitMaxSize(BSize(B_SIZE_UNSET, B_SIZE_UNSET));
|
||||
float width = message->StringWidth("W") * 40;
|
||||
message->SetExplicitMinSize(BSize(width, B_SIZE_UNSET));
|
||||
if (width < textRect.Width()) {
|
||||
message->SetExplicitMinSize(BSize(width, B_SIZE_UNSET));
|
||||
}
|
||||
|
||||
fDontAskAgain = new BCheckBox("checkbox",
|
||||
checkboxLabel, NULL);
|
||||
|
Loading…
Reference in New Issue
Block a user