PlaybackControlsWidget::PlaybackControlsWidget( QWidget* parent )
                       :StylableWidget( parent )
{
    QHBoxLayout* h = new QHBoxLayout( this );
    h->setContentsMargins( 12, 0, 12, 0 );
    h->setSpacing( 5 );
    
    h->addWidget( ui.love = new QPushButton( tr( "love" ) ));
    ui.love->setObjectName( "love" );
    
    h->addWidget( ui.ban = new QPushButton( tr( "ban" ) ));
    ui.ban->setObjectName( "ban" );
    
    h->addWidget( ui.play = new QPushButton( tr( "play" ) ));
    ui.play->setObjectName( "play" );
    ui.play->setCheckable( true );
    ui.play->setChecked( false );
    
    h->addWidget( ui.skip = new QPushButton( tr( "skip" ) ));
    ui.skip->setObjectName( "skip" );
    
	connect( radio, SIGNAL(stopped()), SLOT(onRadioStopped()) );
    connect( radio, SIGNAL(tuningIn( const RadioStation&)), SLOT( onRadioTuningIn( const RadioStation&)));
	connect( ui.play, SIGNAL( clicked()), SLOT( onPlayClicked()) );
    connect( ui.skip, SIGNAL( clicked()), radio, SLOT(skip()));

    setSizePolicy( QSizePolicy::MinimumExpanding, QSizePolicy::Preferred);
    
}
RadioControls::RadioControls()
{
    QHBoxLayout* h = new QHBoxLayout( this );
    h->setContentsMargins( 12, 0, 12, 0 );
    h->setSpacing( 5 );

    h->addWidget( ui.play = new ImageButton( ":/RadioControls/play/rest.png" ) );
    ui.play->setPixmap( QPixmap(":/RadioControls/play/onpress.png"), QIcon::Off, QIcon::Active );

    ui.play->setPixmap( QPixmap(":/RadioControls/stop/rest.png"), QIcon::On );
    ui.play->setPixmap( QPixmap(":/RadioControls/stop/onpress.png"), QIcon::On, QIcon::Active );
    ui.play->setCheckable( true );
    ui.play->setChecked( false );

    h->addWidget( ui.skip = new ImageButton( ":/RadioControls/skip/rest.png" ) );

    ui.skip->setPixmap( QPixmap(":/RadioControls/skip/onpress.png"), QIcon::Off, QIcon::Active );
    ui.play->setCheckable( true );
    ui.play->setChecked( false );

    connect( &The::radio(), SIGNAL(stopped()), SLOT(onRadioStopped()) );
    connect( &The::radio(), SIGNAL(tuningIn( const RadioStation&)), SLOT( onRadioTuningIn( const RadioStation&)));
    connect( ui.play, SIGNAL( clicked()), SLOT( onPlayClicked()) );
    connect( ui.skip, SIGNAL( clicked()), SIGNAL(skip()));

    setFixedWidth( sizeHint().width() );

    setAutoFillBackground( false );
    UnicornWidget::paintItBlack( this );
}
예제 #3
0
RadioWidget::RadioWidget(QWidget *parent)
    :QFrame( parent ), ui( new Ui::RadioWidget )
{
    ui->setupUi( this );

    ui->lastStationLabel->setObjectName( "title" );
    ui->personalLabel->setObjectName( "title" );
    ui->networkLabel->setObjectName( "title" );
    ui->recentLabel->setObjectName( "title" );

    ui->splitter->setObjectName( "splitter" );
    ui->splitter_2->setObjectName( "splitter" );
    ui->splitter_3->setObjectName( "splitter" );
    ui->splitter_4->setObjectName( "splitter" );

    connect( ui->subscribe, SIGNAL(clicked()), SLOT(onSubscribeClicked()) );
    connect( ui->listen, SIGNAL(clicked()), SLOT(onListenClicked()) );

    // need to know when we are playing the radio so we can switch between now playing and last playing
    connect( &RadioService::instance(), SIGNAL(tuningIn(RadioStation)), SLOT(onTuningIn(RadioStation) ) );
    connect( &RadioService::instance(), SIGNAL(stopped()), SLOT(onRadioStopped()));
    connect( &ScrobbleService::instance(), SIGNAL(trackStarted(Track,Track)), SLOT(onTrackStarted(Track,Track)) );

    connect( aApp, SIGNAL(sessionChanged(unicorn::Session)), SLOT(onSessionChanged(unicorn::Session) ) );

    m_movie = new QMovie( ":/loading_meta.gif", "GIF", this );
    m_movie->setCacheMode( QMovie::CacheAll );
    ui->spinner->setMovie( m_movie );

    refresh( aApp->currentSession() );
}