From dc674f5d961fe92d691e6bae4def80ff6d14da3b Mon Sep 17 00:00:00 2001 From: John Scipione Date: Thu, 30 May 2013 17:43:34 -0400 Subject: [PATCH] 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(). --- src/add-ons/translators/sgi/SGIView.cpp | 16 +++++++++++++++- src/add-ons/translators/sgi/SGIView.h | 1 + 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/src/add-ons/translators/sgi/SGIView.cpp b/src/add-ons/translators/sgi/SGIView.cpp index 1c2a7ba6e0..6c65c966ea 100644 --- a/src/add-ons/translators/sgi/SGIView.cpp +++ b/src/add-ons/translators/sgi/SGIView.cpp @@ -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(); + } +} diff --git a/src/add-ons/translators/sgi/SGIView.h b/src/add-ons/translators/sgi/SGIView.h index c3ebda93e7..53a562893b 100644 --- a/src/add-ons/translators/sgi/SGIView.h +++ b/src/add-ons/translators/sgi/SGIView.h @@ -50,6 +50,7 @@ public: virtual void AllAttached(); virtual void MessageReceived(BMessage* message); + virtual void WindowActivated(bool active); enum { MSG_COMPRESSION_CHANGED = 'cmch',