summaryrefslogtreecommitdiffabout
path: root/kabc
Side-by-side diff
Diffstat (limited to 'kabc') (more/less context) (ignore whitespace changes)
-rw-r--r--kabc/addressee.cpp2
-rw-r--r--kabc/addresseeview.cpp29
-rw-r--r--kabc/phonenumber.cpp15
3 files changed, 38 insertions, 8 deletions
diff --git a/kabc/addressee.cpp b/kabc/addressee.cpp
index 2f4a9af..6cfac80 100644
--- a/kabc/addressee.cpp
+++ b/kabc/addressee.cpp
@@ -1092,7 +1092,7 @@ QString Addressee::otherPhoneLabel()
QString Addressee::sipLabel()
{
- return i18n("SIP");
+ return i18n("SiP");
}
QString Addressee::emailLabel()
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 = "<table width=\"100%\">\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) ||
diff --git a/kabc/phonenumber.cpp b/kabc/phonenumber.cpp
index 6db1bcf..897c56d 100644
--- a/kabc/phonenumber.cpp
+++ b/kabc/phonenumber.cpp
@@ -99,6 +99,8 @@ int PhoneNumber::getCompatType( int type )
if ((type & Pcs) == Pcs) {
if ((type & Pref) == Pref)
return Pcs | Pref;
+ if ((type & Voice) == Voice)
+ return Pcs | Voice;
return Pcs;
}
if ((type & Car) == Car)
@@ -107,9 +109,10 @@ int PhoneNumber::getCompatType( int type )
return Pager;
if ((type & Isdn) == Isdn)
return Isdn;
+#if 0
if ((type & Video) == Video)
return Video;
-
+#endif
if ((type & Msg) == Msg)
return Msg;
if ((type & Fax) == Fax)
@@ -226,14 +229,14 @@ PhoneNumber::TypeList PhoneNumber::supportedTypeList()
{
static TypeList list;
if ( list.count() == 0 )
- list << (Home| Pref) << (Work| Pref) << Cell <<(Pcs|Pref)<< Pcs<< Home << Work << Car << (Work| Msg | Voice) << (Work| Msg) << (Home | Fax) << (Work| Fax) << Fax<< Pager << Isdn << Video << Msg << Pref << Voice;
+ list << (Home| Pref) << (Work| Pref) << Cell <<(Pcs|Pref)<< (Pcs|Voice)<< Home << Work << Car << Pcs <<(Work| Msg | Voice) << (Work| Msg) << (Home | Fax) << (Work| Fax) << Fax<< Pager << Isdn << Msg << Pref << Voice;
return list;
}
QStringList PhoneNumber::supportedTypeListNames()
{
static QStringList list;
if ( list.count() == 0 )
- list << i18n("Home") << i18n("Work") << i18n("Mobile") << i18n("SIP") << i18n("VoIP") <<i18n("Home2")<< i18n("Work2") << i18n("Mobile2") << i18n("Assistent") << i18n("Company") << i18n("Fax (Home)") << i18n("Fax (Work)") << i18n("Fax (Other)") << i18n("Pager") << i18n("ISDN") << i18n("Video") << i18n("Callback") << i18n("Primary")<< i18n("Other");
+ list << i18n("Home") << i18n("Work") << i18n("Mobile") << i18n("SIP") << i18n("VoIP") <<i18n("Home2")<< i18n("Work2") << i18n("Mobile2") << i18n("SIP2") << i18n("Assistent") << i18n("Company") << i18n("Fax (Home)") << i18n("Fax (Work)") << i18n("Fax (Other)") << i18n("Pager") << i18n("ISDN") << i18n("Callback") << i18n("Primary")<< i18n("Other");
return list;
}
@@ -280,8 +283,10 @@ QString PhoneNumber::typeLabel( int type )
}
if ((type & Pcs) == Pcs) {
if ((type & Pref) == Pref)
- return i18n("SIP");
- return i18n("VoIP");
+ return i18n("SiP");
+ if ((type & Voice) == Voice)
+ return i18n("VoIP");
+ return i18n("SiP2");
}
if ((type & Car) == Car)
return i18n("Mobile2");