Example #1
0
HistoryWidget::HistoryWidget( const source_ptr& source, QWidget* parent )
    : FlexibleView( parent, m_header = new QWidget() )
{
    m_header->setMaximumHeight( 160 );
/*    QCalendarWidget* m_calendarFrom = new QCalendarWidget();
    QCalendarWidget* m_calendarTo = new QCalendarWidget();
    m_calendarFrom->setGridVisible( false );
    m_calendarTo->setGridVisible( false );*/
    m_calendarFrom = new QDateEdit( QDate::currentDate() );
    m_calendarTo = new QDateEdit( QDate::currentDate() );
    m_calendarFrom->setDisplayFormat( "yyyy MMMM dd" );
    m_calendarTo->setDisplayFormat( "yyyy MMMM dd" );

    // setting an empty style-sheet prevents the QDateEdits from adopting their parent's QPalette
    QString calSheet = QString( "QDateEdit { }" ).arg( TomahawkStyle::PAGE_BACKGROUND.name() );
    m_calendarFrom->setStyleSheet( calSheet );
    m_calendarTo->setStyleSheet( calSheet );

    QPalette pal = m_header->palette();
    pal.setColor( QPalette::Foreground, Qt::white );
    pal.setColor( QPalette::Text, Qt::white );
    pal.setBrush( backgroundRole(), TomahawkStyle::PAGE_BACKGROUND );
    m_header->setPalette( pal );
    m_header->setAutoFillBackground( true );

    QHBoxLayout* layout = new QHBoxLayout( m_header );
    layout->addSpacerItem( new QSpacerItem( 1, 0, QSizePolicy::MinimumExpanding, QSizePolicy::Minimum ) );
    layout->addWidget( new QLabel( tr( "From:" ) ) );
    layout->addWidget( m_calendarFrom );
    layout->addSpacerItem( new QSpacerItem( 16, 0, QSizePolicy::Fixed, QSizePolicy::Minimum ) );
    layout->addWidget( new QLabel( tr( "To:" ) ) );
    layout->addWidget( m_calendarTo );
    layout->addSpacerItem( new QSpacerItem( 1, 0, QSizePolicy::MinimumExpanding, QSizePolicy::Minimum ) );
    m_header->setLayout( layout );

    setPixmap( TomahawkUtils::defaultPixmap( TomahawkUtils::RecentlyPlayed ) );

    m_model = new RecentlyPlayedModel( this );
    m_model->setTitle( tr( "Recently Played Tracks" ) );

    if ( source->isLocal() )
        m_model->setDescription( tr( "Your recently played tracks" ) );
    else
        m_model->setDescription( tr( "%1's recently played tracks" ).arg( source->friendlyName() ) );

    PlaylistLargeItemDelegate* del = new PlaylistLargeItemDelegate( PlaylistLargeItemDelegate::RecentlyPlayed, trackView(), trackView()->proxyModel() );
    trackView()->setItemDelegate( del );

    setPlayableModel( m_model );
    setEmptyTip( tr( "Sorry, we could not find any recent plays!" ) );
    m_model->setSource( source );

    setGuid( QString( "recentplays/%1" ).arg( source->nodeId() ) );

/*    connect( m_calendarFrom, SIGNAL( clicked( QDate ) ), SLOT( onDateClicked( QDate ) ) );
    connect( m_calendarTo, SIGNAL( clicked( QDate ) ), SLOT( onDateClicked( QDate ) ) );*/
    connect( m_calendarFrom, SIGNAL( dateChanged( QDate ) ), SLOT( onDateClicked( QDate ) ) );
    connect( m_calendarTo, SIGNAL( dateChanged( QDate ) ), SLOT( onDateClicked( QDate ) ) );
}
Example #2
0
void
SourceItem::latchedOn( const source_ptr& from, const source_ptr& to )
{
    if ( from->isLocal() && ( m_source == to || m_source == from ) )
    {
        m_latchedOn = true;
        m_latchedOnTo = to;
        connect( m_latchedOnTo->playlistInterface().data(), SIGNAL( latchModeChanged( Tomahawk::PlaylistInterface::LatchMode ) ), SLOT( latchModeChanged( Tomahawk::PlaylistInterface::LatchMode ) ) );
        emit updated();
    }
}
Example #3
0
void
SourceItem::latchedOff( const source_ptr& from, const source_ptr& to )
{
    if ( from->isLocal() && ( m_source == to || m_source == from ) )
    {
        m_latchedOn = false;
        disconnect( m_latchedOnTo->playlistInterface().data(), SIGNAL( latchModeChanged( Tomahawk::PlaylistModes::LatchMode ) ) );
        m_latchedOnTo.clear();
        emit updated();
    }
}
Example #4
0
HistoryWidget::HistoryWidget( const source_ptr& source, QWidget* parent )
    : FlexibleView( parent )
{
    setPixmap( TomahawkUtils::defaultPixmap( TomahawkUtils::RecentlyPlayed ) );

    m_model = new RecentlyPlayedModel( this );
    m_model->setTitle( tr( "Recently Played Tracks" ) );

    if ( source->isLocal() )
        m_model->setDescription( tr( "Your recently played tracks" ) );
    else
        m_model->setDescription( tr( "%1's recently played tracks" ).arg( source->friendlyName() ) );

    trackView()->setIndentation( 0 );
    trackView()->setUniformRowHeights( false );

    setPlayableModel( m_model );
    setEmptyTip( tr( "Sorry, we could not find any recent plays!" ) );
    m_model->setSource( source );

    setGuid( QString( "recentplays/%1" ).arg( source->nodeId() ) );
}