From caad6e04dda5a87ca28c540ef51dddf7bb544f55 Mon Sep 17 00:00:00 2001 From: Volker Krause Date: Sat, 13 Sep 2014 14:27:00 +0200 Subject: [PATCH] Remove usage of the obsolete Akonadi MicroBlog stuff. REVIEW: 120181 --- dataengines/akonadi/CMakeLists.txt | 1 - dataengines/akonadi/akonadiengine.cpp | 96 +-------------------------- dataengines/akonadi/akonadiengine.h | 5 -- 3 files changed, 2 insertions(+), 100 deletions(-) diff --git a/dataengines/akonadi/CMakeLists.txt b/dataengines/akonadi/CMakeLists.txt index ccf5dcaf8..ccbd3e3a9 100644 --- a/dataengines/akonadi/CMakeLists.txt +++ b/dataengines/akonadi/CMakeLists.txt @@ -21,7 +21,6 @@ target_link_libraries( ${KDE4_AKONADI_KMIME_LIBS} ${KDE4_KABC_LIBS} Qt5::Xml - microblog ) install(TARGETS plasma_engine_akonadi DESTINATION ${PLUGIN_INSTALL_DIR}/plasma/dataengine) diff --git a/dataengines/akonadi/akonadiengine.cpp b/dataengines/akonadi/akonadiengine.cpp index 89fee441e..d432c506e 100644 --- a/dataengines/akonadi/akonadiengine.cpp +++ b/dataengines/akonadi/akonadiengine.cpp @@ -33,19 +33,15 @@ #include #include -#include - using namespace Akonadi; AkonadiEngine::AkonadiEngine(QObject* parent, const QVariantList& args) : Plasma::DataEngine(parent), m_emailMonitor(0), - m_contactMonitor(0), - m_microBlogMonitor(0) + m_contactMonitor(0) { Q_UNUSED(args); setMaxSourceCount( 512 ); // Guard against loading thousands of emails - // TODO: monitoring for new microblog collections } void AkonadiEngine::initEmailMonitor() @@ -76,20 +72,6 @@ void AkonadiEngine::initContactMonitor() connect(this, SIGNAL(sourceRemoved(QString)), SLOT(stopMonitor(QString))); } -void AkonadiEngine::initMicroBlogMonitor() -{ - // TODO: set up monitoring for "application/x-vnd.kde.microblog" - m_microBlogMonitor = new Monitor( this ); - m_microBlogMonitor->setMimeTypeMonitored( "application/x-vnd.kde.microblog" ); - m_microBlogMonitor->setCollectionMonitored(Collection::root(), false); - m_microBlogMonitor->itemFetchScope().fetchFullPayload(); - connect(m_microBlogMonitor, SIGNAL(itemAdded(Akonadi::Item,Akonadi::Collection)), - SLOT(microBlogItemAdded(Akonadi::Item)) ); - connect(m_microBlogMonitor, SIGNAL(itemChanged(Akonadi::Item,QSet)), - SLOT(microBlogItemAdded(Akonadi::Item)) ); - // remove the monitor on a source that's not used - connect(this, SIGNAL(sourceRemoved(QString)), SLOT(stopMonitor(QString))); -} AkonadiEngine::~AkonadiEngine() { @@ -97,7 +79,7 @@ AkonadiEngine::~AkonadiEngine() QStringList AkonadiEngine::sources() const { - return QStringList() << "EmailCollections" << "ContactCollections" << "MicroBlogs"; + return QStringList() << "EmailCollections" << "ContactCollections"; } void AkonadiEngine::fetchEmailCollectionsDone(KJob* job) @@ -140,26 +122,6 @@ void AkonadiEngine::fetchContactCollectionsDone(KJob* job) } } -void AkonadiEngine::fetchMicroBlogCollectionsDone(KJob* job) -{ - // called when the job fetching microblog collections from Akonadi emits result() - if ( job->error() ) { - qDebug() << "Job Error:" << job->errorString(); - } else { - CollectionFetchJob* cjob = static_cast( job ); - int i = 0; - foreach( const Collection &collection, cjob->collections() ) { - if (collection.contentMimeTypes().contains("application/x-vnd.kde.microblog")) { - qDebug() << "Microblog setting data:" << collection.name() << collection.url() << collection.contentMimeTypes(); - i++; - setData("MicroblogCollection", QString("MicroBlog-%1").arg(collection.id()), collection.name()); - } - } - qDebug() << i << "MicroBlog collections are in now"; - scheduleSourcesUpdated(); - } -} - bool AkonadiEngine::sourceRequestEvent(const QString &name) { qDebug() << "Source requested:" << name << sources(); @@ -235,27 +197,6 @@ bool AkonadiEngine::sourceRequestEvent(const QString &name) setData(name, DataEngine::Data()); return true; - } else if (name == "MicroBlogs") { - Collection microblogCollection(Collection::root()); - microblogCollection.setContentMimeTypes(QStringList() << "application/x-vnd.kde.microblog"); - CollectionFetchJob *fetch = new CollectionFetchJob( microblogCollection, CollectionFetchJob::Recursive); - connect( fetch, SIGNAL(result(KJob*)), SLOT(fetchMicroBlogCollectionsDone(KJob*)) ); - setData(name, DataEngine::Data()); - return true; - - } else if (name.startsWith(QString("MicroBlog-"))) { - qlonglong id = name.split('-')[1].toLongLong(); - qDebug() << "MicroBlog ID" << id << " requested" << name; - ItemFetchJob *fetch = new ItemFetchJob( Akonadi::Collection( id )); - if (!m_microBlogMonitor) { - initMicroBlogMonitor(); - } - m_microBlogMonitor->setItemMonitored(Item( id ), true); - fetch->fetchScope().fetchFullPayload(); - connect( fetch, SIGNAL(result(KJob*)), SLOT(fetchMicroBlogDone(KJob*)) ); - setData(name, DataEngine::Data()); - return true; - } // We don't understand the request. qDebug() << "Don't know what to do with:" << name; return false; @@ -360,39 +301,6 @@ void AkonadiEngine::fetchContactCollectionDone(KJob* job) } } -void AkonadiEngine::fetchMicroBlogDone(KJob* job) -{ - if (job->error()) { - qDebug() << "Microblog job failed:" << job->errorString(); - } else { - Item::List items = static_cast( job )->items(); - qDebug() << "Adding microblogs" << items.count(); - foreach (const Item &item, items) { - microBlogItemAdded(item); - } - } -} - - -void AkonadiEngine::microBlogItemAdded(const Akonadi::Item &item) -{ - // Get the Akonadi::Item's XML payload and parse that, then - // put it into the DataEngine's Data - qDebug() << "Checking one item"; - if (item.hasPayload()) { - Microblog::StatusItem s = item.payload(); - const QString source = QString("MicroBlog-%1").arg(s.id()); - qDebug() << "Adding" << source << s.keys(); - setData(source, "Date", s.date()); - setData(source, "Foo", "Bar"); - foreach (const QString &key, s.keys()) { - setData(source, key, s.value(key)); - } - scheduleSourcesUpdated(); - } else { - qDebug() << "Wrong payload (not a StatusItem)"; - } -} void AkonadiEngine::printContact(const QString &source, const KABC::Addressee &a) { diff --git a/dataengines/akonadi/akonadiengine.h b/dataengines/akonadi/akonadiengine.h index 780deaae9..e44610aa5 100644 --- a/dataengines/akonadi/akonadiengine.h +++ b/dataengines/akonadi/akonadiengine.h @@ -53,29 +53,24 @@ class AkonadiEngine : public Plasma::DataEngine void fetchEmailCollectionDone(KJob* job); // done retrieving whole collection void fetchContactCollectionDone(KJob* job); // done retrieving a whole contact collection - void fetchMicroBlogDone(KJob* job); void emailItemsReceived(const Akonadi::Item::List &items); void fetchEmailCollectionsDone(KJob* job); // got list of collections void fetchContactCollectionsDone(KJob* job); - void fetchMicroBlogCollectionsDone(KJob* job); void emailItemAdded(const Akonadi::Item &item, const QString &collection = QString()); void contactItemAdded(const Akonadi::Item & item); - void microBlogItemAdded(const Akonadi::Item &item); private: void initEmailMonitor(); void initContactMonitor(); - void initMicroBlogMonitor(); // useful for debugging void printMessage(MessagePtr msg); void printContact(const QString &source, const KABC::Addressee &a); Akonadi::Monitor* m_emailMonitor; Akonadi::Monitor* m_contactMonitor; - Akonadi::Monitor* m_microBlogMonitor; QHash m_jobCollections; };