summaryrefslogtreecommitdiffabout
path: root/kabc/phonenumber.cpp
authorzautrix <zautrix>2005-10-28 03:24:50 (UTC)
committer zautrix <zautrix>2005-10-28 03:24:50 (UTC)
commitf83a59cf4f9d0cff4111b6f5c88e88e6dc96e79e (patch) (side-by-side diff)
tree969e6cf85499e3b1dcaa4dc24c972b65c906cfa9 /kabc/phonenumber.cpp
parentcbda16d4966c7483d20d1b6b5a64c8af367ea732 (diff)
downloadkdepimpi-f83a59cf4f9d0cff4111b6f5c88e88e6dc96e79e.zip
kdepimpi-f83a59cf4f9d0cff4111b6f5c88e88e6dc96e79e.tar.gz
kdepimpi-f83a59cf4f9d0cff4111b6f5c88e88e6dc96e79e.tar.bz2
many new bugs...
Diffstat (limited to 'kabc/phonenumber.cpp') (more/less context) (show whitespace changes)
-rw-r--r--kabc/phonenumber.cpp110
1 files changed, 109 insertions, 1 deletions
diff --git a/kabc/phonenumber.cpp b/kabc/phonenumber.cpp
index 4c6231d..0d46ba7 100644
--- a/kabc/phonenumber.cpp
+++ b/kabc/phonenumber.cpp
@@ -65,7 +65,62 @@ bool PhoneNumber::operator!=( const PhoneNumber &p ) const
{
return !( p == *this );
}
+void PhoneNumber::makeCompat()
+{
+ mType = getCompatType( mType );
+}
+int PhoneNumber::getCompatType( int type )
+{
+ if ((type & Cell) == Cell) {
+ if ((type & Work) == Work)
+ return Car;
+ return Cell;
+ }
+ if ((type & Home) == Home) {
+ if ((type & Pref) == Pref)
+ return (Home | Pref);
+ if ((type & Fax) == Fax)
+ return (Home | Fax);
+ return (Home);
+ }
+ if ((type & Work) == Work) {
+ if ((type & Pref) == Pref)
+ return (Work| Pref);
+ if ((type & Fax) == Fax)
+ return (Fax |Work);
+ if ((type & Msg) == Msg) {
+ if ((type & Voice) == Voice)
+ return ( Msg | Voice |Work);
+ return ( Msg | Work);
+ }
+ return Work;
+ }
+ if ((type & Pcs) == Pcs) {
+ if ((type & Pref) == Pref)
+ return Pcs | Pref;
+ return Pcs;
+ }
+ if ((type & Car) == Car)
+ return Car;
+ if ((type & Pager) == Pager)
+ return Pager;
+ if ((type & Isdn) == Isdn)
+ return Isdn;
+ if ((type & Video) == Video)
+ return Video;
+
+ if ((type & Msg) == Msg)
+ return Msg;
+ if ((type & Fax) == Fax)
+ return Fax;
+
+ if ((type & Pref) == Pref)
+ return Pref;
+
+ return Voice;
+
+}
bool PhoneNumber::simplifyNumber()
{
QString Number;
@@ -163,7 +218,7 @@ PhoneNumber::TypeList PhoneNumber::typeList()
TypeList list;
list << Home << Work << Msg << Pref << Voice << Fax << Cell << Video
- << Bbs << Modem << Car << Isdn << Pcs << Pager << Sip;
+ << Bbs << Modem << Car << Isdn << Pcs << Pager;
return list;
}
@@ -175,6 +230,58 @@ QString PhoneNumber::label( int type )
QString PhoneNumber::typeLabel( int type )
{
+ if ((type & Cell) == Cell)
+ return i18n("Mobile");
+ if ((type & Home) == Home) {
+ if ((type & Pref) == Pref)
+ return i18n("Home");
+ if ((type & Fax) == Fax)
+ return i18n("Fax (Home)");
+ return i18n("Home2");
+ }
+
+ if ((type & Work) == Work) {
+ if ((type & Pref) == Pref)
+ return i18n("Work");
+ if ((type & Fax) == Fax)
+ return i18n("Fax (Work)");
+ if ((type & Msg) == Msg) {
+ if ((type & Voice) == Voice)
+ return i18n("Assistent");
+ return i18n("Company");
+ }
+ return i18n("Work2");
+ }
+ if ((type & Pcs) == Pcs) {
+ if ((type & Pref) == Pref)
+ return i18n("SIP");
+ return i18n("VoIP");
+ }
+ if ((type & Car) == Car)
+ return i18n("Mobile2 (Work)");
+ if ((type & Pager) == Pager)
+ return i18n("Pager");
+ if ((type & Isdn) == Isdn)
+ return i18n("ISDN");
+ if ((type & Video) == Video)
+ return i18n("Video");
+
+ if ((type & Msg) == Msg)
+ return i18n("Callback");
+ if ((type & Fax) == Fax)
+ return i18n("Fax (Other)");
+
+ if ((type & Pref) == Pref)
+ return i18n("Primary");
+
+
+ return i18n("Other");
+
+
+#if 0
+
+
+
QString typeString;
@@ -220,6 +327,7 @@ QString PhoneNumber::typeLabel( int type )
}
return typeString.stripWhiteSpace();
+#endif
}
QDataStream &KABC::operator<<( QDataStream &s, const PhoneNumber &phone )