* Samuel Hocevar <sam@zoy.org>
* Tony Castley <tony@castley.net>
* Richard Shepherd <richard@rshepherd.demon.co.uk>
- * Stephan Aßmus <stippi@yellowbites.com>
+ * Stephan Aßmus <superstippi@gmx.de>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
// ask user if we should parse sub-folders as well
BAlert* alert = new BAlert( "sub-folders?",
_("Open files from all sub-folders as well?"),
- _("No"), _("Yes"), NULL, B_WIDTH_AS_USUAL,
+ _("Cancel"), _("Open"), NULL, B_WIDTH_AS_USUAL,
B_IDEA_ALERT );
int32 buttonIndex = alert->Go();
deep = buttonIndex == 1;
p_mediaControl->MoveTo( fMenuBar->Bounds().LeftBottom() + BPoint(0.0, 1.0) );
AddChild( fMenuBar );
- AddChild( p_mediaControl );
// Add the file Menu
BMenu* fileMenu = new BMenu( _("File") );
new BMessage( OPEN_PREFERENCES ), 'S' ) );
fMenuBar->AddItem( fShowMenu );
+ // add the media control view after the menubar is complete
+ // because it will set the window size limits in AttachedToWindow()
+ // and the menubar needs to report the correct PreferredSize()
+ AddChild( p_mediaControl );
+
/* Prepare fow showing */
_SetMenusEnabled( false );
p_mediaControl->SetEnabled( false );
* MediaControlView.cpp: beos interface
*****************************************************************************
* Copyright (C) 1999, 2000, 2001 VideoLAN
- * $Id: MediaControlView.cpp,v 1.21 2003/12/28 01:49:12 titer Exp $
+ * $Id$
*
* Authors: Tony Castley <tony@castley.net>
* Stephan Aßmus <stippi@yellowbites.com>
fVolumeSlider->SetTarget(Window());
BRect r(_MinFrame());
- if (BMenuBar* menuBar = Window()->KeyMenuBar())
- r.bottom += menuBar->Bounds().Height();
+ if (BMenuBar* menuBar = Window()->KeyMenuBar()) {
+ float width, height;
+ menuBar->GetPreferredSize(&width, &height);
+// r.bottom += menuBar->Bounds().Height();
+ r.bottom += height;
+ // see that our calculated minimal width is not smaller than what
+ // the menubar can be
+printf("preferred: width: %f, height: %f - width: %f\n", width, height, r.Width());
+ width -= r.Width();
+ if (width > 0.0)
+ r.right += width;
+ }
Window()->SetSizeLimits(r.Width(), r.Width() * 1.8, r.Height(), r.Height() * 1.3);
if (!Window()->Bounds().Contains(r))