[Kde-pim] Review Request 112761: Improve support for IMAP servers using separators other than "/"

Dan Vrátil dvratil at redhat.com
Tue Sep 24 10:08:51 BST 2013


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/112761/
-----------------------------------------------------------

(Updated Sept. 24, 2013, 11:08 a.m.)


Review request for KDEPIM, Andras Mantia and Kevin Ottens.


Description
-------

With this patch the IMAP resource will detect what separator does the server use by extracting it from KIMAP::ListJob reply during the first collection sync which happens every time the resource is started. The separator is then stored, so that any subsequent call to ResourceState::separatorCharacter() will use the stored separator instead of guessing it every time.

In case ResourceState::separatorCharacter() is called before the separator is detected separatorCharacter() will fallback to it's old behaviour and will try to guest the separator (could theoretically happen when there are changes pending in ChangeRecorder before the start - the collection sync will be dispatched after all the changes from ChangeRecorder are replayed). This fallback path incorporates the improved detection code from https://git.reviewboard.kde.org/r/112734/.


Diffs (updated)
-----

  resources/imap/imapresource.h 56e47b9 
  resources/imap/imapresource.cpp 3f2dda7 
  resources/imap/resourcestate.h b1c3eed 
  resources/imap/resourcestate.cpp cd88fd2 
  resources/imap/resourcestateinterface.h d89157f 
  resources/imap/resourcestateinterface.cpp d4dbff0 
  resources/imap/resourcetask.h 0a77097 
  resources/imap/resourcetask.cpp f63e986 
  resources/imap/retrievecollectionstask.cpp 51ab703 
  resources/imap/tests/dummyresourcestate.h c039a82 
  resources/imap/tests/dummyresourcestate.cpp 0da6a9d 
  resources/imap/tests/imaptestbase.h d897f75 
  resources/imap/tests/imaptestbase.cpp 8ab28c4 
  resources/imap/tests/testaddcollectiontask.cpp 7cc530e 
  resources/imap/tests/testadditemtask.cpp 2bcf14f 
  resources/imap/tests/testchangecollectiontask.cpp 4ae88ba 
  resources/imap/tests/testchangeitemtask.cpp 20b6a6c 
  resources/imap/tests/testexpungecollectiontask.cpp 424c08f 
  resources/imap/tests/testmovecollectiontask.cpp 894ba71 
  resources/imap/tests/testmoveitemstask.cpp 07a6192 
  resources/imap/tests/testremovecollectiontask.cpp d2977f2 
  resources/imap/tests/testremoveitemstask.cpp 6da1372 
  resources/imap/tests/testretrievecollectionmetadatatask.cpp 0cbdaf1 
  resources/imap/tests/testretrievecollectionstask.cpp 3503d58 
  resources/imap/tests/testretrieveitemstask.cpp e557f20 
  resources/imap/tests/testretrieveitemtask.cpp d308075 

Diff: http://git.reviewboard.kde.org/r/112761/diff/


Testing
-------

Successfully created, renamed and deleted a collection on an IMAP server that uses "." as folder separators. In all cases the remoteId of the collection was correctly prefixed with ".". On a server that is using "/" the behaviour was correct as well.

Also verified there is no regression for the fix mentioned by Andras in https://git.reviewboard.kde.org/r/112734/


Thanks,

Dan Vrátil

_______________________________________________
KDE PIM mailing list kde-pim at kde.org
https://mail.kde.org/mailman/listinfo/kde-pim
KDE PIM home page at http://pim.kde.org/


More information about the kde-pim mailing list