Merge remote-tracking branch 'origin/master' into frameworks

Conflicts:
	kmail/job/createtaskjob.cpp
	pimsettingexporter/mail/exportmailjob.h
wilder-work
Montel Laurent 12 years ago
commit ede35259d7
  1. 4
      configuredialog/configureappearancepage.cpp
  2. 65
      job/createtaskjob.cpp
  3. 4
      job/createtaskjob.h

@ -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()

@ -28,12 +28,13 @@
#include <AkonadiCore/ItemFetchJob>
#include <AkonadiCore/ItemFetchScope>
#include <AkonadiCore/ItemModifyJob>
#include <QDebug>
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 ::"<<tmpItem;
if ( it.isValid() ) {
bool myStatus;
Akonadi::MessageStatus itemStatus;
itemStatus.setStatusFromFlags( it.flags() );
if ( itemStatus & Akonadi::MessageStatus::statusToAct() )
myStatus = true;
else
myStatus = false;
if ( myStatus != parentStatus )
continue;
}
Akonadi::Item item( it );
const Akonadi::Item::Flag flag = *(Akonadi::MessageStatus::statusToAct().statusFlags().begin());
if ( item.hasFlag( flag ) ) {
item.clearFlag( flag );
itemsToModify.push_back( item );
if (item.hasAttribute<TaskAttribute>()) {
//Change todo as done.
item.removeAttribute<TaskAttribute>();
}
} 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 "<<job->errorString();
}
deleteLater();
}

@ -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

Loading…
Cancel
Save