gui: Fix sorting order in TreeModel.
This commit is contained in:
parent
bb754441c8
commit
34cc1bd41f
@ -97,12 +97,7 @@ void IdStringList::updateElements(Context *ctx, std::vector<IdString> elements)
|
|||||||
auto parts_a = alphaNumSplit(a->name());
|
auto parts_a = alphaNumSplit(a->name());
|
||||||
auto parts_b = alphaNumSplit(b->name());
|
auto parts_b = alphaNumSplit(b->name());
|
||||||
|
|
||||||
// Short-circuit for different part count.
|
for (size_t i = 0; i < parts_a.size() && i < parts_b.size(); i++) {
|
||||||
if (parts_a.size() != parts_b.size()) {
|
|
||||||
return parts_a.size() < parts_b.size();
|
|
||||||
}
|
|
||||||
|
|
||||||
for (size_t i = 0; i < parts_a.size(); i++) {
|
|
||||||
auto &part_a = parts_a.at(i);
|
auto &part_a = parts_a.at(i);
|
||||||
auto &part_b = parts_b.at(i);
|
auto &part_b = parts_b.at(i);
|
||||||
|
|
||||||
@ -134,8 +129,8 @@ void IdStringList::updateElements(Context *ctx, std::vector<IdString> elements)
|
|||||||
return part_a < part_b;
|
return part_a < part_b;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Same string.
|
// One string is equal to or a subset of the other, compare length.
|
||||||
return false;
|
return parts_a.size() < parts_b.size();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user