void
Controller::unregisterProvider( const ProviderPtr &provider )
{
    disconnect( provider.data(), 0, this, 0 );
    if( m_config->providerKnown( provider->id() ) )
    {
        m_config->updateProvider( provider->id(), provider->prettyName(),
                                  provider->icon(), /* online */ false );
        m_config->save();
    }
    m_providers.removeAll( provider );
}
Exemple #2
0
void
TextureLodScheduler::textureRegistered(ProviderPtr data)
{
    auto resourceIt = _textureResources.find(data->uuid());

    TextureResourceInfo* resource = nullptr;

    if (resourceIt == _textureResources.end())
    {
        auto& resourceBase = registerResource(data);

        auto newResourceIt = _textureResources.insert(std::make_pair(
            resourceBase.uuid(),
            TextureResourceInfo()
        ));
    
        auto& newResource = newResourceIt.first->second;

        newResource.base = &resourceBase;

        resource = &newResource;
    }
    else
    {
        resource = &resourceIt->second;
    }
}
Exemple #3
0
 inline
 void
 indices(std::shared_ptr<render::IndexBuffer> indices)
 {
     _indexBuffer = indices;
     _data->set("indices", indices);
 }
void
Controller::registerProvider( const ProviderPtr &provider )
{
    QString id = provider->id();
    bool enabled = false;
    if( m_config->providerKnown( id ) )
        enabled = m_config->providerEnabled( id, false );
    else
    {
        switch( provider->defaultPreference() )
        {
            case Provider::Never:
            case Provider::NoByDefault:
                enabled = false;
                break;
            case Provider::Ask:
            {
                QString text = i18nc( "%1 is collection name", "%1 has an ability to "
                    "synchronize track meta-data such as play count or rating "
                    "with other collections. Do you want to keep %1 synchronized?\n\n"
                    "You can always change the decision in Amarok configuration.",
                    provider->prettyName() );
                enabled = KMessageBox::questionYesNo( The::mainWindow(), text ) == KMessageBox::Yes;
                break;
            }
            case Provider::YesByDefault:
                enabled = true;
                break;
        }
    }

    // don't tell config about Never-by-default providers
    if( provider->defaultPreference() != Provider::Never )
    {
        m_config->updateProvider( id, provider->prettyName(), provider->icon(), true, enabled );
        m_config->save();
    }
    m_providers.append( provider );
    connect( provider.data(), SIGNAL(updated()), SLOT(slotProviderUpdated()) );
    if( enabled )
        delayedStartSynchronization();
}
Exemple #5
0
 inline
 bool
 hasVertexAttribute(const std::string& vertexAttributeName) const
 {
     return _data->hasProperty(vertexAttributeName);
 }
 inline
 const std::string&
 uuid() const
 {
     return data->uuid();
 }
Exemple #7
0
KConfigGroup
ImporterManager::providerConfig( const ProviderPtr &provider ) const
{
    return providerConfig( provider->id() );
}