From bfd38943c65b079ca0ae96bee6a8093cdc4eb0d3 Mon Sep 17 00:00:00 2001 From: Montel Laurent Date: Sun, 4 May 2014 07:50:57 +0200 Subject: [PATCH] Allow to change status --- job/createtaskjob.cpp | 60 ++++++++++++++++++++++++++++++++++++++++--- job/createtaskjob.h | 4 +-- 2 files changed, 58 insertions(+), 6 deletions(-) diff --git a/job/createtaskjob.cpp b/job/createtaskjob.cpp index ff4c31ecf..2208bf8d7 100644 --- a/job/createtaskjob.cpp +++ b/job/createtaskjob.cpp @@ -22,18 +22,17 @@ #include "createtaskjob.h" #include "attributes/taskattribute.h" #include - #include #include #include +#include #include -CreateTaskJob::CreateTaskJob(const Akonadi::Item::List &items, bool revert, QObject *parent) +CreateTaskJob::CreateTaskJob(const Akonadi::Item::List &items, QObject *parent) : KJob(parent), - mListItem(items), - mRevertStatus(revert) + mListItem(items) { } @@ -73,5 +72,58 @@ void CreateTaskJob::itemFetchJobDone(KJob *job) Q_EMIT emitResult(); return; } + + bool parentStatus = false; + // Toggle actions on threads toggle the whole thread + // depending on the state of the parent. + const Akonadi::Item first = lst.first(); + Akonadi::MessageStatus pStatus; + pStatus.setStatusFromFlags( first.flags() ); + if ( pStatus & Akonadi::MessageStatus::statusToAct() ) + parentStatus = true; + else + parentStatus = false; + + Akonadi::Item::List itemsToModify; + foreach( const Akonadi::Item &it, lst ) { + //kDebug()<<" item ::"<disableRevisionCheck(); + modifyJob->setIgnorePayload( true ); + connect( modifyJob, SIGNAL(result(KJob*)), this, SLOT(slotModifyItemDone(KJob*)) ); + } +} + +void CreateTaskJob::slotModifyItemDone(KJob *job) +{ //TODO + if (job && job->error()) { + qDebug()<<" error "<errorString(); + } + deleteLater(); } diff --git a/job/createtaskjob.h b/job/createtaskjob.h index 0653644cb..e9248ddaf 100644 --- a/job/createtaskjob.h +++ b/job/createtaskjob.h @@ -28,17 +28,17 @@ class CreateTaskJob : public KJob { Q_OBJECT public: - explicit CreateTaskJob(const Akonadi::Item::List &items, bool revert, QObject *parent=0); + explicit CreateTaskJob(const Akonadi::Item::List &items, QObject *parent=0); ~CreateTaskJob(); void start(); private slots: void itemFetchJobDone(KJob *job); + void slotModifyItemDone(KJob *job); private: void fetchItems(); Akonadi::Item::List mListItem; - bool mRevertStatus; }; #endif // CREATETASKJOB_H