There is some code duplication in KFileItemModel: We have two different implementations for the transformation of a sorted QList<int> to a KItemRangeList.
I propose to change this by factoring out this code, and moving KItemRange(List) to its own header file while we're at it. It's header-only with inline functions for simplicity and efficiency. Moreover, I made the function that takes the sorted list a template, such that one can easily replace QList by QVector, for example.
Note that overriding operator<<() in KItemRangeList was necessary because it's not a typedef for QList<KItemRange>, but a class derived from that with my patch, and some code fails to compile if the return type of that function is QList<KItemRange> and not KItemRangeList.
|