• Skip to content
  • Skip to link menu
Trinity API Reference
  • Trinity API Reference
  • tdeabc
 

tdeabc

  • tdeabc
phonenumber.cpp
1 /*
2  This file is part of libtdeabc.
3  Copyright (c) 2001 Cornelius Schumacher <schumacher@kde.org>
4 
5  This library is free software; you can redistribute it and/or
6  modify it under the terms of the GNU Library General Public
7  License as published by the Free Software Foundation; either
8  version 2 of the License, or (at your option) any later version.
9 
10  This library is distributed in the hope that it will be useful,
11  but WITHOUT ANY WARRANTY; without even the implied warranty of
12  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13  Library General Public License for more details.
14 
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
17  the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
18  Boston, MA 02110-1301, USA.
19 */
20 
21 #include <tdeapplication.h>
22 #include <tdelocale.h>
23 
24 #include "phonenumber.h"
25 
26 using namespace TDEABC;
27 
28 PhoneNumber::PhoneNumber() :
29  mType( Home )
30 {
31  init();
32 }
33 
34 PhoneNumber::PhoneNumber( const TQString &number, int type ) :
35  mType( type )
36 {
37  init();
38 
39  validateNumber( number );
40 }
41 
42 PhoneNumber::~PhoneNumber()
43 {
44 }
45 
46 void PhoneNumber::init()
47 {
48  mId = TDEApplication::randomString( 8 );
49 }
50 
51 void PhoneNumber::validateNumber( const TQString &number )
52 {
53  mNumber = number;
54 
55  // remove line breaks
56  mNumber = mNumber.replace( '\n', "" );
57  mNumber = mNumber.replace( '\r', "" );
58 }
59 
60 bool PhoneNumber::operator==( const PhoneNumber &p ) const
61 {
62  if ( mNumber != p.mNumber ) return false;
63  if ( mType != p.mType ) return false;
64 
65  return true;
66 }
67 
68 bool PhoneNumber::operator!=( const PhoneNumber &p ) const
69 {
70  return !( p == *this );
71 }
72 
73 void PhoneNumber::setId( const TQString &id )
74 {
75  mId = id;
76 }
77 
78 TQString PhoneNumber::id() const
79 {
80  return mId;
81 }
82 
83 void PhoneNumber::setNumber( const TQString &number )
84 {
85  validateNumber( number );
86 }
87 
88 TQString PhoneNumber::number() const
89 {
90  return mNumber;
91 }
92 
93 void PhoneNumber::setType( int type )
94 {
95  mType = type;
96 }
97 
98 int PhoneNumber::type() const
99 {
100  return mType;
101 }
102 
103 TQString PhoneNumber::typeLabel() const
104 {
105  TQString label;
106  bool first = true;
107 
108  const TypeList list = typeList();
109 
110  TypeList::ConstIterator it;
111  for ( it = list.begin(); it != list.end(); ++it ) {
112  if ( ( type() & (*it) ) && ( (*it) != Pref ) ) {
113  label.append( ( first ? "" : "/" ) + typeLabel( *it ) );
114  if ( first )
115  first = false;
116  }
117  }
118 
119  return label;
120 }
121 
122 TQString PhoneNumber::label() const
123 {
124  return typeLabel( type() );
125 }
126 
127 PhoneNumber::TypeList PhoneNumber::typeList()
128 {
129  static TypeList list;
130 
131  if ( list.isEmpty() ) {
132  list << Home << Work << Msg << Pref << Voice << Fax << Cell << Video
133  << Bbs << Modem << Car << Isdn << Pcs << Pager;
134  }
135 
136  return list;
137 }
138 
139 TQString PhoneNumber::label( int type )
140 {
141  return typeLabel( type );
142 }
143 
144 TQString PhoneNumber::typeLabel( int type )
145 {
146  if ( type & Pref )
147  return i18n( "Preferred phone", "Preferred" );
148 
149  switch ( type ) {
150  case Home:
151  return i18n("Home phone", "Home");
152  break;
153  case Work:
154  return i18n("Work phone", "Work");
155  break;
156  case Msg:
157  return i18n("Messenger");
158  break;
159  case Pref:
160  return i18n("Preferred Number");
161  break;
162  case Voice:
163  return i18n("Voice");
164  break;
165  case Fax:
166  return i18n("Fax");
167  break;
168  case Cell:
169  return i18n("Mobile Phone", "Mobile" );
170  break;
171  case Video:
172  return i18n("Video");
173  break;
174  case Bbs:
175  return i18n("Mailbox");
176  break;
177  case Modem:
178  return i18n("Modem");
179  break;
180  case Car:
181  return i18n("Car Phone", "Car" );
182  break;
183  case Isdn:
184  return i18n("ISDN");
185  break;
186  case Pcs:
187  return i18n("PCS");
188  break;
189  case Pager:
190  return i18n("Pager");
191  break;
192  case Home | Fax:
193  return i18n("Home Fax");
194  break;
195  case Work | Fax:
196  return i18n("Work Fax");
197  break;
198  default:
199  return i18n("Other");
200  }
201 }
202 
203 TQDataStream &TDEABC::operator<<( TQDataStream &s, const PhoneNumber &phone )
204 {
205  return s << phone.mId << phone.mType << phone.mNumber;
206 }
207 
208 TQDataStream &TDEABC::operator>>( TQDataStream &s, PhoneNumber &phone )
209 {
210  s >> phone.mId >> phone.mType >> phone.mNumber;
211 
212  return s;
213 }
TDEABC::PhoneNumber::PhoneNumber
PhoneNumber()
Create an empty phone number object.
Definition: phonenumber.cpp:28
TDEABC::PhoneNumber::setType
void setType(int)
Sets the type.
Definition: phonenumber.cpp:93
TDEABC::PhoneNumber::label
TQString label() const
Returns the translated label for phone number depending on its type.
Definition: phonenumber.cpp:122
TDEABC::PhoneNumber::number
TQString number() const
Returns the number.
Definition: phonenumber.cpp:88
TDEABC
static data, shared by ALL addressee objects
Definition: address.h:48
TDEABC::PhoneNumber::setNumber
void setNumber(const TQString &)
Sets the number.
Definition: phonenumber.cpp:83
tdelocale.h
TDEABC::PhoneNumber
Phonenumber information.
Definition: phonenumber.h:38
TDEABC::PhoneNumber::typeList
static TypeList typeList()
Returns a list of all available types.
Definition: phonenumber.cpp:127
TDEABC::PhoneNumber::typeLabel
TQString typeLabel() const
Returns a translated string of all types the address has.
Definition: phonenumber.cpp:103
TDEABC::PhoneNumber::setId
void setId(const TQString &id)
Sets the unique identifier.
Definition: phonenumber.cpp:73
TDEABC::PhoneNumber::id
TQString id() const
Returns the unique identifier.
Definition: phonenumber.cpp:78
TDEABC::PhoneNumber::type
int type() const
Returns the type.
Definition: phonenumber.cpp:98
TDEABC::PhoneNumber::~PhoneNumber
~PhoneNumber()
Destructor.
Definition: phonenumber.cpp:42

tdeabc

Skip menu "tdeabc"
  • Main Page
  • Namespace List
  • Class Hierarchy
  • Alphabetical List
  • Class List
  • File List
  • Namespace Members
  • Class Members
  • Related Pages

tdeabc

Skip menu "tdeabc"
  • arts
  • dcop
  • dnssd
  • interfaces
  •   kspeech
  •     interface
  •     library
  •   tdetexteditor
  • kate
  • kded
  • kdoctools
  • kimgio
  • kjs
  • libtdemid
  • libtdescreensaver
  •     tdecore
  • tdeabc
  • tdecmshell
  • tdecore
  • tdefx
  • tdehtml
  • tdeinit
  • tdeio
  •   bookmarks
  •   httpfilter
  •   kpasswdserver
  •   kssl
  • tdeioslave
  •   http
  •   tdefile
  •   tdeio
  •   tdeioexec
  • tdemdi
  •   tdemdi
  • tdenewstuff
  • tdeparts
  • tdeprint
  • tderandr
  • tderesources
  • tdespell2
  • tdesu
  • tdeui
  • tdeunittest
  • tdeutils
  • tdewallet
Generated for tdeabc by doxygen 1.8.8
This website is maintained by Timothy Pearson.