[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: KDE/kdepim/akonadi/libakonadi
From: Kevin Krammer <kevin.krammer () gmx ! at>
Date: 2008-02-09 16:42:08
Message-ID: 1202575328.456576.6988.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 772880 by krake:
Restore lookup by remoteId since this is needed for ItemSync use in ResourceBase
M +9 -5 itemsync.cpp
--- trunk/KDE/kdepim/akonadi/libakonadi/itemsync.cpp #772879:772880
@@ -42,8 +42,8 @@
Collection syncCollection;
- // local: mapped id -> item
- QHash<int, Akonadi::Item> localItems;
+ QHash<int, Akonadi::Item> localItemsById;
+ QHash<QString, Akonadi::Item> localItemsByRemoteId;
QSet<Akonadi::Item> unprocessedLocalItems;
// remote items
@@ -102,7 +102,8 @@
const Item::List list = static_cast<ItemFetchJob*>( job )->items();
foreach ( const Item item, list ) {
- d->localItems.insert( item.reference().id(), item );
+ d->localItemsById.insert( item.reference().id(), item );
+ d->localItemsByRemoteId.insert( item.reference().remoteId(), item );
d->unprocessedLocalItems.insert( item );
}
@@ -114,7 +115,9 @@
}
#endif
- const Item localItem = d->localItems.value( remoteItem.reference().id() );
+ Item localItem = d->localItemsById.value( remoteItem.reference().id() );
+ if ( !localItem.isValid() )
+ localItem = d->localItemsByRemoteId.value( remoteItem.reference().remoteId() );
d->unprocessedLocalItems.remove( localItem );
// missing locally
if ( !localItem.isValid() ) {
@@ -185,7 +188,8 @@
ItemDeleteJob *job = new ItemDeleteJob( item.reference(), this );
connect( job, SIGNAL( result( KJob* ) ), SLOT( slotLocalChangeDone( KJob* ) ) );
}
- d->localItems.clear();
+ d->localItemsById.clear();
+ d->localItemsByRemoteId.clear();
checkDone();
}
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic