Changeset View
Changeset View
Standalone View
Standalone View
src/lib/activitiesmodel_p.h
Show All 22 Lines | |||||
23 | #define ACTIVITIES_ACTIVITIESMODEL_P_H | 23 | #define ACTIVITIES_ACTIVITIESMODEL_P_H | ||
24 | 24 | | |||
25 | #include "activitiesmodel.h" | 25 | #include "activitiesmodel.h" | ||
26 | 26 | | |||
27 | #include "consumer.h" | 27 | #include "consumer.h" | ||
28 | 28 | | |||
29 | #include "utils/qflatset.h" | 29 | #include "utils/qflatset.h" | ||
30 | 30 | | |||
31 | #include <QCollator> | ||||
32 | | ||||
31 | namespace KActivities { | 33 | namespace KActivities { | ||
32 | 34 | | |||
33 | class ActivitiesModelPrivate : public QObject { | 35 | class ActivitiesModelPrivate : public QObject { | ||
34 | Q_OBJECT | 36 | Q_OBJECT | ||
35 | public: | 37 | public: | ||
36 | ActivitiesModelPrivate(ActivitiesModel *parent); | 38 | ActivitiesModelPrivate(ActivitiesModel *parent); | ||
37 | 39 | | |||
38 | public Q_SLOTS: | 40 | public Q_SLOTS: | ||
Show All 13 Lines | 53 | public: | |||
52 | KActivities::Consumer activities; | 54 | KActivities::Consumer activities; | ||
53 | QVector<Info::State> shownStates; | 55 | QVector<Info::State> shownStates; | ||
54 | 56 | | |||
55 | typedef std::shared_ptr<Info> InfoPtr; | 57 | typedef std::shared_ptr<Info> InfoPtr; | ||
56 | 58 | | |||
57 | struct InfoPtrComparator { | 59 | struct InfoPtrComparator { | ||
58 | bool operator() (const InfoPtr& left, const InfoPtr& right) const | 60 | bool operator() (const InfoPtr& left, const InfoPtr& right) const | ||
59 | { | 61 | { | ||
60 | const QString &leftName = left->name().toLower(); | 62 | QCollator c; | ||
61 | const QString &rightName = right->name().toLower(); | 63 | c.setCaseSensitivity(Qt::CaseInsensitive); | ||
62 | 64 | c.setNumericMode(true); | |||
63 | return | 65 | int rc = c.compare(left->name(), right->name()); | ||
64 | (leftName < rightName) || | 66 | if (rc == 0) { | ||
65 | (leftName == rightName && left->id() < right->id()); | 67 | return left->id() < right->id(); | ||
68 | } | ||||
69 | return rc < 0; | ||||
66 | } | 70 | } | ||
67 | }; | 71 | }; | ||
68 | 72 | | |||
69 | QFlatSet<InfoPtr, InfoPtrComparator> knownActivities; | 73 | QFlatSet<InfoPtr, InfoPtrComparator> knownActivities; | ||
70 | QFlatSet<InfoPtr, InfoPtrComparator> shownActivities; | 74 | QFlatSet<InfoPtr, InfoPtrComparator> shownActivities; | ||
71 | 75 | | |||
72 | InfoPtr registerActivity(const QString &id); | 76 | InfoPtr registerActivity(const QString &id); | ||
73 | void unregisterActivity(const QString &id); | 77 | void unregisterActivity(const QString &id); | ||
Show All 14 Lines |