From f33993d7518469e3d2f2ecbba39679d6d140d354 Mon Sep 17 00:00:00 2001 From: Jean-Baptiste Kempf Date: Mon, 20 Apr 2009 17:35:20 +0200 Subject: [PATCH] Qt: cosmetics. --- modules/gui/qt4/main_interface.cpp | 242 +++++++++++++++-------------- modules/gui/qt4/main_interface.hpp | 4 +- 2 files changed, 124 insertions(+), 122 deletions(-) diff --git a/modules/gui/qt4/main_interface.cpp b/modules/gui/qt4/main_interface.cpp index bcfcb503b7..f2090385d9 100644 --- a/modules/gui/qt4/main_interface.cpp +++ b/modules/gui/qt4/main_interface.cpp @@ -1,7 +1,7 @@ /***************************************************************************** * main_interface.cpp : Main interface **************************************************************************** - * Copyright (C) 2006-2008 the VideoLAN team + * Copyright (C) 2006-2009 the VideoLAN team * $Id$ * * Authors: Clément Stenac @@ -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 *****************************************************************************/ diff --git a/modules/gui/qt4/main_interface.hpp b/modules/gui/qt4/main_interface.hpp index 04aa24155f..5aa5343759 100644 --- a/modules/gui/qt4/main_interface.hpp +++ b/modules/gui/qt4/main_interface.hpp @@ -109,7 +109,8 @@ private: FullscreenControllerWidget *fullscreenControls; DialogHandler *dialogHandler; - void handleMainUi( QSettings* ); + void createMainWidget( QSettings* ); + void createStatusBar(); void askForPrivacy(); int privacyDialog( QList *controls ); @@ -118,7 +119,6 @@ private: void createSystray(); void initSystray(); - void createStatusBar(); /* Video */ VideoWidget *videoWidget; -- 2.39.2