+ advControls = new AdvControlsWidget( p_intf );
+ controlLayout->addWidget( advControls, 1, 3, 2, 4, Qt::AlignBottom );
+ if( !b_advancedVisible ) advControls->hide();
+
+ /** Disc and Menus handling */
+ discFrame = new QWidget( this );
+
+ QHBoxLayout *discLayout = new QHBoxLayout( discFrame );
+ discLayout->setSpacing( 0 );
+ discLayout->setMargin( 0 );
+
+ prevSectionButton = new QPushButton( discFrame );
+ setupSmallButton( prevSectionButton );
+ discLayout->addWidget( prevSectionButton );
+
+ menuButton = new QPushButton( discFrame );
+ setupSmallButton( menuButton );
+ discLayout->addWidget( menuButton );
+
+ nextSectionButton = new QPushButton( discFrame );
+ setupSmallButton( nextSectionButton );
+ discLayout->addWidget( nextSectionButton );
+
+ controlLayout->addWidget( discFrame, 1, 10, 2, 3, Qt::AlignBottom );
+
+ BUTTON_SET_IMG( prevSectionButton, "", previous.png, "" );
+ BUTTON_SET_IMG( nextSectionButton, "", next.png, "" );
+ BUTTON_SET_IMG( menuButton, "", previous.png, qtr( "Menu" ) );
+
+ discFrame->hide();
+
+ /* Change the navigation button display when the IM navigation changes */
+ CONNECT( THEMIM->getIM(), navigationChanged( int ),
+ this, setNavigation( int ) );
+ /* Changes the IM navigation when triggered on the nav buttons */
+ CONNECT( prevSectionButton, clicked(), THEMIM->getIM(),
+ sectionPrev() );
+ CONNECT( nextSectionButton, clicked(), THEMIM->getIM(),
+ sectionNext() );
+ CONNECT( menuButton, clicked(), THEMIM->getIM(),
+ sectionMenu() );
+
+ /**
+ * Telextext QFrame
+ * TODO: Merge with upper menu in a StackLayout
+ **/
+ telexFrame = new QWidget( this );
+ QHBoxLayout *telexLayout = new QHBoxLayout( telexFrame );
+ telexLayout->setSpacing( 0 );
+ telexLayout->setMargin( 0 );
+
+ telexOn = new QPushButton;
+ setupSmallButton( telexOn );
+ telexLayout->addWidget( telexOn );
+
+ telexTransparent = new QPushButton;
+ setupSmallButton( telexTransparent );
+ telexLayout->addWidget( telexTransparent );
+ b_telexTransparent = false;
+
+ telexPage = new QSpinBox;
+ telexPage->setRange( 0, 999 );
+ telexPage->setValue( 100 );
+ telexPage->setAccelerated( true );
+ telexPage->setWrapping( true );
+ telexPage->setAlignment( Qt::AlignRight );
+ telexPage->setSizePolicy( QSizePolicy::Preferred, QSizePolicy::Minimum );
+ telexLayout->addWidget( telexPage );
+
+ if( !b_fsCreation )
+ controlLayout->addWidget( telexFrame, 1, 10, 2, 4, Qt::AlignBottom );
+ telexFrame->hide(); /* default hidden */
+
+ CONNECT( telexPage, valueChanged( int ), THEMIM->getIM(),
+ telexGotoPage( int ) );
+ CONNECT( THEMIM->getIM(), setNewTelexPage( int ),
+ telexPage, setValue( int ) );
+
+ BUTTON_SET_IMG( telexOn, "", tv.png, qtr( "Teletext on" ) );
+
+ CONNECT( telexOn, clicked(), THEMIM->getIM(),
+ telexToggleButtons() );
+ CONNECT( telexOn, clicked( bool ), THEMIM->getIM(),
+ telexToggle( bool ) );
+ CONNECT( THEMIM->getIM(), toggleTelexButtons(),
+ this, toggleTeletext() );
+ b_telexEnabled = false;
+ telexTransparent->setEnabled( false );
+ telexPage->setEnabled( false );
+
+ BUTTON_SET_IMG( telexTransparent, "", tvtelx.png, qtr( "Teletext" ) );
+ CONNECT( telexTransparent, clicked( bool ),
+ THEMIM->getIM(), telexSetTransparency() );
+ CONNECT( THEMIM->getIM(), toggleTelexTransparency(),
+ this, toggleTeletextTransparency() );
+ CONNECT( THEMIM->getIM(), teletextEnabled( bool ),
+ telexFrame, setVisible( bool ) );
+
+ /** Play Buttons **/
+ QSizePolicy sizePolicy( QSizePolicy::Fixed, QSizePolicy::Fixed );
+ sizePolicy.setHorizontalStretch( 0 );
+ sizePolicy.setVerticalStretch( 0 );
+
+ /* Play */
+ playButton = new QPushButton;
+ playButton->setSizePolicy( sizePolicy );
+ playButton->setMaximumSize( QSize( 36, 36 ) );
+ playButton->setMinimumSize( QSize( 36, 36 ) );
+ playButton->setIconSize( QSize( 30, 30 ) );
+
+ controlLayout->addWidget( playButton, 2, 0, 2, 2 );
+
+ controlLayout->setColumnMinimumWidth( 2, 20 );
+ controlLayout->setColumnStretch( 2, 0 );
+
+ /** Prev + Stop + Next Block **/
+ controlButLayout = new QHBoxLayout;
+ controlButLayout->setSpacing( 0 ); /* Don't remove that, will be useful */
+
+ /* Prev */
+ QPushButton *prevButton = new QPushButton;
+ prevButton->setSizePolicy( sizePolicy );
+ setupSmallButton( prevButton );
+
+ controlButLayout->addWidget( prevButton );
+
+ /* Stop */
+ QPushButton *stopButton = new QPushButton;
+ stopButton->setSizePolicy( sizePolicy );
+ setupSmallButton( stopButton );
+
+ controlButLayout->addWidget( stopButton );
+
+ /* next */
+ QPushButton *nextButton = new QPushButton;
+ nextButton->setSizePolicy( sizePolicy );
+ setupSmallButton( nextButton );
+
+ controlButLayout->addWidget( nextButton );
+
+ /* Add this block to the main layout */
+ if( !b_fsCreation )
+ controlLayout->addLayout( controlButLayout, 3, 3, 1, 3 );
+
+ BUTTON_SET_ACT_I( playButton, "", play.png, qtr( "Play" ), play() );
+ BUTTON_SET_ACT_I( prevButton, "" , previous.png,
+ qtr( "Previous" ), prev() );
+ BUTTON_SET_ACT_I( nextButton, "", next.png, qtr( "Next" ), next() );
+ BUTTON_SET_ACT_I( stopButton, "", stop.png, qtr( "Stop" ), stop() );
+
+ controlLayout->setColumnMinimumWidth( 7, 20 );
+ controlLayout->setColumnStretch( 7, 0 );
+ controlLayout->setColumnStretch( 8, 0 );
+ controlLayout->setColumnStretch( 9, 0 );
+
+ /*
+ * Other first Line buttons
+ */
+ /** Fullscreen/Visualisation **/