SGITranslator: Resize menu field to preferred width
... when the window is first activated. Unfortunately the preferred width has not been set until after the window is shown so we can't do the work in AllAttached().
This commit is contained in:
@@ -95,7 +95,7 @@ SGIView::SGIView(const char* name, uint32 flags, TranslatorSettings* settings)
|
||||
|
||||
//add_menu_item(menu, SGI_COMP_ARLE, "Agressive RLE", currentCompression);
|
||||
|
||||
fCompressionMF = new BMenuField("compression",
|
||||
fCompressionMF = new BMenuField("compression",
|
||||
B_TRANSLATE("Use compression:"), menu);
|
||||
|
||||
BAlignment labelAlignment(B_ALIGN_LEFT, B_ALIGN_NO_VERTICAL);
|
||||
@@ -157,6 +157,8 @@ void
|
||||
SGIView::AllAttached()
|
||||
{
|
||||
fCompressionMF->Menu()->SetTargetForItems(this);
|
||||
fCompressionMF->SetDivider(
|
||||
fCompressionMF->StringWidth(fCompressionMF->Label()) + 3);
|
||||
}
|
||||
|
||||
|
||||
@@ -177,3 +179,15 @@ SGIView::MessageReceived(BMessage* message)
|
||||
BView::MessageReceived(message);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
SGIView::WindowActivated(bool active)
|
||||
{
|
||||
static bool firstRun = true;
|
||||
|
||||
if (firstRun) {
|
||||
firstRun = false;
|
||||
fCompressionMF->ResizeToPreferred();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -50,6 +50,7 @@ public:
|
||||
|
||||
virtual void AllAttached();
|
||||
virtual void MessageReceived(BMessage* message);
|
||||
virtual void WindowActivated(bool active);
|
||||
|
||||
enum {
|
||||
MSG_COMPRESSION_CHANGED = 'cmch',
|
||||
|
||||
Reference in New Issue
Block a user