-rw-r--r-- | kabc/phonenumber.cpp | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/kabc/phonenumber.cpp b/kabc/phonenumber.cpp index 0d46ba7..eee25a5 100644 --- a/kabc/phonenumber.cpp +++ b/kabc/phonenumber.cpp | |||
@@ -161,128 +161,154 @@ bool PhoneNumber::contains( const PhoneNumber &p ) | |||
161 | 161 | ||
162 | void PhoneNumber::setId( const QString &id ) | 162 | void PhoneNumber::setId( const QString &id ) |
163 | { | 163 | { |
164 | mId = id; | 164 | mId = id; |
165 | } | 165 | } |
166 | 166 | ||
167 | QString PhoneNumber::id() const | 167 | QString PhoneNumber::id() const |
168 | { | 168 | { |
169 | return mId; | 169 | return mId; |
170 | } | 170 | } |
171 | 171 | ||
172 | void PhoneNumber::setNumber( const QString &number ) | 172 | void PhoneNumber::setNumber( const QString &number ) |
173 | { | 173 | { |
174 | mNumber = number; | 174 | mNumber = number; |
175 | } | 175 | } |
176 | 176 | ||
177 | QString PhoneNumber::number() const | 177 | QString PhoneNumber::number() const |
178 | { | 178 | { |
179 | return mNumber; | 179 | return mNumber; |
180 | } | 180 | } |
181 | 181 | ||
182 | void PhoneNumber::setType( int type ) | 182 | void PhoneNumber::setType( int type ) |
183 | { | 183 | { |
184 | mType = type; | 184 | mType = type; |
185 | } | 185 | } |
186 | 186 | ||
187 | int PhoneNumber::type() const | 187 | int PhoneNumber::type() const |
188 | { | 188 | { |
189 | return mType; | 189 | return mType; |
190 | } | 190 | } |
191 | 191 | ||
192 | QString PhoneNumber::typeLabel() const | 192 | QString PhoneNumber::typeLabel() const |
193 | { | 193 | { |
194 | QString label; | 194 | QString label; |
195 | bool first = true; | 195 | bool first = true; |
196 | 196 | ||
197 | TypeList list = typeList(); | 197 | TypeList list = typeList(); |
198 | 198 | ||
199 | TypeList::Iterator it; | 199 | TypeList::Iterator it; |
200 | for ( it = list.begin(); it != list.end(); ++it ) { | 200 | for ( it = list.begin(); it != list.end(); ++it ) { |
201 | if ( ( type() & (*it) ) && ( (*it) != Pref ) ) { | 201 | if ( ( type() & (*it) ) && ( (*it) != Pref ) ) { |
202 | label.append( ( first ? "" : "/" ) + typeLabel( *it ) ); | 202 | label.append( ( first ? "" : "/" ) + typeLabel( *it ) ); |
203 | if ( first ) | 203 | if ( first ) |
204 | first = false; | 204 | first = false; |
205 | } | 205 | } |
206 | } | 206 | } |
207 | 207 | ||
208 | return label; | 208 | return label; |
209 | } | 209 | } |
210 | 210 | ||
211 | QString PhoneNumber::label() const | 211 | QString PhoneNumber::label() const |
212 | { | 212 | { |
213 | return typeLabel( type() ); | 213 | return typeLabel( type() ); |
214 | } | 214 | } |
215 | 215 | ||
216 | PhoneNumber::TypeList PhoneNumber::typeList() | 216 | PhoneNumber::TypeList PhoneNumber::typeList() |
217 | { | 217 | { |
218 | TypeList list; | 218 | TypeList list; |
219 | 219 | ||
220 | list << Home << Work << Msg << Pref << Voice << Fax << Cell << Video | 220 | list << Home << Work << Msg << Pref << Voice << Fax << Cell << Video |
221 | << Bbs << Modem << Car << Isdn << Pcs << Pager; | 221 | << Bbs << Modem << Car << Isdn << Pcs << Pager; |
222 | 222 | ||
223 | return list; | 223 | return list; |
224 | } | 224 | } |
225 | PhoneNumber::TypeList PhoneNumber::supportedTypeList() | ||
226 | { | ||
227 | static TypeList list; | ||
228 | if ( list.count() == 0 ) | ||
229 | list << (Home| Pref) << (Work| Pref) << Cell << Home << Work << Car << (Work| Msg | Voice) << (Work| Msg) << (Home | Fax) << (Work| Fax) << Fax<< (Pcs|Pref)<< Pcs<< Pager << Isdn << Video << Msg << Pref << Voice; | ||
230 | return list; | ||
231 | } | ||
232 | QStringList PhoneNumber::supportedTypeListNames() | ||
233 | { | ||
234 | static QStringList list; | ||
235 | if ( list.count() == 0 ) | ||
236 | list << i18n("Home") << i18n("Work") << i18n("Mobile") << i18n("Home2")<< i18n("Work2") << i18n("Mobile2 (Work)") << i18n("Assistent") << i18n("Company") << i18n("Fax (Home)") << i18n("Fax (Work)") << i18n("Fax (Other)") << i18n("SIP") << i18n("VoIP") << i18n("Pager") << i18n("ISDN") << i18n("Video") << i18n("Callback") << i18n("Primary")<< i18n("Other"); | ||
237 | return list; | ||
238 | } | ||
239 | |||
240 | int PhoneNumber::typeListIndex4Type(int type ) | ||
241 | { | ||
242 | TypeList list = supportedTypeList(); | ||
243 | int i = 0; | ||
244 | while ( i < list.count() ) { | ||
245 | if ( list [i] == type ) | ||
246 | return i; | ||
247 | ++i; | ||
248 | } | ||
249 | return list.count()-1; | ||
250 | } | ||
225 | 251 | ||
226 | QString PhoneNumber::label( int type ) | 252 | QString PhoneNumber::label( int type ) |
227 | { | 253 | { |
228 | return typeLabel( type ); | 254 | return typeLabel( type ); |
229 | } | 255 | } |
230 | 256 | ||
231 | QString PhoneNumber::typeLabel( int type ) | 257 | QString PhoneNumber::typeLabel( int type ) |
232 | { | 258 | { |
233 | if ((type & Cell) == Cell) | 259 | if ((type & Cell) == Cell) |
234 | return i18n("Mobile"); | 260 | return i18n("Mobile"); |
235 | if ((type & Home) == Home) { | 261 | if ((type & Home) == Home) { |
236 | if ((type & Pref) == Pref) | 262 | if ((type & Pref) == Pref) |
237 | return i18n("Home"); | 263 | return i18n("Home"); |
238 | if ((type & Fax) == Fax) | 264 | if ((type & Fax) == Fax) |
239 | return i18n("Fax (Home)"); | 265 | return i18n("Fax (Home)"); |
240 | return i18n("Home2"); | 266 | return i18n("Home2"); |
241 | } | 267 | } |
242 | 268 | ||
243 | if ((type & Work) == Work) { | 269 | if ((type & Work) == Work) { |
244 | if ((type & Pref) == Pref) | 270 | if ((type & Pref) == Pref) |
245 | return i18n("Work"); | 271 | return i18n("Work"); |
246 | if ((type & Fax) == Fax) | 272 | if ((type & Fax) == Fax) |
247 | return i18n("Fax (Work)"); | 273 | return i18n("Fax (Work)"); |
248 | if ((type & Msg) == Msg) { | 274 | if ((type & Msg) == Msg) { |
249 | if ((type & Voice) == Voice) | 275 | if ((type & Voice) == Voice) |
250 | return i18n("Assistent"); | 276 | return i18n("Assistent"); |
251 | return i18n("Company"); | 277 | return i18n("Company"); |
252 | } | 278 | } |
253 | return i18n("Work2"); | 279 | return i18n("Work2"); |
254 | } | 280 | } |
255 | if ((type & Pcs) == Pcs) { | 281 | if ((type & Pcs) == Pcs) { |
256 | if ((type & Pref) == Pref) | 282 | if ((type & Pref) == Pref) |
257 | return i18n("SIP"); | 283 | return i18n("SIP"); |
258 | return i18n("VoIP"); | 284 | return i18n("VoIP"); |
259 | } | 285 | } |
260 | if ((type & Car) == Car) | 286 | if ((type & Car) == Car) |
261 | return i18n("Mobile2 (Work)"); | 287 | return i18n("Mobile2 (Work)"); |
262 | if ((type & Pager) == Pager) | 288 | if ((type & Pager) == Pager) |
263 | return i18n("Pager"); | 289 | return i18n("Pager"); |
264 | if ((type & Isdn) == Isdn) | 290 | if ((type & Isdn) == Isdn) |
265 | return i18n("ISDN"); | 291 | return i18n("ISDN"); |
266 | if ((type & Video) == Video) | 292 | if ((type & Video) == Video) |
267 | return i18n("Video"); | 293 | return i18n("Video"); |
268 | 294 | ||
269 | if ((type & Msg) == Msg) | 295 | if ((type & Msg) == Msg) |
270 | return i18n("Callback"); | 296 | return i18n("Callback"); |
271 | if ((type & Fax) == Fax) | 297 | if ((type & Fax) == Fax) |
272 | return i18n("Fax (Other)"); | 298 | return i18n("Fax (Other)"); |
273 | 299 | ||
274 | if ((type & Pref) == Pref) | 300 | if ((type & Pref) == Pref) |
275 | return i18n("Primary"); | 301 | return i18n("Primary"); |
276 | 302 | ||
277 | 303 | ||
278 | return i18n("Other"); | 304 | return i18n("Other"); |
279 | 305 | ||
280 | 306 | ||
281 | #if 0 | 307 | #if 0 |
282 | 308 | ||
283 | 309 | ||
284 | 310 | ||
285 | QString typeString; | 311 | QString typeString; |
286 | 312 | ||
287 | 313 | ||
288 | if ((type & Cell) == Cell) | 314 | if ((type & Cell) == Cell) |