@@ -17,6 +17,8 @@
|
|||||||
#include <algorithm>
|
#include <algorithm>
|
||||||
#include <set>
|
#include <set>
|
||||||
|
|
||||||
|
#include <Locale.h>
|
||||||
|
|
||||||
#include <package/solver/SolverPackage.h>
|
#include <package/solver/SolverPackage.h>
|
||||||
#include <TextTable.h>
|
#include <TextTable.h>
|
||||||
|
|
||||||
@@ -91,11 +93,13 @@ struct PackageComparator {
|
|||||||
fSystemRepository(systemRepository),
|
fSystemRepository(systemRepository),
|
||||||
fHomeRepository(homeRepository)
|
fHomeRepository(homeRepository)
|
||||||
{
|
{
|
||||||
|
BLocale::Default()->GetCollator(&fCollator);
|
||||||
|
fCollator.SetNumericSorting(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
int operator()(const BSolverPackage* a, const BSolverPackage* b) const
|
int operator()(const BSolverPackage* a, const BSolverPackage* b) const
|
||||||
{
|
{
|
||||||
int cmp = a->Name().Compare(b->Name());
|
int cmp = fCollator.Compare(a->Name().String(), b->Name().String());
|
||||||
if (cmp != 0)
|
if (cmp != 0)
|
||||||
return cmp;
|
return cmp;
|
||||||
|
|
||||||
@@ -119,6 +123,8 @@ struct PackageComparator {
|
|||||||
private:
|
private:
|
||||||
const BSolverRepository* fSystemRepository;
|
const BSolverRepository* fSystemRepository;
|
||||||
const BSolverRepository* fHomeRepository;
|
const BSolverRepository* fHomeRepository;
|
||||||
|
|
||||||
|
BCollator fCollator;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user