summaryrefslogtreecommitdiffabout
path: root/kaddressbook/phoneeditwidget.cpp
Unidiff
Diffstat (limited to 'kaddressbook/phoneeditwidget.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--kaddressbook/phoneeditwidget.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/kaddressbook/phoneeditwidget.cpp b/kaddressbook/phoneeditwidget.cpp
index d895ea1..f52cedb 100644
--- a/kaddressbook/phoneeditwidget.cpp
+++ b/kaddressbook/phoneeditwidget.cpp
@@ -1,335 +1,335 @@
1/* 1/*
2 This file is part of KAddressBook. 2 This file is part of KAddressBook.
3 Copyright (c) 2002 Mike Pilone <mpilone@slac.com> 3 Copyright (c) 2002 Mike Pilone <mpilone@slac.com>
4 4
5 This program is free software; you can redistribute it and/or modify 5 This program is free software; you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by 6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation; either version 2 of the License, or 7 the Free Software Foundation; either version 2 of the License, or
8 (at your option) any later version. 8 (at your option) any later version.
9 9
10 This program is distributed in the hope that it will be useful, 10 This program 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 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details. 13 GNU General Public License for more details.
14 14
15 You should have received a copy of the GNU General Public License 15 You should have received a copy of the GNU General Public License
16 along with this program; if not, write to the Free Software 16 along with this program; if not, write to the Free Software
17 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 17 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
18 18
19 As a special exception, permission is given to link this program 19 As a special exception, permission is given to link this program
20 with any edition of Qt, and distribute the resulting executable, 20 with any edition of Qt, and distribute the resulting executable,
21 without including the source code for Qt in the source distribution. 21 without including the source code for Qt in the source distribution.
22*/ 22*/
23 23
24#include <qlayout.h> 24#include <qlayout.h>
25#include <qlabel.h> 25#include <qlabel.h>
26#include <qtooltip.h> 26#include <qtooltip.h>
27#include <qpushbutton.h> 27#include <qpushbutton.h>
28#include <qcheckbox.h> 28#include <qcheckbox.h>
29#include <qstring.h> 29#include <qstring.h>
30#include <qlistbox.h> 30#include <qlistbox.h>
31#include <qlistview.h> 31#include <qlistview.h>
32#include <qbuttongroup.h> 32#include <qbuttongroup.h>
33#include <qhbox.h> 33#include <qhbox.h>
34#include <qcursor.h> 34#include <qcursor.h>
35#include <qtimer.h> 35#include <qtimer.h>
36 36
37#include <kbuttonbox.h> 37#include <kbuttonbox.h>
38#include <klistview.h> 38#include <klistview.h>
39#include <kapplication.h> 39#include <kapplication.h>
40#include <qapplication.h> 40#include <qapplication.h>
41#include <kconfig.h> 41#include <kconfig.h>
42#include <klineedit.h> 42#include <klineedit.h>
43#include <kcombobox.h> 43#include <kcombobox.h>
44#include <klocale.h> 44#include <klocale.h>
45#include <kdebug.h> 45#include <kdebug.h>
46#include <kglobal.h> 46#include <kglobal.h>
47#include <kiconloader.h> 47#include <kiconloader.h>
48 48
49#include <kabc/phonenumber.h> 49#include <kabc/phonenumber.h>
50 50
51#include "typecombo.h" 51#include "typecombo.h"
52 52
53#include "phoneeditwidget.h" 53#include "phoneeditwidget.h"
54 54
55PhoneEditWidget::PhoneEditWidget( QWidget *parent, const char *name ) 55PhoneEditWidget::PhoneEditWidget( QWidget *parent, const char *name )
56 : QWidget(parent,name) 56 : QWidget(parent,name)
57{ 57{
58 QGridLayout* gridLayout = new QGridLayout ( this, 2,2 ); 58 QGridLayout* gridLayout = new QGridLayout ( this, 2,2 );
59 59
60 QLabel *temp = new QLabel( "", this ); 60 QLabel *temp = new QLabel( "", this );
61 temp->setAlignment( Qt::AlignCenter ); 61 temp->setAlignment( Qt::AlignCenter );
62 temp->setPixmap( KGlobal::iconLoader()->loadIcon( "kaddressbook", KIcon::Desktop, 0 ) ); 62 temp->setPixmap( KGlobal::iconLoader()->loadIcon( "kaddressbook", KIcon::Desktop, 0 ) );
63 gridLayout->addWidget( temp, 1, 0 ); 63 gridLayout->addWidget( temp, 1, 0 );
64 QPushButton *addBut = new QPushButton ( "add", this ); 64 QPushButton *addBut = new QPushButton ( "add", this );
65 addBut->setPixmap ( SmallIcon("plus")); 65 addBut->setPixmap ( SmallIcon("plus"));
66 addBut->setMaximumSize( addBut->sizeHint().height(),addBut->sizeHint().height() ); 66 addBut->setMaximumSize( addBut->sizeHint().height(),addBut->sizeHint().height() );
67 connect(addBut,SIGNAL(clicked ()),SLOT(addNumber())); 67 connect(addBut,SIGNAL(clicked ()),SLOT(addNumber()));
68 gridLayout->addWidget( addBut, 0, 0 ); 68 gridLayout->addWidget( addBut, 0, 0 );
69 69
70 sv = new QScrollView( this ); 70 sv = new QScrollView( this );
71 sv->setFrameStyle ( QFrame::Panel | QFrame::Plain ); 71 sv->setFrameStyle ( QFrame::Panel | QFrame::Plain );
72 sv->setLineWidth ( 1 ); 72 sv->setLineWidth ( 1 );
73 sv->setMidLineWidth ( 1 ); 73 sv->setMidLineWidth ( 1 );
74 mw = new QWidget ( sv->viewport() ); 74 mw = new QWidget ( sv->viewport() );
75 sv->addChild(mw); 75 sv->addChild(mw);
76 sv->setResizePolicy( QScrollView::AutoOneFit ); 76 sv->setResizePolicy( QScrollView::AutoOneFit );
77 mainLayout = new QVBoxLayout ( mw ); 77 mainLayout = new QVBoxLayout ( mw );
78 mainLayout->setMargin( 2 ); 78 mainLayout->setMargin( 0 );
79 mainLayout->setSpacing( 2 ); 79 mainLayout->setSpacing( 0 );
80 gridLayout->addMultiCellWidget( sv, 0, 1, 1,1 ); 80 gridLayout->addMultiCellWidget( sv, 0, 1, 1,1 );
81 setDefaults(); 81 setDefaults();
82 mTypeNumberEditList.setAutoDelete( true ); 82 mTypeNumberEditList.setAutoDelete( true );
83 mPopup = new QPopupMenu( this ); 83 mPopup = new QPopupMenu( this );
84 QStringList list = PhoneNumber::supportedTypeListNames(); 84 QStringList list = PhoneNumber::supportedTypeListNames();
85 mPopupCount = list.count(); 85 mPopupCount = list.count();
86 int i = 0; 86 int i = 0;
87 while ( i < mPopupCount ) { 87 while ( i < mPopupCount ) {
88 mPopup->insertItem( list[ i ], i ); 88 mPopup->insertItem( list[ i ], i );
89 ++i; 89 ++i;
90 } 90 }
91 connect(mPopup,SIGNAL(activated(int)),this,SLOT(addNumberInt( int))); 91 connect(mPopup,SIGNAL(activated(int)),this,SLOT(addNumberInt( int)));
92 92
93} 93}
94 94
95PhoneEditWidget::~PhoneEditWidget() 95PhoneEditWidget::~PhoneEditWidget()
96{ 96{
97} 97}
98void PhoneEditWidget::setDefaults() 98void PhoneEditWidget::setDefaults()
99{ 99{
100 mTypeNumberEditList.clear(); 100 mTypeNumberEditList.clear();
101 PhoneTypeNumberEdit* edit = appendEditCombo(); 101 PhoneTypeNumberEdit* edit = appendEditCombo();
102 KABC::PhoneNumber phoneNumber; 102 KABC::PhoneNumber phoneNumber;
103 phoneNumber.setType( KABC::PhoneNumber::Home | KABC::PhoneNumber::Pref ); 103 phoneNumber.setType( KABC::PhoneNumber::Home | KABC::PhoneNumber::Pref );
104 edit->setPhoneNumber( phoneNumber ); 104 edit->setPhoneNumber( phoneNumber );
105 edit = appendEditCombo(); 105 edit = appendEditCombo();
106 phoneNumber.setType( KABC::PhoneNumber::Work | KABC::PhoneNumber::Pref ); 106 phoneNumber.setType( KABC::PhoneNumber::Work | KABC::PhoneNumber::Pref );
107 edit->setPhoneNumber( phoneNumber ); 107 edit->setPhoneNumber( phoneNumber );
108 edit = appendEditCombo(); 108 edit = appendEditCombo();
109 phoneNumber.setType( KABC::PhoneNumber::Cell ); 109 phoneNumber.setType( KABC::PhoneNumber::Cell );
110 edit->setPhoneNumber( phoneNumber ); 110 edit->setPhoneNumber( phoneNumber );
111 111
112} 112}
113void PhoneEditWidget::addNumberInt( int index ) 113void PhoneEditWidget::addNumberInt( int index )
114{ 114{
115 PhoneTypeNumberEdit* edit = appendEditCombo(); 115 PhoneTypeNumberEdit* edit = appendEditCombo();
116 KABC::PhoneNumber phoneNumber; 116 KABC::PhoneNumber phoneNumber;
117 phoneNumber.setType( PhoneNumber::supportedTypeList()[index] ); 117 phoneNumber.setType( PhoneNumber::supportedTypeList()[index] );
118 edit->setPhoneNumber( phoneNumber ); 118 edit->setPhoneNumber( phoneNumber );
119 //verticalScrollBar()->setValue( 1024); 119 //verticalScrollBar()->setValue( 1024);
120 QTimer::singleShot( 0, this, SLOT ( bottomVisible() ) ); 120 QTimer::singleShot( 0, this, SLOT ( bottomVisible() ) );
121} 121}
122void PhoneEditWidget::bottomVisible() 122void PhoneEditWidget::bottomVisible()
123{ 123{
124 sv->setContentsPos ( 0, 1024 ); 124 sv->setContentsPos ( 0, 1024 );
125} 125}
126void PhoneEditWidget::addNumber() 126void PhoneEditWidget::addNumber()
127{ 127{
128 int i = 0; 128 int i = 0;
129 while ( i < mPopupCount ) { 129 while ( i < mPopupCount ) {
130 mPopup->setItemEnabled( i, true ); 130 mPopup->setItemEnabled( i, true );
131 ++i; 131 ++i;
132 } 132 }
133 PhoneTypeNumberEdit* edit = mTypeNumberEditList.first(); 133 PhoneTypeNumberEdit* edit = mTypeNumberEditList.first();
134 while ( edit ) { 134 while ( edit ) {
135 if ( edit->currentType() < mPopupCount -1 ) 135 if ( edit->currentType() < mPopupCount -1 )
136 mPopup->setItemEnabled( edit->currentType(), false ); 136 mPopup->setItemEnabled( edit->currentType(), false );
137 edit = mTypeNumberEditList.next(); 137 edit = mTypeNumberEditList.next();
138 } 138 }
139 mPopup->popup( QCursor::pos() ); 139 mPopup->popup( QCursor::pos() );
140} 140}
141PhoneTypeNumberEdit* PhoneEditWidget::appendEditCombo() 141PhoneTypeNumberEdit* PhoneEditWidget::appendEditCombo()
142{ 142{
143 PhoneTypeNumberEdit* edit = new PhoneTypeNumberEdit( mw ); 143 PhoneTypeNumberEdit* edit = new PhoneTypeNumberEdit( mw );
144 connect ( edit, SIGNAL ( typeChange( int , int) ), this, SIGNAL ( typeChange( int , int)) ); 144 connect ( edit, SIGNAL ( typeChange( int , int) ), this, SIGNAL ( typeChange( int , int)) );
145 connect ( edit, SIGNAL ( modified() ), this, SIGNAL ( modified() ) ); 145 connect ( edit, SIGNAL ( modified() ), this, SIGNAL ( modified() ) );
146 connect ( edit, SIGNAL ( deleteMe( PhoneTypeNumberEdit* ) ), this, SLOT ( deleteEdit( PhoneTypeNumberEdit*) ) ); 146 connect ( edit, SIGNAL ( deleteMe( PhoneTypeNumberEdit* ) ), this, SLOT ( deleteEdit( PhoneTypeNumberEdit*) ) );
147 connect ( this, SIGNAL ( typeChange( int , int)), edit, SLOT ( typeExternalChanged( int, int)) ); 147 connect ( this, SIGNAL ( typeChange( int , int)), edit, SLOT ( typeExternalChanged( int, int)) );
148 148
149 mainLayout->add( edit ); 149 mainLayout->add( edit );
150 mTypeNumberEditList.append( edit ); 150 mTypeNumberEditList.append( edit );
151 return edit; 151 return edit;
152} 152}
153 153
154void PhoneEditWidget::deleteEdit( PhoneTypeNumberEdit* ew ) 154void PhoneEditWidget::deleteEdit( PhoneTypeNumberEdit* ew )
155{ 155{
156 mPendingDelete = ew; 156 mPendingDelete = ew;
157 QTimer::singleShot( 0, this, SLOT ( pendingDelete() ) ); 157 QTimer::singleShot( 0, this, SLOT ( pendingDelete() ) );
158} 158}
159void PhoneEditWidget::pendingDelete() 159void PhoneEditWidget::pendingDelete()
160{ 160{
161 mTypeNumberEditList.removeRef( mPendingDelete ); 161 mTypeNumberEditList.removeRef( mPendingDelete );
162 emit modified(); 162 emit modified();
163} 163}
164 164
165void PhoneEditWidget::setPhoneNumbers( const KABC::PhoneNumber::List &li ) 165void PhoneEditWidget::setPhoneNumbers( const KABC::PhoneNumber::List &li )
166{ 166{
167 if ( li.isEmpty() ) { 167 if ( li.isEmpty() ) {
168 setDefaults(); 168 setDefaults();
169 return; 169 return;
170 } 170 }
171 mTypeNumberEditList.clear(); 171 mTypeNumberEditList.clear();
172 KABC::PhoneNumber::List::Iterator it; 172 KABC::PhoneNumber::List::Iterator it;
173 KABC::PhoneNumber::List list2 = li; 173 KABC::PhoneNumber::List list2 = li;
174 KABC::PhoneNumber::List list ; 174 KABC::PhoneNumber::List list ;
175 175
176 PhoneNumber::TypeList tList = PhoneNumber::supportedTypeList(); 176 PhoneNumber::TypeList tList = PhoneNumber::supportedTypeList();
177 int i = 0; 177 int i = 0;
178 int max = tList.count(); 178 int max = tList.count();
179 while ( i < max-1 ) { 179 while ( i < max-1 ) {
180 for ( it = list2.begin(); it != list2.end(); ++it ) { 180 for ( it = list2.begin(); it != list2.end(); ++it ) {
181 if ( (*it).type() == tList[i] ) { 181 if ( (*it).type() == tList[i] ) {
182 list.append( (*it ) ); 182 list.append( (*it ) );
183 break; 183 break;
184 } 184 }
185 } 185 }
186 ++i; 186 ++i;
187 } 187 }
188 for ( it = list2.begin(); it != list2.end(); ++it ) { 188 for ( it = list2.begin(); it != list2.end(); ++it ) {
189 if ( (*it).type() == tList[ max-1 ] ) 189 if ( (*it).type() == tList[ max-1 ] )
190 list.append( (*it ) ); 190 list.append( (*it ) );
191 } 191 }
192 for ( it = list.begin(); it != list.end(); ++it ) { 192 for ( it = list.begin(); it != list.end(); ++it ) {
193 PhoneTypeNumberEdit* editNew = appendEditCombo(); 193 PhoneTypeNumberEdit* editNew = appendEditCombo();
194 editNew->setPhoneNumber( (*it ) ); 194 editNew->setPhoneNumber( (*it ) );
195 } 195 }
196 196
197} 197}
198KABC::PhoneNumber::List PhoneEditWidget::phoneNumbers() 198KABC::PhoneNumber::List PhoneEditWidget::phoneNumbers()
199{ 199{
200 KABC::PhoneNumber::List retList; 200 KABC::PhoneNumber::List retList;
201 201
202 PhoneTypeNumberEdit* edit = mTypeNumberEditList.first(); 202 PhoneTypeNumberEdit* edit = mTypeNumberEditList.first();
203 while ( edit ) { 203 while ( edit ) {
204 if ( edit->isValid() ) { 204 if ( edit->isValid() ) {
205 retList.append( edit->phoneNumber()); 205 retList.append( edit->phoneNumber());
206 } 206 }
207 edit = mTypeNumberEditList.next(); 207 edit = mTypeNumberEditList.next();
208 208
209 } 209 }
210 return retList; 210 return retList;
211} 211}
212 212
213#if 0 213#if 0
214PhoneEditWidget::PhoneEditWidget( QWidget *parent, const char *name ) 214PhoneEditWidget::PhoneEditWidget( QWidget *parent, const char *name )
215 : QWidget( parent, name ) 215 : QWidget( parent, name )
216{ 216{
217 QGridLayout *layout = new QGridLayout( this, 4, 1 ); 217 QGridLayout *layout = new QGridLayout( this, 4, 1 );
218//US layout->setSpacing( KDialog::spacingHint() ); 218//US layout->setSpacing( KDialog::spacingHint() );
219 layout->setSpacing( KDialogBase::spacingHintSmall() ); 219 layout->setSpacing( KDialogBase::spacingHintSmall() );
220 220
221 221
222 222
223 QLabel* label = new QLabel( this ); 223 QLabel* label = new QLabel( this );
224//US loadIcon call is ambiguous. Add one more parameter 224//US loadIcon call is ambiguous. Add one more parameter
225//US label->setPixmap( KGlobal::iconLoader()->loadIcon( "kaddressbook", KIcon::Desktop ) ); 225//US label->setPixmap( KGlobal::iconLoader()->loadIcon( "kaddressbook", KIcon::Desktop ) );
226 label->setPixmap( KGlobal::iconLoader()->loadIcon( "kaddressbook", KIcon::Desktop, 0 ) ); 226 label->setPixmap( KGlobal::iconLoader()->loadIcon( "kaddressbook", KIcon::Desktop, 0 ) );
227 label->setAlignment( AlignCenter ); 227 label->setAlignment( AlignCenter );
228//US layout->addMultiCellWidget( label, 0, 1, 3, 3 ); 228//US layout->addMultiCellWidget( label, 0, 1, 3, 3 );
229 layout->addWidget( label, 0, 0 ); 229 layout->addWidget( label, 0, 0 );
230 230
231 QPushButton *editButton = new QPushButton( i18n( "Edit Phone Numbers..." ), 231 QPushButton *editButton = new QPushButton( i18n( "Edit Phone Numbers..." ),
232 this ); 232 this );
233 if ( QApplication::desktop()->width() < 640 ) 233 if ( QApplication::desktop()->width() < 640 )
234 layout->addWidget( editButton, 0, 1 ); 234 layout->addWidget( editButton, 0, 1 );
235 else 235 else
236 layout->addMultiCellWidget( editButton, 0, 0, 1, 3); 236 layout->addMultiCellWidget( editButton, 0, 0, 1, 3);
237 237
238 mPrefCombo = new PhoneTypeCombo( mPhoneList, this ); 238 mPrefCombo = new PhoneTypeCombo( mPhoneList, this );
239 mPrefEdit = new KLineEdit( this ); 239 mPrefEdit = new KLineEdit( this );
240 //mPrefEdit->setMinimumWidth( int(mPrefEdit->sizeHint().width() * 1.5) ); 240 //mPrefEdit->setMinimumWidth( int(mPrefEdit->sizeHint().width() * 1.5) );
241 mPrefCombo->setLineEdit( mPrefEdit ); 241 mPrefCombo->setLineEdit( mPrefEdit );
242 layout->addWidget( mPrefCombo, 1, 0 ); 242 layout->addWidget( mPrefCombo, 1, 0 );
243 layout->addWidget( mPrefEdit, 1, 1 ); 243 layout->addWidget( mPrefEdit, 1, 1 );
244 int x = 1, y = 2; 244 int x = 1, y = 2;
245 if ( QApplication::desktop()->width() < 640 ) { 245 if ( QApplication::desktop()->width() < 640 ) {
246 ++x; 246 ++x;
247 y = 0; 247 y = 0;
248 } 248 }
249 mSecondCombo = new PhoneTypeCombo( mPhoneList, this ); 249 mSecondCombo = new PhoneTypeCombo( mPhoneList, this );
250 mSecondEdit = new KLineEdit( this ); 250 mSecondEdit = new KLineEdit( this );
251 mSecondCombo->setLineEdit( mSecondEdit ); 251 mSecondCombo->setLineEdit( mSecondEdit );
252 layout->addWidget( mSecondCombo, x, y++ ); 252 layout->addWidget( mSecondCombo, x, y++ );
253 layout->addWidget( mSecondEdit, x, y++ ); 253 layout->addWidget( mSecondEdit, x, y++ );
254 254
255 y = 0; 255 y = 0;
256 ++x; 256 ++x;
257 mThirdCombo = new PhoneTypeCombo( mPhoneList, this ); 257 mThirdCombo = new PhoneTypeCombo( mPhoneList, this );
258 mThirdEdit = new KLineEdit( this ); 258 mThirdEdit = new KLineEdit( this );
259 mThirdCombo->setLineEdit( mThirdEdit ); 259 mThirdCombo->setLineEdit( mThirdEdit );
260 layout->addWidget( mThirdCombo, x, y++ ); 260 layout->addWidget( mThirdCombo, x, y++ );
261 layout->addWidget( mThirdEdit, x, y++ ); 261 layout->addWidget( mThirdEdit, x, y++ );
262 if ( QApplication::desktop()->width() < 640 ) { 262 if ( QApplication::desktop()->width() < 640 ) {
263 ++x; 263 ++x;
264 y = 0; 264 y = 0;
265 } 265 }
266 mFourthCombo = new PhoneTypeCombo( mPhoneList, this ); 266 mFourthCombo = new PhoneTypeCombo( mPhoneList, this );
267 mFourthEdit = new KLineEdit( this ); 267 mFourthEdit = new KLineEdit( this );
268 mFourthCombo->setLineEdit( mFourthEdit ); 268 mFourthCombo->setLineEdit( mFourthEdit );
269 layout->addWidget( mFourthCombo, x, y++ ); 269 layout->addWidget( mFourthCombo, x, y++ );
270 layout->addWidget( mFourthEdit, x, y++ ); 270 layout->addWidget( mFourthEdit, x, y++ );
271 271
272 // Four numbers don't fit in the current dialog 272 // Four numbers don't fit in the current dialog
273 if ( QApplication::desktop()->width() < 640 ) { 273 if ( QApplication::desktop()->width() < 640 ) {
274 mFourthCombo->hide(); 274 mFourthCombo->hide();
275 mFourthEdit->hide(); 275 mFourthEdit->hide();
276 } else { 276 } else {
277 QFontMetrics fm ( font () ) ; 277 QFontMetrics fm ( font () ) ;
278 int wid = fm.width( "Messenger" ) +60; 278 int wid = fm.width( "Messenger" ) +60;
279 mPrefCombo->setMaximumWidth( wid ); 279 mPrefCombo->setMaximumWidth( wid );
280 mSecondCombo->setMaximumWidth( wid ); 280 mSecondCombo->setMaximumWidth( wid );
281 mThirdCombo->setMaximumWidth( wid ); 281 mThirdCombo->setMaximumWidth( wid );
282 mFourthCombo->setMaximumWidth( wid ); 282 mFourthCombo->setMaximumWidth( wid );
283 } 283 }
284 284
285 285
286 connect( mPrefEdit, SIGNAL( textChanged( const QString& ) ), 286 connect( mPrefEdit, SIGNAL( textChanged( const QString& ) ),
287 SLOT( slotPrefEditChanged() ) ); 287 SLOT( slotPrefEditChanged() ) );
288 connect( mSecondEdit, SIGNAL( textChanged( const QString& ) ), 288 connect( mSecondEdit, SIGNAL( textChanged( const QString& ) ),
289 SLOT( slotSecondEditChanged() ) ); 289 SLOT( slotSecondEditChanged() ) );
290 connect( mThirdEdit, SIGNAL( textChanged( const QString& ) ), 290 connect( mThirdEdit, SIGNAL( textChanged( const QString& ) ),
291 SLOT( slotThirdEditChanged() ) ); 291 SLOT( slotThirdEditChanged() ) );
292 connect( mFourthEdit, SIGNAL( textChanged( const QString& ) ), 292 connect( mFourthEdit, SIGNAL( textChanged( const QString& ) ),
293 SLOT( slotFourthEditChanged() ) ); 293 SLOT( slotFourthEditChanged() ) );
294 294
295 connect( editButton, SIGNAL( clicked() ), SLOT( edit() ) ); 295 connect( editButton, SIGNAL( clicked() ), SLOT( edit() ) );
296 296
297 connect( mPrefCombo, SIGNAL( activated( int ) ), 297 connect( mPrefCombo, SIGNAL( activated( int ) ),
298 SLOT( updatePrefEdit() ) ); 298 SLOT( updatePrefEdit() ) );
299 connect( mSecondCombo, SIGNAL( activated( int ) ), 299 connect( mSecondCombo, SIGNAL( activated( int ) ),
300 SLOT( updateSecondEdit() ) ); 300 SLOT( updateSecondEdit() ) );
301 connect( mThirdCombo, SIGNAL( activated( int ) ), 301 connect( mThirdCombo, SIGNAL( activated( int ) ),
302 SLOT( updateThirdEdit() ) ); 302 SLOT( updateThirdEdit() ) );
303 connect( mFourthCombo, SIGNAL( activated( int ) ), 303 connect( mFourthCombo, SIGNAL( activated( int ) ),
304 SLOT( updateFourthEdit() ) ); 304 SLOT( updateFourthEdit() ) );
305} 305}
306 306
307PhoneEditWidget::~PhoneEditWidget() 307PhoneEditWidget::~PhoneEditWidget()
308{ 308{
309} 309}
310 310
311void PhoneEditWidget::setPhoneNumbers( const KABC::PhoneNumber::List &list ) 311void PhoneEditWidget::setPhoneNumbers( const KABC::PhoneNumber::List &list )
312{ 312{
313 mPhoneList.clear(); 313 mPhoneList.clear();
314 314
315 // Insert types for existing numbers. 315 // Insert types for existing numbers.
316 mPrefCombo->insertTypeList( list ); 316 mPrefCombo->insertTypeList( list );
317 317
318 QValueList<int> defaultTypes; 318 QValueList<int> defaultTypes;
319 defaultTypes << KABC::PhoneNumber::Home; 319 defaultTypes << KABC::PhoneNumber::Home;
320 defaultTypes << KABC::PhoneNumber::Work; 320 defaultTypes << KABC::PhoneNumber::Work;
321 defaultTypes << KABC::PhoneNumber::Cell; 321 defaultTypes << KABC::PhoneNumber::Cell;
322 defaultTypes << ( KABC::PhoneNumber::Work | KABC::PhoneNumber::Fax ); 322 defaultTypes << ( KABC::PhoneNumber::Work | KABC::PhoneNumber::Fax );
323 defaultTypes << ( KABC::PhoneNumber::Home | KABC::PhoneNumber::Fax ); 323 defaultTypes << ( KABC::PhoneNumber::Home | KABC::PhoneNumber::Fax );
324 324
325 // Insert default types. 325 // Insert default types.
326 // Doing this for mPrefCombo is enough because the list is shared by all 326 // Doing this for mPrefCombo is enough because the list is shared by all
327 // combos. 327 // combos.
328 QValueList<int>::ConstIterator it; 328 QValueList<int>::ConstIterator it;
329 for( it = defaultTypes.begin(); it != defaultTypes.end(); ++it ) { 329 for( it = defaultTypes.begin(); it != defaultTypes.end(); ++it ) {
330 if ( !mPrefCombo->hasType( *it ) ) 330 if ( !mPrefCombo->hasType( *it ) )
331 mPrefCombo->insertType( list, *it, PhoneNumber( "", *it ) ); 331 mPrefCombo->insertType( list, *it, PhoneNumber( "", *it ) );
332 } 332 }
333 333
334 updateCombos(); 334 updateCombos();
335 335