summaryrefslogtreecommitdiffabout
path: root/kabc/phonenumber.h
authorzautrix <zautrix>2005-10-28 08:57:25 (UTC)
committer zautrix <zautrix>2005-10-28 08:57:25 (UTC)
commitf284eafbe4274cb97ec25f375544b924ae04ac09 (patch) (unidiff)
treebc754eac9882740463a447099944cbb590bad7f6 /kabc/phonenumber.h
parentd934f3fe2a62f6a696992335124c4434cd77d990 (diff)
downloadkdepimpi-f284eafbe4274cb97ec25f375544b924ae04ac09.zip
kdepimpi-f284eafbe4274cb97ec25f375544b924ae04ac09.tar.gz
kdepimpi-f284eafbe4274cb97ec25f375544b924ae04ac09.tar.bz2
cimmit
Diffstat (limited to 'kabc/phonenumber.h') (more/less context) (ignore whitespace changes)
-rw-r--r--kabc/phonenumber.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/kabc/phonenumber.h b/kabc/phonenumber.h
index b9d6a17..feeba6c 100644
--- a/kabc/phonenumber.h
+++ b/kabc/phonenumber.h
@@ -1,170 +1,173 @@
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#ifndef KABC_PHONENUMBER_H 28#ifndef KABC_PHONENUMBER_H
29#define KABC_PHONENUMBER_H 29#define KABC_PHONENUMBER_H
30 30
31#include <qvaluelist.h> 31#include <qvaluelist.h>
32#include <qstring.h> 32#include <qstring.h>
33 33
34namespace KABC { 34namespace KABC {
35 35
36/** 36/**
37 @short Phonenumber information. 37 @short Phonenumber information.
38 38
39 This class provides phone number information. A phone number is classified by 39 This class provides phone number information. A phone number is classified by
40 a type. The following types are available, it's possible to use multiple types 40 a type. The following types are available, it's possible to use multiple types
41 @ref Types for a number by combining them through a logical or. 41 @ref Types for a number by combining them through a logical or.
42*/ 42*/
43class PhoneNumber 43class PhoneNumber
44{ 44{
45 friend QDataStream &operator<<( QDataStream &, const PhoneNumber & ); 45 friend QDataStream &operator<<( QDataStream &, const PhoneNumber & );
46 friend QDataStream &operator>>( QDataStream &, PhoneNumber & ); 46 friend QDataStream &operator>>( QDataStream &, PhoneNumber & );
47 47
48 public: 48 public:
49 typedef QValueList<PhoneNumber> List; 49 typedef QValueList<PhoneNumber> List;
50 typedef QValueList<int> TypeList; 50 typedef QValueList<int> TypeList;
51 51
52 /** 52 /**
53 @li @p Home - Home number 53 @li @p Home - Home number
54 @li @p Work - Office number 54 @li @p Work - Office number
55 @li @p Msg - Messaging 55 @li @p Msg - Messaging
56 @li @p Pref - Preferred number 56 @li @p Pref - Preferred number
57 @li @p Voice - Voice 57 @li @p Voice - Voice
58 @li @p Fax - Fax machine 58 @li @p Fax - Fax machine
59 @li @p Cell - Cell phone 59 @li @p Cell - Cell phone
60 @li @p Video - Video phone 60 @li @p Video - Video phone
61 @li @p Bbs - Mailbox 61 @li @p Bbs - Mailbox
62 @li @p Modem - Modem 62 @li @p Modem - Modem
63 @li @p Car - Car phone 63 @li @p Car - Car phone
64 @li @p Isdn - ISDN connection 64 @li @p Isdn - ISDN connection
65 @li @p Pcs - Personal Communication Service 65 @li @p Pcs - Personal Communication Service
66 @li @p Pager - Pager 66 @li @p Pager - Pager
67 */ 67 */
68 enum Types { Home = 1, Work = 2, Msg = 4, Pref = 8, Voice = 16, Fax = 32, 68 enum Types { Home = 1, Work = 2, Msg = 4, Pref = 8, Voice = 16, Fax = 32,
69 Cell = 64, Video = 128, Bbs = 256, Modem = 512, Car = 1024, 69 Cell = 64, Video = 128, Bbs = 256, Modem = 512, Car = 1024,
70 Isdn = 2048, Pcs = 4096, Pager = 8192 }; 70 Isdn = 2048, Pcs = 4096, Pager = 8192 };
71 71
72 /** 72 /**
73 Create an empty phone number object. 73 Create an empty phone number object.
74 */ 74 */
75 PhoneNumber(); 75 PhoneNumber();
76 76
77 /** 77 /**
78 Create a phonenumber object. 78 Create a phonenumber object.
79 79
80 @param number Number 80 @param number Number
81 @param type Type as defined in enum. Multiple types can be 81 @param type Type as defined in enum. Multiple types can be
82 specified by combining them by a logical or. 82 specified by combining them by a logical or.
83 */ 83 */
84 PhoneNumber( const QString &number, int type = Home ); 84 PhoneNumber( const QString &number, int type = Home );
85 85
86 /** 86 /**
87 Destructor. 87 Destructor.
88 */ 88 */
89 ~PhoneNumber(); 89 ~PhoneNumber();
90 90
91 bool operator==( const PhoneNumber & ) const; 91 bool operator==( const PhoneNumber & ) const;
92 bool operator!=( const PhoneNumber & ) const; 92 bool operator!=( const PhoneNumber & ) const;
93 93
94 bool contains( const PhoneNumber &p ); 94 bool contains( const PhoneNumber &p );
95 /** 95 /**
96 Sets the unique identifier. 96 Sets the unique identifier.
97 */ 97 */
98 void setId( const QString &id ); 98 void setId( const QString &id );
99 99
100 /** 100 /**
101 Returns the unique identifier. 101 Returns the unique identifier.
102 */ 102 */
103 QString id() const; 103 QString id() const;
104 104
105 /** 105 /**
106 Sets the number. 106 Sets the number.
107 */ 107 */
108 void setNumber( const QString & ); 108 void setNumber( const QString & );
109 109
110 /** 110 /**
111 Returns the number. 111 Returns the number.
112 */ 112 */
113 QString number() const; 113 QString number() const;
114 114
115 /** 115 /**
116 Sets the type. Multiple types can be specified by combining them by 116 Sets the type. Multiple types can be specified by combining them by
117 a logical or. 117 a logical or.
118 */ 118 */
119 void setType( int ); 119 void setType( int );
120 120
121 /** 121 /**
122 Returns the type. Can be a multiple types combined by a logical or. 122 Returns the type. Can be a multiple types combined by a logical or.
123 */ 123 */
124 int type() const; 124 int type() const;
125 125
126 /** 126 /**
127 Returns a translated string of all types the address has. 127 Returns a translated string of all types the address has.
128 */ 128 */
129 QString typeLabel() const; 129 QString typeLabel() const;
130 130
131 /** 131 /**
132 Returns the translated label for phone number depending on its type. 132 Returns the translated label for phone number depending on its type.
133 */ 133 */
134 QString label() const; 134 QString label() const;
135 135
136 /** 136 /**
137 Returns a list of all available types 137 Returns a list of all available types
138 */ 138 */
139 static TypeList typeList(); 139 static TypeList typeList();
140 140
141 /** 141 /**
142 Returns the translated label for phone number type. 142 Returns the translated label for phone number type.
143 */ 143 */
144 static QString typeLabel( int type ); 144 static QString typeLabel( int type );
145 145
146 /** 146 /**
147 Returns the translated label for phone number type. 147 Returns the translated label for phone number type.
148 @obsolete 148 @obsolete
149 */ 149 */
150 static QString label( int type ); 150 static QString label( int type );
151 static TypeList supportedTypeList();
152 static QStringList supportedTypeListNames();
153 static int typeListIndex4Type(int type );
151 bool simplifyNumber(); 154 bool simplifyNumber();
152 void simplifyType(); 155 void simplifyType();
153 void makeCompat(); 156 void makeCompat();
154 int getCompatType( int type ); 157 int getCompatType( int type );
155 158
156 private: 159 private:
157 void init(); 160 void init();
158 161
159 QString mId; 162 QString mId;
160 163
161 int mType; 164 int mType;
162 QString mNumber; 165 QString mNumber;
163}; 166};
164 167
165QDataStream &operator<<( QDataStream &, const PhoneNumber & ); 168QDataStream &operator<<( QDataStream &, const PhoneNumber & );
166QDataStream &operator>>( QDataStream &, PhoneNumber & ); 169QDataStream &operator>>( QDataStream &, PhoneNumber & );
167 170
168} 171}
169 172
170#endif 173#endif