[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: kdelibs/kabc
From: Tobias Koenig <tokoe () kde ! org>
Date: 2004-11-12 17:42:32
Message-ID: 20041112174232.08B8216D39 () office ! kde ! org
[Download RAW message or body]
CVS commit by tokoe:
Hmm, we need the 'reverse ordering' flag as well in the default sorting modes.
M +1 -1 addresseelist.cpp 1.11
M +23 -12 sortmode.cpp 1.2
M +4 -2 sortmode.h 1.2
--- kdelibs/kabc/addresseelist.cpp #1.10:1.11
@@ -231,5 +231,5 @@ void AddresseeList::sortByField( Field *
return;
- KABC::FieldSortMode *mode = new KABC::FieldSortMode( sActiveField );
+ KABC::FieldSortMode *mode = new KABC::FieldSortMode( sActiveField, !mReverseSorting );
KABC::Addressee::setSortMode( mode );
--- kdelibs/kabc/sortmode.cpp #1.1:1.2
@@ -26,11 +26,11 @@ using namespace KABC;
NameSortMode::NameSortMode()
- : mNameType( FormattedName ), d( 0 )
+ : mNameType( FormattedName ), mAscendingOrder( true ), d( 0 )
{
mNameType = FormattedName;
}
-NameSortMode::NameSortMode( NameType type )
- : mNameType( type ), d( 0 )
+NameSortMode::NameSortMode( NameType type, bool ascending )
+ : mNameType( type ), mAscendingOrder( ascending ), d( 0 )
{
}
@@ -38,22 +38,29 @@ NameSortMode::NameSortMode( NameType typ
bool NameSortMode::lesser( const KABC::Addressee &first, const KABC::Addressee &second ) const
{
+ bool lesser = false;
+
switch ( mNameType ) {
case FormattedName:
- return ( QString::localeAwareCompare( first.formattedName(), second.formattedName() ) < 0 );
+ lesser = QString::localeAwareCompare( first.formattedName(), second.formattedName() ) < 0;
break;
case FamilyName:
- return ( QString::localeAwareCompare( first.familyName(), second.familyName() ) < 0 );
+ lesser = QString::localeAwareCompare( first.familyName(), second.familyName() ) < 0;
break;
case GivenName:
- return ( QString::localeAwareCompare( first.givenName(), second.givenName() ) < 0 );
+ lesser = QString::localeAwareCompare( first.givenName(), second.givenName() ) < 0;
break;
default:
- return false;
+ lesser = false;
break;
}
+
+ if ( !mAscendingOrder )
+ lesser = !lesser;
+
+ return lesser;
}
-FieldSortMode::FieldSortMode( KABC::Field *field )
- : mField( field ), d( 0 )
+FieldSortMode::FieldSortMode( KABC::Field *field, bool ascending )
+ : mField( field ), mAscendingOrder( ascending ), d( 0 )
{
}
@@ -63,6 +70,10 @@ bool FieldSortMode::lesser( const KABC::
if ( !mField )
return false;
- else
- return ( QString::localeAwareCompare( mField->value( first ), mField->value( second ) ) < 0 );
-}
+ else {
+ bool lesser = QString::localeAwareCompare( mField->value( first ), mField->value( second ) ) < 0;
+ if ( !mAscendingOrder )
+ lesser = !lesser;
+ return lesser;
+ }
+}
--- kdelibs/kabc/sortmode.h #1.1:1.2
@@ -68,5 +68,5 @@ class KABC_EXPORT NameSortMode : public
@param type The name type.
*/
- NameSortMode( NameType type );
+ NameSortMode( NameType type, bool ascending = true );
/**
@@ -77,4 +77,5 @@ class KABC_EXPORT NameSortMode : public
private:
NameType mNameType;
+ bool mAscendingOrder;
class NameSortModePrivate;
@@ -92,5 +93,5 @@ class KABC_EXPORT FieldSortMode : public
@param field The field.
*/
- FieldSortMode( KABC::Field *field );
+ FieldSortMode( KABC::Field *field, bool ascending = true );
/**
@@ -101,4 +102,5 @@ class KABC_EXPORT FieldSortMode : public
private:
KABC::Field *mField;
+ bool mAscendingOrder;
class FieldSortModePrivate;
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic