Commit 826fad10 authored by Scott Caudle's avatar Scott Caudle

implement some minimum size of wx interface at all times. closes ticket #360.

parent 9342d5ee
dnl $Id: configure.ac,v 1.2 2004/02/13 11:33:38 rocky Exp $ dnl $Id$
dnl Process this file with autoconf to produce a configure script. dnl Process this file with autoconf to produce a configure script.
AC_INIT(manual.xml.in,0.0.1) AC_INIT(manual.xml.in,0.0.1)
......
...@@ -447,4 +447,4 @@ analyze the contents of a CD. ...@@ -447,4 +447,4 @@ analyze the contents of a CD.
The tool cd-read from libcdio can be used to show the sectors of The tool cd-read from libcdio can be used to show the sectors of
the CD or CD image or extract sectors. the CD or CD image or extract sectors.
$Id: intf-cdda.txt,v 1.6 2004/02/11 12:37:28 rocky Exp $ $Id$
...@@ -544,4 +544,4 @@ http://www.vcdhelp.com/ ...@@ -544,4 +544,4 @@ http://www.vcdhelp.com/
http://www.vcdimager.org/ http://www.vcdimager.org/
http://www.vcdimager.org/guides/#guides http://www.vcdimager.org/guides/#guides
$Id: intf-vcd.txt,v 1.5 2004/02/11 12:37:28 rocky Exp $ $Id$
$Id: cvd-subtitles.txt,v 1.4 2004/02/13 00:57:03 rocky Exp $ $Id$
The following information is culled from information from The following information is culled from information from
Julio Sanchez Fernandez (http://subhandler.sourceforge.net) Julio Sanchez Fernandez (http://subhandler.sourceforge.net)
by Rocky Bernstein. by Rocky Bernstein.
......
$Id: svcd-ogt-subtitles.txt,v 1.2 2004/02/13 00:57:03 rocky Exp $ $Id$
The following information is culled from information from The following information is culled from information from
Julio Sanchez Fernandez (http://subhandler.sourceforge.net) Julio Sanchez Fernandez (http://subhandler.sourceforge.net)
by Rocky Bernstein. by Rocky Bernstein.
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* cmd_minimize.cpp * cmd_minimize.cpp
***************************************************************************** *****************************************************************************
* Copyright (C) 2003 the VideoLAN team * Copyright (C) 2003 the VideoLAN team
* $Id: cmd_fullscreen.cpp 6961 2004-03-05 17:34:23Z sam $ * $Id$
* *
* Authors: Mohammed Adnène Trojette <adn@via.ecp.fr> * Authors: Mohammed Adnène Trojette <adn@via.ecp.fr>
* *
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* cmd_minimize.hpp * cmd_minimize.hpp
***************************************************************************** *****************************************************************************
* Copyright (C) 2003 the VideoLAN team * Copyright (C) 2003 the VideoLAN team
* $Id: cmd_fullscreen.hpp 6961 2004-03-05 17:34:23Z sam $ * $Id$
* *
* Authors: Mohammed Adnène Trojette <adn@via.ecp.fr> * Authors: Mohammed Adnène Trojette <adn@via.ecp.fr>
* *
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* cmd_playtree.cpp * cmd_playtree.cpp
***************************************************************************** *****************************************************************************
* Copyright (C) 2005 VideoLAN * Copyright (C) 2005 VideoLAN
* $Id: cmd_playlist.cpp 10101 2005-03-02 16:47:31Z robux4 $ * $Id$
* *
* Authors: Antoine Cellerier <dionoea@videolan.org> * Authors: Antoine Cellerier <dionoea@videolan.org>
* *
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* cmd_playtree.hpp * cmd_playtree.hpp
***************************************************************************** *****************************************************************************
* Copyright (C) 2005 VideoLAN * Copyright (C) 2005 VideoLAN
* $Id: cmd_playlist.hpp 9934 2005-02-15 13:55:08Z courmisch $ * $Id$
* *
* Authors: Antoine Cellerier <dionoea@videolan.org> * Authors: Antoine Cellerier <dionoea@videolan.org>
* *
......
...@@ -336,13 +336,32 @@ Interface::Interface( intf_thread_t *_p_intf, long style ): ...@@ -336,13 +336,32 @@ Interface::Interface( intf_thread_t *_p_intf, long style ):
Move( p ); Move( p );
/* Set minimum window size to prevent user from glitching it */ /* Set minimum window size to prevent user from glitching it */
wxSize s2;
s = GetSize(); s = GetSize();
/* save smallest possible default minimum size */
default_size = GetSize();
/* save slider size for height only for MinSizing */
slider_size = slider_sizer->GetSize();
/* and save extended gui size for MinSize scheme */
s2 = extra_frame->GetSize();
s2.SetWidth( s2.GetWidth() +
2 * wxSystemSettings::GetMetric( wxSYS_FRAMESIZE_X ) );
extended_size = s2;
/* Set initial minimum window size */
if( config_GetInt( p_intf, "wx-embed" ) ) if( config_GetInt( p_intf, "wx-embed" ) )
{ {
wxSize s2;
s2 = video_window->GetSize(); s2 = video_window->GetSize();
s.SetHeight( s.GetHeight() - s2.GetHeight() ); s.SetHeight( s.GetHeight() - s2.GetHeight() );
} }
if( config_GetInt( p_intf, "wx-extended" ) )
{
s.SetWidth( extended_size.GetWidth() );
s.SetHeight( s.GetHeight() + extended_size.GetHeight() );
}
#if (wxCHECK_VERSION(2,5,4)) #if (wxCHECK_VERSION(2,5,4))
SetMinSize( s ); SetMinSize( s );
#else #else
...@@ -506,22 +525,14 @@ void Interface::CreateOurMenuBar() ...@@ -506,22 +525,14 @@ void Interface::CreateOurMenuBar()
HDC hdc = GetDC( NULL ); HDC hdc = GetDC( NULL );
for( unsigned int i = 0; i < menubar->GetMenuCount(); i++ ) for( unsigned int i = 0; i < menubar->GetMenuCount(); i++ )
{ {
// [ MENU BUTTON WIDTH CALCULATION ]
// [ SM_CXDLGFRAME + pixels + textextent + pixels + SM_CXDLGFRAME ]
GetTextExtentPoint32( hdc, menubar->GetLabelTop(i).c_str(), GetTextExtentPoint32( hdc, menubar->GetLabelTop(i).c_str(),
menubar->GetLabelTop(i).Length(), &sizing ); menubar->GetLabelTop(i).Length(), &sizing );
// + text size..
i_size += sizing.cx; // [ SM_CXDLGFRAME + pixels + textextent + pixels + SM_CXDLGFRAME ]
// +1 more pixel on each size i_size += sizing.cx + 2 + GetSystemMetrics( SM_CXDLGFRAME ) * 2;
i_size += 2;
// width of 2 DLGFRAME
i_size += GetSystemMetrics( SM_CXDLGFRAME ) * 2;
} }
ReleaseDC( NULL, hdc ); ReleaseDC( NULL, hdc );
// Width of 2 edges of app window i_size += GetSystemMetrics( SM_CXSIZEFRAME ) * 2 + 4;
i_size += GetSystemMetrics( SM_CXSIZEFRAME ) * 2;
// + 2 more pixels on each side..
i_size += 4;
#endif #endif
/* End patch by zcot */ /* End patch by zcot */
...@@ -762,11 +773,27 @@ void Interface::ShowSlider( bool show, bool layout ) ...@@ -762,11 +773,27 @@ void Interface::ShowSlider( bool show, bool layout )
//prevent continuous layout //prevent continuous layout
if( slider_frame->IsShown() ) return; if( slider_frame->IsShown() ) return;
wxSize ms = GetMinSize();
ms.SetHeight( ms.GetHeight() + slider_size.GetHeight() );
#if ( wxCHECK_VERSION( 2,5,4 ) )
SetMinSize( ms );
#else
frame_sizer->SetMinSize( ms );
#endif
} }
else else
{ {
//prevent continuous layout //prevent continuous layout
if( !slider_frame->IsShown() ) return; if( !slider_frame->IsShown() ) return;
wxSize ms = GetMinSize();
ms.SetHeight( ms.GetHeight() - slider_size.GetHeight() );
#if ( wxCHECK_VERSION( 2,5,4 ) )
SetMinSize( ms );
#else
frame_sizer->SetMinSize( ms );
#endif
} }
if( layout && p_intf->p_sys->b_video_autosize ) if( layout && p_intf->p_sys->b_video_autosize )
...@@ -1009,11 +1036,27 @@ void Interface::OnExtended(wxCommandEvent& event) ...@@ -1009,11 +1036,27 @@ void Interface::OnExtended(wxCommandEvent& event)
{ {
extra_frame->Hide(); extra_frame->Hide();
frame_sizer->Hide( extra_frame ); frame_sizer->Hide( extra_frame );
wxSize ms = GetMinSize();
ms.SetHeight( ms.GetHeight() - extended_size.GetHeight() );
ms.SetWidth( default_size.GetWidth() );
#if ( wxCHECK_VERSION( 2,5,4 ) )
SetMinSize( ms );
#else
frame_sizer->SetMinSize( ms );
#endif
} }
else else
{ {
extra_frame->Show(); extra_frame->Show();
frame_sizer->Show( extra_frame ); frame_sizer->Show( extra_frame );
wxSize ms = GetMinSize();
ms.SetHeight( ms.GetHeight() + extended_size.GetHeight() );
ms.SetWidth( extended_size.GetWidth() );
#if ( wxCHECK_VERSION( 2,5,4 ) )
SetMinSize( ms );
#else
frame_sizer->SetMinSize( ms );
#endif
} }
frame_sizer->Layout(); frame_sizer->Layout();
frame_sizer->Fit(this); frame_sizer->Fit(this);
......
...@@ -187,6 +187,11 @@ namespace wxvlc ...@@ -187,6 +187,11 @@ namespace wxvlc
wxMenu *p_audio_menu; wxMenu *p_audio_menu;
wxMenu *p_video_menu; wxMenu *p_video_menu;
wxMenu *p_navig_menu; wxMenu *p_navig_menu;
/* utility dimensions */
wxSize default_size;
wxSize extended_size;
wxSize slider_size;
}; };
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment