diff --git a/configuredialog/configureappearancepage.cpp b/configuredialog/configureappearancepage.cpp index c5dc48bda..94ee06786 100644 --- a/configuredialog/configureappearancepage.cpp +++ b/configuredialog/configureappearancepage.cpp @@ -603,8 +603,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() diff --git a/job/createtaskjob.cpp b/job/createtaskjob.cpp index 458869eb9..5bcdda0ca 100644 --- a/job/createtaskjob.cpp +++ b/job/createtaskjob.cpp @@ -28,12 +28,13 @@ #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 +74,63 @@ 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 ::"<()) { + //Change todo as done. + item.removeAttribute(); + } + } else { + item.setFlag( flag ); + itemsToModify.push_back( item ); + //TODO add TaskAttribute(); + } + } + + if ( itemsToModify.isEmpty() ) { + slotModifyItemDone( 0 ); + } else { + Akonadi::ItemModifyJob *modifyJob = new Akonadi::ItemModifyJob( itemsToModify, this ); + modifyJob->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 be4df4874..1010fa908 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