summaryrefslogtreecommitdiffabout
authorulf69 <ulf69>2004-06-30 22:05:03 (UTC)
committer ulf69 <ulf69>2004-06-30 22:05:03 (UTC)
commitc6f3a3f49498dca52d10418d845f4a84c0c6d941 (patch) (unidiff)
treee0e821d8bf91b26adb356de1da5b781f0bb64a1e
parent54e07bc9719de5288a38717cee58773b430fc1be (diff)
downloadkdepimpi-c6f3a3f49498dca52d10418d845f4a84c0c6d941.zip
kdepimpi-c6f3a3f49498dca52d10418d845f4a84c0c6d941.tar.gz
kdepimpi-c6f3a3f49498dca52d10418d845f4a84c0c6d941.tar.bz2
added more specific labels for phonenumbers (for the opie addressbook)
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--kabc/phonenumber.cpp11
1 files changed, 10 insertions, 1 deletions
diff --git a/kabc/phonenumber.cpp b/kabc/phonenumber.cpp
index ad3e65b..04b1168 100644
--- a/kabc/phonenumber.cpp
+++ b/kabc/phonenumber.cpp
@@ -1,204 +1,213 @@
1/* 1/*
2 This file is part of libkabc. 2 This file is part of libkabc.
3 Copyright (c) 2001 Cornelius Schumacher <schumacher@kde.org> 3 Copyright (c) 2001 Cornelius Schumacher <schumacher@kde.org>
4 4
5 This library is free software; you can redistribute it and/or 5 This library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Library General Public 6 modify it under the terms of the GNU Library General Public
7 License as published by the Free Software Foundation; either 7 License as published by the Free Software Foundation; either
8 version 2 of the License, or (at your option) any later version. 8 version 2 of the License, or (at your option) any later version.
9 9
10 This library is distributed in the hope that it will be useful, 10 This library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of 11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Library General Public License for more details. 13 Library General Public License for more details.
14 14
15 You should have received a copy of the GNU Library General Public License 15 You should have received a copy of the GNU Library General Public License
16 along with this library; see the file COPYING.LIB. If not, write to 16 along with this library; see the file COPYING.LIB. If not, write to
17 the Free Software Foundation, Inc., 59 Temple Place - Suite 330, 17 the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
18 Boston, MA 02111-1307, USA. 18 Boston, MA 02111-1307, USA.
19*/ 19*/
20 20
21/* 21/*
22Enhanced Version of the file for platform independent KDE tools. 22Enhanced Version of the file for platform independent KDE tools.
23Copyright (c) 2004 Ulf Schenk 23Copyright (c) 2004 Ulf Schenk
24 24
25$Id$ 25$Id$
26*/ 26*/
27 27
28#include <kapplication.h> 28#include <kapplication.h>
29#include <klocale.h> 29#include <klocale.h>
30 30
31#include "phonenumber.h" 31#include "phonenumber.h"
32 32
33using namespace KABC; 33using namespace KABC;
34 34
35PhoneNumber::PhoneNumber() : 35PhoneNumber::PhoneNumber() :
36 mType( Home ) 36 mType( Home )
37{ 37{
38 init(); 38 init();
39} 39}
40 40
41PhoneNumber::PhoneNumber( const QString &number, int type ) : 41PhoneNumber::PhoneNumber( const QString &number, int type ) :
42 mType( type ), mNumber( number ) 42 mType( type ), mNumber( number )
43{ 43{
44 init(); 44 init();
45} 45}
46 46
47PhoneNumber::~PhoneNumber() 47PhoneNumber::~PhoneNumber()
48{ 48{
49} 49}
50 50
51void PhoneNumber::init() 51void PhoneNumber::init()
52{ 52{
53 mId = KApplication::randomString( 8 ); 53 mId = KApplication::randomString( 8 );
54} 54}
55 55
56bool PhoneNumber::operator==( const PhoneNumber &p ) const 56bool PhoneNumber::operator==( const PhoneNumber &p ) const
57{ 57{
58 if ( mNumber != p.mNumber ) return false; 58 if ( mNumber != p.mNumber ) return false;
59 if ( mType != p.mType ) return false; 59 if ( mType != p.mType ) return false;
60 60
61 return true; 61 return true;
62} 62}
63 63
64bool PhoneNumber::operator!=( const PhoneNumber &p ) const 64bool PhoneNumber::operator!=( const PhoneNumber &p ) const
65{ 65{
66 return !( p == *this ); 66 return !( p == *this );
67} 67}
68 68
69void PhoneNumber::setId( const QString &id ) 69void PhoneNumber::setId( const QString &id )
70{ 70{
71 mId = id; 71 mId = id;
72} 72}
73 73
74QString PhoneNumber::id() const 74QString PhoneNumber::id() const
75{ 75{
76 return mId; 76 return mId;
77} 77}
78 78
79void PhoneNumber::setNumber( const QString &number ) 79void PhoneNumber::setNumber( const QString &number )
80{ 80{
81 mNumber = number; 81 mNumber = number;
82} 82}
83 83
84QString PhoneNumber::number() const 84QString PhoneNumber::number() const
85{ 85{
86 return mNumber; 86 return mNumber;
87} 87}
88 88
89void PhoneNumber::setType( int type ) 89void PhoneNumber::setType( int type )
90{ 90{
91 mType = type; 91 mType = type;
92} 92}
93 93
94int PhoneNumber::type() const 94int PhoneNumber::type() const
95{ 95{
96 return mType; 96 return mType;
97} 97}
98 98
99QString PhoneNumber::typeLabel() const 99QString PhoneNumber::typeLabel() const
100{ 100{
101 QString label; 101 QString label;
102 bool first = true; 102 bool first = true;
103 103
104 TypeList list = typeList(); 104 TypeList list = typeList();
105 105
106 TypeList::Iterator it; 106 TypeList::Iterator it;
107 for ( it = list.begin(); it != list.end(); ++it ) { 107 for ( it = list.begin(); it != list.end(); ++it ) {
108 if ( ( type() & (*it) ) && ( (*it) != Pref ) ) { 108 if ( ( type() & (*it) ) && ( (*it) != Pref ) ) {
109 label.append( ( first ? "" : "/" ) + typeLabel( *it ) ); 109 label.append( ( first ? "" : "/" ) + typeLabel( *it ) );
110 if ( first ) 110 if ( first )
111 first = false; 111 first = false;
112 } 112 }
113 } 113 }
114 114
115 return label; 115 return label;
116} 116}
117 117
118QString PhoneNumber::label() const 118QString PhoneNumber::label() const
119{ 119{
120 return typeLabel( type() ); 120 return typeLabel( type() );
121} 121}
122 122
123PhoneNumber::TypeList PhoneNumber::typeList() 123PhoneNumber::TypeList PhoneNumber::typeList()
124{ 124{
125 TypeList list; 125 TypeList list;
126 126
127 list << Home << Work << Msg << Pref << Voice << Fax << Cell << Video 127 list << Home << Work << Msg << Pref << Voice << Fax << Cell << Video
128 << Bbs << Modem << Car << Isdn << Pcs << Pager; 128 << Bbs << Modem << Car << Isdn << Pcs << Pager;
129 129
130 return list; 130 return list;
131} 131}
132 132
133QString PhoneNumber::label( int type ) 133QString PhoneNumber::label( int type )
134{ 134{
135 return typeLabel( type ); 135 return typeLabel( type );
136} 136}
137 137
138QString PhoneNumber::typeLabel( int type ) 138QString PhoneNumber::typeLabel( int type )
139{ 139{
140 switch ( type ) { 140 switch ( type ) {
141 case Home: 141 case Home:
142 return i18n("Home phone", "Home"); 142 return i18n("Home phone", "Home");
143 break; 143 break;
144 case Work: 144 case Work:
145 return i18n("Work phone", "Work"); 145 return i18n("Work phone", "Work");
146 break; 146 break;
147 case Msg: 147 case Msg:
148 return i18n("Messenger"); 148 return i18n("Messenger");
149 break; 149 break;
150 case Pref: 150 case Pref:
151 return i18n("Preferred Number"); 151 return i18n("Preferred Number");
152 break; 152 break;
153 case Voice: 153 case Voice:
154 return i18n("Voice"); 154 return i18n("Voice");
155 break; 155 break;
156 case Fax: 156 case Fax:
157 return i18n("Fax"); 157 return i18n("Fax");
158 break; 158 break;
159 case Cell: 159 case Cell:
160 return i18n("Mobile Phone", "Mobile" ); 160 return i18n("Mobile Phone" );
161 break;
162 case Cell | Home:
163 return i18n("Home Mobile" );
164 break;
165 case Cell | Work:
166 return i18n("Home Mobile" );
161 break; 167 break;
162 case Video: 168 case Video:
163 return i18n("Video"); 169 return i18n("Video");
164 break; 170 break;
165 case Bbs: 171 case Bbs:
166 return i18n("Mailbox"); 172 return i18n("Mailbox");
167 break; 173 break;
168 case Modem: 174 case Modem:
169 return i18n("Modem"); 175 return i18n("Modem");
170 break; 176 break;
171 case Car: 177 case Car:
172 return i18n("Car Phone", "Car" ); 178 return i18n("Car Phone", "Car" );
173 break; 179 break;
174 case Isdn: 180 case Isdn:
175 return i18n("ISDN"); 181 return i18n("ISDN");
176 break; 182 break;
177 case Pcs: 183 case Pcs:
178 return i18n("PCS"); 184 return i18n("PCS");
179 break; 185 break;
180 case Pager: 186 case Pager:
181 return i18n("Pager"); 187 return i18n("Pager");
182 break; 188 break;
189 case Work | Pager:
190 return i18n("Work Pager");
191 break;
183 case Home | Fax: 192 case Home | Fax:
184 return i18n("Home Fax"); 193 return i18n("Home Fax");
185 break; 194 break;
186 case Work | Fax: 195 case Work | Fax:
187 return i18n("Work Fax"); 196 return i18n("Work Fax");
188 break; 197 break;
189 default: 198 default:
190 return i18n("Other"); 199 return i18n("Other");
191 } 200 }
192} 201}
193 202
194QDataStream &KABC::operator<<( QDataStream &s, const PhoneNumber &phone ) 203QDataStream &KABC::operator<<( QDataStream &s, const PhoneNumber &phone )
195{ 204{
196 return s << phone.mId << phone.mType << phone.mNumber; 205 return s << phone.mId << phone.mType << phone.mNumber;
197} 206}
198 207
199QDataStream &KABC::operator>>( QDataStream &s, PhoneNumber &phone ) 208QDataStream &KABC::operator>>( QDataStream &s, PhoneNumber &phone )
200{ 209{
201 s >> phone.mId >> phone.mType >> phone.mNumber; 210 s >> phone.mId >> phone.mType >> phone.mNumber;
202 211
203 return s; 212 return s;
204} 213}