From: Stephan Assmus Date: Thu, 15 Apr 2004 10:46:11 +0000 (+0000) Subject: fixed the incorrect window size limits for the interface window X-Git-Tag: 0.7.2~396 X-Git-Url: https://git.sesse.net/?a=commitdiff_plain;h=c7703cb9541e1ecea1a9e0b3253830b8f31889c6;p=vlc fixed the incorrect window size limits for the interface window --- diff --git a/modules/gui/beos/InterfaceWindow.cpp b/modules/gui/beos/InterfaceWindow.cpp index 7963152fbe..cc1250e54a 100644 --- a/modules/gui/beos/InterfaceWindow.cpp +++ b/modules/gui/beos/InterfaceWindow.cpp @@ -8,7 +8,7 @@ * Samuel Hocevar * Tony Castley * Richard Shepherd - * Stephan Aßmus + * Stephan Aßmus * * 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 @@ -156,7 +156,7 @@ collect_folder_contents( BDirectory& dir, BList& list, bool& deep, bool& asked, // 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; @@ -232,7 +232,6 @@ InterfaceWindow::InterfaceWindow( BRect frame, const char* name, 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") ); @@ -309,6 +308,11 @@ InterfaceWindow::InterfaceWindow( BRect frame, const char* name, 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 ); diff --git a/modules/gui/beos/MediaControlView.cpp b/modules/gui/beos/MediaControlView.cpp index 481c59b5ac..faf9013893 100644 --- a/modules/gui/beos/MediaControlView.cpp +++ b/modules/gui/beos/MediaControlView.cpp @@ -2,7 +2,7 @@ * 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 * Stephan Aßmus @@ -203,8 +203,18 @@ MediaControlView::AttachedToWindow() 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))