From b4b1fb1908c0af43cd39b0e5c115bc6f128386e5 Mon Sep 17 00:00:00 2001 From: Montel Laurent Date: Sun, 4 May 2014 07:21:29 +0200 Subject: [PATCH 1/3] Fix load settings --- configuredialog/configureappearancepage.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/configuredialog/configureappearancepage.cpp b/configuredialog/configureappearancepage.cpp index b3c5a4b4b..ce6f8e560 100644 --- a/configuredialog/configureappearancepage.cpp +++ b/configuredialog/configureappearancepage.cpp @@ -601,8 +601,8 @@ void AppearancePage::LayoutTab::doLoadOther() loadWidget( mFavoriteFoldersViewGroupBox, mFavoriteFoldersViewGroup, MailCommon::MailCommonSettings::self()->favoriteCollectionViewModeItem() ); loadWidget( mFolderQuickSearchCB, GlobalSettings::self()->enableFolderQuickSearchItem() ); const int checkedFolderToolTipsPolicy = GlobalSettings::self()->toolTipDisplayPolicy(); - if ( checkedFolderToolTipsPolicy < mFolderToolTipsGroup->buttons().size() && checkedFolderToolTipsPolicy >= 0 ) - mFolderToolTipsGroup->buttons()[ checkedFolderToolTipsPolicy ]->setChecked( true ); + if ( checkedFolderToolTipsPolicy >= 0 ) + mFolderToolTipsGroup->button(checkedFolderToolTipsPolicy)->setChecked( true ); } void AppearancePage::LayoutTab::save() From bfd38943c65b079ca0ae96bee6a8093cdc4eb0d3 Mon Sep 17 00:00:00 2001 From: Montel Laurent Date: Sun, 4 May 2014 07:50:57 +0200 Subject: [PATCH 2/3] 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 From 0f13e3a962ce227dd38a31788dacf4f2be9cf70f Mon Sep 17 00:00:00 2001 From: Montel Laurent Date: Sun, 4 May 2014 08:21:44 +0200 Subject: [PATCH 3/3] Remove task attribute here too --- job/createtaskjob.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/job/createtaskjob.cpp b/job/createtaskjob.cpp index 2208bf8d7..c30d1b9f0 100644 --- a/job/createtaskjob.cpp +++ b/job/createtaskjob.cpp @@ -103,9 +103,14 @@ void CreateTaskJob::itemFetchJobDone(KJob *job) if ( item.hasFlag( flag ) ) { item.clearFlag( flag ); itemsToModify.push_back( item ); + if (item.hasAttribute()) { + //Change todo as done. + item.removeAttribute(); + } } else { item.setFlag( flag ); itemsToModify.push_back( item ); + //TODO add TaskAttribute(); } }