当前位置: 首页>>代码示例>>C++>>正文


C++ dynplaylist_ptr::generator方法代码示例

本文整理汇总了C++中tomahawk::dynplaylist_ptr::generator方法的典型用法代码示例。如果您正苦于以下问题:C++ dynplaylist_ptr::generator方法的具体用法?C++ dynplaylist_ptr::generator怎么用?C++ dynplaylist_ptr::generator使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在tomahawk::dynplaylist_ptr的用法示例。


在下文中一共展示了dynplaylist_ptr::generator方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: QWidget

DynamicSetupWidget::DynamicSetupWidget( const Tomahawk::dynplaylist_ptr& playlist, QWidget* parent )
    : QWidget( parent )
    , m_playlist( playlist )
    , m_headerText( 0 )
    , m_layout( new QHBoxLayout )
    , m_generatorCombo( 0 )
    , m_logo( 0 )
    , m_generateButton( 0 )
    , m_genNumber( 0 )
{
    
    setContentsMargins( 0, 0, 0, 0 );
    m_headerText = new QLabel( tr( "Type:" ), this );
    m_layout->addWidget( m_headerText );
    
    QComboBox * genCombo = new QComboBox( this );
    foreach( const QString& type, GeneratorFactory::types() )
        genCombo->addItem( type );
    m_generatorCombo = new ReadOrWriteWidget( genCombo, m_playlist->author()->isLocal(), this );
    m_generatorCombo->setLabel( playlist->generator()->type().replace( 0, 1, playlist->generator()->type().at( 0 ).toUpper() ) );
    
    m_layout->addWidget( m_generatorCombo );
    
    m_generateButton = new QPushButton( tr( "Generate" ), this );
    m_generateButton->setAttribute( Qt::WA_LayoutUsesWidgetRect );
    connect( m_generateButton, SIGNAL( clicked( bool ) ), this, SLOT( generatePressed( bool ) ) );
    if( m_playlist->mode() == OnDemand )
        m_generateButton->hide();
    else
        m_layout->addWidget( m_generateButton );
    
    
    m_genNumber = new QSpinBox( this );
    m_genNumber->setValue( 15 );
    m_genNumber->setMinimum( 0 );
    if( m_playlist->mode() == OnDemand )
        m_genNumber->hide();
    else
        m_layout->addWidget( m_genNumber );
    
    m_layout->addSpacing( 30 );
    
    m_logo = new QLabel( this );
    if( !m_playlist->generator()->logo().isNull() ) {
        QPixmap p = m_playlist->generator()->logo().scaledToHeight( 22, Qt::SmoothTransformation );
        m_logo->setPixmap( p );
    }
    m_layout->addWidget(m_logo);
    
    setLayout( m_layout );
    
    m_fadeAnim = new QPropertyAnimation( this, "opacity" );
    m_fadeAnim->setDuration( 250 );
    m_fadeAnim->setStartValue( 0.00 );
    m_fadeAnim->setEndValue( .86 );
    
    setSizePolicy( QSizePolicy::Expanding, QSizePolicy::Fixed );
    resize( sizeHint() );
}
开发者ID:LittleForker,项目名称:tomahawk,代码行数:59,代码来源:DynamicSetupWidget.cpp

示例2: qAbs

void
DynamicWidget::loadDynamicPlaylist( const Tomahawk::dynplaylist_ptr& playlist )
{
    // special case: if we have launched multiple setRevision calls, and the number of controls is different, it means that we're getting an intermediate setRevision
    //  called after the user has already created more revisions. ignore in that case.
    if( m_playlist.data() == playlist.data() && m_seqRevLaunched > 0
        && m_controls->controls().size() != playlist->generator()->controls().size() // different number of controls
        && qAbs( m_playlist->generator()->controls().size() - playlist->generator()->controls().size() ) < m_seqRevLaunched ) { // difference in controls has to be less than how many revisions we launched
        return;
    }
    m_seqRevLaunched = 0;

    // if we're being told to load the same dynamic playlist over again, only do it if the controls have a different number
    if( !m_playlist.isNull() && ( m_playlist.data() == playlist.data() ) // same playlist pointer
        && m_playlist->generator()->controls().size() == playlist->generator()->controls().size() ) {
        // we can skip our work. just let the dynamiccontrollist show the difference
        m_controls->setControls( m_playlist, m_playlist->author()->isLocal() );

        m_playlist = playlist;

        if( !m_runningOnDemand ) {
            m_model->loadPlaylist( m_playlist );
        } else if( !m_controlsChanged ) { // if the controls changed, we already dealt with that and don't want to change station yet
            m_model->changeStation();
        }
        m_controlsChanged = false;

        return;
    }

    if( !m_playlist.isNull() ) {
        disconnect( m_playlist->generator().data(), SIGNAL( generated( QList<Tomahawk::query_ptr> ) ), this, SLOT( tracksGenerated( QList<Tomahawk::query_ptr> ) ) );
        disconnect( m_playlist.data(), SIGNAL( dynamicRevisionLoaded( Tomahawk::DynamicPlaylistRevision) ), this, SLOT(onRevisionLoaded( Tomahawk::DynamicPlaylistRevision) ) );
        disconnect( m_playlist->generator().data(), SIGNAL( error( QString, QString ) ), this, SLOT( generatorError( QString, QString ) ) );
        disconnect( m_playlist.data(), SIGNAL( deleted( Tomahawk::dynplaylist_ptr ) ), this, SLOT( onDeleted() ) );
        disconnect( m_playlist.data(), SIGNAL( changed() ), this, SLOT( onChanged() ) );
    }


    m_playlist = playlist;
    m_view->setOnDemand( m_playlist->mode() == OnDemand );
    m_view->setReadOnly( !m_playlist->author()->isLocal() );
    m_model->loadPlaylist( m_playlist );
    m_controlsChanged = false;
    m_setup->setPlaylist( m_playlist );


    if( !m_playlist->author()->isLocal() ) { // hide controls, as we show the description in the summary
            m_layout->removeWidget( m_controls );
    } else if( m_layout->indexOf( m_controls ) == -1 ) {
        m_layout->insertWidget( 0, m_controls );
    }

    if( m_playlist->mode() == OnDemand && !m_playlist->generator()->controls().isEmpty() )
        showPreview();

    if( !m_playlist.isNull() )
        m_controls->setControls( m_playlist, m_playlist->author()->isLocal() );

    connect( m_playlist->generator().data(), SIGNAL( generated( QList<Tomahawk::query_ptr> ) ), this, SLOT( tracksGenerated( QList<Tomahawk::query_ptr> ) ) );
    connect( m_playlist.data(), SIGNAL( dynamicRevisionLoaded( Tomahawk::DynamicPlaylistRevision ) ), this, SLOT( onRevisionLoaded( Tomahawk::DynamicPlaylistRevision ) ) );
    connect( m_playlist->generator().data(), SIGNAL( error( QString, QString ) ), this, SLOT( generatorError( QString, QString ) ) );
    connect( m_playlist.data(), SIGNAL( deleted( Tomahawk::dynplaylist_ptr ) ), this, SLOT( onDeleted() ) );
    connect( m_playlist.data(), SIGNAL( changed() ), this, SLOT( onChanged() ) );
}
开发者ID:tehzed,项目名称:tomahawk,代码行数:65,代码来源:DynamicWidget.cpp


注:本文中的tomahawk::dynplaylist_ptr::generator方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。