Commit cc6ee817 authored by Eric Petit's avatar Eric Petit

* store windows sizes in the vlc configuration file

 * fixed an interface bug when launching a file from the command line
 * minor fixes or enhancements
parent a08a63e7
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* beos.cpp : BeOS plugin for vlc * beos.cpp : BeOS plugin for vlc
***************************************************************************** *****************************************************************************
* Copyright (C) 2000, 2001 VideoLAN * Copyright (C) 2000, 2001 VideoLAN
* $Id: BeOS.cpp,v 1.2 2002/09/30 18:30:27 titer Exp $ * $Id: BeOS.cpp,v 1.3 2003/01/25 01:03:44 titer Exp $
* *
* Authors: Jean-Marc Dressler <polux@via.ecp.fr> * Authors: Jean-Marc Dressler <polux@via.ecp.fr>
* Samuel Hocevar <sam@zoy.org> * Samuel Hocevar <sam@zoy.org>
...@@ -50,6 +50,15 @@ vlc_module_begin(); ...@@ -50,6 +50,15 @@ vlc_module_begin();
add_submodule(); add_submodule();
set_capability( "interface", 100 ); set_capability( "interface", 100 );
set_callbacks( E_(OpenIntf), E_(CloseIntf) ); set_callbacks( E_(OpenIntf), E_(CloseIntf) );
add_integer( "beos-intf-width", 0, NULL, "", "" );
add_integer( "beos-intf-height", 0, NULL, "", "" );
add_integer( "beos-intf-xpos", 0, NULL, "", "" );
add_integer( "beos-intf-ypos", 0, NULL, "", "" );
add_integer( "beos-playlist-width", 0, NULL, "", "" );
add_integer( "beos-playlist-height", 0, NULL, "", "" );
add_integer( "beos-playlist-xpos", 0, NULL, "", "" );
add_integer( "beos-playlist-ypos", 0, NULL, "", "" );
add_bool( "beos-playlist-show", 0, NULL, "", "" );
add_submodule(); add_submodule();
set_capability( "video output", 100 ); set_capability( "video output", 100 );
set_callbacks( E_(OpenVideo), E_(CloseVideo) ); set_callbacks( E_(OpenVideo), E_(CloseVideo) );
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* InterfaceWindow.cpp: beos interface * InterfaceWindow.cpp: beos interface
***************************************************************************** *****************************************************************************
* Copyright (C) 1999, 2000, 2001 VideoLAN * Copyright (C) 1999, 2000, 2001 VideoLAN
* $Id: InterfaceWindow.cpp,v 1.20 2003/01/22 01:13:22 titer Exp $ * $Id: InterfaceWindow.cpp,v 1.21 2003/01/25 01:03:44 titer Exp $
* *
* Authors: Jean-Marc Dressler <polux@via.ecp.fr> * Authors: Jean-Marc Dressler <polux@via.ecp.fr>
* Samuel Hocevar <sam@zoy.org> * Samuel Hocevar <sam@zoy.org>
...@@ -70,7 +70,7 @@ InterfaceWindow::InterfaceWindow( BRect frame, const char *name, ...@@ -70,7 +70,7 @@ InterfaceWindow::InterfaceWindow( BRect frame, const char *name,
p_wrapper = p_intf->p_sys->p_wrapper; p_wrapper = p_intf->p_sys->p_wrapper;
p_intf->p_sys->b_dvdold = false; p_intf->p_sys->b_dvdold = false;
fPlaylistIsEmpty = ( p_wrapper->PlaylistSize() < 0 ); fPlaylistIsEmpty = !( p_wrapper->PlaylistSize() > 0 );
fPlaylistWindow = new PlayListWindow( BRect( 100.0, 100.0, 400.0, 350.0 ), fPlaylistWindow = new PlayListWindow( BRect( 100.0, 100.0, 400.0, 350.0 ),
"Playlist", "Playlist",
...@@ -96,7 +96,6 @@ InterfaceWindow::InterfaceWindow( BRect frame, const char *name, ...@@ -96,7 +96,6 @@ InterfaceWindow::InterfaceWindow( BRect frame, const char *name,
p_mediaControl = new MediaControlView( BRect( 0.0, 0.0, 250.0, 50.0 ), p_mediaControl = new MediaControlView( BRect( 0.0, 0.0, 250.0, 50.0 ),
p_intf ); p_intf );
p_mediaControl->SetViewColor( ui_color( B_PANEL_BACKGROUND_COLOR ) ); p_mediaControl->SetViewColor( ui_color( B_PANEL_BACKGROUND_COLOR ) );
p_mediaControl->SetEnabled( !fPlaylistIsEmpty );
float width, height; float width, height;
p_mediaControl->GetPreferredSize( &width, &height ); p_mediaControl->GetPreferredSize( &width, &height );
...@@ -181,10 +180,41 @@ InterfaceWindow::InterfaceWindow( BRect frame, const char *name, ...@@ -181,10 +180,41 @@ InterfaceWindow::InterfaceWindow( BRect frame, const char *name,
new BMenuItem( "Preferences", new BMessage( OPEN_PREFERENCES ) ) ); new BMenuItem( "Preferences", new BMessage( OPEN_PREFERENCES ) ) );
fMenuBar->AddItem( fSettingsMenu ); fMenuBar->AddItem( fSettingsMenu );
// prepare fow showing /* Prepare fow showing */
_SetMenusEnabled( false ); _SetMenusEnabled( false );
p_mediaControl->SetEnabled( false ); p_mediaControl->SetEnabled( false );
/* Restore interface settings */
int i_width = config_GetInt( p_intf, "beos-intf-width" ),
i_height = config_GetInt( p_intf, "beos-intf-height" ),
i_xpos = config_GetInt( p_intf, "beos-intf-xpos" ),
i_ypos = config_GetInt( p_intf, "beos-intf-ypos" );
if( i_width && i_height && i_xpos && i_ypos )
{
/* main window size and position */
ResizeTo( i_width, i_height );
MoveTo( i_xpos, i_ypos );
}
i_width = config_GetInt( p_intf, "beos-playlist-width" ),
i_height = config_GetInt( p_intf, "beos-playlist-height" ),
i_xpos = config_GetInt( p_intf, "beos-playlist-xpos" ),
i_ypos = config_GetInt( p_intf, "beos-playlist-ypos" );
if( i_width && i_height && i_xpos && i_ypos )
{
/* playlist window size and position */
fPlaylistWindow->ResizeTo( i_width, i_height );
fPlaylistWindow->MoveTo( i_xpos, i_ypos );
}
if( config_GetInt( p_intf, "beos-playlist-show" ) )
{
/* playlist showing */
if( fPlaylistWindow->Lock() )
{
fPlaylistWindow->Show();
fPlaylistWindow->Unlock();
}
}
Show(); Show();
} }
...@@ -552,7 +582,25 @@ bool InterfaceWindow::QuitRequested() ...@@ -552,7 +582,25 @@ bool InterfaceWindow::QuitRequested()
{ {
p_wrapper->PlaylistStop(); p_wrapper->PlaylistStop();
p_mediaControl->SetStatus(NOT_STARTED_S, DEFAULT_RATE); p_mediaControl->SetStatus(NOT_STARTED_S, DEFAULT_RATE);
/* Save interface settings */
BRect frame = Frame();
config_PutInt( p_intf, "beos-intf-width", (int)frame.Width() );
config_PutInt( p_intf, "beos-intf-height", (int)frame.Height() );
config_PutInt( p_intf, "beos-intf-xpos", (int)frame.left );
config_PutInt( p_intf, "beos-intf-ypos", (int)frame.top );
if( fPlaylistWindow->Lock() )
{
frame = fPlaylistWindow->Frame();
config_PutInt( p_intf, "beos-playlist-width", (int)frame.Width() );
config_PutInt( p_intf, "beos-playlist-height", (int)frame.Height() );
config_PutInt( p_intf, "beos-playlist-xpos", (int)frame.left );
config_PutInt( p_intf, "beos-playlist-ypos", (int)frame.top );
config_PutInt( p_intf, "beos-playlist-show", !fPlaylistWindow->IsHidden() );
fPlaylistWindow->Unlock();
}
config_SaveConfigFile( p_intf, "beos" );
p_intf->b_die = 1; p_intf->b_die = 1;
return( true ); return( true );
...@@ -571,7 +619,7 @@ void InterfaceWindow::updateInterface() ...@@ -571,7 +619,7 @@ void InterfaceWindow::updateInterface()
} }
else if ( Lock() ) else if ( Lock() )
{ {
// p_mediaControl->SetEnabled( true ); p_mediaControl->SetEnabled( true );
bool hasTitles = p_wrapper->HasTitles(); bool hasTitles = p_wrapper->HasTitles();
bool hasChapters = p_wrapper->HasChapters(); bool hasChapters = p_wrapper->HasChapters();
p_mediaControl->SetStatus( p_wrapper->InputStatus(), p_mediaControl->SetStatus( p_wrapper->InputStatus(),
...@@ -606,14 +654,18 @@ void InterfaceWindow::updateInterface() ...@@ -606,14 +654,18 @@ void InterfaceWindow::updateInterface()
else else
{ {
_SetMenusEnabled( false ); _SetMenusEnabled( false );
// p_mediaControl->SetEnabled( false ); if( !( p_wrapper->PlaylistSize() > 0 ) )
p_mediaControl->SetEnabled( false );
else
p_mediaControl->SetProgress( 0 );
} }
/* always force the user-specified volume */ /* always force the user-specified volume */
/* FIXME : I'm quite sure there is a cleaner way to do this */ /* FIXME : I'm quite sure there is a cleaner way to do this */
if( p_wrapper->GetVolume() != p_mediaControl->GetVolume() ) int i_volume = p_mediaControl->GetVolume();
if( p_wrapper->GetVolume() != i_volume )
{ {
p_wrapper->SetVolume( p_mediaControl->GetVolume() ); p_wrapper->SetVolume( i_volume );
} }
fLastUpdateTime = system_time(); fLastUpdateTime = system_time();
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* MediaControlView.cpp: beos interface * MediaControlView.cpp: beos interface
***************************************************************************** *****************************************************************************
* Copyright (C) 1999, 2000, 2001 VideoLAN * Copyright (C) 1999, 2000, 2001 VideoLAN
* $Id: MediaControlView.cpp,v 1.12 2003/01/24 06:31:56 titer Exp $ * $Id: MediaControlView.cpp,v 1.13 2003/01/25 01:03:44 titer Exp $
* *
* Authors: Tony Castley <tony@castley.net> * Authors: Tony Castley <tony@castley.net>
* Stephan Aßmus <stippi@yellowbites.com> * Stephan Aßmus <stippi@yellowbites.com>
...@@ -78,7 +78,8 @@ MediaControlView::MediaControlView(BRect frame, intf_thread_t *p_interface) ...@@ -78,7 +78,8 @@ MediaControlView::MediaControlView(BRect frame, intf_thread_t *p_interface)
fScrubSem(B_ERROR), fScrubSem(B_ERROR),
fCurrentRate(DEFAULT_RATE), fCurrentRate(DEFAULT_RATE),
fCurrentStatus(UNDEF_S), fCurrentStatus(UNDEF_S),
fBottomControlHeight(0.0) fBottomControlHeight(0.0),
fIsEnabled( true )
{ {
p_intf = p_interface; p_intf = p_interface;
...@@ -325,7 +326,14 @@ MediaControlView::SetStatus(int status, int rate) ...@@ -325,7 +326,14 @@ MediaControlView::SetStatus(int status, int rate)
void void
MediaControlView::SetEnabled(bool enabled) MediaControlView::SetEnabled(bool enabled)
{ {
if ( LockLooper() ) if( ( enabled && fIsEnabled ) ||
( !enabled && !fIsEnabled ) )
{
/* do not redraw if it is not necessary */
return;
}
if( LockLooper() )
{ {
fSkipBack->SetEnabled( enabled ); fSkipBack->SetEnabled( enabled );
fPlayPause->SetEnabled( enabled ); fPlayPause->SetEnabled( enabled );
...@@ -337,6 +345,7 @@ MediaControlView::SetEnabled(bool enabled) ...@@ -337,6 +345,7 @@ MediaControlView::SetEnabled(bool enabled)
fRewind->SetEnabled( enabled ); fRewind->SetEnabled( enabled );
fForward->SetEnabled( enabled ); fForward->SetEnabled( enabled );
UnlockLooper(); UnlockLooper();
fIsEnabled = enabled;
} }
} }
...@@ -764,7 +773,9 @@ SeekSlider::ResizeToPreferred() ...@@ -764,7 +773,9 @@ SeekSlider::ResizeToPreferred()
void void
SeekSlider::SetPosition(float position) SeekSlider::SetPosition(float position)
{ {
LockLooper();
SetValue(fMinValue + (int32)floorf((fMaxValue - fMinValue) * position + 0.5)); SetValue(fMinValue + (int32)floorf((fMaxValue - fMinValue) * position + 0.5));
UnlockLooper();
} }
/***************************************************************************** /*****************************************************************************
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* MediaControlView.h: beos interface * MediaControlView.h: beos interface
***************************************************************************** *****************************************************************************
* Copyright (C) 1999, 2000, 2001 VideoLAN * Copyright (C) 1999, 2000, 2001 VideoLAN
* $Id: MediaControlView.h,v 1.4 2003/01/12 02:08:39 titer Exp $ * $Id: MediaControlView.h,v 1.5 2003/01/25 01:03:44 titer Exp $
* *
* Authors: Tony Castley <tony@castley.net> * Authors: Tony Castley <tony@castley.net>
* Stephan Aßmus <stippi@yellowbites.com> * Stephan Aßmus <stippi@yellowbites.com>
...@@ -86,6 +86,7 @@ class MediaControlView : public BBox ...@@ -86,6 +86,7 @@ class MediaControlView : public BBox
int fCurrentStatus; int fCurrentStatus;
float fBottomControlHeight; float fBottomControlHeight;
BRect fOldBounds; BRect fOldBounds;
bool fIsEnabled;
intf_thread_t * p_intf; intf_thread_t * p_intf;
}; };
......
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