From b06fa1090f3fa7a71ab2710be444815df8bd6c17 Mon Sep 17 00:00:00 2001 From: zautrix Date: Sat, 29 Oct 2005 22:45:39 +0000 Subject: commit --- (limited to 'kabc/addresseeview.cpp') diff --git a/kabc/addresseeview.cpp b/kabc/addresseeview.cpp index 5c24acf..cde19a1 100644 --- a/kabc/addresseeview.cpp +++ b/kabc/addresseeview.cpp @@ -548,7 +548,7 @@ mText = "\n"; } -QString AddresseeView::getPhoneNumbers( KABC::PhoneNumber::List phones ,bool preferred ) +QString AddresseeView::getPhoneNumbers( KABC::PhoneNumber::List phones_unsorted ,bool preferred ) { ExternalAppHandler* eah = ExternalAppHandler::instance(); bool kphoneAvail = eah->isPhoneAppAvailable(); @@ -561,10 +561,35 @@ QString AddresseeView::getPhoneNumbers( KABC::PhoneNumber::List phones ,bool pr QString extension; int phonetype; QString sms; + + KABC::PhoneNumber::List::Iterator it; + KABC::PhoneNumber::List phones ; + + PhoneNumber::TypeList tList = PhoneNumber::supportedTypeList(); + int i = 0; + int max = tList.count(); + while ( i < max-1 ) { + for ( it = phones_unsorted.begin(); it != phones_unsorted.end(); ++it ) { + if ( (*it).type() == tList[i] ) { + phones.append( (*it ) ); + break; + } + } + ++i; + } + for ( it = phones_unsorted.begin(); it != phones_unsorted.end(); ++it ) { + if ( (*it).type() == tList[ max-1 ] ) + phones.append( (*it ) ); + } + for ( phoneIt = phones.begin(); phoneIt != phones.end(); ++phoneIt ) { phonetype = (*phoneIt).type(); - if ( ((phonetype & KABC::PhoneNumber::Pref) == 0 ) == preferred ) + bool con = false; + if ( ((phonetype & KABC::PhoneNumber::Pref) == 0 ) == preferred ) con = true; + if ((phonetype & KABC::PhoneNumber::Cell) == KABC::PhoneNumber::Cell ) con = !preferred;; + if ( con ) continue; + if (ksmsAvail && ( ((phonetype & KABC::PhoneNumber::Car) == KABC::PhoneNumber::Car) || -- cgit v0.9.0.2