summaryrefslogtreecommitdiff
path: root/libopie2/opiepim/private/opimsortvector.h
Unidiff
Diffstat (limited to 'libopie2/opiepim/private/opimsortvector.h') (more/less context) (show whitespace changes)
-rw-r--r--libopie2/opiepim/private/opimsortvector.h34
1 files changed, 34 insertions, 0 deletions
diff --git a/libopie2/opiepim/private/opimsortvector.h b/libopie2/opiepim/private/opimsortvector.h
index 6c21339..11a40ac 100644
--- a/libopie2/opiepim/private/opimsortvector.h
+++ b/libopie2/opiepim/private/opimsortvector.h
@@ -52,8 +52,11 @@ public:
52 52
53protected: 53protected:
54 int testString( const QString&, const QString& )const; 54 int testString( const QString&, const QString& )const;
55 int testDate( const QDate&, const QDate& )const; 55 int testDate( const QDate&, const QDate& )const;
56 int testTime( const QTime&, const QTime& )const;
57 int testDateTime( const QDateTime& left,
58 const QDateTime& right )const;
56protected: 59protected:
57 bool sortAscending()const; 60 bool sortAscending()const;
58 int sortOrder()const; 61 int sortOrder()const;
59 62
@@ -119,8 +122,9 @@ inline int OPimSortVector<T>::testString( const QString& left,
119 const QString& right )const { 122 const QString& right )const {
120 return QString::compare( left, right ); 123 return QString::compare( left, right );
121} 124}
122 125
126
123template<class T> 127template<class T>
124inline int OPimSortVector<T>::testDate( const QDate& left, 128inline int OPimSortVector<T>::testDate( const QDate& left,
125 const QDate& right )const { 129 const QDate& right )const {
126 int ret = 0; 130 int ret = 0;
@@ -131,8 +135,38 @@ inline int OPimSortVector<T>::testDate( const QDate& left,
131 ret += left < right ? -1 : 1; 135 ret += left < right ? -1 : 1;
132 136
133 return ret; 137 return ret;
134} 138}
139
140template<class T>
141inline int OPimSortVector<T>::testTime( const QTime& left,
142 const QTime& right )const {
143 int ret = 0;
144 if ( !left .isValid() ) ret++;
145 if ( !right.isValid() ) ret--;
146
147 if ( left.isValid() && right.isValid() ){
148 ret += left < right ? -1 : 1;
149 }
150
151 return ret;
152}
153
154template<class T>
155inline int OPimSortVector<T>::testDateTime( const QDateTime& left,
156 const QDateTime& right )const {
157 int ret = 0;
158 if ( !left .isValid() ) ret++;
159 if ( !right.isValid() ) ret--;
160
161 if ( left.isValid() && right.isValid() ){
162 ret += left < right ? -1 : 1;
163 }
164
165 return ret;
166
167}
168
135} 169}
136} 170}
137 171
138#endif 172#endif