diff --git a/src/attica/atticaprovider.cpp b/src/attica/atticaprovider.cpp --- a/src/attica/atticaprovider.cpp +++ b/src/attica/atticaprovider.cpp @@ -38,31 +38,35 @@ namespace KNSCore { -AtticaProvider::AtticaProvider(const QStringList &categories) +AtticaProvider::AtticaProvider(const QStringList &categories, const QString& additionalAgentInformation) : mEntryJob(nullptr) , mInitialized(false) { // init categories map with invalid categories for (const QString &category : categories) { mCategoryMap.insert(category, Attica::Category()); } - connect(&m_providerManager, &ProviderManager::providerAdded, this, &AtticaProvider::providerLoaded); + connect(&m_providerManager, &ProviderManager::providerAdded, this, [=](const Attica::Provider &provider){ + providerLoaded(provider); + m_provider.setAdditionalAgentInformation(additionalAgentInformation); + }); connect(&m_providerManager, SIGNAL(authenticationCredentialsMissing(Provider)), SLOT(authenticationCredentialsMissing(Provider))); connect(this, &Provider::loadComments, this, &AtticaProvider::loadComments); connect(this, &Provider::loadPerson, this, &AtticaProvider::loadPerson); } -AtticaProvider::AtticaProvider(const Attica::Provider &provider, const QStringList &categories) +AtticaProvider::AtticaProvider(const Attica::Provider &provider, const QStringList &categories, const QString& additionalAgentInformation) : mEntryJob(nullptr) , mInitialized(false) { // init categories map with invalid categories for (const QString &category : categories) { mCategoryMap.insert(category, Attica::Category()); } providerLoaded(provider); + m_provider.setAdditionalAgentInformation(additionalAgentInformation); } QString AtticaProvider::id() const @@ -109,6 +113,7 @@ qCDebug(KNEWSTUFFCORE) << "Added provider: " << provider.name(); m_provider = provider; + m_provider.setAdditionalAgentInformation(mName); m_providerId = provider.baseUrl().toString(); Attica::ListJob *job = m_provider.requestCategories(); diff --git a/src/attica/atticaprovider_p.h b/src/attica/atticaprovider_p.h --- a/src/attica/atticaprovider_p.h +++ b/src/attica/atticaprovider_p.h @@ -49,8 +49,8 @@ { Q_OBJECT public: - explicit AtticaProvider(const QStringList &categories); - AtticaProvider(const Attica::Provider &provider, const QStringList &categories); + explicit AtticaProvider(const QStringList &categories, const QString& additionalAgentInformation); + AtticaProvider(const Attica::Provider &provider, const QStringList &categories, const QString& additionalAgentInformation); QString id() const override; diff --git a/src/core/engine.cpp b/src/core/engine.cpp --- a/src/core/engine.cpp +++ b/src/core/engine.cpp @@ -252,7 +252,7 @@ QSharedPointer provider; if (isAtticaProviderFile || n.attribute(QStringLiteral("type")).toLower() == QLatin1String("rest")) { - provider.reset(new AtticaProvider(m_categories)); + provider.reset(new AtticaProvider(m_categories, d->name)); connect(provider.data(), &Provider::categoriesMetadataLoded, this, [this](const QList &categories){ d->categoriesMetadata = categories; @@ -280,7 +280,7 @@ return; } QSharedPointer provider = - QSharedPointer (new AtticaProvider(atticaProvider, m_categories)); + QSharedPointer (new AtticaProvider(atticaProvider, m_categories, d->name)); connect(provider.data(), &Provider::categoriesMetadataLoded, this, [this](const QList &categories){ d->categoriesMetadata = categories;