* InterfaceWindow.cpp: beos interface
*****************************************************************************
* Copyright (C) 1999, 2000, 2001 VideoLAN
- * $Id: InterfaceWindow.cpp,v 1.3 2002/10/10 23:11:52 titer Exp $
+ * $Id: InterfaceWindow.cpp,v 1.4 2002/10/28 16:55:05 titer Exp $
*
* Authors: Jean-Marc Dressler <polux@via.ecp.fr>
* Samuel Hocevar <sam@zoy.org>
#include "MsgVals.h"
#include "MediaControlView.h"
#include "PlayListWindow.h"
+#include "PreferencesWindow.h"
#include "VlcWrapper.h"
#include "InterfaceWindow.h"
FIND_ANYWHERE );
fPlaylistIsEmpty = (p_playlist->i_size < 0);
- fPlaylistWindow = new PlayListWindow( BRect( 20.0, 20.0, 170.0, 320.0 ),
+ fPlaylistWindow = new PlayListWindow( BRect( 100.0, 100.0, 400.0, 350.0 ),
"Playlist",
p_playlist,
this,
p_intf );
+ fPreferencesWindow = new PreferencesWindow( BRect( 100, 400, 500, 595 ),
+ "Preferences",
+ p_intf );
// set the title bar
SetName( "interface" );
fSpeedMenu->SetTargetForItems( this );
fMenuBar->AddItem( fSpeedMenu );
-
+ /* Add the Settings menu */
+ fSettingsMenu = new BMenu( "Settings" );
+ fSettingsMenu->AddItem( fPreferencesMI =
+ new BMenuItem( "Preferences", new BMessage( OPEN_PREFERENCES ) ) );
+ fMenuBar->AddItem( fSettingsMenu );
+
/* Add the Config menu */
// BMenu* configMenu = new BMenu( "Config" );
// menu_bar->AddItem( configMenu );
_UpdatePlaylist();
}
break;
-
+
+ case OPEN_PREFERENCES:
+ if (fPreferencesWindow->IsHidden())
+ fPreferencesWindow->Show();
+ else
+ fPreferencesWindow->Activate();
+ break;
+
default:
BWindow::MessageReceived( p_message );
break;
* InterfaceWindow.h: BeOS interface window class prototype
*****************************************************************************
* Copyright (C) 1999, 2000, 2001 VideoLAN
- * $Id: InterfaceWindow.h,v 1.2 2002/09/30 18:30:27 titer Exp $
+ * $Id: InterfaceWindow.h,v 1.3 2002/10/28 16:55:05 titer Exp $
*
* Authors: Jean-Marc Dressler <polux@via.ecp.fr>
* Tony Castley <tcastley@mail.powerup.com.au>
class MediaControlView;
class PlayListWindow;
class BFilePanel;
+class PreferencesWindow;
class CDMenu : public BMenu
{
bool fPlaylistIsEmpty;
BFilePanel* fFilePanel;
PlayListWindow* fPlaylistWindow;
+ PreferencesWindow* fPreferencesWindow;
BMenuBar* fMenuBar;
BMenuItem* fNextTitleMI;
BMenuItem* fPrevTitleMI;
BMenuItem* fSlowerMI;
BMenuItem* fNormalMI;
BMenuItem* fFasterMI;
+ BMenuItem* fPreferencesMI;
BMenu* fAudioMenu;
BMenu* fNavigationMenu;
BMenu* fTitleMenu;
BMenu* fLanguageMenu;
BMenu* fSubtitlesMenu;
BMenu* fSpeedMenu;
+ BMenu* fSettingsMenu;
bigtime_t fLastUpdateTime;
BMessage* fSettings; // we keep the message arround
// for forward compatibility
modules/gui/beos/DrawingTidbits.cpp \
modules/gui/beos/TransportButton.cpp \
modules/gui/beos/PlayListWindow.cpp \
+ modules/gui/beos/PreferencesWindow.cpp \
modules/gui/beos/MediaControlView.cpp \
modules/gui/beos/VlcWrapper.cpp
modules/gui/beos/MediaControlView.h \
modules/gui/beos/MsgVals.h \
modules/gui/beos/PlayListWindow.h \
+ modules/gui/beos/PreferencesWindow.h \
modules/gui/beos/TransportButton.h \
modules/gui/beos/VideoWindow.h \
modules/gui/beos/VlcWrapper.h
* MsgVals.h
*****************************************************************************
* Copyright (C) 2001 VideoLAN
- * $Id: MsgVals.h,v 1.2 2002/09/30 18:30:27 titer Exp $
+ * $Id: MsgVals.h,v 1.3 2002/10/28 16:55:05 titer Exp $
*
* Authors: Tony Castley <tcastley@mail.powerup.com.au>
* Stephan Aßmus <stippi@yellowbites.com>
const uint32 NEXT_FILE = 'nxfl';
const uint32 NAVIGATE_PREV = 'navp'; // could be chapter, title or file
const uint32 NAVIGATE_NEXT = 'navn'; // could be chapter, title or file
+const uint32 OPEN_PREFERENCES = 'pref';
const uint32 TOGGLE_ON_TOP = 'ontp';
const uint32 TOGGLE_FULL_SCREEN = 'tgfs';
const uint32 RESIZE_50 = 'rshl';
* vout_beos.cpp: beos video output display method
*****************************************************************************
* Copyright (C) 2000, 2001 VideoLAN
- * $Id: VideoOutput.cpp,v 1.2 2002/09/30 18:30:27 titer Exp $
+ * $Id: VideoOutput.cpp,v 1.3 2002/10/28 16:55:05 titer Exp $
*
* Authors: Jean-Marc Dressler <polux@via.ecp.fr>
* Samuel Hocevar <sam@zoy.org>
/*****************************************************************************
* VideoWindow constructor and destructor
*****************************************************************************/
-VideoWindow::VideoWindow(int v_width, int v_height, BRect frame)
+VideoWindow::VideoWindow(int v_width, int v_height, BRect frame,
+ vout_thread_t *p_videoout)
: BWindow(frame, NULL, B_TITLED_WINDOW, B_NOT_CLOSABLE | B_NOT_MINIMIZABLE),
i_width(frame.IntegerWidth()),
i_height(frame.IntegerHeight()),
fInterfaceShowing(false),
fInitStatus(B_ERROR)
{
+ p_vout = p_videoout;
+
// create the view to do the display
view = new VLCView( Bounds() );
BRect bitmapFrame( 0, 0, width, height );
// read from config, if we are supposed to use overlay at all
- int noOverlay = 0;
- /* noOverlay = !config_GetInt( , "overlay" ); */
+ int noOverlay = !config_GetInt( p_vout, "overlay" );
// test for overlay capability
for (int i = 0; i < COLOR_COUNT; i++)
{
p_vout->p_sys->i_height - 1,
BRect( 20, 50,
20 + p_vout->i_window_width - 1,
- 50 + p_vout->i_window_height - 1 ));
+ 50 + p_vout->i_window_height - 1 ),
+ p_vout );
if( p_vout->p_sys->p_window == NULL )
{
msg_Err( p_vout, "cannot allocate VideoWindow" );
* VideoWindow.h: BeOS video window class prototype
*****************************************************************************
* Copyright (C) 1999, 2000, 2001 VideoLAN
- * $Id: VideoWindow.h,v 1.2 2002/09/30 18:30:27 titer Exp $
+ * $Id: VideoWindow.h,v 1.3 2002/10/28 16:55:05 titer Exp $
*
* Authors: Jean-Marc Dressler <polux@via.ecp.fr>
* Tony Castley <tcastley@mail.powerup.com.au>
public:
VideoWindow(int v_width,
int v_height,
- BRect frame);
+ BRect frame,
+ vout_thread_t *p_vout);
virtual ~VideoWindow();
// BWindow
int32 height;
};
- struct vout_thread_s *p_vout;
+ vout_thread_t *p_vout;
- int32 fTrueWidth; // incomming bitmap size
- int32 fTrueHeight;
- bool fCorrectAspect;
- window_feel fCachedFeel;
- bool fInterfaceShowing;
- status_t fInitStatus;
+ int32 fTrueWidth; // incomming bitmap size
+ int32 fTrueHeight;
+ bool fCorrectAspect;
+ window_feel fCachedFeel;
+ bool fInterfaceShowing;
+ status_t fInitStatus;
};
#endif // BEOS_VIDEO_WINDOW_H