Tested with Digikam 3.0.0_rc
With the import Dialog box (for SDCard for example), the photos aren't sorted accordingly to the "View > Sort items" choice.
By default, they are sorted "By name" even if "By date" is selected.
Selecting "By xxx" and next "By date" works. But the next time that the dialod box will be opened, photos will still be sorted by name.
Steps to Reproduce:
1. Open the Import Dialog box and select "View > Sort items > By date"
2. Close the dialog box
3. Reopen the import dialog box
Photos are sorted by name whereas "By date" is still selected.
Photos should be sorted accordingly to the "Sort items" choice
This happens as well with the release version 3.0.0. It seems that digikam only applies the changed sort order temporarily - I expect digikam to save changes in the sort order in the import dialog permantently as it had been up to version 2.9 so I need not apply them each time I want to import photos.
The same happens with View->Item Sorting Order.
I confirm this bug in Digikam 3.2.0.
Backward sort allows to quickly show last photos as their thumbnail is computed first. With forward sort, you have to wait for all the photos to be read before selecting the ones you have just taken (I don't always remember to format my card after importing photos).
Still present in 3.3.0!
*** Bug 325925 has been marked as a duplicate of this bug. ***
My comment from another bug, here for the reference:
I can confirm this. The settings are saved properly, but on load the change is not being propagated properly. The relevant code is in digikam/utilities/importui/main/importui.cpp's setupActions().
The naming of sorting functions/variables is a bit odd here, "Sorty by x" calls view's slotSortImages(), but the current item is read from ImportSettings::instance()->getImageSortOrder(). For ascending/descending the call goes to slotSortImagesOrder() and the value is read from getImageSorting(). Perhaps those are mixed or should there be separate calls for setting the values on load? I'd suggest renaming those variables nevertheless if possible. SortBy and SortOrder would be better names :-)
I figured out what is the problem. In ImportIconView.cpp ln:81 the Filter Model is provided with all the saved sorting, ordering and grouping settings which user last used. This code is well functioning but if it gets called in right time. This code is called mainly from SetupUserArea, in which called before the controller finished its work, so I think we need to have something reporting that controller finished listing all the items. I am now trying to implement that.
Do you have any ideas for that Teemu?
Similar thoughs what I had. The information itself gets correctly to the models both ways (when being inserted, when selecting the action from the menu), but the sorting itself is not called when items are being inserted.
Perhaps there's a missing call to some function or what not to request sorting the items after addition?
How the view is supposed to know from the model, that it should call for sorting?
In my opinion this wouldn't per se require us to know when the listing of all items is ready, though that can be used to avoid multiple updates.