Commit f33993d7 authored by Jean-Baptiste Kempf's avatar Jean-Baptiste Kempf

Qt: cosmetics.

parent 897af3cc
/*****************************************************************************
* main_interface.cpp : Main interface
****************************************************************************
* Copyright (C) 2006-2008 the VideoLAN team
* Copyright (C) 2006-2009 the VideoLAN team
* $Id$
*
* Authors: Clément Stenac <zorglub@videolan.org>
......@@ -82,6 +82,8 @@ MainInterface::MainInterface( intf_thread_t *_p_intf ) : QVLCMW( _p_intf )
input_name = "";
fullscreenControls = NULL;
cryptedLabel = NULL;
controls = NULL;
inputC = NULL;
bgWasVisible = false;
i_bg_height = 0;
......@@ -133,7 +135,7 @@ MainInterface::MainInterface( intf_thread_t *_p_intf ) : QVLCMW( _p_intf )
* UI and Widgets design
**************************/
setVLCWindowsTitle();
handleMainUi( settings );
createMainWidget( settings );
/************
* Menu Bar *
......@@ -325,90 +327,6 @@ MainInterface::~MainInterface()
/*****************************
* Main UI handling *
*****************************/
inline void MainInterface::createStatusBar()
{
/****************
* Status Bar *
****************/
/* Widgets Creation*/
QStatusBar *statusBarr = statusBar();
TimeLabel *timeLabel = new TimeLabel( p_intf );
nameLabel = new QLabel( this );
nameLabel->setTextInteractionFlags( Qt::TextSelectableByMouse
| Qt::TextSelectableByKeyboard );
SpeedLabel *speedLabel = new SpeedLabel( p_intf, "1.00x", this );
/* Styling those labels */
timeLabel->setFrameStyle( QFrame::Sunken | QFrame::Panel );
speedLabel->setFrameStyle( QFrame::Sunken | QFrame::Panel );
nameLabel->setFrameStyle( QFrame::Sunken | QFrame::StyledPanel);
/* and adding those */
statusBarr->addWidget( nameLabel, 8 );
statusBarr->addPermanentWidget( speedLabel, 0 );
statusBarr->addPermanentWidget( timeLabel, 0 );
/* timeLabel behaviour:
- double clicking opens the goto time dialog
- right-clicking and clicking just toggle between remaining and
elapsed time.*/
CONNECT( timeLabel, timeLabelDoubleClicked(), THEDP, gotoTimeDialog() );
CONNECT( THEMIM->getIM(), encryptionChanged( bool ) , this, showCryptedLabel( bool ) );
}
void MainInterface::showCryptedLabel( bool b_show )
{
if( cryptedLabel == NULL )
{
cryptedLabel = new QLabel;
// The lock icon is not the right one for DRM protection/scrambled.
//cryptedLabel->setPixmap( QPixmap( ":/lock" ) );
cryptedLabel->setText( "DRM" );
statusBar()->addWidget( cryptedLabel );
}
cryptedLabel->setVisible( b_show );
}
inline void MainInterface::initSystray()
{
bool b_systrayAvailable = QSystemTrayIcon::isSystemTrayAvailable();
bool b_systrayWanted = config_GetInt( p_intf, "qt-system-tray" );
if( config_GetInt( p_intf, "qt-start-minimized") > 0 )
{
if( b_systrayAvailable )
{
b_systrayWanted = true;
hide();
}
else
msg_Err( p_intf, "cannot start minimized without system tray bar" );
}
if( b_systrayAvailable && b_systrayWanted )
createSystray();
}
/**
* Give the decorations of the Main Window a correct Name.
* If nothing is given, set it to VLC...
**/
void MainInterface::setVLCWindowsTitle( QString aTitle )
{
if( aTitle.isEmpty() )
{
setWindowTitle( qtr( "VLC media player" ) );
}
else
{
setWindowTitle( aTitle + " - " + qtr( "VLC media player" ) );
}
}
void MainInterface::recreateToolbars()
{
settings->beginGroup( "MainWindow" );
......@@ -427,7 +345,7 @@ void MainInterface::recreateToolbars()
settings->endGroup();
}
void MainInterface::handleMainUi( QSettings *settings )
void MainInterface::createMainWidget( QSettings *settings )
{
/* Create the main Widget and the mainLayout */
QWidget *main = new QWidget;
......@@ -496,6 +414,60 @@ void MainInterface::handleMainUi( QSettings *settings )
}
}
inline void MainInterface::createStatusBar()
{
/****************
* Status Bar *
****************/
/* Widgets Creation*/
QStatusBar *statusBarr = statusBar();
TimeLabel *timeLabel = new TimeLabel( p_intf );
nameLabel = new QLabel( this );
nameLabel->setTextInteractionFlags( Qt::TextSelectableByMouse
| Qt::TextSelectableByKeyboard );
SpeedLabel *speedLabel = new SpeedLabel( p_intf, "1.00x", this );
/* Styling those labels */
timeLabel->setFrameStyle( QFrame::Sunken | QFrame::Panel );
speedLabel->setFrameStyle( QFrame::Sunken | QFrame::Panel );
nameLabel->setFrameStyle( QFrame::Sunken | QFrame::StyledPanel);
/* and adding those */
statusBarr->addWidget( nameLabel, 8 );
statusBarr->addPermanentWidget( speedLabel, 0 );
statusBarr->addPermanentWidget( timeLabel, 0 );
/* timeLabel behaviour:
- double clicking opens the goto time dialog
- right-clicking and clicking just toggle between remaining and
elapsed time.*/
CONNECT( timeLabel, timeLabelDoubleClicked(), THEDP, gotoTimeDialog() );
CONNECT( THEMIM->getIM(), encryptionChanged( bool ),
this, showCryptedLabel( bool ) );
}
inline void MainInterface::initSystray()
{
bool b_systrayAvailable = QSystemTrayIcon::isSystemTrayAvailable();
bool b_systrayWanted = config_GetInt( p_intf, "qt-system-tray" );
if( config_GetInt( p_intf, "qt-start-minimized") > 0 )
{
if( b_systrayAvailable )
{
b_systrayWanted = true;
hide();
}
else
msg_Err( p_intf, "cannot start minimized without system tray bar" );
}
if( b_systrayAvailable && b_systrayWanted )
createSystray();
}
inline void MainInterface::askForPrivacy()
{
/**
......@@ -651,21 +623,24 @@ QSize MainInterface::sizeHint() const
return QSize( nwidth, nheight );
}
void MainInterface::toggleFSC()
{
if( !fullscreenControls ) return;
IMEvent *eShow = new IMEvent( FullscreenControlToggle_Type, 0 );
QApplication::postEvent( fullscreenControls, eShow );
}
/* Video widget cannot do this synchronously as it runs in another thread */
/* Well, could it, actually ? Probably dangerous ... */
void MainInterface::popupMenu( const QPoint &p )
/* This function is called:
- toggling of minimal View
- through askUpdate() by Vout thread request video and resize video (zoom)
- Advanced buttons toggled
*/
void MainInterface::doComponentsUpdate()
{
/* Ow, that's ugly: don't show the popup menu if cursor over
* the main menu bar or the status bar */
if( !childAt( p ) || ( ( childAt( p ) != menuBar() )
&& ( childAt( p )->parentWidget() != statusBar() ) ) )
QVLCMenu::PopupMenu( p_intf, true );
msg_Dbg( p_intf, "Updating the geometry" );
/* Here we resize to sizeHint() and not adjustsize because we want
the videoWidget to be exactly the correctSize */
resize( sizeHint() );
// adjustSize() ;
#ifndef NDEBUG
debug();
#endif
}
void MainInterface::debug()
......@@ -681,6 +656,23 @@ void MainInterface::debug()
#endif
}
void MainInterface::toggleFSC()
{
if( !fullscreenControls ) return;
IMEvent *eShow = new IMEvent( FullscreenControlToggle_Type, 0 );
QApplication::postEvent( fullscreenControls, eShow );
}
void MainInterface::popupMenu( const QPoint &p )
{
/* Ow, that's ugly: don't show the popup menu if cursor over
* the main menu bar or the status bar */
if( !childAt( p ) || ( ( childAt( p ) != menuBar() )
&& ( childAt( p )->parentWidget() != statusBar() ) ) )
QVLCMenu::PopupMenu( p_intf, true );
}
/****************************************************************************
* Video Handling
****************************************************************************/
......@@ -869,26 +861,6 @@ void MainInterface::toggleMinimalView( bool b_switch )
emit minimalViewToggled( b_switch );
}
/* Video widget cannot do this synchronously as it runs in another thread */
/* Well, could it, actually ? Probably dangerous ... */
/* This function is called:
- toggling of minimal View
- through askUpdate() by Vout thread request video and resize video (zoom)
- Advanced buttons toggled
*/
void MainInterface::doComponentsUpdate()
{
msg_Dbg( p_intf, "Updating the geometry" );
/* Here we resize to sizeHint() and not adjustsize because we want
the videoWidget to be exactly the correctSize */
resize( sizeHint() );
// adjustSize() ;
#ifndef NDEBUG
debug();
#endif
}
/* toggling advanced controls buttons */
void MainInterface::toggleAdvanced()
{
......@@ -937,6 +909,36 @@ void MainInterface::setName( QString name )
nameLabel->setToolTip( " " + name +" " );
}
/**
* Give the decorations of the Main Window a correct Name.
* If nothing is given, set it to VLC...
**/
void MainInterface::setVLCWindowsTitle( QString aTitle )
{
if( aTitle.isEmpty() )
{
setWindowTitle( qtr( "VLC media player" ) );
}
else
{
setWindowTitle( aTitle + " - " + qtr( "VLC media player" ) );
}
}
void MainInterface::showCryptedLabel( bool b_show )
{
if( cryptedLabel == NULL )
{
cryptedLabel = new QLabel;
// The lock icon is not the right one for DRM protection/scrambled.
//cryptedLabel->setPixmap( QPixmap( ":/lock" ) );
cryptedLabel->setText( "DRM" );
statusBar()->addWidget( cryptedLabel );
}
cryptedLabel->setVisible( b_show );
}
/*****************************************************************************
* Systray Icon and Systray Menu
*****************************************************************************/
......
......@@ -109,7 +109,8 @@ private:
FullscreenControllerWidget *fullscreenControls;
DialogHandler *dialogHandler;
void handleMainUi( QSettings* );
void createMainWidget( QSettings* );
void createStatusBar();
void askForPrivacy();
int privacyDialog( QList<ConfigControl *> *controls );
......@@ -118,7 +119,6 @@ private:
void createSystray();
void initSystray();
void createStatusBar();
/* Video */
VideoWidget *videoWidget;
......
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